diff options
Diffstat (limited to 'IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h')
-rw-r--r-- | IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h | 321 |
1 files changed, 161 insertions, 160 deletions
diff --git a/IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h b/IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h index 7c257c69de..7f7512a59f 100644 --- a/IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h +++ b/IntelFrameworkPkg/Include/Framework/FrameworkInternalFormRepresentation.h @@ -75,12 +75,12 @@ // Define values for the flags fields in some VFR opcodes. These are
// bitmasks.
//
-#define FRAMEWORK_EFI_IFR_FLAG_DEFAULT 0x01
-#define FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING 0x02
-#define FRAMEWORK_EFI_IFR_FLAG_INTERACTIVE 0x04
-#define FRAMEWORK_EFI_IFR_FLAG_NV_ACCESS 0x08
-#define FRAMEWORK_EFI_IFR_FLAG_RESET_REQUIRED 0x10
-#define FRAMEWORK_EFI_IFR_FLAG_LATE_CHECK 0x20
+#define FRAMEWORK_EFI_IFR_FLAG_DEFAULT 0x01
+#define FRAMEWORK_EFI_IFR_FLAG_MANUFACTURING 0x02
+#define FRAMEWORK_EFI_IFR_FLAG_INTERACTIVE 0x04
+#define FRAMEWORK_EFI_IFR_FLAG_NV_ACCESS 0x08
+#define FRAMEWORK_EFI_IFR_FLAG_RESET_REQUIRED 0x10
+#define FRAMEWORK_EFI_IFR_FLAG_LATE_CHECK 0x20
#define EFI_NON_DEVICE_CLASS 0x00 // Useful when you do not want something in the Device Manager
#define EFI_DISK_DEVICE_CLASS 0x01
@@ -111,258 +111,259 @@ // IFR Structure definitions
//
typedef struct {
- UINT8 OpCode;
- UINT8 Length;
+ UINT8 OpCode;
+ UINT8 Length;
} FRAMEWORK_EFI_IFR_OP_HEADER;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- EFI_GUID Guid;
- STRING_REF FormSetTitle;
- STRING_REF Help;
- EFI_PHYSICAL_ADDRESS CallbackHandle;
- UINT16 Class;
- UINT16 SubClass;
- UINT16 NvDataSize; // set once, size of the NV data as defined in the script
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ EFI_GUID Guid;
+ STRING_REF FormSetTitle;
+ STRING_REF Help;
+ EFI_PHYSICAL_ADDRESS CallbackHandle;
+ UINT16 Class;
+ UINT16 SubClass;
+ UINT16 NvDataSize; // set once, size of the NV data as defined in the script
} FRAMEWORK_EFI_IFR_FORM_SET;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 FormId;
- STRING_REF FormTitle;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 FormId;
+ STRING_REF FormTitle;
} FRAMEWORK_EFI_IFR_FORM;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 LabelId;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 LabelId;
} FRAMEWORK_EFI_IFR_LABEL;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- STRING_REF SubTitle;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ STRING_REF SubTitle;
} FRAMEWORK_EFI_IFR_SUBTITLE;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- STRING_REF Help;
- STRING_REF Text;
- STRING_REF TextTwo;
- UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
- UINT16 Key; // Value to be passed to caller to identify this particular op-code
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ STRING_REF Help;
+ STRING_REF Text;
+ STRING_REF TextTwo;
+ UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
+ UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_TEXT;
//
// goto
//
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 FormId;
- STRING_REF Prompt;
- STRING_REF Help; // The string Token for the context-help
- UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
- UINT16 Key; // Value to be passed to caller to identify this particular op-code
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 FormId;
+ STRING_REF Prompt;
+ STRING_REF Help; // The string Token for the context-help
+ UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
+ UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_REF;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_FORM;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_FORM_SET;
//
-// Also notice that the IFR_ONE_OF and IFR_CHECK_BOX are identical in structure......code assumes this to be true, if this ever
-// changes we need to revisit the InitializeTagStructures code
+// Also notice that the IFR_ONE_OF and IFR_CHECK_BOX are identical in structure......
+// code assumes this to be true, if this ever changes we need to revisit the InitializeTagStructures code
//
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
- UINT8 Width; // The Size of the Data being saved
- STRING_REF Prompt; // The String Token for the Prompt
- STRING_REF Help; // The string Token for the context-help
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId; // The ID designating what the question is about...
+ UINT8 Width; // The Size of the Data being saved
+ STRING_REF Prompt; // The String Token for the Prompt
+ STRING_REF Help; // The string Token for the context-help
} FRAMEWORK_EFI_IFR_ONE_OF;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // The offset in NV for storage of the data
- UINT8 MaxEntries; // The maximum number of options in the ordered list (=size of NVStore)
- STRING_REF Prompt; // The string token for the prompt
- STRING_REF Help; // The string token for the context-help
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId; // The offset in NV for storage of the data
+ UINT8 MaxEntries; // The maximum number of options in the ordered list (=size of NVStore)
+ STRING_REF Prompt; // The string token for the prompt
+ STRING_REF Help; // The string token for the context-help
} FRAMEWORK_EFI_IFR_ORDERED_LIST;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
- UINT8 Width; // The Size of the Data being saved
- STRING_REF Prompt; // The String Token for the Prompt
- STRING_REF Help; // The string Token for the context-help
- UINT8 Flags; // For now, if non-zero, means that it is the default option, - further definition likely
- UINT16 Key; // Value to be passed to caller to identify this particular op-code
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId; // The ID designating what the question is about...
+ UINT8 Width; // The Size of the Data being saved
+ STRING_REF Prompt; // The String Token for the Prompt
+ STRING_REF Help; // The string Token for the context-help
+ UINT8 Flags; // If non-zero, means that it is the default option
+ UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_CHECKBOX, FRAMEWORK_EFI_IFR_CHECK_BOX;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- STRING_REF Option; // The string token describing the option
- UINT16 Value; // The value associated with this option that is stored in the NVRAM if chosen
- UINT8 Flags; // For now, if non-zero, means that it is the default option, - further definition likely above
- UINT16 Key; // Value to be passed to caller to identify this particular op-code
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ STRING_REF Option; // The string token describing the option
+ UINT16 Value; // The value associated with this option that is stored in the NVRAM
+ UINT8 Flags; // If non-zero, means that it is the default option
+ UINT16 Key; // Value to be passed to caller to identify this particular op-code
} FRAMEWORK_EFI_IFR_ONE_OF_OPTION;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
- UINT8 Width; // The Size of the Data being saved
- STRING_REF Prompt; // The String Token for the Prompt
- STRING_REF Help; // The string Token for the context-help
- UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
- UINT16 Key; // Value to be passed to caller to identify this particular op-code
- UINT16 Minimum;
- UINT16 Maximum;
- UINT16 Step; // If step is 0, then manual input is specified, otherwise, left/right arrow selection is called for
- UINT16 Default;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId; // The ID designating what the question is about...
+ UINT8 Width; // The Size of the Data being saved
+ STRING_REF Prompt; // The String Token for the Prompt
+ STRING_REF Help; // The string Token for the context-help
+ UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
+ UINT16 Key; // Value to be passed to caller to identify this particular op-code
+ UINT16 Minimum;
+ UINT16 Maximum;
+ UINT16 Step; // Zero means manual input, otherwise, arrow selection is called for
+ UINT16 Default;
} FRAMEWORK_EFI_IFR_NUMERIC;
//
-// There is an interesting twist with regards to Time and Date. This is one of the few items which can accept input from
-// a user, however may or may not need to use storage in the NVRAM space. The decided method for determining if NVRAM space
-// will be used (only for a TimeOp or DateOp) is: If .QuestionId == 0 && .Width == 0 (normally an impossibility) then use system
-// resources to store the data away and not NV resources. In other words, the setup engine will call gRT->SetTime, and gRT->SetDate
-// for the saving of data, and the values displayed will be from the gRT->GetXXXX series of calls.
+// There is an interesting twist with regards to Time and Date. This is one of the few items which can accept input
+// from a user, however may or may not need to use storage in the NVRAM space. The decided method for determining
+// if NVRAM space will be used (only for a TimeOp or DateOp) is: If .QuestionId == 0 && .Width == 0 (normally an
+// impossibility) then use system resources to store the data away and not NV resources. In other words, the setup
+// engine will call gRT->SetTime, and gRT->SetDate for the saving of data, and the values displayed will be from the
+// gRT->GetXXXX series of calls.
//
typedef struct {
- FRAMEWORK_EFI_IFR_NUMERIC Hour;
- FRAMEWORK_EFI_IFR_NUMERIC Minute;
- FRAMEWORK_EFI_IFR_NUMERIC Second;
+ FRAMEWORK_EFI_IFR_NUMERIC Hour;
+ FRAMEWORK_EFI_IFR_NUMERIC Minute;
+ FRAMEWORK_EFI_IFR_NUMERIC Second;
} FRAMEWORK_EFI_IFR_TIME;
typedef struct {
- FRAMEWORK_EFI_IFR_NUMERIC Year;
- FRAMEWORK_EFI_IFR_NUMERIC Month;
- FRAMEWORK_EFI_IFR_NUMERIC Day;
+ FRAMEWORK_EFI_IFR_NUMERIC Year;
+ FRAMEWORK_EFI_IFR_NUMERIC Month;
+ FRAMEWORK_EFI_IFR_NUMERIC Day;
} FRAMEWORK_EFI_IFR_DATE;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
- UINT8 Width; // The Size of the Data being saved @bug -- remove someday
- STRING_REF Prompt; // The String Token for the Prompt
- STRING_REF Help; // The string Token for the context-help
- UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
- UINT16 Key; // Value to be passed to caller to identify this particular op-code
- UINT8 MinSize; // Minimum allowable sized password
- UINT8 MaxSize; // Maximum allowable sized password
- UINT16 Encoding;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId;// The ID designating what the question is about...
+ UINT8 Width; // The Size of the Data being saved
+ STRING_REF Prompt; // The String Token for the Prompt
+ STRING_REF Help; // The string Token for the context-help
+ UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
+ UINT16 Key; // Value to be passed to caller to identify this particular op-code
+ UINT8 MinSize; // Minimum allowable sized password
+ UINT8 MaxSize; // Maximum allowable sized password
+ UINT16 Encoding;
} FRAMEWORK_EFI_IFR_PASSWORD;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // The ID designating what the question is about...sucked in from a #define, likely in the form of a variable name
- UINT8 Width; // The Size of the Data being saved @bug -- remove someday
- STRING_REF Prompt; // The String Token for the Prompt
- STRING_REF Help; // The string Token for the context-help
- UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
- UINT16 Key; // Value to be passed to caller to identify this particular op-code
- UINT8 MinSize; // Minimum allowable sized password
- UINT8 MaxSize; // Maximum allowable sized password
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId; // The ID designating what the question is about...
+ UINT8 Width; // The Size of the Data being saved
+ STRING_REF Prompt; // The String Token for the Prompt
+ STRING_REF Help; // The string Token for the context-help
+ UINT8 Flags; // This is included solely for purposes of interactive/dynamic support.
+ UINT16 Key; // Value to be passed to caller to identify this particular op-code
+ UINT8 MinSize; // Minimum allowable sized password
+ UINT8 MaxSize; // Maximum allowable sized password
} FRAMEWORK_EFI_IFR_STRING;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_ONE_OF;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 Value;
- UINT16 Key;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 Value;
+ UINT16 Key;
} FRAMEWORK_EFI_IFR_HIDDEN;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT8 Flags;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT8 Flags;
} FRAMEWORK_EFI_IFR_SUPPRESS;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT8 Flags;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT8 Flags;
} FRAMEWORK_EFI_IFR_GRAY_OUT;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- STRING_REF Popup;
- UINT8 Flags;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ STRING_REF Popup;
+ UINT8 Flags;
} FRAMEWORK_EFI_IFR_INCONSISTENT;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // offset into variable storage
- UINT8 Width; // size of variable storage
- UINT16 Value; // value to compare against
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId; // offset into variable storage
+ UINT8 Width; // size of variable storage
+ UINT16 Value; // value to compare against
} FRAMEWORK_EFI_IFR_EQ_ID_VAL;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId; // offset into variable storage
- UINT8 Width; // size of variable storage
- UINT16 ListLength;
- UINT16 ValueList[1];
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId; // offset into variable storage
+ UINT8 Width; // size of variable storage
+ UINT16 ListLength;
+ UINT16 ValueList[1];
} FRAMEWORK_EFI_IFR_EQ_ID_LIST;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 QuestionId1; // offset into variable storage for first value to compare
- UINT8 Width; // size of variable storage (must be same for both)
- UINT16 QuestionId2; // offset into variable storage for second value to compare
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 QuestionId1; // offset into variable storage for first value to compare
+ UINT8 Width; // size of variable storage (must be same for both)
+ UINT16 QuestionId2; // offset into variable storage for second value to compare
} FRAMEWORK_EFI_IFR_EQ_ID_ID;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 VariableId; // offset into variable storage
- UINT16 Value; // value to compare against
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 VariableId; // offset into variable storage
+ UINT16 Value; // value to compare against
} FRAMEWORK_EFI_IFR_EQ_VAR_VAL;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_AND;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_OR;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_NOT;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_END_EXPR, FRAMEWORK_EFI_IFR_END_IF;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 FormId;
- STRING_REF Prompt;
- STRING_REF Help;
- UINT8 Flags;
- UINT16 Key;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 FormId;
+ STRING_REF Prompt;
+ STRING_REF Help;
+ UINT8 Flags;
+ UINT16 Key;
} FRAMEWORK_EFI_IFR_SAVE_DEFAULTS;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- STRING_REF Help;
- STRING_REF Text;
- STRING_REF TextTwo; // optional text
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ STRING_REF Help;
+ STRING_REF Text;
+ STRING_REF TextTwo; // optional text
} FRAMEWORK_EFI_IFR_INVENTORY;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- EFI_GUID Guid; // GUID for the variable
- UINT16 VarId; // variable store ID, as referenced elsewhere in the form
- UINT16 Size; // size of the variable storage
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ EFI_GUID Guid; // GUID for the variable
+ UINT16 VarId; // variable store ID, as referenced elsewhere in the form
+ UINT16 Size; // size of the variable storage
} FRAMEWORK_EFI_IFR_VARSTORE;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 VarId; // variable store ID, as referenced elsewhere in the form
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 VarId; // variable store ID, as referenced elsewhere in the form
} FRAMEWORK_EFI_IFR_VARSTORE_SELECT;
//
@@ -372,25 +373,25 @@ typedef struct { // IFR opcodes use the VarId as defined here.
//
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- UINT16 VarId; // variable store ID, as referenced elsewhere in the form
- UINT16 SecondaryVarId; // variable store ID, as referenced elsewhere in the form
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ UINT16 VarId; // variable store ID, as referenced elsewhere in the form
+ UINT16 SecondaryVarId; // variable store ID, as referenced elsewhere in the form
} FRAMEWORK_EFI_IFR_VARSTORE_SELECT_PAIR;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_TRUE;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_FALSE;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_GT;
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
} FRAMEWORK_EFI_IFR_GE;
//
@@ -399,10 +400,10 @@ typedef struct { #define FRAMEWORK_EFI_IFR_RESTORE_DEFAULTS FRAMEWORK_EFI_IFR_SAVE_DEFAULTS
typedef struct {
- FRAMEWORK_EFI_IFR_OP_HEADER Header;
- STRING_REF Title; // The string token for the banner title
- UINT16 LineNumber; // 1-based line number
- UINT8 Alignment; // left, center, or right-aligned
+ FRAMEWORK_EFI_IFR_OP_HEADER Header;
+ STRING_REF Title; // The string token for the banner title
+ UINT16 LineNumber; // 1-based line number
+ UINT8 Alignment; // left, center, or right-aligned
} FRAMEWORK_EFI_IFR_BANNER;
#define FRAMEWORK_EFI_IFR_BANNER_ALIGN_LEFT 0
|