C / C ++ - API для информации о PCI-устройствах

0

В моей программе, написанной для Linux в C++, я хотел бы отобразить информацию (включая иерархию устройств) о PCI-устройствах системы, выполняющей программу. Есть ли C- или C++ -Linux-API для этого?

Я смотрю на /sys/devices и /sys/bus/pci/devices. Информация в этих каталогах довольно сырая, и я бы предпочел не реализовывать второй lspci.

  • 2
    К сожалению, вам придется реализовать второй lspci .
  • 2
    Вы, конечно, можете анализировать вывод lspci . Попробуйте функцию popen .
Теги:
pci

1 ответ

1

Я смотрю /sys/devices и /sys/bus/pci/devices

Это именно то, откуда вы получаете свою информацию. Лично я предпочитаю получать такую информацию прямо оттуда. Но вы можете обнаружить, что libudev подходит вам. Однако имейте в виду, что udev, будучи широко распространенным, может отсутствовать в некоторых системах.

  • 0
    libudev выглядит красиво и присутствует в моей целевой системе. У вас есть хорошая документация о том, как анализировать информацию в каталогах two / sys?
  • 1
    @magmabyte: sysfs подробно описан в дереве документации исходного кода ядра Linux. Доступно для чтения в Интернете по адресу kernel.org/doc/Documentation/filesystems/sysfs.txt и kernel.org/doc/Documentation/sysfs-rules.txt.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню