} COM_ATTR;\r
\r
#pragma pack(1)\r
+///\r
+/// For each legacy boot option in BBS table, a corresponding Boot#### variables is created.\r
+/// The structure saves the mapping relationship between #### and the index in the BBS table.\r
+///\r
+typedef struct {\r
+ UINT16 BootOptionNumber;\r
+ UINT16 BbsIndex;\r
+ UINT16 BbsType;\r
+} BOOT_OPTION_BBS_MAPPING;\r
+\r
typedef struct {\r
BBS_TYPE BbsType;\r
///\r
/// Length = sizeof (UINT16) + SIZEOF (Data)\r
///\r
UINT16 Length;\r
- UINT16 *Data;\r
+ UINT16 Data[1];\r
} BM_LEGACY_DEV_ORDER_CONTEXT;\r
#pragma pack()\r
\r
} BM_LOAD_CONTEXT;\r
\r
typedef struct {\r
- BBS_TABLE *BbsTable;\r
- UINTN Index;\r
- UINTN BbsCount;\r
- UINT16 *Description;\r
+ BBS_TABLE *BbsEntry;\r
+ UINT16 BbsIndex;\r
+ UINT16 BbsCount;\r
+ CHAR16 *Description;\r
} BM_LEGACY_DEVICE_CONTEXT;\r
\r
typedef struct {\r