我希望能够在C中检查我的Linux机器硬件。 如何获取C中dmesg中出现的信息? 例如,对于键盘,输入消息:AT Translated Set 2键盘为/ devices / platform / i8042 / serio0 / input / input0 我想在我的程序中获得标签,AT Translated Set 2和路径,/ devices / platform / i8042 / serio0 / input / input0。 知道怎么做吗?
阿米特
答案 0 :(得分:4)
您还可以查看/ proc。
中文件的内容/ proc / version,/ proc / ioports,/ proc / iomem,/ proc / meminfo和其他人都有很多信息。
/ proc / bus下的文件包含有关系统硬件设备的其他信息。
我还建议查看usbutils和pciutils的源代码,例如代码,分别从lsusb和lspci命令获取输出。
答案 1 :(得分:0)
它使用klogctl调用。
最好是自己阅读源代码,可以在这里下载:util-linux
答案 2 :(得分:0)
您可能希望使用libhal,并连接到hal守护程序。如果HAL不存在,请查找已挂载的sysfs分区。检查/ sys / devices,或通过/ sys / bus向后工作。
如果HAL和sysfs都不可用,请重新考虑您的方法或限制您的范围。