pci_lookup_name怎么样?

时间:2016-01-30 14:33:43

标签: linux gpu pci

我是libpci的新手。 我写了一个C程序,可以检测GPU并给它vendor_iddevice_id。现在,我不知道是否可以使用vendor_name从其ID中获取libpci

vendor = pci_lookup_name(pci_access, buffer, sizeof(buffer), PCI_LOOKUP_VENDOR, radeon->vendor);

我对这段代码感到满意,但它似乎没有用。通过一些文档帮助我,非常感谢。 :)

1 个答案:

答案 0 :(得分:0)

文档

该库的文档似乎很不稳定。

linux上的

lspci使用它来填充它的pci信息,所以我推荐以下内容:    * lspci source code    * pci.h头文件(位于ubuntu上的/usr/include/pci/pci.h,一旦安装了libpci-dev)

您的代码

就您的代码而言,您似乎错过了va_args末尾的设备ID。不确定为什么需要它,但它已在pci.h中记录。

请改为尝试:

vendor = pci_lookup_name(pci_access, buffer, sizeof(buffer), PCI_LOOKUP_VENDOR, radeon->vendor_id, radeon->device_id);

This看起来像lspci来源

中的相关行