linux/ioctl.h //定义ioctl函数用的命令号,由四个位段构成
@type:魔数,8位(定义于宏__IOC_TYPEBITS)宽,整个驱动中唯一
@number:顺序号,8位(定义于宏__IOC_NRBITS)宽
@direction:数据传送方向,如果此命令涉及数据传送,__IOC_READ,__IOC_WRITE,
// __IOC_NONE,是位掩码,可以或在一起
@size:涉及到的用户数据大小,一般填上sizeof( data_type)
_IO(type,nr) //命令构造宏,无参命令
_IOR(type,nr,datatype) //命令构造宏,从驱动读数据
_IOW(type,nr,datatype) //命令构造宏,写数据
_IOWR(type,nr,datatype) //命令构造宏,双向
FIOCLEX,FIONCLEX,FIOASYNC,FIOQSIZE,FIONBIO //系统预定义的针对任何文件的cmd
_IOC_DIR(cmd) //解码宏,获取方向
_IOC_TYPE(cmd) //解码宏,获取魔数
_IOC_NR(cmd) //解码宏,获取序号
_IOC_SIZE(cmd) //解码宏,获取size
@type:魔数,8位(定义于宏__IOC_TYPEBITS)宽,整个驱动中唯一
@number:顺序号,8位(定义于宏__IOC_NRBITS)宽
@direction:数据传送方向,如果此命令涉及数据传送,__IOC_READ,__IOC_WRITE,
// __IOC_NONE,是位掩码,可以或在一起
@size:涉及到的用户数据大小,一般填上sizeof( data_type)
_IO(type,nr) //命令构造宏,无参命令
_IOR(type,nr,datatype) //命令构造宏,从驱动读数据
_IOW(type,nr,datatype) //命令构造宏,写数据
_IOWR(type,nr,datatype) //命令构造宏,双向
FIOCLEX,FIONCLEX,FIOASYNC,FIOQSIZE,FIONBIO //系统预定义的针对任何文件的cmd
_IOC_DIR(cmd) //解码宏,获取方向
_IOC_TYPE(cmd) //解码宏,获取魔数
_IOC_NR(cmd) //解码宏,获取序号
_IOC_SIZE(cmd) //解码宏,获取size