Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

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()


[Previous] [Contents] [Index] [Next]