Read 32-bit values from the configuration space of a device
Synopsis:
#include <hw/pci.h>
int pci_read_config32( unsigned bus,
unsigned dev_func,
unsigned offset,
unsigned count,
char* buff );
Arguments:
- bus
- The bus number.
- dev_func
- The name of the device or function.
- offset
- The register offset into the configuration space.
This offset must be aligned to a 32-bit boundary (that is 0, 4, 8, …, 252 bytes).
- count
- The number of 32-bit values to read.
- buff
- A pointer to a buffer where the requested 32-bit values are placed.
Library:
libc
Use the -l c option to
qcc
to link against this library.
This library is usually included automatically.
Description:
The pci_read_config32() function reads the specified number of
32-bit values from the configuration space of the given device or function.
For the details of the configuration space, see the _pci_config_regs structure in
<hw/pci.h>.
Note:
- You must successfully call
pci_attach()
before calling any of the other PCI functions.
- The pci_read_config*() functions can return inconsistent data if another process is extensively
using the PCI bus.
Returns:
- PCI_BAD_REGISTER_NUMBER
- An invalid register offset was given.
- 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 |