首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于IOCTL系统调用

关于IOCTL系统调用
EN

Stack Overflow用户
提问于 2013-12-15 22:02:48
回答 2查看 548关注 0票数 0

linux中IOCTL系统调用的原型是

代码语言:javascript
复制
int ioctl(struct inode *, struct file *, unsigned int, unsigned long);

所有其他文件操作,如read()、write()、llseek()、mmap()等。只有struct file *作为参数。但是,为什么IOCTL调用需要传递struct inode *。它有什么特别的用途吗?

EN

回答 2

Stack Overflow用户

发布于 2013-12-15 23:26:44

您正在讨论的内核版本,现在ioctl没有使用inode指针作为参数。以前有,但我认为从2.6.36内核开始,它已经被移除了。

票数 0
EN

Stack Overflow用户

发布于 2013-12-16 05:24:57

至少根据手册页上的说明,ioctl的原型是int ioctl(int d, int request, ...);...位很重要-可变参数,这意味着剩余的参数依赖于第一个参数,就像printf一样。对struct inode *的任何使用都源于您正在发出的特定ioctl请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20595373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档