根据 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 平台上?
与 fcntl 和 os 模块中的许多其他函数一样,ioctl
是同名操作系统调用的薄包装器。如果您查阅该系统调用的手册页,您将看到它是一个整数。
ioctl
的附加参数(在op
之后)几乎可以是任何东西。 众所周知,ioctl
具有可变参数,这些参数取决于请求的确切内容,甚至取决于内核或驱动程序代码的哪一段接收和处理请求。差异驱动因素甚至可以重用op
的整数值来表示不同的东西(尽管鼓励他们进行协调以避免这种重复)。