根据fcntl documentation,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.
它没有回答“什么”操作。是int吗?一串?结构?如何正确使用此命令,例如在Linux平台上?
答案 0 :(得分:2)
与fcntl和os模块中的许多其他函数一样,ioctl
是围绕同名OS系统调用的瘦包装器。如果您咨询the manpage for that system call,您会看到它是一个整数。
对op
的附加参数(ioctl
之后)可以是任何事情。 ioctl
具有众所周知的可变参数,这些参数依赖于请求的确切内容,甚至是内核或驱动程序代码接收和处理请求的内容。差异驱动程序甚至可以重用op
的整数值来表示不同的东西(尽管鼓励它们进行协调以避免这种重复)。