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

Read 16-bit values from the configuration space of a device

Synopsis:

#include <hw/pci.h>

int pci_read_config16( unsigned bus,
                       unsigned dev_func,
                       unsigned offset,
                       unsigned count,
                       char* buff );

Arguments:

bus
The bus number.
dev_func
The name of the device or function.
offset
The register offset into the configuration space. This offset must be aligned to a 16-bit boundary (that is 0, 2, 4, ..., 254 bytes).
count
The number of 16-bit values to read.
buff
A pointer to a buffer where the requested 16-bit values are placed.

Library:

libc

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

Description:

The pci_read_config16() function reads the specified number of 16-bit values from the configuration space of the given device or function.


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

Returns:

PCI_BAD_REGISTER_NUMBER
An invalid offset register number was given.
PCI_BUFFER_TOO_SMALL
The PCI BIOS server reads only 50 words at a time; count is too large.
PCI_SUCCESS
The device or function was found.
-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_config(), pci_read_config8(), pci_read_config32(), pci_rescan_bus(), pci_write_config(), pci_write_config8(), pci_write_config16(), pci_write_config32()


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