linuxioctl函数使用.pptVIP

  • 21
  • 0
  • 约1.18千字
  • 约 12页
  • 2018-03-23 发布于河南
  • 举报
linuxioctl函数使用

ioctl函数 Derek.Fan 2011.10.23 目录 描述 用户空间原型 ioctl命令 ioctl参数使用 ioctl实现 Ioctl实例 描述 除了读取和写入设备之外,大部分驱动程序还需要通过设备驱动程序实行各种类型的硬件控制。 使用ioctl系统调用是用户空间向内核交换数据的常用方法之一。 用户空间原型(1/2) int? ioctl(int fd, unsigned long? cmd, ...) 参数介绍: fd : 一个设备描述符 或一个网络连接(即套接字描述) cmd : 命令码(dir(2b) size(14b) type(8b) nr(8b) ) … : 依赖于cmd(第二参数)是否涉及到与设备的数据交互 用户空间原型(2/2) 返回值: 失败:普遍都返回 -EINVAL, 对于响应一个无效的 ioctl 命令 (负数) 成功:0 Ioctl命令(1/3) 若需要使用特定的ioctl命令,则必须创建ioctl命令以及编号。 内核中给出了创建ioctl命令的宏 (参看linux/ioctl.h): 没有参数命令 #define _IO(type,nr)????? _IOC(_IOC_NONE,(type),(nr),0) Ioctl命令(2/3) 从驱动中读取数据 #define _IOR(type,nr,size)????? _IOC(_IOC_R

文档评论(0)

1亿VIP精品文档

相关文档