Find devices that have a specific class code
#include <hw/pci.h> int pci_find_class( unsigned long class_code, unsigned index, unsigned* bus, unsigned* dev_func );
- The class of device or function that you want to find. For a list of class codes, see <hw/pci.h>. You must OR together a class code and a subclass code (e.g. PCI_CLASS_DISPLAY | PCI_SUBCLASS_DISPLAY_XGA).
- The index of the device or function that you want to find: 0 for the first, 1 for the second, and so on.
- The bus number, in the range [0...255].
- The device or function number of the nth device or function of the given class. The device number is in bits 7 through 3, and the function number in bits 2 through 0.
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The pci_find_class() function determines the location of the nth PCI device or function that has the specified class code.
You can find all the devices having the same class code by making successive calls to this function, starting with an index of 0, and incrementing it until PCI_DEVICE_NOT_FOUND is returned.
- The device or function wasn't found.
- The device or function was found.
- You haven't called pci_attach() , or the call to it failed.