系统相关
首页 > 系统相关> > linux-将新的IOCTL添加到内核(数字范围)

linux-将新的IOCTL添加到内核(数字范围)

作者:互联网

我正在编写新的内核模块,并添加了实现新的IOCTL的模块.
我应遵守IOCTL编号的任何规定吗?
也许有一些“用户范围”?

我在嵌入式平台上使用内核2.6.21.

解决方法:

IOCTL被定义为与设备相关的-如果存在供人们实施的“标准” ioctl,则它们将是诸如读取和写入之类的系统调用.

对于ioctl数字,有一些约定:

>参数方向(输入,输出,两个方向)均以ioctl编号编码为两位.除非您使用推荐的通用“从用户复制” /“复制到用户”代码,否则这不是强制性的.
>有一个魔术数字可以避免冲突.如果两个设备定义相同的ioctl,则没有真正的危害,但是使用不同的数字将为捕获错误提供额外的机会.

标签:ioctl,kernel-module,linux
来源: https://codeday.me/bug/20191201/2083903.html