当前位置: 技术问答>linux和unix
读file_operation结构体遇到的问题
来源: 互联网 发布时间:2016-09-12
本文导语: file_operation 的成员里,比如ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); 它的第二个参数是__user,这个参数怎么理解呢?小短线是干啥的? | read的原型如下: ssize_t read(struct fil...
file_operation 的成员里,比如ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
它的第二个参数是__user,这个参数怎么理解呢?小短线是干啥的?
它的第二个参数是__user,这个参数怎么理解呢?小短线是干啥的?
|
read的原型如下:
ssize_t read(struct file *filp,char __user *buff,size_t count,loff_t *offp);
第二个参数是指向用户空间的缓冲区,是一个存放新读入数据的空缓冲区。
ssize_t read(struct file *filp,char __user *buff,size_t count,loff_t *offp);
第二个参数是指向用户空间的缓冲区,是一个存放新读入数据的空缓冲区。
|
# define __user __attribute__((noderef, address_space(1)))
__user是用于check这个地址的合法性的,__user表示指向用户地址空间,小短线是使用习惯,没有特殊意义.
__user是用于check这个地址的合法性的,__user表示指向用户地址空间,小短线是使用习惯,没有特殊意义.