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