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