'op'在python的fcntl.ioctl中意味着什么?

时间:2013-01-31 14:38:45

标签: python linux python-2.7 fcntl

根据fcntl documentationfcntl.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平台上?

1 个答案:

答案 0 :(得分:2)

与fcntl和os模块中的许多其他函数一样,ioctl是围绕同名OS系统调用的瘦包装器。如果您咨询the manpage for that system call,您会看到它是一个整数。

op的附加参数(ioctl之后)可以是任何事情。 ioctl具有众所周知的可变参数,这些参数依赖于请求的确切内容,甚至是内核或驱动程序代码接收和处理请求的内容。差异驱动程序甚至可以重用op的整数值来表示不同的东西(尽管鼓励它们进行协调以避免这种重复)。