Clean up MdeModuleHii.h to remove HII_VENDOR_DEVICE_PATH and remove DevicePath.h...
[mirror_edk2.git] / BaseTools / Source / C / Include / Common / MdeModuleHii.h
index 8b42061d715257c06f998569cd8ad8ac8e2f61a5..b756fef2c378ef3a16482621c00038f909ad036c 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   EDK II specific HII relative definition.\r
 \r
-  Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials are licensed and made available\r
   under the terms and conditions of the BSD License which accompanies this\r
 #define WIDE_CHAR           0xFFF1\r
 #define NON_BREAKING_CHAR   0xFFF2\r
 \r
-#define GLYPH_WIDTH         EFI_GLYPH_WIDTH\r
-#define GLYPH_HEIGHT        EFI_GLYPH_HEIGHT\r
-\r
-//\r
-// State defined for password statemachine \r
-//\r
+///\r
+/// State defined for password statemachine .\r
+///\r
 #define BROWSER_STATE_VALIDATE_PASSWORD  0\r
 #define BROWSER_STATE_SET_PASSWORD       1\r
 \r
-\r
-//\r
-// Tiano Implementation specific Device Path definition.\r
-//\r
-#pragma pack(1)\r
-typedef struct {\r
-  VENDOR_DEVICE_PATH             VendorDevicePath;\r
-  UINT32                         Reserved;\r
-  UINT64                         UniqueId;\r
-} HII_VENDOR_DEVICE_PATH_NODE;\r
-#pragma pack()\r
-\r
-typedef struct {\r
-  HII_VENDOR_DEVICE_PATH_NODE    Node;\r
-  EFI_DEVICE_PATH_PROTOCOL       End;\r
-} HII_VENDOR_DEVICE_PATH;\r
-\r
-\r
-//\r
-// GUIDed opcodes defined for Tiano\r
-//\r
+///\r
+/// GUIDed opcodes defined for EDKII implementation.\r
+///\r
 #define EFI_IFR_TIANO_GUID \\r
   { 0xf0b1735, 0x87a0, 0x4193, {0xb2, 0x66, 0x53, 0x8c, 0x38, 0xaf, 0x48, 0xce} }\r
 \r
 #pragma pack(1)\r
 \r
+///\r
+/// EDKII implementation extension opcodes, new extension can be added here later.\r
+///\r
 #define EFI_IFR_EXTEND_OP_LABEL       0x0\r
 #define EFI_IFR_EXTEND_OP_BANNER      0x1\r
 #define EFI_IFR_EXTEND_OP_TIMEOUT     0x2\r
 #define EFI_IFR_EXTEND_OP_CLASS       0x3\r
 #define EFI_IFR_EXTEND_OP_SUBCLASS    0x4\r
 \r
+///\r
+/// Label opcode.\r
+///\r
 typedef struct _EFI_IFR_GUID_LABEL {\r
   EFI_IFR_OP_HEADER   Header;\r
+  ///\r
+  /// EFI_IFR_TIANO_GUID.\r
+  ///\r
   EFI_GUID            Guid;\r
+  ///\r
+  /// EFI_IFR_EXTEND_OP_LABEL.\r
+  ///\r
   UINT8               ExtendOpCode;\r
+  ///\r
+  /// Label Number.\r
+  ///\r
   UINT16              Number;\r
 } EFI_IFR_GUID_LABEL;\r
 \r
@@ -74,20 +68,38 @@ typedef struct _EFI_IFR_GUID_LABEL {
 #define EFI_IFR_BANNER_ALIGN_CENTER   1\r
 #define EFI_IFR_BANNER_ALIGN_RIGHT    2\r
 \r
+///\r
+/// Banner opcode.\r
+///\r
 typedef struct _EFI_IFR_GUID_BANNER {\r
   EFI_IFR_OP_HEADER   Header;\r
+  ///\r
+  /// EFI_IFR_TIANO_GUID.\r
+  ///\r
   EFI_GUID            Guid;\r
-  UINT8               ExtendOpCode; // Extended opcode is EFI_IFR_EXTEND_OP_BANNER\r
-  EFI_STRING_ID       Title;        // The string token for the banner title\r
-  UINT16              LineNumber;   // 1-based line number\r
-  UINT8               Alignment;    // left, center, or right-aligned\r
+  ///\r
+  /// EFI_IFR_EXTEND_OP_BANNER\r
+  ///\r
+  UINT8               ExtendOpCode;\r
+  EFI_STRING_ID       Title;        ///< The string token for the banner title.\r
+  UINT16              LineNumber;   ///< 1-based line number.\r
+  UINT8               Alignment;    ///< left, center, or right-aligned.\r
 } EFI_IFR_GUID_BANNER;\r
 \r
+///\r
+/// Timeout opcode.\r
+///\r
 typedef struct _EFI_IFR_GUID_TIMEOUT {\r
   EFI_IFR_OP_HEADER   Header;\r
+  ///\r
+  /// EFI_IFR_TIANO_GUID.\r
+  ///\r
   EFI_GUID            Guid;\r
+  ///\r
+  /// EFI_IFR_EXTEND_OP_TIMEOUT.\r
+  ///\r
   UINT8               ExtendOpCode;\r
-  UINT16              TimeOut;\r
+  UINT16              TimeOut;       ///< TimeOut Value.\r
 } EFI_IFR_GUID_TIMEOUT;\r
 \r
 #define EFI_NON_DEVICE_CLASS              0x00\r
@@ -98,11 +110,20 @@ typedef struct _EFI_IFR_GUID_TIMEOUT {
 #define EFI_ON_BOARD_DEVICE_CLASS         0x10\r
 #define EFI_OTHER_DEVICE_CLASS            0x20\r
 \r
+///\r
+/// Device Class opcode.\r
+///\r
 typedef struct _EFI_IFR_GUID_CLASS {\r
   EFI_IFR_OP_HEADER   Header;\r
+  ///\r
+  /// EFI_IFR_TIANO_GUID.\r
+  ///\r
   EFI_GUID            Guid;\r
+  ///\r
+  /// EFI_IFR_EXTEND_OP_CLASS.\r
+  ///\r
   UINT8               ExtendOpCode;\r
-  UINT16              Class;\r
+  UINT16              Class;           ///< Device Class from the above.\r
 } EFI_IFR_GUID_CLASS;\r
 \r
 #define EFI_SETUP_APPLICATION_SUBCLASS    0x00\r
@@ -110,45 +131,93 @@ typedef struct _EFI_IFR_GUID_CLASS {
 #define EFI_FRONT_PAGE_SUBCLASS           0x02\r
 #define EFI_SINGLE_USE_SUBCLASS           0x03\r
 \r
+///\r
+/// SubClass opcode\r
+///\r
 typedef struct _EFI_IFR_GUID_SUBCLASS {\r
   EFI_IFR_OP_HEADER   Header;\r
+  ///\r
+  /// EFI_IFR_TIANO_GUID.\r
+  ///\r
   EFI_GUID            Guid;\r
+  ///\r
+  /// EFI_IFR_EXTEND_OP_SUBCLASS.\r
+  ///\r
   UINT8               ExtendOpCode;\r
-  UINT16              SubClass;\r
+  UINT16              SubClass;      ///< Sub Class type from the above.\r
 } EFI_IFR_GUID_SUBCLASS;\r
 \r
-//\r
-// GUIDed opcodes defined for Tiano\r
-//\r
+///\r
+/// GUIDed opcodes support for framework vfr.\r
+///\r
 #define EFI_IFR_FRAMEWORK_GUID \\r
   { 0x31ca5d1a, 0xd511, 0x4931, { 0xb7, 0x82, 0xae, 0x6b, 0x2b, 0x17, 0x8c, 0xd7 } }\r
 \r
+///\r
+/// Two extended opcodes are added, and new extensions can be added here later.\r
+/// One is for framework OneOf question Option Key value;\r
+/// another is for framework vareqval.\r
+///\r
 #define EFI_IFR_EXTEND_OP_OPTIONKEY   0x0\r
 #define EFI_IFR_EXTEND_OP_VAREQNAME   0x1\r
-//\r
-// Store the framework vfr option key value\r
-//\r
+\r
+///\r
+/// Store the framework vfr option key value.\r
+///\r
 typedef struct _EFI_IFR_GUID_OPTIONKEY {\r
   EFI_IFR_OP_HEADER   Header;\r
+  ///\r
+  /// EFI_IFR_FRAMEWORK_GUID.\r
+  ///\r
   EFI_GUID            Guid;\r
+  ///\r
+  /// EFI_IFR_EXTEND_OP_OPTIONKEY.\r
+  ///\r
   UINT8               ExtendOpCode;\r
+  ///\r
+  /// OneOf Questiond ID binded by OneOf Option.\r
+  ///\r
   EFI_QUESTION_ID     QuestionId;\r
+  ///\r
+  /// The OneOf Option Value.\r
+  ///\r
   EFI_IFR_TYPE_VALUE  OptionValue;\r
-  EFI_QUESTION_ID     KeyValue;\r
+  ///\r
+  /// The Framework OneOf Option Key Value.\r
+  ///\r
+  UINT16              KeyValue;\r
 } EFI_IFR_GUID_OPTIONKEY;\r
 \r
-//\r
-// Store the framework vfr vareqval name number\r
-//\r
+///\r
+/// Store the framework vfr vareqval name number.\r
+///\r
 typedef struct _EFI_IFR_GUID_VAREQNAME {\r
   EFI_IFR_OP_HEADER   Header;\r
+  ///\r
+  /// EFI_IFR_FRAMEWORK_GUID.\r
+  ///\r
   EFI_GUID            Guid;\r
+  ///\r
+  /// EFI_IFR_EXTEND_OP_VAREQNAME.\r
+  ///\r
   UINT8               ExtendOpCode;\r
+  ///\r
+  /// Question ID of the Numeric Opcode created.\r
+  ///\r
   EFI_QUESTION_ID     QuestionId;\r
-  EFI_STRING_ID       NameId;\r
+  ///\r
+  /// For vareqval (0x100), NameId is 0x100.\r
+  /// This value will convert to a Unicode String following this rule;\r
+  ///            sprintf(StringBuffer, "%d", NameId) .\r
+  /// The the Unicode String will be used as a EFI Variable Name.\r
+  ///\r
+  UINT16              NameId;\r
 } EFI_IFR_GUID_VAREQNAME;\r
 \r
 #pragma pack()\r
 \r
+extern EFI_GUID gEfiIfrTianoGuid;\r
+extern EFI_GUID gEfiIfrFrameworkGuid;\r
+\r
 #endif\r
 \r