QNX Developer Support
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 must successfully call pci_attach() before calling any of the other PCI functions.|
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.
pci_attach(), pci_attach_device(), pci_detach(), pci_detach_device(), pci_find_device(), pci_present(), pci_read_config(), pci_read_config8(), pci_read_config16(), pci_read_config32(), pci_rescan_bus(), pci_write_config(), pci_write_config8(), pci_write_config16(), pci_write_config32()