A.2 PnP Option ROM Header
Offset Size Value Description
00h BYTE 55h Signature byte 1.
01h BYTE AAh Signature byte 2.
02h BYTE Varies Option ROM length in 512-byte blocks.
03h 4 BYTES Varies Initialization entry point.
07h 17 BYTES Varies Reserved.
18h WORD Varies Offset to PCI data structure.
1Ah WORD Varies Offset to expansion header structure.

A.3 PnP Expansion Header
Offset Size Value Description
00h BYTE `$' Signature byte 1.
01h BYTE `P' Signature byte 2.
02h BYTE `n' Signature byte 3.
03h BYTE `P' Signature byte 4.
04h BYTE 01h Structure revision.
05h BYTE Varies Length (in 16 byte increments).
06h WORD Varies Offset of next header (0000h if none).
08h BYTE 00h Reserved.
09h BYTE Varies Checksum.
0Ah DWORD Varies Device identifier.
0Eh WORD Varies Pointer to manufacturer string (Optional).
10h WORD Varies Pointer to product name string (Optional).
12h 3 BYTES Varies Device type code.
15h BYTE Varies Device indicators.
16h WORD Varies Boot Connection Vector (BCV), 0000h if none.
18h WORD Varies Disconnect Vector (DV), 0000h if none.
1Ah WORD Varies Bootstrap Entry Vector (BEV), 0000h if none.
1Ch WORD 0000h Reserved.
1Eh WORD Varies Static resource information vector (0000h if none).

A.4 PCI Data Structure
Offset Size Value Description
00h BYTE `P' Signature byte 1.
01h BYTE `C' Signature byte 2.
02h BYTE `I' Signature byte 3.
03h BYTE `R' Signature byte 4.
04h WORD Varies Vendor Identification.
06h WORD Varies Device Identification.
08h WORD Varies Pointer to Vital Product Data.
0Ah WORD Varies PCI Data Structure Length.
0Ch BYTE Varies PCI Data Structure Revision.
0Dh 3 BYTES Varies Class Code.
10h WORD Varies Image Length.
12h WORD Varies Revision Level of Code/Data.
14h BYTE Varies Code Type.
15h BYTE Varies Indicator.
16h WORD Reserved.
