2014-09-16 3 views
0

Dans mon programme écrit pour Linux en C++, je voudrais afficher des informations (y compris la hiérarchie des périphériques) sur les périphériques PCI du système exécutant le programme. Y a-t-il un C- ou C++ - Linux-API pour ça?C/C++ - API pour les informations sur les périphériques PCI

Je regarde/sys/devices et/sys/bus/pci/devices. Les informations contenues dans ces répertoires sont assez crues et je préférerais ne pas implémenter un second lspci.

+2

Malheureusement, vous devrez implémenter une seconde 'lspci'. –

+2

Vous pouvez bien sûr analyser la sortie de 'lspci'. Essayez la fonction 'popen'. –

Répondre

1

Je suis à la recherche/sys/devices et/sys/bus/pci/devices

C'est exactement où vous obtenez vos informations de. Personnellement, je préfère aller chercher cette information directement à partir de là. Mais vous pourriez trouver, que libudev convient à vos besoins. Cependant, sachez que udev, bien que répandu, peut ne pas être présent sur certains systèmes.

+0

libudev a l'air bien et il est présent sur mon système cible. Avez-vous une bonne documentation sur la façon d'analyser les informations dans les répertoires deux/sys? – magmabyte

+1

@magmabyte: sysfs est largement documenté dans l'arborescence Documentation du noyau Linux. Lisible sur le Web à l'adresse https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt et https://www.kernel.org/doc/Documentation/sysfs-rules.txt – datenwolf

Questions connexes