ioctl 代表输入/输出控制,用于通过文件描述符来操作字符设备。ioctl 的格式如下:
ioctl(unsigned int fd, unsigned int request, unsigned long argument).
如果发生错误,返回值是 -1;如果请求成功,返回值大于或等于 0,就像其他系统调用一样。内核区分特殊文件和常规文件。特殊文件主要位于 /dev 和 /proc 中。它们与常规文件的不同之处在于,它们隐藏了与驱动程序的接口,而不是包含文本或二进制数据的真实(常规)文件。这是 UNIX 的哲学,允许对每个文件使用普通的读取/写入操作。但是,如果您需要对特殊文件或常规文件进行更多操作,可以使用...是的,ioctl。您通常比对常规文件更需要对特殊文件使用 ioctl,但也可以在常规文件上使用 ioctl。
%