]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h
Update for NetworkPkg.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / FrameworkInternalFormRepresentation.h
index 6ea3d39ef6978eb7a1620a91de30172e23fe8171..61d020ec37d4351e98e43bcf784448d0805ee2fa 100644 (file)
@@ -3,43 +3,45 @@
   Framework IFR is primarily consumed by the EFI presentation engine, and produced by EFI\r
   internal application and drivers as well as all add-in card option-ROM drivers\r
 \r
-  Copyright (c) 2007, Intel Corporation                                                         \r
-  All rights reserved. This program and the accompanying materials                          \r
-  are licensed and made available under the terms and conditions of the BSD License         \r
-  which accompanies this distribution.  The full text of the license may be found at        \r
-  http://opensource.org/licenses/bsd-license.php                                            \r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under \r
+the terms and conditions of the BSD License that accompanies this distribution.  \r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.                                          \r
+    \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
 \r
   @par Revision Reference:\r
-  These definitions are from Framework Specification HII 0.92.\r
+  These definitions are from the Framework Specification HII 0.92.\r
 \r
 **/\r
 \r
 #ifndef __FRAMEWORK_INTERNAL_FORMREPRESENTATION_H__\r
 #define __FRAMEWORK_INTERNAL_FORMREPRESENTATION_H__\r
 \r
+typedef UINT16  STRING_REF;\r
+\r
 //\r
 // IFR Op codes\r
 //\r
 #define FRAMEWORK_EFI_IFR_FORM_OP                 0x01\r
 #define FRAMEWORK_EFI_IFR_SUBTITLE_OP             0x02\r
 #define FRAMEWORK_EFI_IFR_TEXT_OP                 0x03\r
-#define FRAMEWORK_EFI_IFR_GRAPHIC_OP              0x04\r
+#define EFI_IFR_GRAPHIC_OP                        0x04\r
 #define FRAMEWORK_EFI_IFR_ONE_OF_OP               0x05\r
 #define FRAMEWORK_EFI_IFR_CHECKBOX_OP             0x06\r
 #define FRAMEWORK_EFI_IFR_NUMERIC_OP              0x07\r
 #define FRAMEWORK_EFI_IFR_PASSWORD_OP             0x08\r
-#define FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP        0x09  // ONEOF OPTION field\r
+#define FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP        0x09  ///< ONEOF OPTION field.\r
 #define FRAMEWORK_EFI_IFR_SUPPRESS_IF_OP          0x0A\r
-#define FRAMEWORK_EFI_IFR_END_FORM_OP             0x0B\r
-#define FRAMEWORK_EFI_IFR_HIDDEN_OP               0x0C\r
-#define FRAMEWORK_EFI_IFR_END_FORM_SET_OP         0x0D\r
+#define EFI_IFR_END_FORM_OP                       0x0B\r
+#define EFI_IFR_HIDDEN_OP                         0x0C\r
+#define EFI_IFR_END_FORM_SET_OP                   0x0D\r
 #define FRAMEWORK_EFI_IFR_FORM_SET_OP             0x0E\r
 #define FRAMEWORK_EFI_IFR_REF_OP                  0x0F\r
-#define FRAMEWORK_EFI_IFR_END_ONE_OF_OP           0x10\r
-#define FRAMEWORK_EFI_IFR_END_OP                  FRAMEWORK_EFI_IFR_END_ONE_OF_OP\r
+#define EFI_IFR_END_ONE_OF_OP                     0x10\r
+#define FRAMEWORK_EFI_IFR_END_OP                  EFI_IFR_END_ONE_OF_OP\r
 #define FRAMEWORK_EFI_IFR_INCONSISTENT_IF_OP      0x11\r
 #define FRAMEWORK_EFI_IFR_EQ_ID_VAL_OP            0x12\r
 #define FRAMEWORK_EFI_IFR_EQ_ID_ID_OP             0x13\r
 #define FRAMEWORK_EFI_IFR_AND_OP                  0x15\r
 #define FRAMEWORK_EFI_IFR_OR_OP                   0x16\r
 #define FRAMEWORK_EFI_IFR_NOT_OP                  0x17\r
-#define FRAMEWORK_EFI_IFR_END_IF_OP               0x18  // for endif of inconsistentif, suppressif, grayoutif\r
-#define FRAMEWORK_EFI_IFR_GRAYOUT_IF_OP           0x19\r
+#define EFI_IFR_END_IF_OP                         0x18  ///< For endif of inconsistentif, suppressif, grayoutif.\r
+#define EFI_IFR_GRAYOUT_IF_OP                     0x19\r
 #define FRAMEWORK_EFI_IFR_DATE_OP                 0x1A\r
 #define FRAMEWORK_EFI_IFR_TIME_OP                 0x1B\r
 #define FRAMEWORK_EFI_IFR_STRING_OP               0x1C\r
-#define FRAMEWORK_EFI_IFR_LABEL_OP                0x1D\r
-#define FRAMEWORK_EFI_IFR_SAVE_DEFAULTS_OP        0x1E\r
-#define FRAMEWORK_EFI_IFR_RESTORE_DEFAULTS_OP     0x1F\r
-#define FRAMEWORK_EFI_IFR_BANNER_OP               0x20\r
-#define FRAMEWORK_EFI_IFR_INVENTORY_OP            0x21\r
-#define FRAMEWORK_EFI_IFR_EQ_VAR_VAL_OP           0x22\r
+#define EFI_IFR_LABEL_OP                          0x1D\r
+#define EFI_IFR_SAVE_DEFAULTS_OP                  0x1E\r
+#define EFI_IFR_RESTORE_DEFAULTS_OP               0x1F\r
+#define EFI_IFR_BANNER_OP                         0x20\r
+#define EFI_IFR_INVENTORY_OP                      0x21\r
+#define EFI_IFR_EQ_VAR_VAL_OP                     0x22\r
 #define FRAMEWORK_EFI_IFR_ORDERED_LIST_OP         0x23\r
 #define FRAMEWORK_EFI_IFR_VARSTORE_OP             0x24\r
-#define FRAMEWORK_EFI_IFR_VARSTORE_SELECT_OP      0x25\r
-#define FRAMEWORK_EFI_IFR_VARSTORE_SELECT_PAIR_OP 0x26\r
-#define FRAMEWORK_EFI_IFR_LAST_OPCODE             FRAMEWORK_EFI_IFR_VARSTORE_SELECT_PAIR_OP\r
-#define FRAMEWORK_EFI_IFR_OEM_OP                  0xFE\r
-#define FRAMEWORK_EFI_IFR_NV_ACCESS_COMMAND       0xFF\r
+#define EFI_IFR_VARSTORE_SELECT_OP                0x25\r
+#define EFI_IFR_VARSTORE_SELECT_PAIR_OP           0x26\r
+#define EFI_IFR_LAST_OPCODE                       EFI_IFR_VARSTORE_SELECT_PAIR_OP\r
+#define EFI_IFR_OEM_OP                            0xFE\r
+#define EFI_IFR_NV_ACCESS_COMMAND                 0xFF\r
 \r
 //\r
 // Define values for the flags fields in some VFR opcodes. These are\r
 // bitmasks.\r
 //\r
-#define FRAMEWORK_EFI_IFR_FLAG_DEFAULT            0x01\r
-#define FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING      0x02\r
-#define FRAMEWORK_EFI_IFR_FLAG_INTERACTIVE        0x04\r
-#define FRAMEWORK_EFI_IFR_FLAG_NV_ACCESS          0x08\r
-#define FRAMEWORK_EFI_IFR_FLAG_RESET_REQUIRED     0x10\r
-#define FRAMEWORK_EFI_IFR_FLAG_LATE_CHECK         0x20\r
-\r
-#define EFI_NON_DEVICE_CLASS              0x00  // Useful when you do not want something in the Device Manager\r
+#define EFI_IFR_FLAG_DEFAULT            0x01\r
+#define EFI_IFR_FLAG_MANUFACTURING      0x02\r
+#define EFI_IFR_FLAG_INTERACTIVE        0x04\r
+#define EFI_IFR_FLAG_NV_ACCESS          0x08\r
+#define EFI_IFR_FLAG_RESET_REQUIRED     0x10\r
+#define EFI_IFR_FLAG_LATE_CHECK         0x20\r
+\r
+#define EFI_NON_DEVICE_CLASS              0x00  ///< Useful when you do not want something in the Device Manager.\r
 #define EFI_DISK_DEVICE_CLASS             0x01\r
 #define EFI_VIDEO_DEVICE_CLASS            0x02\r
 #define EFI_NETWORK_DEVICE_CLASS          0x04\r
 #define EFI_SETUP_APPLICATION_SUBCLASS    0x00\r
 #define EFI_GENERAL_APPLICATION_SUBCLASS  0x01\r
 #define EFI_FRONT_PAGE_SUBCLASS           0x02\r
-#define EFI_SINGLE_USE_SUBCLASS           0x03  // Used to display a single entity and then exit\r
+#define EFI_SINGLE_USE_SUBCLASS           0x03  ///< Used to display a single entity ,and then exit.\r
 \r
-//\r
-// Used to flag dynamically created op-codes. This is meaningful to the IFR Library set\r
-// and the browser since we need to distinguish between compiled NV map data and created data.\r
-// We do not allow new entries to be created in the NV map dynamically however we still need\r
-// to display this information correctly.  To dynamically create op-codes and assume that their\r
-// data will be saved, ensure that the NV starting location they refer to is pre-defined in the\r
-// NV map.\r
-//\r
-#define FRAMEWORK_EFI_IFR_FLAG_CREATED  128\r
+///\r
+/// Used to flag dynamically created op-codes. This is meaningful to the IFR Library set\r
+/// and the browser because we need to distinguish between compiled NV map data and created data.\r
+/// We do not allow new entries to be created in the NV map dynamically, but we do need\r
+/// to display this information correctly.  To dynamically create op-codes and assume that their\r
+/// data will be saved, ensure that the NV starting location they refer to is pre-defined in the\r
+/// NV map.\r
+///\r
+#define EFI_IFR_FLAG_CREATED  128\r
 \r
 \r
 #pragma pack(1)\r
@@ -118,7 +120,7 @@ typedef struct {
   EFI_PHYSICAL_ADDRESS              CallbackHandle;\r
   UINT16                            Class;\r
   UINT16                            SubClass;\r
-  UINT16                            NvDataSize; // set once, size of the NV data as defined in the script\r
+  UINT16                            NvDataSize; ///< Set once; the size of the NV data as defined in the script.\r
 } FRAMEWORK_EFI_IFR_FORM_SET;\r
 \r
 typedef struct {\r
@@ -130,7 +132,7 @@ typedef struct {
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
   UINT16                            LabelId;\r
-} FRAMEWORK_EFI_IFR_LABEL;\r
+} EFI_IFR_LABEL;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
@@ -142,8 +144,8 @@ typedef struct {
   STRING_REF                        Help;\r
   STRING_REF                        Text;\r
   STRING_REF                        TextTwo;\r
-  UINT8                             Flags;  // This is included solely for purposes of interactive/dynamic support.\r
-  UINT16                            Key;    // Value to be passed to caller to identify this particular op-code\r
+  UINT8                             Flags;  ///< This is included solely for purposes of interactive/dynamic support.\r
+  UINT16                            Key;    ///< The value to be passed to the caller to identify this particular op-code.\r
 } FRAMEWORK_EFI_IFR_TEXT;\r
 \r
 //\r
@@ -153,18 +155,18 @@ typedef struct {
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
   UINT16                            FormId;\r
   STRING_REF                        Prompt;\r
-  STRING_REF                        Help;   // The string Token for the context-help\r
-  UINT8                             Flags;  // This is included solely for purposes of interactive/dynamic support.\r
-  UINT16                            Key;    // Value to be passed to caller to identify this particular op-code\r
+  STRING_REF                        Help;   ///< The string Token for the context-help.\r
+  UINT8                             Flags;  ///< This is included solely for purposes of interactive/dynamic support.\r
+  UINT16                            Key;    ///< The value to be passed to the caller to identify this particular op-code.\r
 } FRAMEWORK_EFI_IFR_REF;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-} FRAMEWORK_EFI_IFR_END_FORM;\r
+} EFI_IFR_END_FORM;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-} FRAMEWORK_EFI_IFR_END_FORM_SET;\r
+} EFI_IFR_END_FORM_SET;\r
 \r
 //\r
 // Also notice that the IFR_ONE_OF and IFR_CHECK_BOX are identical in structure......\r
@@ -172,55 +174,55 @@ typedef struct {
 //\r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId; // The ID designating what the question is about...\r
-  UINT8                             Width;      // The Size of the Data being saved\r
-  STRING_REF                        Prompt;     // The String Token for the Prompt\r
-  STRING_REF                        Help;       // The string Token for the context-help\r
+  UINT16                            QuestionId; ///< The ID designating what the question is about...\r
+  UINT8                             Width;      ///< The Size of the Data being saved.\r
+  STRING_REF                        Prompt;     ///< The String Token for the Prompt.\r
+  STRING_REF                        Help;       ///< The string Token for the context-help.\r
 } FRAMEWORK_EFI_IFR_ONE_OF;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId; // The offset in NV for storage of the data\r
-  UINT8                             MaxEntries; // The maximum number of options in the ordered list (=size of NVStore)\r
-  STRING_REF                        Prompt;     // The string token for the prompt\r
-  STRING_REF                        Help;       // The string token for the context-help\r
+  UINT16                            QuestionId; ///< The offset in NV for storage of the data.\r
+  UINT8                             MaxEntries; ///< The maximum number of options in the ordered list (=size of NVStore).\r
+  STRING_REF                        Prompt;     ///< The string token for the prompt.\r
+  STRING_REF                        Help;       ///< The string token for the context-help.\r
 } FRAMEWORK_EFI_IFR_ORDERED_LIST;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId; // The ID designating what the question is about...\r
-  UINT8                             Width;      // The Size of the Data being saved\r
-  STRING_REF                        Prompt;     // The String Token for the Prompt\r
-  STRING_REF                        Help;       // The string Token for the context-help\r
-  UINT8                             Flags;      // If non-zero, means that it is the default option\r
-  UINT16                            Key;        // Value to be passed to caller to identify this particular op-code\r
-} FRAMEWORK_EFI_IFR_CHECKBOX, FRAMEWORK_EFI_IFR_CHECK_BOX;\r
+  UINT16                            QuestionId; ///< The ID designating what the question is about...\r
+  UINT8                             Width;      ///< The Size of the Data being saved.\r
+  STRING_REF                        Prompt;     ///< The String Token for the Prompt.\r
+  STRING_REF                        Help;       ///< The string Token for the context-help.\r
+  UINT8                             Flags;      ///< If non-zero, it means that it is the default option.\r
+  UINT16                            Key;        ///< Value to be passed to caller to identify this particular op-code.\r
+} FRAMEWORK_EFI_IFR_CHECKBOX, EFI_IFR_CHECK_BOX;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  STRING_REF                        Option; // The string token describing the option\r
-  UINT16                            Value;  // The value associated with this option that is stored in the NVRAM\r
-  UINT8                             Flags;  // If non-zero, means that it is the default option\r
-  UINT16                            Key;    // Value to be passed to caller to identify this particular op-code\r
+  STRING_REF                        Option;     ///< The string token describing the option.\r
+  UINT16                            Value;      ///< The value associated with this option that is stored in the NVRAM.\r
+  UINT8                             Flags;      ///< If non-zero, it means that it is the default option.\r
+  UINT16                            Key;        ///< Value to be passed to caller to identify this particular op-code.\r
 } FRAMEWORK_EFI_IFR_ONE_OF_OPTION;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId; // The ID designating what the question is about...\r
-  UINT8                             Width;      // The Size of the Data being saved\r
-  STRING_REF                        Prompt;     // The String Token for the Prompt\r
-  STRING_REF                        Help;       // The string Token for the context-help\r
-  UINT8                             Flags;      // This is included solely for purposes of interactive/dynamic support.\r
-  UINT16                            Key;        // Value to be passed to caller to identify this particular op-code\r
+  UINT16                            QuestionId; ///< The ID designating what the question is about...\r
+  UINT8                             Width;      ///< The Size of the Data being saved.\r
+  STRING_REF                        Prompt;     ///< The String Token for the Prompt.\r
+  STRING_REF                        Help;       ///< The string Token for the context-help.\r
+  UINT8                             Flags;      ///< This is included solely for purposes of interactive/dynamic support.\r
+  UINT16                            Key;        ///< The value to be passed to caller to identify this particular op-code.\r
   UINT16                            Minimum;\r
   UINT16                            Maximum;\r
-  UINT16                            Step;       // Zero means manual input, otherwise, arrow selection is called for\r
+  UINT16                            Step;       ///< Zero means manual input. Otherwise, arrow selection is called for.\r
   UINT16                            Default;\r
 } FRAMEWORK_EFI_IFR_NUMERIC;\r
 \r
 //\r
 // There is an interesting twist with regards to Time and Date.  This is one of the few items which can accept input\r
-// from a user, however may or may not need to use storage in the NVRAM space.  The decided method for determining \r
+// from a user, and may or may not need to use storage in the NVRAM space.  The decided method for determining \r
 // if NVRAM space will be used (only for a TimeOp or DateOp) is:  If .QuestionId == 0 && .Width == 0 (normally an \r
 // impossibility) then use system resources to store the data away and not NV resources.  In other words, the setup\r
 // engine will call gRT->SetTime, and gRT->SetDate for the saving of data, and the values displayed will be from the\r
@@ -240,82 +242,88 @@ typedef struct {
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId;// The ID designating what the question is about...\r
-  UINT8                             Width;     // The Size of the Data being saved\r
-  STRING_REF                        Prompt;    // The String Token for the Prompt\r
-  STRING_REF                        Help;      // The string Token for the context-help\r
-  UINT8                             Flags;     // This is included solely for purposes of interactive/dynamic support.\r
-  UINT16                            Key;       // Value to be passed to caller to identify this particular op-code\r
-  UINT8                             MinSize;   // Minimum allowable sized password\r
-  UINT8                             MaxSize;   // Maximum allowable sized password\r
+  UINT16                            QuestionId;///< The ID designating what the question is about...\r
+  UINT8                             Width;     ///< The Size of the Data being saved.\r
+  STRING_REF                        Prompt;    ///< The String Token for the Prompt.\r
+  STRING_REF                        Help;      ///< The string Token for the context-help.\r
+  UINT8                             Flags;     ///< This is included solely for purposes of interactive/dynamic support.\r
+  UINT16                            Key;       ///< The value to be passed to caller to identify this particular op-code.\r
+  UINT8                             MinSize;   ///< Minimum allowable sized password.\r
+  UINT8                             MaxSize;   ///< Maximum allowable sized password.\r
   UINT16                            Encoding;\r
 } FRAMEWORK_EFI_IFR_PASSWORD;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId; // The ID designating what the question is about...\r
-  UINT8                             Width;      // The Size of the Data being saved \r
-  STRING_REF                        Prompt;     // The String Token for the Prompt\r
-  STRING_REF                        Help;       // The string Token for the context-help\r
-  UINT8                             Flags;      // This is included solely for purposes of interactive/dynamic support.\r
-  UINT16                            Key;        // Value to be passed to caller to identify this particular op-code\r
-  UINT8                             MinSize;    // Minimum allowable sized password\r
-  UINT8                             MaxSize;    // Maximum allowable sized password\r
+  UINT16                            QuestionId; ///< The ID designating what the question is about...\r
+  UINT8                             Width;      ///< The Size of the Data being saved. \r
+  STRING_REF                        Prompt;     ///< The String Token for the Prompt.\r
+  STRING_REF                        Help;       ///< The string Token for the context-help.\r
+  UINT8                             Flags;      ///< This is included solely for purposes of interactive/dynamic support.\r
+  UINT16                            Key;        ///< The value to be passed to caller to identify this particular op-code.\r
+  UINT8                             MinSize;    ///< Minimum allowable sized password.\r
+  UINT8                             MaxSize;    ///< Maximum allowable sized password.\r
 } FRAMEWORK_EFI_IFR_STRING;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-} FRAMEWORK_EFI_IFR_END_ONE_OF;\r
+} EFI_IFR_END_ONE_OF;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
   UINT16                            Value;\r
   UINT16                            Key;\r
-} FRAMEWORK_EFI_IFR_HIDDEN;\r
+} EFI_IFR_HIDDEN;\r
 \r
+///\r
+/// Inconsistent with specification here:\r
+/// The following defintion may not comply with Framework Specification HII 0.92. To \r
+/// keep the inconsistant is for implementation needed.\r
+///@{\r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
   UINT8                             Flags;\r
-} FRAMEWORK_EFI_IFR_SUPPRESS;\r
+} EFI_IFR_SUPPRESS;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
   UINT8                             Flags;\r
-} FRAMEWORK_EFI_IFR_GRAY_OUT;\r
+} EFI_IFR_GRAY_OUT;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
   STRING_REF                        Popup;\r
   UINT8                             Flags;\r
-} FRAMEWORK_EFI_IFR_INCONSISTENT;\r
+} EFI_IFR_INCONSISTENT;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId;   // offset into variable storage\r
-  UINT8                             Width;        // size of variable storage\r
-  UINT16                            Value;        // value to compare against\r
+  UINT16                            QuestionId;   ///< The offset into variable storage.\r
+  UINT8                             Width;        ///< The size of variable storage.\r
+  UINT16                            Value;        ///< The value to compare against.\r
 } FRAMEWORK_EFI_IFR_EQ_ID_VAL;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId;   // offset into variable storage\r
-  UINT8                             Width;        // size of variable storage\r
+  UINT16                            QuestionId;   ///< The offset into variable storage.\r
+  UINT8                             Width;        ///< The size of variable storage.\r
   UINT16                            ListLength;\r
   UINT16                            ValueList[1];\r
 } FRAMEWORK_EFI_IFR_EQ_ID_LIST;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            QuestionId1;  // offset into variable storage for first value to compare\r
-  UINT8                             Width;        // size of variable storage (must be same for both)\r
-  UINT16                            QuestionId2;  // offset into variable storage for second value to compare\r
+  UINT16                            QuestionId1;  ///< The offset into variable storage for first value to compare.\r
+  UINT8                             Width;        ///< The size of variable storage (must be same for both).\r
+  UINT16                            QuestionId2;  ///< The offset into variable storage for second value to compare.\r
 } FRAMEWORK_EFI_IFR_EQ_ID_ID;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            VariableId;   // offset into variable storage\r
-  UINT16                            Value;        // value to compare against\r
-} FRAMEWORK_EFI_IFR_EQ_VAR_VAL;\r
+  UINT16                            VariableId;   ///< The offset into variable storage.\r
+  UINT16                            Value;        ///< The value to compare against.\r
+} EFI_IFR_EQ_VAR_VAL;\r
+///@}\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
@@ -331,7 +339,7 @@ typedef struct {
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-} FRAMEWORK_EFI_IFR_END_EXPR, FRAMEWORK_EFI_IFR_END_IF;\r
+} EFI_IFR_END_EXPR, EFI_IFR_END_IF;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
@@ -340,55 +348,55 @@ typedef struct {
   STRING_REF                        Help;\r
   UINT8                             Flags;\r
   UINT16                            Key;\r
-} FRAMEWORK_EFI_IFR_SAVE_DEFAULTS;\r
+} EFI_IFR_SAVE_DEFAULTS;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
   STRING_REF                        Help;\r
   STRING_REF                        Text;\r
-  STRING_REF                        TextTwo; // optional text\r
-} FRAMEWORK_EFI_IFR_INVENTORY;\r
+  STRING_REF                        TextTwo;    ///< Optional text.\r
+} EFI_IFR_INVENTORY;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  EFI_GUID                          Guid;    // GUID for the variable\r
-  UINT16                            VarId;   // variable store ID, as referenced elsewhere in the form\r
-  UINT16                            Size;    // size of the variable storage\r
+  EFI_GUID                          Guid;       ///< GUID for the variable.\r
+  UINT16                            VarId;      ///< The variable store ID, as referenced elsewhere in the form.\r
+  UINT16                            Size;       ///< The size of the variable storage.\r
 } FRAMEWORK_EFI_IFR_VARSTORE;\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            VarId;   // variable store ID, as referenced elsewhere in the form\r
-} FRAMEWORK_EFI_IFR_VARSTORE_SELECT;\r
+  UINT16                            VarId;      ///< The variable store ID, as referenced elsewhere in the form.\r
+} EFI_IFR_VARSTORE_SELECT;\r
 \r
-//\r
-// Used for the ideqid VFR statement where two variable stores may be referenced in the\r
-// same VFR statement.\r
-// A browser should treat this as an FRAMEWORK_EFI_IFR_VARSTORE_SELECT statement and assume that all following\r
-// IFR opcodes use the VarId as defined here.\r
-//\r
+///\r
+/// Used for the ideqid VFR statement where two variable stores may be referenced in the\r
+/// same VFR statement.\r
+/// A browser should treat this as an FRAMEWORK_EFI_IFR_VARSTORE_SELECT statement and assume that all following\r
+/// IFR opcodes use the VarId as defined here.\r
+///\r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  UINT16                            VarId;          // variable store ID, as referenced elsewhere in the form\r
-  UINT16                            SecondaryVarId; // variable store ID, as referenced elsewhere in the form\r
-} FRAMEWORK_EFI_IFR_VARSTORE_SELECT_PAIR;\r
+  UINT16                            VarId;          ///< The variable store ID, as referenced elsewhere in the form.\r
+  UINT16                            SecondaryVarId; ///< The variable store ID, as referenced elsewhere in the form.\r
+} EFI_IFR_VARSTORE_SELECT_PAIR;\r
 \r
-//\r
-// Save defaults and restore defaults have same structure\r
-//\r
-#define FRAMEWORK_EFI_IFR_RESTORE_DEFAULTS  FRAMEWORK_EFI_IFR_SAVE_DEFAULTS\r
+///\r
+/// Save defaults and restore defaults have same structure.\r
+///\r
+#define EFI_IFR_RESTORE_DEFAULTS  EFI_IFR_SAVE_DEFAULTS\r
 \r
 typedef struct {\r
   FRAMEWORK_EFI_IFR_OP_HEADER       Header;\r
-  STRING_REF                        Title;        // The string token for the banner title\r
-  UINT16                            LineNumber;   // 1-based line number\r
-  UINT8                             Alignment;    // left, center, or right-aligned\r
-} FRAMEWORK_EFI_IFR_BANNER;\r
+  STRING_REF                        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_BANNER;\r
 \r
-#define FRAMEWORK_EFI_IFR_BANNER_ALIGN_LEFT   0\r
-#define FRAMEWORK_EFI_IFR_BANNER_ALIGN_CENTER 1\r
-#define FRAMEWORK_EFI_IFR_BANNER_ALIGN_RIGHT  2\r
-#define FRAMEWORK_EFI_IFR_BANNER_TIMEOUT      0xFF\r
+#define EFI_IFR_BANNER_ALIGN_LEFT   0\r
+#define EFI_IFR_BANNER_ALIGN_CENTER 1\r
+#define EFI_IFR_BANNER_ALIGN_RIGHT  2\r
+#define EFI_IFR_BANNER_TIMEOUT      0xFF\r
 \r
 #pragma pack()\r
 \r