INtime SDK Help
PciGetConfigRegister, PcieGetConfigRegister
INtime SDK v6 > About INtime > Other system libraries > PCI Library > PciGetConfigRegister, PcieGetConfigRegister

Reads a value from a given PCI configuration register. The register address is computed from the wBusNum, wDeviceNum, and wfunction fields of the PCIDEV structure, and the byOffset/wOffset parameter. The register size is determined by the bySize parameter.

The PciGetConfigRegister call uses the PCI 2.2 method for accessing the configuration space reigster. The PciegetConfigRegister call uses the PCIe 1.1 method for accessing the registers.

DWORD PciGetConfigRegister(
    PCIDEV *pPciDevice, 
    BYTE byOffset, 
    BYTE bySize
);

DWORD PcieGetConfigRegister(
    PCIDEV *pPciDevice, 
    WORD wOffset, 
    BYTE bySize
);

Parameters

pPciDevice
A pointer to a PCIDEV structure, initialized as described above.
byOffset, wOffset
A byte offset to the desired register in the given PCI device header
bySize
A value of T_BYTE, T_WORD or T_DWORD sets the word size to be read.

Return Values

The value of the register read. The number of valid bits is determined by the value of the bySize parameter.

Note: if the PCI Express access method is not available, PcieGetConfigRegister will always return 0xffffffff. See PciGetMemoryInfo.

Remarks

The PCI 2.2. specification defines a method of accessing the configuration space using a pair of I/O registers. The configuration header for each device extends for up to 256 bytes in this space per device function. The PCI Express 1.1 specification defines a method of accessing the configuration space by mapping the space to physical memory. Each device header extends for up to 4096 bytes per device function. The first 256 bytes are common to both methods.

Requirements

Versions Defined in Include Link to
INtime 3.0 intime/rt/include/pcibus.h pcibus.h pcibus.lib
See Also