当前位置: 技术问答>linux和unix
小白求问file_operations结构体
来源: 互联网 发布时间:2017-05-11
本文导语: 初学驱动,今天按linux设备驱动程序里面的scull的例子写了一遍,编译之后报错unknown field ‘ioctl’ specified in initializer。file_operations结构体初始化代码: struct file_operations scull_fops = { .owner = THIS_MODULE, ...
初学驱动,今天按linux设备驱动程序里面的scull的例子写了一遍,编译之后报错unknown field ‘ioctl’ specified in initializer。file_operations结构体初始化代码:
struct file_operations scull_fops = {
.owner = THIS_MODULE,
.llseek = scull_llseek,
.read = scull_read,
.write = scull_write,
.ioctl = scull_ioctl,
.open = scull_open,
.release = scull_release,
};
百度了下file_operations,发现确实有ioctl。为什么报错呢
struct file_operations scull_fops = {
.owner = THIS_MODULE,
.llseek = scull_llseek,
.read = scull_read,
.write = scull_write,
.ioctl = scull_ioctl,
.open = scull_open,
.release = scull_release,
};
百度了下file_operations,发现确实有ioctl。为什么报错呢
|
linux 3.x 以后,应用了:
取代了原有的ioctl,如果你仍然想用以前的例子,需要安装一个2.6.x版本的linux。
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
取代了原有的ioctl,如果你仍然想用以前的例子,需要安装一个2.6.x版本的linux。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。