pci_read_config32()

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.

Examples:

See pci_read_config16().

Classification:

QNX Neutrino

Safety:  
Cancellation point Yes
Interrupt handler No
Signal handler Yes
Thread Yes