c - linux中ioctl函数集的目的是什么?

标签 c linux kernel freebsd ioctl

在 Linux/freeBSD 内核中,每当我们必须为设备创建驱动程序模块时,我们都会在/dev/文件夹中创建一个文件,并使用它与其他进程进行通信。

如果是这样,ioctl 函数集的目的是什么? 无论我们想要通过设备驱动程序传达什么信息,都可以写入/读取此文件。

谁能解释一下?

我曾尝试在 tldp.org 上阅读它,但无法真正理解它。

最佳答案

ioctl 用于 I/O 控制,以串口为例。你打开串口设备,可以从串口读取,向串口写入,但是你怎么设置,比如波特率?或者其他控制选项?使用 readwrite 是不可能的,因为它们用于从串行端口读取数据和向串行端口写入数据,为此您需要另一个函数,这就是 ioctl函数进来了。

关于c - linux中ioctl函数集的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29297549/

相关文章:

c - 无维数组字段,它的用途?

php - 现有站点的 CMS

linux - 在内核回溯中,单下划线是什么意思

c - 为什么 printf 不在控制台上打印 "operator"?

c - 为什么在 C 中不允许使用 void f(...)?

python 多处理悲情 - AuthenticationError : digest sent was rejected - Windows

linux - 自定义服务启动在 OLE6 中不起作用。我哪里出错了?

c - "Segmentation fault"当 `rmmod` 或 `modprobe -r`

c - 从内核空间写入文件

c++ - C/C++ 中的固定长度数据类型