1#ifndef _EFI_ROMLOAD_H
2#define _EFI_ROMLOAD_H
3
4#define ROM_SIGNATURE 0xaa55
5#define PCIDS_SIGNATURE "PCIR"
6#pragma pack(push)
7#pragma pack(1)
8typedef struct
9{
10    UINT8    Pcids_Sig[4];
11    UINT16  VendId;
12    UINT16  DevId;
13    UINT16  Vpd_Off;
14    UINT16  Size;
15    UINT8 Rev;
16    UINT8 Class_Code[3];
17    UINT16  Image_Len;
18    UINT16  Rev_Lvl;
19    UINT8 Code_Type;
20    UINT8 Indi;
21    UINT16  Rsvd;
22}PciDataStructure;
23typedef struct
24{
25    UINT16 Size;
26    UINT32 Header_Sig;
27    UINT16 SubSystem;
28    UINT16 MachineType;
29    UINT8  Resvd[10];
30    UINT16 EfiOffset;
31}ArchData;
32typedef struct
33{
34    UINT16 Rom_Sig;
35    ArchData Arch_Data;
36    UINT16 Pcids_Off;
37    UINT8 resvd[38];
38}RomHeader;
39#pragma pack(pop)
40
41#endif
42