pci_read_config()

Read from the configuration space of a PCI device

Synopsis:

#include <hw/pci.h>

int pci_read_config( void* handle,
                     unsigned offset,
                     unsigned count,
                     size_t size,
                     void* buff );

Arguments:

handle
The handle returned by pci_attach_device().
offset
The offset into the configuration space where you want to read from.
count
The number of objects that you want to read.
size
The size of each object.
buff
A pointer to a buffer where the function can store the objects that it reads.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The pci_read_config() function reads count objects of the specified size into buff at the given offset from the configuration space of the PCI device specified by handle. 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
The offset is invalid.
PCI_BUFFER_TOO_SMALL
The PCI BIOS server reads only 100 bytes at a time; size is too large.
PCI_DEVICE_NOT_FOUND
The handle is invalid.
PCI_SUCCESS
Success.
-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