struct file_operations scull_pipe_fops = {
.owner = THIS_MODULE,//???,用到什么知识
.llseek = no_llseek,//???,用到什么知识
.read = scull_p_read,//???,用到什么知识
.write = scull_p_write,
.poll = scull_p_poll,
.ioctl = scull_ioctl,
.open = scull_p_open,
.release = scull_p_release,
.fasync = scull_p_fasync,
};
问题如上面标注,请高手指教,提示我这里是什么,用到什么知识,我好自己有迹可循。
这是我阅览linux device driver的程序scull中的pipe.c程序遇到的。
谢谢
求助,最近遇到的问题,数据结构中函数另外命名,如“.llseek = no_llseek,”
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 2
- 注册时间: 2010-09-01 20:09
求助,最近遇到的问题,数据结构中函数另外命名,如“.llseek = no_llseek,”
上次由 hoqi 在 2010-12-15 21:09,总共编辑 1 次。
-
- 帖子: 2
- 注册时间: 2010-09-01 20:09
Re: 求助,最近遇到的问题,数据结构中函数另外命名,如“.llseek = no_llseek,”
问题已经解决,
struct file_operations scull_pipe_fops = {
.llseek = no_llseek,
.read = scull_p_read,
.write = scull_p_write,
.poll = scull_p_poll,
.ioctl = scull_ioctl,
.open = scull_p_open,
.release = scull_p_release,
.fasync = scull_p_fasync,
};
是结构体变量的定义并且初始化,变量中的逗号是对结构体成员赋值,至于.owner、.llseek之类的则是是对内核函数的重构。
scull_pie_fops->read,则调用函数scull_p_reead().
struct file_operations scull_pipe_fops = {
.llseek = no_llseek,
.read = scull_p_read,
.write = scull_p_write,
.poll = scull_p_poll,
.ioctl = scull_ioctl,
.open = scull_p_open,
.release = scull_p_release,
.fasync = scull_p_fasync,
};
是结构体变量的定义并且初始化,变量中的逗号是对结构体成员赋值,至于.owner、.llseek之类的则是是对内核函数的重构。
scull_pie_fops->read,则调用函数scull_p_reead().