]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.h
BDS enhancement: enumerate & show all legacy boot options in Boot Manager so that...
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / BootMaint / BootMaint.h
index bd74fd2a6b622b962104ef12bbe9b778ec18c862..5b3da67d804526551b05c12ea8951e91d36f6ef9 100644 (file)
@@ -252,13 +252,23 @@ typedef struct {
 } 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
@@ -304,10 +314,10 @@ typedef struct {
 } BM_LOAD_CONTEXT;\r
 \r
 typedef struct {\r
-  BBS_TABLE *BbsTable;\r
-  UINTN     Index;\r
-  UINT    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