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.
Note:
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:
QNX Neutrino
Safety: |
|
Cancellation point |
Yes |
Interrupt handler |
No |
Signal handler |
Yes |
Thread |
Yes |