Python的fcntl.ioctl中'op'是什么意思?
根据fcntl的文档,fcntl.ioctl
的用法如下:
fcntl.ioctl(fd, op[, arg[, mutate_flag]])
其中op
被定义为
The operation is defined by op and is operating system dependent. These codes are also found in the fcntl module.
但是文档没有说明' op'到底是什么。它是一个整数吗?一个字符串吗?还是一个结构体?在Linux平台上,如何才能正确使用这个命令呢?
1 个回答
2
和其他一些在fcnt和os模块中的函数一样,ioctl
其实就是一个简单的包装器,它围绕着操作系统中同名的系统调用。如果你查看这个系统调用的手册,你会发现它是一个整数。
在ioctl
中,除了第一个参数op
之外,第二个参数可以是任何东西。ioctl
的参数变化很大,这取决于你具体想要做什么请求,甚至还取决于哪个内核或驱动程序的代码来接收和处理这个请求。不同的驱动程序可能会把op
的整数值用来表示不同的意思(虽然他们被鼓励协调,以避免这种重复使用)。