我正在尝试通过Mono框架执行ioctl命令,但我无法找到我正在寻找的内容.
我正在尝试将命令发送到具有内核模块的DVB卡.我希望有人能够清楚地联系或解释如何做到这一点.使用内核模块的Mono的任何例子都是有用的.
Mono 在 Mono.Unix 中不包含 ioctl 的包装器,因为 ioctl 调用参数差异很大,这样的包装器几乎毫无用处。您应该为您需要的每个 ioctl 声明一个DllImport。
您可能不需要用 C 编写的帮助程序库,但是,在开发过程中您可能需要它来提取隐藏在不同 C 预处理器宏后面的实际值。例如,要扩展 C 头文件:
#define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info)
Run Code Online (Sandbox Code Playgroud)
编译并执行这个助手:
#include <linux/dvb/frontend.h>
#include <stdio.h>
int main()
{
printf("const int FE_GET_INFO = %d;\n", FE_GET_INFO);
return 0;
}
Run Code Online (Sandbox Code Playgroud)