用户空间Linux中的硬件识别

时间:2009-09-24 14:33:22

标签: linux hardware

我希望能够在C中检查我的Linux机器硬件。 如何获取C中dmesg中出现的信息? 例如,对于键盘,输入消息:AT Translated Set 2键盘为/ devices / platform / i8042 / serio0 / input / input0 我想在我的程序中获得标签,AT Translated Set 2和路径,/ devices / platform / i8042 / serio0 / input / input0。 知道怎么做吗?

阿米特

3 个答案:

答案 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都不可用,请重新考虑您的方法或限制您的范围。