LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1217|回复: 2

大家俩讨论ioct()函数l

[复制链接]
发表于 2007-10-28 15:32:07 | 显示全部楼层 |阅读模式
在写linux驱动程序中,struct file_operations中有一个成员函数是ioctl,原型是
int (*ioctl)(struct inode *, struct file *, unsigned int , unsigned long)
在编写应用程序的时候
#include<unistd.h>中
int ioctl( int fd, int request, .../* void *arg */ );
这两个函数之间有什么关系?
我认为应用程序中的ioctl()是驱动程序中成员函数ioctl()重新定义的函数借口,不知道他们的参数之间存在怎么样的关系,大家都来说说啊。。
发表于 2007-10-29 15:25:06 | 显示全部楼层
ioctl是一把瑞士军刀,什么设备都可以通过ioctl来控制,这样控制设备有了统一的接口,设备驱动实现自己的ioctl,那么用户层的ioctl就会调用驱动层的ioctl,参数之间有什么关系,具体可以看ioctl的源码。
回复 支持 反对

使用道具 举报

发表于 2007-10-29 17:18:47 | 显示全部楼层
IOCTL 它是个大杂烩,我们的RAID相关的代码居然都是用ioctl
来写控制的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表