Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

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.


Note: You must successfully call pci_attach() before calling any of the other PCI functions.

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.

Classification:

QNX Neutrino

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_class(), pci_find_device(), pci_present(), pci_read_config8(), pci_read_config16(), pci_read_config32(), pci_rescan_bus(), pci_write_config(), pci_write_config8(), pci_write_config16(), pci_write_config32()