1. Add new HII IFR opcode introduced in UEFI2.2 and UEFI2.3
They are EFI_IFR_FORM_MAP, EFI_IFR_READ, EFI_IFR_WRITE, EFI_IFR_GET, EFI_IFR_SET, EFI_IFR_MAP, EFI_IFR_SECURITY. 2. Add new data type introduced in UEFI2.2 and UEFI2.3 EFI_IFR_TYPE_ACTION, EFI_IFR_TYPE_UNDEFINED, EFI_IFR_TYPE_BUFFER. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9261 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -20,6 +20,8 @@
|
||||
#ifndef __UEFI_INTERNAL_FORMREPRESENTATION_H__
|
||||
#define __UEFI_INTERNAL_FORMREPRESENTATION_H__
|
||||
|
||||
#include <Guid/HiiFormMapMethodGuid.h>
|
||||
|
||||
///
|
||||
/// The following types are currently defined:
|
||||
///
|
||||
@@ -621,7 +623,8 @@ typedef union {
|
||||
BOOLEAN b;
|
||||
EFI_HII_TIME time;
|
||||
EFI_HII_DATE date;
|
||||
EFI_STRING_ID string;
|
||||
EFI_STRING_ID string; ///< EFI_IFR_TYPE_STRING, EFI_IFR_TYPE_ACTION
|
||||
// UINT8 buffer[]; ///< EFI_IFR_TYPE_ORDERED_LIST
|
||||
} EFI_IFR_TYPE_VALUE;
|
||||
|
||||
//
|
||||
@@ -659,6 +662,7 @@ typedef union {
|
||||
#define EFI_IFR_DISABLE_IF_OP 0x1E
|
||||
#define EFI_IFR_TO_LOWER_OP 0x20
|
||||
#define EFI_IFR_TO_UPPER_OP 0x21
|
||||
#define EFI_IFR_MAP_OP 0x22
|
||||
#define EFI_IFR_ORDERED_LIST_OP 0x23
|
||||
#define EFI_IFR_VARSTORE_OP 0x24
|
||||
#define EFI_IFR_VARSTORE_NAME_VALUE_OP 0x25
|
||||
@@ -667,6 +671,10 @@ typedef union {
|
||||
#define EFI_IFR_VERSION_OP 0x28
|
||||
#define EFI_IFR_END_OP 0x29
|
||||
#define EFI_IFR_MATCH_OP 0x2A
|
||||
#define EFI_IFR_SET_OP 0x2C
|
||||
#define EFI_IFR_GET_OP 0x2B
|
||||
#define EFI_IFR_READ_OP 0x2D
|
||||
#define EFI_IFR_WRITE_OP 0x2E
|
||||
#define EFI_IFR_EQUAL_OP 0x2F
|
||||
#define EFI_IFR_NOT_EQUAL_OP 0x30
|
||||
#define EFI_IFR_GREATER_THAN_OP 0x31
|
||||
@@ -713,8 +721,10 @@ typedef union {
|
||||
#define EFI_IFR_VALUE_OP 0x5A
|
||||
#define EFI_IFR_DEFAULT_OP 0x5B
|
||||
#define EFI_IFR_DEFAULTSTORE_OP 0x5C
|
||||
#define EFI_IFR_FORM_MAP_OP 0x5D
|
||||
#define EFI_IFR_CATENATE_OP 0x5E
|
||||
#define EFI_IFR_GUID_OP 0x5F
|
||||
#define EFI_IFR_SECURITY_OP 0x60
|
||||
|
||||
//
|
||||
// Definitions of IFR Standard Headers
|
||||
@@ -1075,6 +1085,9 @@ typedef struct _EFI_IFR_ONE_OF_OPTION {
|
||||
#define EFI_IFR_TYPE_DATE 0x06
|
||||
#define EFI_IFR_TYPE_STRING 0x07
|
||||
#define EFI_IFR_TYPE_OTHER 0x08
|
||||
#define EFI_IFR_TYPE_UNDEFINED 0x09
|
||||
#define EFI_IFR_TYPE_ACTION 0x0A
|
||||
#define EFI_IFR_TYPE_BUFFER 0x0B
|
||||
|
||||
#define EFI_IFR_OPTION_DEFAULT 0x10
|
||||
#define EFI_IFR_OPTION_DEFAULT_MFG 0x20
|
||||
@@ -1362,6 +1375,107 @@ typedef struct _EFI_IFR_SPAN {
|
||||
UINT8 Flags;
|
||||
} EFI_IFR_SPAN;
|
||||
|
||||
typedef struct _EFI_IFR_SECURITY {
|
||||
///
|
||||
/// Standard opcode header, where Header.Op = EFI_IFR_SECURITY_OP.
|
||||
///
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// Security permission level.
|
||||
///
|
||||
EFI_GUID Permissions;
|
||||
} EFI_IFR_SECURITY;
|
||||
|
||||
typedef struct _EFI_IFR_FORM_MAP_METHOD {
|
||||
///
|
||||
/// The string identifier which provides the human-readable name of
|
||||
/// the configuration method for this standards map form.
|
||||
///
|
||||
EFI_STRING_ID MethodTitle;
|
||||
///
|
||||
/// Identifier which uniquely specifies the configuration methods
|
||||
/// associated with this standards map form.
|
||||
///
|
||||
EFI_GUID MethodIdentifier;
|
||||
} EFI_IFR_FORM_MAP_METHOD;
|
||||
|
||||
typedef struct _EFI_IFR_FORM_MAP {
|
||||
///
|
||||
/// The sequence that defines the type of opcode as well as the length
|
||||
/// of the opcode being defined. Header.OpCode = EFI_IFR_FORM_MAP_OP.
|
||||
///
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// The unique identifier for this particular form.
|
||||
///
|
||||
EFI_FORM_ID FormId;
|
||||
///
|
||||
/// One or more configuration method's name and unique identifier.
|
||||
///
|
||||
EFI_IFR_FORM_MAP_METHOD Methods[1];
|
||||
} EFI_IFR_FORM_MAP;
|
||||
|
||||
typedef struct _EFI_IFR_SET {
|
||||
///
|
||||
/// The sequence that defines the type of opcode as well as the length
|
||||
/// of the opcode being defined. Header.OpCode = EFI_IFR_SET_OP.
|
||||
///
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// Specifies the identifier of a previously declared variable store to
|
||||
/// use when storing the question's value.
|
||||
///
|
||||
EFI_VARSTORE_ID VarStoreId;
|
||||
union {
|
||||
///
|
||||
/// A 16-bit Buffer Storage offset.
|
||||
///
|
||||
EFI_STRING_ID VarName;
|
||||
///
|
||||
/// A Name Value or EFI Variable name (VarName).
|
||||
///
|
||||
UINT16 VarOffset;
|
||||
} VarStoreInfo;
|
||||
} EFI_IFR_SET;
|
||||
|
||||
typedef struct _EFI_IFR_GET {
|
||||
///
|
||||
/// The sequence that defines the type of opcode as well as the length
|
||||
/// of the opcode being defined. Header.OpCode = EFI_IFR_GET_OP.
|
||||
///
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
///
|
||||
/// Specifies the identifier of a previously declared variable store to
|
||||
/// use when retrieving the value.
|
||||
///
|
||||
EFI_VARSTORE_ID VarStoreId;
|
||||
union {
|
||||
///
|
||||
/// A 16-bit Buffer Storage offset.
|
||||
///
|
||||
EFI_STRING_ID VarName;
|
||||
///
|
||||
/// A Name Value or EFI Variable name (VarName).
|
||||
///
|
||||
UINT16 VarOffset;
|
||||
} VarStoreInfo;
|
||||
///
|
||||
/// Specifies the type used for storage.
|
||||
///
|
||||
UINT8 VarStoreType;
|
||||
} EFI_IFR_GET;
|
||||
|
||||
typedef struct _EFI_IFR_READ {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_READ;
|
||||
|
||||
typedef struct _EFI_IFR_WRITE {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_WRITE;
|
||||
|
||||
typedef struct _EFI_IFR_MAP {
|
||||
EFI_IFR_OP_HEADER Header;
|
||||
} EFI_IFR_MAP;
|
||||
//
|
||||
// Definitions for Keyboard Package
|
||||
// Releated definitions are in Section of EFI_HII_DATABASE_PROTOCOL
|
||||
|
Reference in New Issue
Block a user