将新的IOCTL添加到内核(数字范围) [英] Adding new IOCTL's into kernel (number range)

查看:83
本文介绍了将新的IOCTL添加到内核(数字范围)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm writing new kernel module and I add implement new IOCTL's.
Is there any rule that I should follow with IOCTL's numbering ?
Maybe there is some "user range" ?

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

I work with kernel 2.6.21 on embedded platform.

推荐答案

IOCTL被定义为与设备相关的-如果存在供人们实现的标准" ioctl,则这些系统调用将为readwrite之类的系统调用.

IOCTLs are defined to be device dependent -- if there were "standard" ioctls for people to implement, these would be syscalls like read and write.

有关ioctl数字的一些约定:

There are a few conventions for ioctl numbers:

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

这篇关于将新的IOCTL添加到内核(数字范围)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆