<!--
{
  "documentType" : "article",
  "framework" : "PCIDriverKit",
  "identifier" : "/documentation/PCIDriverKit/configuration-data-offsets-enum",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Configuration Data Offsets"
}
-->

# Configuration Data Offsets

Constants for the offsets that you use to read and write configuration registers.

## Topics

### Offsets

[`kIOPCIConfigurationOffsetVendorID`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetVendorID)

The offset to the 16-bit value that identifies the manufacturer of the device.

[`kIOPCIConfigurationOffsetDeviceID`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetDeviceID)

The offset to the 16-bit value that the manufacturer uses to identify the particular function.

[`kIOPCIConfigurationOffsetCommand`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetCommand)

The offset to the 16-bit value that defines how the device responds to commands.

[`kIOPCIConfigurationOffsetStatus`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetStatus)

The offset to the 16-bit value that contains the status of the device.

[`kIOPCIConfigurationOffsetRevisionID`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetRevisionID)

The offset to the 8-bit value that the manufacturer uses to identify the revision of the device.

[`kIOPCIConfigurationOffsetClassCode`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetClassCode)

The offset to the 24-bit, read-only value that identifies the generic operation of the device.

[`kIOPCIConfigurationOffsetCacheLineSize`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetCacheLineSize)

The offset to the 8-bit value that contains legacy information about the cache line size.

[`kIOPCIConfigurationOffsetLatencyTimer`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetLatencyTimer)

The offset to the 8-bit value that containsn legacy information for devices with a primary latency timer.

[`kIOPCIConfigurationOffsetHeaderType`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetHeaderType)

The offset to the 8-bit value that defines the layout of the second part of the predefined header.

[`kIOPCIConfigurationOffsetBIST`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetBIST)

The offset to the 8-bit value that controls and reports the status of the device’s built-in, self-test behavior.

[`kIOPCIConfigurationOffsetBaseAddress0`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetBaseAddress0)

The offset to the 32-bit value for base address 0.

[`kIOPCIConfigurationOffsetBaseAddress1`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetBaseAddress1)

The offset to the 32-bit value for base address 1.

[`kIOPCIConfigurationOffsetBaseAddress2`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetBaseAddress2)

The offset to the 32-bit value for base address 2.

[`kIOPCIConfigurationOffsetBaseAddress3`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetBaseAddress3)

The offset to the 32-bit value for base address 3.

[`kIOPCIConfigurationOffsetBaseAddress4`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetBaseAddress4)

The offset to the 32-bit value for base address 4.

[`kIOPCIConfigurationOffsetBaseAddress5`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetBaseAddress5)

The offset to the 32-bit value for base address 5.

[`kIOPCIConfigurationOffsetCardBusCISPtr`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetCardBusCISPtr)

The offset to the 32-bit read-only value that describes legacy PCI functionality.

[`kIOPCIConfigurationOffsetSubSystemVendorID`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetSubSystemVendorID)

The offset to the 16-bit value that identifies the manufacturer of a device containing common PCI components.

[`kIOPCIConfigurationOffsetSubSystemID`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetSubSystemID)

The offset to the 16-bit value that identifies a specific device that uses common PCI components.

[`kIOPCIConfigurationOffsetExpansionROMBase`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetExpansionROMBase)

The offset to the 32-bit value that contains the base address and size of the device’s expansion ROM.

[`kIOPCIConfigurationOffsetCapabilitiesPtr`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetCapabilitiesPtr)

The offset to the 8-bit value that points to the linked list of capabilities the device implements.

[`kIOPCIConfigurationOffsetInterruptLine`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetInterruptLine)

The offset to the 8-bit value that contains interrupt line-routing information.

[`kIOPCIConfigurationOffsetInterruptPin`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetInterruptPin)

The offset to the 8-bit read-only value that identifies the device’s supported interrupt messages.

[`kIOPCIConfigurationOffsetMinimumGrant`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetMinimumGrant)

The offset to the 8-bit value that contains legacy PCI information about the minimum grant.

[`kIOPCIConfigurationOffsetMaximumLatency`](/documentation/PCIDriverKit/kIOPCIConfigurationOffsetMaximumLatency)

The offset to the 8-bit value that contains legacy PCI information about the maximum latency.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)