在 Linux/freeBSD 内核中,每当我们必须为设备创建驱动程序模块时,我们都会在/dev/文件夹中创建一个文件,并使用它与其他进程进行通信。
如果是这样,ioctl 函数集的目的是什么? 无论我们想要通过设备驱动程序传达什么信息,都可以写入/读取此文件。
谁能解释一下?
我曾尝试在 tldp.org 上阅读它,但无法真正理解它。
最佳答案
ioctl
用于 I/O 控制,以串口为例。你打开串口设备,可以从串口读取,向串口写入,但是你怎么设置,比如波特率?或者其他控制选项?使用 read
或 write
是不可能的,因为它们用于从串行端口读取数据和向串行端口写入数据,为此您需要另一个函数,这就是 ioctl
函数进来了。
关于c - linux中ioctl函数集的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29297549/