Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2027404
  • 博文数量: 414
  • 博客积分: 10312
  • 博客等级: 上将
  • 技术积分: 4921
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 01:49
文章分类

全部博文(414)

文章存档

2011年(1)

2010年(29)

2009年(82)

2008年(301)

2007年(1)

分类: C/C++

2008-02-26 15:01:21

/* 主设备号。我们不能再依赖于动态的登记,因为 ioctl 需要知道它。 */
#define MAJOR_NUM 100


#define  IOC_VRSCAN_FILE  _IOR(MAJOR_NUM , 0, int)
/*

_IOR 意思是我们正在为从用户进程到内核模块的信息创建一个 ioctl 命令号
ioctl 号用主设备号, ioctl 类型,命令和参数类型编码。这个 ioctl 号通常用一个头文件中的宏调用 (_IO, _IOR, _IOW_IOWR -- 取决于类型)创建。头文件必须被使用ioctl的程序(因此它们可以生成合适的ioctl)及内核模块(因此它可以理解它) #include 在下面的范例中,头文件是 chardev.h 而使用它的程序是 ioctl.c。  
*
* 第一个参数, MAJOR_NUM,是我们使用的主设备号。
*
* 第二个参数是命令号(可能是几个带有不同的意思的)。
*
* 第三个参数是我们想得到的从进程传到内核的类型。
*/

用的时候:ioctl(fd, IOC_VRSCAN_FILE , 5);

阅读(3830) | 评论(0) | 转发(0) |
0

上一篇:文件I/O

下一篇:一个iconv问题

给主人留下些什么吧!~~