社区
驱动程序开发区
帖子详情
请问linux ioctl怎么确定使用的magic是不是唯一的呢?
温小二的徐凤年
2016-09-10 02:57:31
各位大神,请问ioctl怎么确定使用的magic是不是唯一的呢?自己想定义magic,但是怕重复了,怎么确认还有哪些没有用呢?另外,其magic定义只支持26个单个字母吗?其范围是多少呢?谢谢。
...全文
699
4
打赏
收藏
请问linux ioctl怎么确定使用的magic是不是唯一的呢?
各位大神,请问ioctl怎么确定使用的magic是不是唯一的呢?自己想定义magic,但是怕重复了,怎么确认还有哪些没有用呢?另外,其magic定义只支持26个单个字母吗?其范围是多少呢?谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
温小二的徐凤年
2016-10-10
打赏
举报
回复
引用 3 楼 woshidahuaidan2011 的回复:
有现成的宏,为啥要自己去定义?
自己添加的硬件,就需要去用magic啊。。。
bigPillow
2016-09-30
打赏
举报
回复
有现成的宏,为啥要自己去定义?
猪头三小队长
2016-09-25
打赏
举报
回复
这就要根据各个字段的不同含义,利用linux系统提供的各种宏进行精心管理。 ioctl的这些问题,也是导致内核开发者不甚喜欢它的原因,在一个成熟的驱动中,如果能够少用ioctl控制字就尽量少用。
xuwang_ly
2016-09-25
打赏
举报
回复
bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。 bit29~bit15 14位为 "数据大小" 区,表示 ioctl() 中的 arg 变量传送的内存大小。 bit20~bit08 8位为 “魔数"(也称为"幻数")区,这个值用以与其它设备驱动程序的 ioctl 命令进行区别。 bit07~bit00 8位为 "区别序号" 区,是区分命令的命令顺序序号。 很明显magic可以有256个不同数值
linux
内核 -
ioctl
函数详解
ioctl
是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设
ioctl
() 命令的方式实现。 在文件 I/O 中,
ioctl
...
linux
ioctl
命令,关于
LINUX
下的
ioctl
函数
驱动程序中
ioctl
函数的函数原型如下:int (*
ioctl
)(struct inode *inode, struct file *filp,unsigned int cmd, unsigned long arg);其中cmd和arg参数是
ioctl
与其它驱动程序函数不同的地方。cmd是预先定义好的一些...
Linux
下的
ioctl
()函数
Linux
下的
ioctl
()函数 一、什么是
ioctl
ioctl
是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。
ioctl
函数是...
Linux
设备驱动:
Ioctl
控制
但是命令码非常的不直观,所以
Linux
Kernel中提供了一些宏,这些宏可根据便于理解的字符串生成命令码,或者是从命令码得到一些用户可以理解的字符串以标明这个命令对应的设备类型、设备序列号、数据传送方向和数据...
linux
驱动
ioctl
长度,
Linux
驱动之
ioctl
在用户空间,
使用
ioctl
系统调用来控制设备,原型如下:int
ioctl
(int fd, unsigned long cmd, ...);第三个参数不表示一个变数目的参数,而是一个类型可选的参数。第三个参数依赖于控制命令。一些命令不用参数,一些...
驱动程序开发区
1,318
社区成员
2,173
社区内容
发帖
与我相关
我的任务
驱动程序开发区
主要是开发驱动技术
复制链接
扫一扫
分享
社区描述
主要是开发驱动技术
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章