]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/Common/UefiInternalFormRepresentation.h
Sync EDKII BaseTools to BaseTools project r1903.
[mirror_edk2.git] / BaseTools / Source / C / Include / Common / UefiInternalFormRepresentation.h
index e76ffd317c806567199071c1a86ae71213e09482..9f382471419a91ae6f2fd18109a90c2a4772f615 100644 (file)
@@ -3,7 +3,7 @@
   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
   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 - 2009, Intel Corporation  All rights reserved.\r
+  Copyright (c) 2006 - 2010, Intel Corporation  All rights reserved.\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
 \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
@@ -618,6 +618,7 @@ typedef union {
 #define EFI_IFR_DISABLE_IF_OP          0x1E\r
 #define EFI_IFR_TO_LOWER_OP            0x20\r
 #define EFI_IFR_TO_UPPER_OP            0x21\r
 #define EFI_IFR_DISABLE_IF_OP          0x1E\r
 #define EFI_IFR_TO_LOWER_OP            0x20\r
 #define EFI_IFR_TO_UPPER_OP            0x21\r
+#define EFI_IFR_MAP_OP                 0x22\r
 #define EFI_IFR_ORDERED_LIST_OP        0x23\r
 #define EFI_IFR_VARSTORE_OP            0x24\r
 #define EFI_IFR_VARSTORE_NAME_VALUE_OP 0x25\r
 #define EFI_IFR_ORDERED_LIST_OP        0x23\r
 #define EFI_IFR_VARSTORE_OP            0x24\r
 #define EFI_IFR_VARSTORE_NAME_VALUE_OP 0x25\r
@@ -626,6 +627,10 @@ typedef union {
 #define EFI_IFR_VERSION_OP             0x28\r
 #define EFI_IFR_END_OP                 0x29\r
 #define EFI_IFR_MATCH_OP               0x2A\r
 #define EFI_IFR_VERSION_OP             0x28\r
 #define EFI_IFR_END_OP                 0x29\r
 #define EFI_IFR_MATCH_OP               0x2A\r
+#define EFI_IFR_GET_OP                 0x2B\r
+#define EFI_IFR_SET_OP                 0x2C\r
+#define EFI_IFR_READ_OP                0x2D\r
+#define EFI_IFR_WRITE_OP               0x2E\r
 #define EFI_IFR_EQUAL_OP               0x2F\r
 #define EFI_IFR_NOT_EQUAL_OP           0x30\r
 #define EFI_IFR_GREATER_THAN_OP        0x31\r
 #define EFI_IFR_EQUAL_OP               0x2F\r
 #define EFI_IFR_NOT_EQUAL_OP           0x30\r
 #define EFI_IFR_GREATER_THAN_OP        0x31\r
@@ -672,6 +677,7 @@ typedef union {
 #define EFI_IFR_VALUE_OP               0x5A\r
 #define EFI_IFR_DEFAULT_OP             0x5B\r
 #define EFI_IFR_DEFAULTSTORE_OP        0x5C\r
 #define EFI_IFR_VALUE_OP               0x5A\r
 #define EFI_IFR_DEFAULT_OP             0x5B\r
 #define EFI_IFR_DEFAULTSTORE_OP        0x5C\r
+#define EFI_IFR_FORM_MAP_OP            0x5D\r
 #define EFI_IFR_CATENATE_OP            0x5E\r
 #define EFI_IFR_GUID_OP                0x5F\r
 #define EFI_IFR_SECURITY_OP            0x60\r
 #define EFI_IFR_CATENATE_OP            0x5E\r
 #define EFI_IFR_GUID_OP                0x5F\r
 #define EFI_IFR_SECURITY_OP            0x60\r
@@ -730,14 +736,14 @@ typedef struct _EFI_IFR_VARSTORE {
 \r
 typedef struct _EFI_IFR_VARSTORE_EFI {\r
   EFI_IFR_OP_HEADER        Header;\r
 \r
 typedef struct _EFI_IFR_VARSTORE_EFI {\r
   EFI_IFR_OP_HEADER        Header;\r
-  UINT16                   VarStoreId;\r
+  EFI_VARSTORE_ID          VarStoreId;\r
   EFI_GUID                 Guid;\r
   UINT32                   Attributes;\r
 } EFI_IFR_VARSTORE_EFI;\r
 \r
 typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {\r
   EFI_IFR_OP_HEADER        Header;\r
   EFI_GUID                 Guid;\r
   UINT32                   Attributes;\r
 } EFI_IFR_VARSTORE_EFI;\r
 \r
 typedef struct _EFI_IFR_VARSTORE_NAME_VALUE {\r
   EFI_IFR_OP_HEADER        Header;\r
-  UINT16                   VarStoreId;\r
+  EFI_VARSTORE_ID          VarStoreId;\r
   EFI_GUID                 Guid;\r
 } EFI_IFR_VARSTORE_NAME_VALUE;\r
 \r
   EFI_GUID                 Guid;\r
 } EFI_IFR_VARSTORE_NAME_VALUE;\r
 \r
@@ -747,7 +753,7 @@ typedef struct _EFI_IFR_FORM_SET {
   EFI_STRING_ID            FormSetTitle;\r
   EFI_STRING_ID            Help;\r
   UINT8                    Flags;\r
   EFI_STRING_ID            FormSetTitle;\r
   EFI_STRING_ID            Help;\r
   UINT8                    Flags;\r
-  EFI_GUID                 ClassGuid[1];\r
+  // EFI_GUID              ClassGuid[];\r
 } EFI_IFR_FORM_SET;\r
 \r
 typedef struct _EFI_IFR_END {\r
 } EFI_IFR_FORM_SET;\r
 \r
 typedef struct _EFI_IFR_END {\r
@@ -1009,6 +1015,9 @@ typedef struct _EFI_IFR_ONE_OF_OPTION {
 #define EFI_IFR_TYPE_DATE              0x06\r
 #define EFI_IFR_TYPE_STRING            0x07\r
 #define EFI_IFR_TYPE_OTHER             0x08\r
 #define EFI_IFR_TYPE_DATE              0x06\r
 #define EFI_IFR_TYPE_STRING            0x07\r
 #define EFI_IFR_TYPE_OTHER             0x08\r
+#define EFI_IFR_TYPE_UNDEFINED         0x09\r
+#define EFI_IFR_TYPE_ACTION            0x0A\r
+#define EFI_IFR_TYPE_BUFFER            0x0B\r
 \r
 #define EFI_IFR_OPTION_DEFAULT         0x10\r
 #define EFI_IFR_OPTION_DEFAULT_MFG     0x20\r
 \r
 #define EFI_IFR_OPTION_DEFAULT         0x10\r
 #define EFI_IFR_OPTION_DEFAULT_MFG     0x20\r
@@ -1288,6 +1297,100 @@ typedef struct _EFI_IFR_SECURITY {
   EFI_GUID                 Permissions;\r
 } EFI_IFR_SECURITY;\r
 \r
   EFI_GUID                 Permissions;\r
 } EFI_IFR_SECURITY;\r
 \r
+typedef struct _EFI_IFR_FORM_MAP_METHOD {\r
+  ///\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
+  /// associated with this standards map form.\r
+  ///\r
+  EFI_GUID                 MethodIdentifier;\r
+} EFI_IFR_FORM_MAP_METHOD;\r
+\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
+  ///\r
+  EFI_IFR_OP_HEADER        Header;\r
+  ///\r
+  /// The unique identifier for this particular form.\r
+  ///\r
+  EFI_FORM_ID              FormId;\r
+  ///\r
+  /// One or more configuration method's name and unique identifier.\r
+  ///\r
+  // EFI_IFR_FORM_MAP_METHOD  Methods[];\r
+} EFI_IFR_FORM_MAP;\r
+\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
+  ///\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
+  ///\r
+  EFI_VARSTORE_ID    VarStoreId;\r
+  union {\r
+    ///\r
+    /// A 16-bit Buffer Storage offset.\r
+    ///\r
+    EFI_STRING_ID    VarName;\r
+    ///\r
+    /// A Name Value or EFI Variable name (VarName).\r
+    ///\r
+    UINT16           VarOffset;\r
+  }                  VarStoreInfo;\r
+  ///\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
+  ///\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
+  ///\r
+  EFI_VARSTORE_ID    VarStoreId;\r
+  union {\r
+    ///\r
+    /// A 16-bit Buffer Storage offset.\r
+    ///\r
+    EFI_STRING_ID    VarName;\r
+    ///\r
+    /// A Name Value or EFI Variable name (VarName).\r
+    ///\r
+    UINT16           VarOffset;\r
+  }                  VarStoreInfo;\r
+  ///\r
+  /// Specifies the type used for storage. \r
+  ///\r
+  UINT8              VarStoreType;\r
+} EFI_IFR_GET;\r
+\r
+typedef struct _EFI_IFR_READ {\r
+  EFI_IFR_OP_HEADER       Header;\r
+} EFI_IFR_READ;\r
+\r
+typedef struct _EFI_IFR_WRITE {\r
+  EFI_IFR_OP_HEADER      Header;\r
+} EFI_IFR_WRITE;\r
+\r
+typedef struct _EFI_IFR_MAP {\r
+  EFI_IFR_OP_HEADER      Header;\r
+} EFI_IFR_MAP;\r
 //\r
 // Keyboard Package\r
 //\r
 //\r
 // Keyboard Package\r
 //\r