]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiInternalFormRepresentation.h
MdePkg: Clean up source files
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiInternalFormRepresentation.h
index cf1e1003143e8ab016f5eb944ab302d680ef511b..b6fa4decb3ac0c347600cac604bfb082c2ba4f8e 100644 (file)
@@ -3,14 +3,15 @@
   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) 2006 - 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
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+(C) Copyright 2016 Hewlett Packard Enterprise Development LP<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
+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 UEFI 2.1 and 2.2.\r
@@ -66,7 +67,7 @@ typedef struct {
 \r
 //\r
 // Value of HII package type\r
-// \r
+//\r
 #define EFI_HII_PACKAGE_TYPE_ALL             0x00\r
 #define EFI_HII_PACKAGE_TYPE_GUID            0x01\r
 #define EFI_HII_PACKAGE_FORMS                0x02\r
@@ -99,7 +100,7 @@ typedef struct {
 ///\r
 typedef struct {\r
   ///\r
-  /// The Unicode representation of the glyph. The term weight is the \r
+  /// The Unicode representation of the glyph. The term weight is the\r
   /// technical term for a character code.\r
   ///\r
   CHAR16                 UnicodeWeight;\r
@@ -108,7 +109,7 @@ typedef struct {
   ///\r
   UINT8                  Attributes;\r
   ///\r
-  /// The column major glyph representation of the character. Bits \r
+  /// The column major glyph representation of the character. Bits\r
   /// with values of one indicate that the corresponding pixel is to be\r
   /// on when normally displayed; those with zero are off.\r
   ///\r
@@ -116,12 +117,12 @@ typedef struct {
 } EFI_NARROW_GLYPH;\r
 \r
 ///\r
-/// The EFI_WIDE_GLYPH has a preferred dimension (w x h) of 16 x 19 pixels, which is large enough \r
+/// The EFI_WIDE_GLYPH has a preferred dimension (w x h) of 16 x 19 pixels, which is large enough\r
 /// to accommodate logographic characters.\r
 ///\r
 typedef struct {\r
   ///\r
-  /// The Unicode representation of the glyph. The term weight is the \r
+  /// The Unicode representation of the glyph. The term weight is the\r
   /// technical term for a character code.\r
   ///\r
   CHAR16                 UnicodeWeight;\r
@@ -130,20 +131,20 @@ typedef struct {
   ///\r
   UINT8                  Attributes;\r
   ///\r
-  /// The column major glyph representation of the character. Bits \r
-  /// with values of one indicate that the corresponding pixel is to be \r
+  /// The column major glyph representation of the character. Bits\r
+  /// with values of one indicate that the corresponding pixel is to be\r
   /// on when normally displayed; those with zero are off.\r
   ///\r
   UINT8                  GlyphCol1[EFI_GLYPH_HEIGHT];\r
   ///\r
-  /// The column major glyph representation of the character. Bits \r
-  /// with values of one indicate that the corresponding pixel is to be \r
+  /// The column major glyph representation of the character. Bits\r
+  /// with values of one indicate that the corresponding pixel is to be\r
   /// on when normally displayed; those with zero are off.\r
   ///\r
   UINT8                  GlyphCol2[EFI_GLYPH_HEIGHT];\r
   ///\r
-  /// Ensures that sizeof (EFI_WIDE_GLYPH) is twice the \r
-  /// sizeof (EFI_NARROW_GLYPH). The contents of Pad must \r
+  /// Ensures that sizeof (EFI_WIDE_GLYPH) is twice the\r
+  /// sizeof (EFI_NARROW_GLYPH). The contents of Pad must\r
   /// be zero.\r
   ///\r
   UINT8                  Pad[3];\r
@@ -209,6 +210,7 @@ typedef struct _EFI_HII_FONT_PACKAGE_HDR {
 #define EFI_HII_GIBT_GLYPHS               0x11\r
 #define EFI_HII_GIBT_GLYPH_DEFAULT        0x12\r
 #define EFI_HII_GIBT_GLYPHS_DEFAULT       0x13\r
+#define EFI_HII_GIBT_GLYPH_VARIABILITY    0x14\r
 #define EFI_HII_GIBT_DUPLICATE            0x20\r
 #define EFI_HII_GIBT_SKIP2                0x21\r
 #define EFI_HII_GIBT_SKIP1                0x22\r
@@ -266,7 +268,7 @@ typedef struct _EFI_HII_GIBT_GLYPH_BLOCK {
 typedef struct _EFI_HII_GIBT_GLYPHS_BLOCK {\r
   EFI_HII_GLYPH_BLOCK    Header;\r
   EFI_HII_GLYPH_INFO     Cell;\r
-  UINT16                 Count;  \r
+  UINT16                 Count;\r
   UINT8                  BitmapData[1];\r
 } EFI_HII_GIBT_GLYPHS_BLOCK;\r
 \r
@@ -281,6 +283,13 @@ typedef struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK {
   UINT8                  BitmapData[1];\r
 } EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK;\r
 \r
+typedef struct _EFI_HII_GIBT_VARIABILITY_BLOCK {\r
+  EFI_HII_GLYPH_BLOCK    Header;\r
+  EFI_HII_GLYPH_INFO     Cell;\r
+  UINT8                  GlyphPackInBits;\r
+  UINT8                  BitmapData [1];\r
+} EFI_HII_GIBT_VARIABILITY_BLOCK;\r
+\r
 typedef struct _EFI_HII_GIBT_SKIP1_BLOCK {\r
   EFI_HII_GLYPH_BLOCK    Header;\r
   UINT8                  SkipCount;\r
@@ -489,6 +498,7 @@ typedef struct _EFI_HII_IMAGE_BLOCK {
 #define EFI_HII_IIBT_IMAGE_24BIT       0x16\r
 #define EFI_HII_IIBT_IMAGE_24BIT_TRANS 0x17\r
 #define EFI_HII_IIBT_IMAGE_JPEG        0x18\r
+#define EFI_HII_IIBT_IMAGE_PNG         0x19\r
 #define EFI_HII_IIBT_DUPLICATE         0x20\r
 #define EFI_HII_IIBT_SKIP2             0x21\r
 #define EFI_HII_IIBT_SKIP1             0x22\r
@@ -609,6 +619,12 @@ typedef struct _EFI_HII_IIBT_JPEG_BLOCK {
   UINT8                        Data[1];\r
 } EFI_HII_IIBT_JPEG_BLOCK;\r
 \r
+typedef struct _EFI_HII_IIBT_PNG_BLOCK {\r
+  EFI_HII_IMAGE_BLOCK          Header;\r
+  UINT32                       Size;\r
+  UINT8                        Data[1];\r
+} EFI_HII_IIBT_PNG_BLOCK;\r
+\r
 typedef struct _EFI_HII_IIBT_SKIP1_BLOCK {\r
   EFI_HII_IMAGE_BLOCK          Header;\r
   UINT8                        SkipCount;\r
@@ -658,6 +674,13 @@ typedef struct {
   UINT8  Day;\r
 } EFI_HII_DATE;\r
 \r
+typedef struct {\r
+  EFI_QUESTION_ID QuestionId;\r
+  EFI_FORM_ID     FormId;\r
+  EFI_GUID        FormSetGuid;\r
+  EFI_STRING_ID   DevicePath;\r
+} EFI_HII_REF;\r
+\r
 typedef union {\r
   UINT8           u8;\r
   UINT16          u16;\r
@@ -667,7 +690,8 @@ typedef union {
   EFI_HII_TIME    time;\r
   EFI_HII_DATE    date;\r
   EFI_STRING_ID   string; ///< EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION\r
-  // UINT8 buffer[];      ///< EFI_IFR_TYPE_ORDERED_LIST\r
+  EFI_HII_REF     ref;    ///< EFI_IFR_TYPE_REF\r
+  // UINT8 buffer[];      ///< EFI_IFR_TYPE_BUFFER\r
 } EFI_IFR_TYPE_VALUE;\r
 \r
 //\r
@@ -692,7 +716,7 @@ typedef union {
 #define EFI_IFR_INCONSISTENT_IF_OP     0x11\r
 #define EFI_IFR_EQ_ID_VAL_OP           0x12\r
 #define EFI_IFR_EQ_ID_ID_OP            0x13\r
-#define EFI_IFR_EQ_ID_LIST_OP          0x14\r
+#define EFI_IFR_EQ_ID_VAL_LIST_OP      0x14\r
 #define EFI_IFR_AND_OP                 0x15\r
 #define EFI_IFR_OR_OP                  0x16\r
 #define EFI_IFR_NOT_OP                 0x17\r
@@ -769,6 +793,10 @@ typedef union {
 #define EFI_IFR_CATENATE_OP            0x5E\r
 #define EFI_IFR_GUID_OP                0x5F\r
 #define EFI_IFR_SECURITY_OP            0x60\r
+#define EFI_IFR_MODAL_TAG_OP           0x61\r
+#define EFI_IFR_REFRESH_ID_OP          0x62\r
+#define EFI_IFR_WARNING_IF_OP          0x63\r
+#define EFI_IFR_MATCH2_OP              0x64\r
 \r
 //\r
 // Definitions of IFR Standard Headers\r
@@ -800,10 +828,11 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
 //\r
 // Flag values of EFI_IFR_QUESTION_HEADER\r
 //\r
-#define EFI_IFR_FLAG_READ_ONLY         0x01\r
-#define EFI_IFR_FLAG_CALLBACK          0x04\r
-#define EFI_IFR_FLAG_RESET_REQUIRED    0x10\r
-#define EFI_IFR_FLAG_OPTIONS_ONLY      0x80\r
+#define EFI_IFR_FLAG_READ_ONLY          0x01\r
+#define EFI_IFR_FLAG_CALLBACK           0x04\r
+#define EFI_IFR_FLAG_RESET_REQUIRED     0x10\r
+#define EFI_IFR_FLAG_RECONNECT_REQUIRED 0x40\r
+#define EFI_IFR_FLAG_OPTIONS_ONLY       0x80\r
 \r
 //\r
 // Definition for Opcode Reference\r
@@ -816,7 +845,7 @@ typedef struct _EFI_IFR_DEFAULTSTORE {
 } EFI_IFR_DEFAULTSTORE;\r
 \r
 //\r
-// Default Identifier of default store \r
+// Default Identifier of default store\r
 //\r
 #define EFI_HII_DEFAULT_CLASS_STANDARD       0x0000\r
 #define EFI_HII_DEFAULT_CLASS_MANUFACTURING  0x0001\r
@@ -841,6 +870,8 @@ typedef struct _EFI_IFR_VARSTORE_EFI {
   EFI_VARSTORE_ID          VarStoreId;\r
   EFI_GUID                 Guid;\r
   UINT32                   Attributes;\r
+  UINT16                   Size;\r
+  UINT8                    Name[1];\r
 } EFI_IFR_VARSTORE_EFI;\r
 \r
 typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {\r
@@ -873,6 +904,10 @@ typedef struct _EFI_IFR_IMAGE {
   EFI_IMAGE_ID             Id;\r
 } EFI_IFR_IMAGE;\r
 \r
+typedef struct _EFI_IFR_MODAL_TAG {\r
+  EFI_IFR_OP_HEADER        Header;\r
+} EFI_IFR_MODAL_TAG;\r
+\r
 typedef struct _EFI_IFR_LOCKED {\r
   EFI_IFR_OP_HEADER        Header;\r
 } EFI_IFR_LOCKED;\r
@@ -889,6 +924,12 @@ typedef struct _EFI_IFR_DEFAULT {
   EFI_IFR_TYPE_VALUE       Value;\r
 } EFI_IFR_DEFAULT;\r
 \r
+typedef struct _EFI_IFR_DEFAULT_2 {\r
+  EFI_IFR_OP_HEADER        Header;\r
+  UINT16                   DefaultId;\r
+  UINT8                    Type;\r
+} EFI_IFR_DEFAULT_2;\r
+\r
 typedef struct _EFI_IFR_VALUE {\r
   EFI_IFR_OP_HEADER        Header;\r
 } EFI_IFR_VALUE;\r
@@ -946,6 +987,11 @@ typedef struct _EFI_IFR_REF4 {
   EFI_STRING_ID            DevicePath;\r
 } EFI_IFR_REF4;\r
 \r
+typedef struct _EFI_IFR_REF5 {\r
+  EFI_IFR_OP_HEADER Header;\r
+  EFI_IFR_QUESTION_HEADER Question;\r
+} EFI_IFR_REF5;\r
+\r
 typedef struct _EFI_IFR_RESET_BUTTON {\r
   EFI_IFR_OP_HEADER        Header;\r
   EFI_IFR_STATEMENT_HEADER Statement;\r
@@ -1099,6 +1145,12 @@ typedef struct _EFI_IFR_NO_SUBMIT_IF {
   EFI_STRING_ID            Error;\r
 } EFI_IFR_NO_SUBMIT_IF;\r
 \r
+typedef struct _EFI_IFR_WARNING_IF {\r
+  EFI_IFR_OP_HEADER        Header;\r
+  EFI_STRING_ID            Warning;\r
+  UINT8                    TimeOut;\r
+} EFI_IFR_WARNING_IF;\r
+\r
 typedef struct _EFI_IFR_REFRESH {\r
   EFI_IFR_OP_HEADER        Header;\r
   UINT8                    RefreshInterval;\r
@@ -1132,6 +1184,7 @@ typedef struct _EFI_IFR_ONE_OF_OPTION {
 #define EFI_IFR_TYPE_UNDEFINED         0x09\r
 #define EFI_IFR_TYPE_ACTION            0x0A\r
 #define EFI_IFR_TYPE_BUFFER            0x0B\r
+#define EFI_IFR_TYPE_REF               0x0C\r
 \r
 #define EFI_IFR_OPTION_DEFAULT         0x10\r
 #define EFI_IFR_OPTION_DEFAULT_MFG     0x20\r
@@ -1142,6 +1195,11 @@ typedef struct _EFI_IFR_GUID {
   //Optional Data Follows\r
 } EFI_IFR_GUID;\r
 \r
+typedef struct _EFI_IFR_REFRESH_ID {\r
+  EFI_IFR_OP_HEADER Header;\r
+  EFI_GUID          RefreshEventGroupId;\r
+} EFI_IFR_REFRESH_ID;\r
+\r
 typedef struct _EFI_IFR_DUP {\r
   EFI_IFR_OP_HEADER        Header;\r
 } EFI_IFR_DUP;\r
@@ -1359,6 +1417,11 @@ typedef struct _EFI_IFR_MATCH {
   EFI_IFR_OP_HEADER        Header;\r
 } EFI_IFR_MATCH;\r
 \r
+typedef struct _EFI_IFR_MATCH2 {\r
+  EFI_IFR_OP_HEADER        Header;\r
+  EFI_GUID                 SyntaxType;\r
+} EFI_IFR_MATCH2;\r
+\r
 typedef struct _EFI_IFR_MULTIPLY {\r
   EFI_IFR_OP_HEADER        Header;\r
 } EFI_IFR_MULTIPLY;\r
@@ -1435,12 +1498,12 @@ typedef struct _EFI_IFR_SECURITY {
 \r
 typedef struct _EFI_IFR_FORM_MAP_METHOD {\r
   ///\r
-  /// The string identifier which provides the human-readable name of \r
+  /// The string identifier which provides the human-readable name of\r
   /// the configuration method for this standards map form.\r
   ///\r
   EFI_STRING_ID            MethodTitle;\r
   ///\r
-  /// Identifier which uniquely specifies the configuration methods \r
+  /// Identifier which uniquely specifies the configuration methods\r
   /// associated with this standards map form.\r
   ///\r
   EFI_GUID                 MethodIdentifier;\r
@@ -1448,8 +1511,8 @@ typedef struct _EFI_IFR_FORM_MAP_METHOD {
 \r
 typedef struct _EFI_IFR_FORM_MAP {\r
   ///\r
-  /// The sequence that defines the type of opcode as well as the length \r
-  /// of the opcode being defined. Header.OpCode = EFI_IFR_FORM_MAP_OP. \r
+  /// The sequence that defines the type of opcode as well as the length\r
+  /// of the opcode being defined. Header.OpCode = EFI_IFR_FORM_MAP_OP.\r
   ///\r
   EFI_IFR_OP_HEADER        Header;\r
   ///\r
@@ -1464,13 +1527,13 @@ typedef struct _EFI_IFR_FORM_MAP {
 \r
 typedef struct _EFI_IFR_SET {\r
   ///\r
-  /// The sequence that defines the type of opcode as well as the length \r
-  /// of the opcode being defined. Header.OpCode = EFI_IFR_SET_OP. \r
+  /// The sequence that defines the type of opcode as well as the length\r
+  /// of the opcode being defined. Header.OpCode = EFI_IFR_SET_OP.\r
   ///\r
   EFI_IFR_OP_HEADER  Header;\r
   ///\r
-  /// Specifies the identifier of a previously declared variable store to \r
-  /// use when storing the question's value. \r
+  /// Specifies the identifier of a previously declared variable store to\r
+  /// use when storing the question's value.\r
   ///\r
   EFI_VARSTORE_ID    VarStoreId;\r
   union {\r
@@ -1484,20 +1547,20 @@ typedef struct _EFI_IFR_SET {
     UINT16           VarOffset;\r
   }                  VarStoreInfo;\r
   ///\r
-  /// Specifies the type used for storage. \r
+  /// Specifies the type used for storage.\r
   ///\r
   UINT8              VarStoreType;\r
 } EFI_IFR_SET;\r
 \r
 typedef struct _EFI_IFR_GET {\r
   ///\r
-  /// The sequence that defines the type of opcode as well as the length \r
-  /// of the opcode being defined. Header.OpCode = EFI_IFR_GET_OP. \r
+  /// The sequence that defines the type of opcode as well as the length\r
+  /// of the opcode being defined. Header.OpCode = EFI_IFR_GET_OP.\r
   ///\r
   EFI_IFR_OP_HEADER  Header;\r
   ///\r
-  /// Specifies the identifier of a previously declared variable store to \r
-  /// use when retrieving the value. \r
+  /// Specifies the identifier of a previously declared variable store to\r
+  /// use when retrieving the value.\r
   ///\r
   EFI_VARSTORE_ID    VarStoreId;\r
   union {\r
@@ -1511,7 +1574,7 @@ typedef struct _EFI_IFR_GET {
     UINT16           VarOffset;\r
   }                  VarStoreInfo;\r
   ///\r
-  /// Specifies the type used for storage. \r
+  /// Specifies the type used for storage.\r
   ///\r
   UINT8              VarStoreType;\r
 } EFI_IFR_GET;\r
@@ -1535,9 +1598,9 @@ typedef struct _EFI_IFR_MAP {
 ///\r
 /// Each enumeration values maps a physical key on a keyboard.\r
 ///\r
-typedef enum {    \r
+typedef enum {\r
   EfiKeyLCtrl,\r
-  EfiKeyA0, \r
+  EfiKeyA0,\r
   EfiKeyLAlt,\r
   EfiKeySpaceBar,\r
   EfiKeyA2,\r
@@ -1665,8 +1728,8 @@ typedef struct {
   ///\r
   CHAR16                  ShiftedAltGrUnicode;\r
   ///\r
-  /// Modifier keys are defined to allow for special functionality that is not necessarily \r
-  /// accomplished by a printable character. Many of these modifier keys are flags to toggle \r
+  /// Modifier keys are defined to allow for special functionality that is not necessarily\r
+  /// accomplished by a printable character. Many of these modifier keys are flags to toggle\r
   /// certain state bits on and off inside of a keyboard driver.\r
   ///\r
   UINT16                  Modifier;\r
@@ -1674,7 +1737,7 @@ typedef struct {
 } EFI_KEY_DESCRIPTOR;\r
 \r
 ///\r
-/// A key which is affected by all the standard shift modifiers.  \r
+/// A key which is affected by all the standard shift modifiers.\r
 /// Most keys would be expected to have this bit active.\r
 ///\r
 #define EFI_AFFECTED_BY_STANDARD_SHIFT       0x0001\r
@@ -1767,7 +1830,7 @@ typedef struct {
 ///\r
 typedef struct _EFI_IFR_ANIMATION {\r
   ///\r
-  /// Standard opcode header, where Header.OpCode is \r
+  /// Standard opcode header, where Header.OpCode is\r
   /// EFI_IFR_ANIMATION_OP.\r
   ///\r
   EFI_IFR_OP_HEADER        Header;\r
@@ -1786,7 +1849,7 @@ typedef struct _EFI_HII_ANIMATION_PACKAGE_HDR {
   ///\r
   EFI_HII_PACKAGE_HEADER  Header;\r
   ///\r
-  /// Offset, relative to this header, of the animation information. If \r
+  /// Offset, relative to this header, of the animation information. If\r
   /// this is zero, then there are no animation sequences in the package.\r
   ///\r
   UINT32                  AnimationInfoOffset;\r
@@ -1870,23 +1933,23 @@ typedef struct _EFI_HII_AIBT_EXT4_BLOCK {
 \r
 typedef struct _EFI_HII_ANIMATION_CELL {\r
   ///\r
-  /// The X offset from the upper left hand corner of the logical \r
+  /// The X offset from the upper left hand corner of the logical\r
   /// window to position the indexed image.\r
   ///\r
   UINT16                    OffsetX;\r
   ///\r
-  /// The Y offset from the upper left hand corner of the logical \r
+  /// The Y offset from the upper left hand corner of the logical\r
   /// window to position the indexed image.\r
   ///\r
   UINT16                    OffsetY;\r
   ///\r
-  /// The image to display at the specified offset from the upper left \r
+  /// The image to display at the specified offset from the upper left\r
   /// hand corner of the logical window.\r
   ///\r
   EFI_IMAGE_ID              ImageId;\r
   ///\r
-  /// The number of milliseconds to delay after displaying the indexed \r
-  /// image and before continuing on to the next linked image.  If value \r
+  /// The number of milliseconds to delay after displaying the indexed\r
+  /// image and before continuing on to the next linked image.  If value\r
   /// is zero, no delay.\r
   ///\r
   UINT16                    Delay;\r
@@ -1898,11 +1961,11 @@ typedef struct _EFI_HII_ANIMATION_CELL {
 ///\r
 typedef struct _EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK {\r
   ///\r
-  /// This is image that is to be reference by the image protocols, if the \r
-  /// animation function is not supported or disabled. This image can \r
-  /// be one particular image from the animation sequence (if any one \r
-  /// of the animation frames has a complete image) or an alternate \r
-  /// image that can be displayed alone. If the value is zero, no image \r
+  /// This is image that is to be reference by the image protocols, if the\r
+  /// animation function is not supported or disabled. This image can\r
+  /// be one particular image from the animation sequence (if any one\r
+  /// of the animation frames has a complete image) or an alternate\r
+  /// image that can be displayed alone. If the value is zero, no image\r
   /// is displayed.\r
   ///\r
   EFI_IMAGE_ID            DftImageId;\r
@@ -1915,7 +1978,7 @@ typedef struct _EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK {
   ///\r
   UINT16                  Height;\r
   ///\r
-  /// The number of EFI_HII_ANIMATION_CELL contained in the \r
+  /// The number of EFI_HII_ANIMATION_CELL contained in the\r
   /// animation sequence.\r
   ///\r
   UINT16                  CellCount;\r
@@ -1927,16 +1990,16 @@ typedef struct _EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK {
 \r
 ///\r
 /// An animation block to describe an animation sequence that does not cycle,\r
-/// and where the logical window is cleared to the specified color before \r
+/// and where the logical window is cleared to the specified color before\r
 /// the next image is displayed.\r
 ///\r
 typedef struct _EFI_HII_AIBT_CLEAR_IMAGES_BLOCK {\r
   ///\r
-  /// This is image that is to be reference by the image protocols, if the \r
-  /// animation function is not supported or disabled. This image can \r
-  /// be one particular image from the animation sequence (if any one \r
-  /// of the animation frames has a complete image) or an alternate \r
-  /// image that can be displayed alone. If the value is zero, no image \r
+  /// This is image that is to be reference by the image protocols, if the\r
+  /// animation function is not supported or disabled. This image can\r
+  /// be one particular image from the animation sequence (if any one\r
+  /// of the animation frames has a complete image) or an alternate\r
+  /// image that can be displayed alone. If the value is zero, no image\r
   /// is displayed.\r
   ///\r
   EFI_IMAGE_ID       DftImageId;\r
@@ -1949,12 +2012,12 @@ typedef struct _EFI_HII_AIBT_CLEAR_IMAGES_BLOCK {
   ///\r
   UINT16             Height;\r
   ///\r
-  /// The number of EFI_HII_ANIMATION_CELL contained in the \r
+  /// The number of EFI_HII_ANIMATION_CELL contained in the\r
   /// animation sequence.\r
   ///\r
   UINT16             CellCount;\r
   ///\r
-  /// The color to clear the logical window to before displaying the \r
+  /// The color to clear the logical window to before displaying the\r
   /// indexed image.\r
   ///\r
   EFI_HII_RGB_PIXEL  BackgndColor;\r
@@ -1966,16 +2029,16 @@ typedef struct _EFI_HII_AIBT_CLEAR_IMAGES_BLOCK {
 \r
 ///\r
 /// An animation block to describe an animation sequence that does not cycle,\r
-/// and where the screen is restored to the original state before the next \r
+/// and where the screen is restored to the original state before the next\r
 /// image is displayed.\r
 ///\r
 typedef struct _EFI_HII_AIBT_RESTORE_SCRN_BLOCK {\r
   ///\r
-  /// This is image that is to be reference by the image protocols, if the \r
-  /// animation function is not supported or disabled. This image can \r
-  /// be one particular image from the animation sequence (if any one \r
-  /// of the animation frames has a complete image) or an alternate \r
-  /// image that can be displayed alone. If the value is zero, no image \r
+  /// This is image that is to be reference by the image protocols, if the\r
+  /// animation function is not supported or disabled. This image can\r
+  /// be one particular image from the animation sequence (if any one\r
+  /// of the animation frames has a complete image) or an alternate\r
+  /// image that can be displayed alone. If the value is zero, no image\r
   /// is displayed.\r
   ///\r
   EFI_IMAGE_ID            DftImageId;\r
@@ -1988,7 +2051,7 @@ typedef struct _EFI_HII_AIBT_RESTORE_SCRN_BLOCK {
   ///\r
   UINT16                  Height;\r
   ///\r
-  /// The number of EFI_HII_ANIMATION_CELL contained in the \r
+  /// The number of EFI_HII_ANIMATION_CELL contained in the\r
   /// animation sequence.\r
   ///\r
   UINT16                  CellCount;\r
@@ -2006,14 +2069,14 @@ typedef EFI_HII_AIBT_OVERLAY_IMAGES_BLOCK  EFI_HII_AIBT_OVERLAY_IMAGES_LOOP_BLOC
 \r
 ///\r
 /// An animation block to describe an animation sequence that continuously cycles,\r
-/// and where the logical window is cleared to the specified color before \r
+/// and where the logical window is cleared to the specified color before\r
 /// the next image is displayed.\r
 ///\r
 typedef EFI_HII_AIBT_CLEAR_IMAGES_BLOCK    EFI_HII_AIBT_CLEAR_IMAGES_LOOP_BLOCK;\r
 \r
 ///\r
 /// An animation block to describe an animation sequence that continuously cycles,\r
-/// and where the screen is restored to the original state before \r
+/// and where the screen is restored to the original state before\r
 /// the next image is displayed.\r
 ///\r
 typedef EFI_HII_AIBT_RESTORE_SCRN_BLOCK    EFI_HII_AIBT_RESTORE_SCRN_LOOP_BLOCK;\r
@@ -2023,7 +2086,7 @@ typedef EFI_HII_AIBT_RESTORE_SCRN_BLOCK    EFI_HII_AIBT_RESTORE_SCRN_LOOP_BLOCK;
 ///\r
 typedef struct _EFI_HII_AIBT_DUPLICATE_BLOCK {\r
   ///\r
-  /// The previously defined animation ID with the exact same \r
+  /// The previously defined animation ID with the exact same\r
   /// animation information.\r
   ///\r
   EFI_ANIMATION_ID  AnimationId;\r
@@ -2058,9 +2121,15 @@ typedef struct _EFI_HII_AIBT_SKIP2_BLOCK {
 /// token usages.\r
 ///\r
 ///\r
-/// STRING_TOKEN is not defined in UEFI specification. But it is placed \r
+/// STRING_TOKEN is not defined in UEFI specification. But it is placed\r
 /// here for the easy access by C files and VFR source files.\r
 ///\r
 #define STRING_TOKEN(t) t\r
 \r
+///\r
+/// IMAGE_TOKEN is not defined in UEFI specification. But it is placed\r
+/// here for the easy access by C files and VFR source files.\r
+///\r
+#define IMAGE_TOKEN(t) t\r
+\r
 #endif\r