8b29c893 |
1 | //\r |
2 | // The following definition will be generated by build tool \r |
3 | //\r |
4 | \r |
5 | //\r |
6 | // Common definitions\r |
7 | //\r |
8a43e8dd |
8 | typedef UINT8 SKU_ID;\r |
9 | \r |
8b29c893 |
10 | #define PCD_TYPE_SHIFT 24\r |
11 | \r |
12 | \r |
13 | #define PCD_TYPE_DATA (0x00 << PCD_TYPE_SHIFT)\r |
14 | #define PCD_TYPE_HII (0x80 << PCD_TYPE_SHIFT)\r |
15 | #define PCD_TYPE_VPD (0x40 << PCD_TYPE_SHIFT)\r |
16 | #define PCD_TYPE_SKU_ENABLED (0x20 << PCD_TYPE_SHIFT)\r |
17 | #define PCD_TYPE_STRING (0x10 << PCD_TYPE_SHIFT)\r |
18 | \r |
19 | \r |
20 | #define PCD_DATABASE_OFFSET_MASK (~(PCD_TYPE_HII | PCD_TYPE_VPD | PCD_TYPE_SKU_ENABLED | PCD_TYPE_STRING))\r |
21 | \r |
22 | typedef struct {\r |
23 | UINT32 ExTokenNumber;\r |
24 | UINT32 LocalTokenNumber; // PCD Number of this particular platform build\r |
25 | UINT16 ExGuidIndex; // Index of GuidTable\r |
26 | } DYNAMICEX_MAPPING;\r |
27 | \r |
28 | \r |
29 | typedef struct {\r |
30 | UINT32 SkuDataStartOffset; //We have to use offsetof MACRO as we don't know padding done by compiler\r |
31 | UINT32 SkuIdTableOffset; //Offset from the PCD_DB\r |
32 | } SKU_HEAD;\r |
33 | \r |
34 | \r |
35 | typedef struct {\r |
58f1099f |
36 | UINT16 GuidTableIndex; // Offset in Guid Table in units of GUID.\r |
37 | UINT16 StringIndex; // Offset in String Table in units of UINT16.\r |
38 | UINT16 Offset; // Offset in Variable\r |
39 | UINT16 DefaultValueOffset; // Offset of the Default Value\r |
8b29c893 |
40 | } VARIABLE_HEAD ;\r |
41 | \r |
42 | \r |
43 | typedef struct {\r |
44 | UINT32 Offset;\r |
45 | } VPD_HEAD;\r |
46 | \r |
58f1099f |
47 | typedef UINT16 STRING_HEAD;\r |
48 | \r |
8b29c893 |
49 | typedef struct {\r |
50 | UINT32 LocalTokenNumber;\r |
51 | UINT16 TokenNumber;\r |
52 | UINT16 Size;\r |
53 | } SIZEINFO;\r |
54 | \r |
eaa6aeba |
55 | #define offsetof(s,m) (UINT32) (UINTN) &(((s *)0)->m)\r |
8b29c893 |
56 | \r |
57 | \r |
58 | \r |