题
我正在尝试通过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)
编译并执行此帮助程序:
#include <linux/dvb/frontend.h>
#include <stdio.h>
int main()
{
printf("const int FE_GET_INFO = %d;\n", FE_GET_INFO);
return 0;
}
不隶属于 StackOverflow