]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
BaseTools: Clean up source files
[mirror_edk2.git] / BaseTools / Source / C / Include / Common / UefiInternalFormRepresentation.h
index 61fc19161899a39280e4940c672c6b12ef0fa20e..a4e62a76d0c46bf000c2d701ad2b2a849352ffdf 100644 (file)
@@ -3,20 +3,19 @@
   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
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+ (C) Copyright 2016 Hewlett Packard Enterprise Development LP<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
-  distribution.  The full text of the license may be found at:\r
+  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
 \r
-  File Name: UefiInternalFormRepresentation.h\r
-\r
   @par Revision Reference:\r
-  These definitions are from UEFI2.1.\r
+  These definitions are from UEFI 2.6\r
 \r
 **/\r
 \r
@@ -56,27 +55,27 @@ typedef struct {
 } EFI_HII_PACKAGE_LIST_HEADER;\r
 \r
 /**\r
-    \r
-  Each package starts with a header, as defined above, which  \r
-  indicates the size and type of the package. When added to a  \r
-  pointer pointing to the start of the header, Length points at  \r
-  the next package. The package lists form a package list when  \r
-  concatenated together and terminated with an  \r
-  EFI_HII_PACKAGE_HEADER with a Type of EFI_HII_PACKAGE_END. The  \r
-  type EFI_HII_PACKAGE_TYPE_GUID is used for vendor-defined HII  \r
-  packages, whose contents are determined by the Guid. The range  \r
-  of package types starting with EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN  \r
-  through EFI_HII_PACKAGE_TYPE_SYSTEM_END are reserved for system  \r
-  firmware implementers.  \r
-  \r
+\r
+  Each package starts with a header, as defined above, which\r
+  indicates the size and type of the package. When added to a\r
+  pointer pointing to the start of the header, Length points at\r
+  the next package. The package lists form a package list when\r
+  concatenated together and terminated with an\r
+  EFI_HII_PACKAGE_HEADER with a Type of EFI_HII_PACKAGE_END. The\r
+  type EFI_HII_PACKAGE_TYPE_GUID is used for vendor-defined HII\r
+  packages, whose contents are determined by the Guid. The range\r
+  of package types starting with EFI_HII_PACKAGE_TYPE_SYSTEM_BEGIN\r
+  through EFI_HII_PACKAGE_TYPE_SYSTEM_END are reserved for system\r
+  firmware implementers.\r
+\r
   @param Length The size of the package in bytes.\r
-  \r
+\r
   @param Type   The package type. See EFI_HII_PACKAGE_TYPE_x,\r
                 below.\r
-  \r
+\r
   @param Data   The package data, the format of which is\r
                 determined by Type.\r
-  \r
+\r
 **/\r
 typedef struct {\r
   UINT32  Length:24;\r
@@ -86,7 +85,7 @@ typedef struct {
 \r
 //\r
 // EFI_HII_PACKAGE_TYPE_x.\r
-// \r
+//\r
 #define EFI_HII_PACKAGE_TYPE_ALL             0x00\r
 #define EFI_HII_PACKAGE_TYPE_GUID            0x01\r
 #define EFI_HII_PACKAGE_FORM                 0x02\r
@@ -169,6 +168,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
@@ -222,7 +222,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]; // the number of bytes per bitmap can be calculated by ((Cell.Width+7)/8)*Cell.Height\r
 } EFI_HII_GIBT_GLYPHS_BLOCK;\r
 \r
@@ -237,6 +237,13 @@ typedef struct _EFI_HII_GIBT_GLYPHS_DEFAULT_BLOCK {
   UINT8                  BitmapData[1]; // the number of bytes per bitmap can be calculated by ((Global.Cell.Width+7)/8)*Global.Cell.Height\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
@@ -418,6 +425,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
@@ -534,6 +542,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
@@ -575,6 +589,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
@@ -584,6 +605,7 @@ typedef union {
   EFI_HII_TIME    time;\r
   EFI_HII_DATE    date;\r
   EFI_STRING_ID   string;\r
+  EFI_HII_REF     ref;\r
 } EFI_IFR_TYPE_VALUE;\r
 \r
 #define EFI_IFR_FORM_OP                0x01\r
@@ -605,7 +627,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
@@ -681,6 +703,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
 typedef struct _EFI_IFR_OP_HEADER {\r
@@ -705,10 +731,11 @@ typedef struct _EFI_IFR_QUESTION_HEADER {
   UINT8                    Flags;\r
 } 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
 typedef struct _EFI_IFR_DEFAULTSTORE {\r
   EFI_IFR_OP_HEADER        Header;\r
@@ -739,6 +766,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
@@ -771,6 +800,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
@@ -787,6 +820,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
@@ -844,6 +883,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
@@ -988,11 +1032,22 @@ 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
 } EFI_IFR_REFRESH;\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_VARSTORE_DEVICE {\r
   EFI_IFR_OP_HEADER        Header;\r
   EFI_STRING_ID            DevicePath;\r
@@ -1018,6 +1073,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
@@ -1230,6 +1286,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
@@ -1299,12 +1360,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
@@ -1312,8 +1373,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
@@ -1328,13 +1389,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
@@ -1348,20 +1409,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
@@ -1375,7 +1436,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
@@ -1395,9 +1456,9 @@ typedef struct _EFI_IFR_MAP {
 // Keyboard Package\r
 //\r
 \r
-typedef enum {    \r
+typedef enum {\r
   EfiKeyLCtrl,\r
-  EfiKeyA0, \r
+  EfiKeyA0,\r
   EfiKeyLAlt,\r
   EfiKeySpaceBar,\r
   EfiKeyA2,\r
@@ -1514,7 +1575,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
@@ -1616,7 +1677,7 @@ typedef struct {
 // 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