/* Check type and command number */
if (_IOC_TYPE(cmd) != SPI_IOC_MAGIC)
return -ENOTTY;
_IOC_NR(), _IOC_TYPE(), _IOC_SIZE(), _IOC_DIR() 这几个宏用来取得 cmd 命令中的域,其作用如下:
_IOC_NR( ) : 读取基数域值 (bit0~ bit7)
_IOC_TYPE : 读取魔数域值 (bit8 ~ bit15)
_IOC_SIZE : 读取数据大小域值 (bit16 ~ bit29)
_IOC_DIR : 获取读写属性域值 (bit30 ~ bit31)
本文详细解析了Linux系统中IOCTL命令的几个关键宏:_IOC_NR(),_IOC_TYPE(),_IOC_SIZE(),_IOC_DIR()的作用及如何使用这些宏来读取命令中的不同域值,包括基数域、魔数域、数据大小域和读写属性域。

1011

被折叠的 条评论
为什么被折叠?



