QNX Developer Support
![]() |
![]() |
![]() |
![]() |
pci_find_class()
Find devices that have a specific class code
Synopsis:
#include <hw/pci.h>
int pci_find_class( unsigned long class_code,
unsigned index,
unsigned* bus,
unsigned* dev_func );
Arguments:
- class_code
- 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).
- index
- The index of the device or function that you want to find: 0 for the first, 1 for the second, and so on.
- bus
- The bus number, in the range [0...255].
- dev_func
- 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.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
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.
Returns:
- PCI_DEVICE_NOT_FOUND
- The device or function wasn't found.
- PCI_SUCCESS
- The device or function was found.
- -1
- You haven't called pci_attach(), or the call to it failed.
Classification:
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
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()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)

