请教ioctl的理解
请问ioctl()是不是有两个啊
在内核态和应用态有两个原型啊?
如果写设备驱动 是不是要自己写ioctl()函数?
但是为啥子很多例程里面
驱动程序里面的ioctl()的参数和应用态的ioctl()的参数都不对应啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
请问ioctl()是不是有两个啊
在内核态和应用态有两个原型啊?
如果写设备驱动 是不是要自己写ioctl()函数?
但是为啥子很多例程里面
驱动程序里面的ioctl()的参数和应用态的ioctl()的参数都不对应啊
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
你在应用程序中调用一个ioctl,内核会根据你的驱动中指定的ioctl函数进行调用,也就是说,在你的驱动中的相应的处理函数可以不叫ioctl,可以改成其他名字,既然名字都该了,当然参数可以自己确定了,但是你的应用层必须是ioctl,同时在驱动中,要在file_operation中指定你的自定义的
ioctl~~~
就是这个样子~~
struct file_operations scull_priv_fops = {
.owner = THIS_MODULE,
.llseek = scull_llseek,
.read = scull_read,
.write = scull_write,
.ioctl = scull_ioctl,
.open = scull_c_open,
.release = scull_c_release,
};
看见了
[ 本帖最后由 jeff1115 于 2008-9-2 11:52 编辑 ]