OvmfPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FrameworkInternalFormRepresentation.h File Reference

Data Structures

struct  FRAMEWORK_EFI_IFR_OP_HEADER
 
struct  FRAMEWORK_EFI_IFR_FORM_SET
 
struct  FRAMEWORK_EFI_IFR_FORM
 
struct  EFI_IFR_LABEL
 
struct  FRAMEWORK_EFI_IFR_SUBTITLE
 
struct  FRAMEWORK_EFI_IFR_TEXT
 
struct  FRAMEWORK_EFI_IFR_REF
 
struct  EFI_IFR_END_FORM
 
struct  EFI_IFR_END_FORM_SET
 
struct  FRAMEWORK_EFI_IFR_ONE_OF
 
struct  FRAMEWORK_EFI_IFR_ORDERED_LIST
 
struct  FRAMEWORK_EFI_IFR_CHECKBOX
 
struct  FRAMEWORK_EFI_IFR_ONE_OF_OPTION
 
struct  FRAMEWORK_EFI_IFR_NUMERIC
 
struct  FRAMEWORK_EFI_IFR_TIME
 
struct  FRAMEWORK_EFI_IFR_DATE
 
struct  FRAMEWORK_EFI_IFR_PASSWORD
 
struct  FRAMEWORK_EFI_IFR_STRING
 
struct  EFI_IFR_END_ONE_OF
 
struct  EFI_IFR_HIDDEN
 
struct  EFI_IFR_SUPPRESS
 
struct  EFI_IFR_GRAY_OUT
 
struct  EFI_IFR_INCONSISTENT
 
struct  FRAMEWORK_EFI_IFR_EQ_ID_VAL
 
struct  FRAMEWORK_EFI_IFR_EQ_ID_LIST
 
struct  FRAMEWORK_EFI_IFR_EQ_ID_ID
 
struct  EFI_IFR_EQ_VAR_VAL
 
struct  FRAMEWORK_EFI_IFR_AND
 
struct  FRAMEWORK_EFI_IFR_OR
 
struct  FRAMEWORK_EFI_IFR_NOT
 
struct  EFI_IFR_END_EXPR
 
struct  EFI_IFR_SAVE_DEFAULTS
 
struct  EFI_IFR_INVENTORY
 
struct  FRAMEWORK_EFI_IFR_VARSTORE
 
struct  EFI_IFR_VARSTORE_SELECT
 
struct  EFI_IFR_VARSTORE_SELECT_PAIR
 
struct  EFI_IFR_BANNER
 

Macros

#define FRAMEWORK_EFI_IFR_FORM_OP   0x01
 
#define FRAMEWORK_EFI_IFR_SUBTITLE_OP   0x02
 
#define FRAMEWORK_EFI_IFR_TEXT_OP   0x03
 
#define EFI_IFR_GRAPHIC_OP   0x04
 
#define FRAMEWORK_EFI_IFR_ONE_OF_OP   0x05
 
#define FRAMEWORK_EFI_IFR_CHECKBOX_OP   0x06
 
#define FRAMEWORK_EFI_IFR_NUMERIC_OP   0x07
 
#define FRAMEWORK_EFI_IFR_PASSWORD_OP   0x08
 
#define FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP   0x09
 ONEOF OPTION field. More...
 
#define FRAMEWORK_EFI_IFR_SUPPRESS_IF_OP   0x0A
 
#define EFI_IFR_END_FORM_OP   0x0B
 
#define EFI_IFR_HIDDEN_OP   0x0C
 
#define EFI_IFR_END_FORM_SET_OP   0x0D
 
#define FRAMEWORK_EFI_IFR_FORM_SET_OP   0x0E
 
#define FRAMEWORK_EFI_IFR_REF_OP   0x0F
 
#define EFI_IFR_END_ONE_OF_OP   0x10
 
#define FRAMEWORK_EFI_IFR_END_OP   EFI_IFR_END_ONE_OF_OP
 
#define FRAMEWORK_EFI_IFR_INCONSISTENT_IF_OP   0x11
 
#define FRAMEWORK_EFI_IFR_EQ_ID_VAL_OP   0x12
 
#define FRAMEWORK_EFI_IFR_EQ_ID_ID_OP   0x13
 
#define FRAMEWORK_EFI_IFR_EQ_ID_LIST_OP   0x14
 
#define FRAMEWORK_EFI_IFR_AND_OP   0x15
 
#define FRAMEWORK_EFI_IFR_OR_OP   0x16
 
#define FRAMEWORK_EFI_IFR_NOT_OP   0x17
 
#define EFI_IFR_END_IF_OP   0x18
 For endif of inconsistentif, suppressif, grayoutif. More...
 
#define EFI_IFR_GRAYOUT_IF_OP   0x19
 
#define FRAMEWORK_EFI_IFR_DATE_OP   0x1A
 
#define FRAMEWORK_EFI_IFR_TIME_OP   0x1B
 
#define FRAMEWORK_EFI_IFR_STRING_OP   0x1C
 
#define EFI_IFR_LABEL_OP   0x1D
 
#define EFI_IFR_SAVE_DEFAULTS_OP   0x1E
 
#define EFI_IFR_RESTORE_DEFAULTS_OP   0x1F
 
#define EFI_IFR_BANNER_OP   0x20
 
#define EFI_IFR_INVENTORY_OP   0x21
 
#define EFI_IFR_EQ_VAR_VAL_OP   0x22
 
#define FRAMEWORK_EFI_IFR_ORDERED_LIST_OP   0x23
 
#define FRAMEWORK_EFI_IFR_VARSTORE_OP   0x24
 
#define EFI_IFR_VARSTORE_SELECT_OP   0x25
 
#define EFI_IFR_VARSTORE_SELECT_PAIR_OP   0x26
 
#define EFI_IFR_LAST_OPCODE   EFI_IFR_VARSTORE_SELECT_PAIR_OP
 
#define EFI_IFR_OEM_OP   0xFE
 
#define EFI_IFR_NV_ACCESS_COMMAND   0xFF
 
#define EFI_IFR_FLAG_DEFAULT   0x01
 
#define EFI_IFR_FLAG_MANUFACTURING   0x02
 
#define EFI_IFR_FLAG_INTERACTIVE   0x04
 
#define EFI_IFR_FLAG_NV_ACCESS   0x08
 
#define EFI_IFR_FLAG_RESET_REQUIRED   0x10
 
#define EFI_IFR_FLAG_LATE_CHECK   0x20
 
#define EFI_NON_DEVICE_CLASS   0x00
 Useful when you do not want something in the Device Manager. More...
 
#define EFI_DISK_DEVICE_CLASS   0x01
 
#define EFI_VIDEO_DEVICE_CLASS   0x02
 
#define EFI_NETWORK_DEVICE_CLASS   0x04
 
#define EFI_INPUT_DEVICE_CLASS   0x08
 
#define EFI_ON_BOARD_DEVICE_CLASS   0x10
 
#define EFI_OTHER_DEVICE_CLASS   0x20
 
#define EFI_SETUP_APPLICATION_SUBCLASS   0x00
 
#define EFI_GENERAL_APPLICATION_SUBCLASS   0x01
 
#define EFI_FRONT_PAGE_SUBCLASS   0x02
 
#define EFI_SINGLE_USE_SUBCLASS   0x03
 Used to display a single entity ,and then exit. More...
 
#define EFI_IFR_FLAG_CREATED   128
 
#define EFI_IFR_RESTORE_DEFAULTS   EFI_IFR_SAVE_DEFAULTS
 
#define EFI_IFR_BANNER_ALIGN_LEFT   0
 
#define EFI_IFR_BANNER_ALIGN_CENTER   1
 
#define EFI_IFR_BANNER_ALIGN_RIGHT   2
 
#define EFI_IFR_BANNER_TIMEOUT   0xFF
 

Typedefs

typedef UINT16 STRING_REF
 
typedef struct
FRAMEWORK_EFI_IFR_CHECKBOX 
EFI_IFR_CHECK_BOX
 
typedef struct EFI_IFR_END_EXPR EFI_IFR_END_IF
 

Detailed Description

This file defines the encoding for the VFR (Visual Form Representation) language. Framework IFR is primarily consumed by the EFI presentation engine, and produced by EFI internal application and drivers as well as all add-in card option-ROM drivers

Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Revision Reference:
These definitions are from the Framework Specification HII 0.92.

Macro Definition Documentation

#define EFI_DISK_DEVICE_CLASS   0x01
#define EFI_FRONT_PAGE_SUBCLASS   0x02
#define EFI_GENERAL_APPLICATION_SUBCLASS   0x01
#define EFI_IFR_BANNER_ALIGN_CENTER   1
#define EFI_IFR_BANNER_ALIGN_LEFT   0
#define EFI_IFR_BANNER_ALIGN_RIGHT   2
#define EFI_IFR_BANNER_OP   0x20
#define EFI_IFR_BANNER_TIMEOUT   0xFF
#define EFI_IFR_END_FORM_OP   0x0B
#define EFI_IFR_END_FORM_SET_OP   0x0D
#define EFI_IFR_END_IF_OP   0x18

For endif of inconsistentif, suppressif, grayoutif.

#define EFI_IFR_END_ONE_OF_OP   0x10
#define EFI_IFR_EQ_VAR_VAL_OP   0x22
#define EFI_IFR_FLAG_CREATED   128

Used to flag dynamically created op-codes. This is meaningful to the IFR Library set and the browser because we need to distinguish between compiled NV map data and created data. We do not allow new entries to be created in the NV map dynamically, but we do need to display this information correctly. To dynamically create op-codes and assume that their data will be saved, ensure that the NV starting location they refer to is pre-defined in the NV map.

#define EFI_IFR_FLAG_DEFAULT   0x01
#define EFI_IFR_FLAG_INTERACTIVE   0x04
#define EFI_IFR_FLAG_LATE_CHECK   0x20
#define EFI_IFR_FLAG_MANUFACTURING   0x02
#define EFI_IFR_FLAG_NV_ACCESS   0x08
#define EFI_IFR_FLAG_RESET_REQUIRED   0x10
#define EFI_IFR_GRAPHIC_OP   0x04
#define EFI_IFR_GRAYOUT_IF_OP   0x19
#define EFI_IFR_HIDDEN_OP   0x0C
#define EFI_IFR_INVENTORY_OP   0x21
#define EFI_IFR_LABEL_OP   0x1D
#define EFI_IFR_LAST_OPCODE   EFI_IFR_VARSTORE_SELECT_PAIR_OP
#define EFI_IFR_NV_ACCESS_COMMAND   0xFF
#define EFI_IFR_OEM_OP   0xFE
#define EFI_IFR_RESTORE_DEFAULTS   EFI_IFR_SAVE_DEFAULTS

Save defaults and restore defaults have same structure.

#define EFI_IFR_RESTORE_DEFAULTS_OP   0x1F
#define EFI_IFR_SAVE_DEFAULTS_OP   0x1E
#define EFI_IFR_VARSTORE_SELECT_OP   0x25
#define EFI_IFR_VARSTORE_SELECT_PAIR_OP   0x26
#define EFI_INPUT_DEVICE_CLASS   0x08
#define EFI_NETWORK_DEVICE_CLASS   0x04
#define EFI_NON_DEVICE_CLASS   0x00

Useful when you do not want something in the Device Manager.

#define EFI_ON_BOARD_DEVICE_CLASS   0x10
#define EFI_OTHER_DEVICE_CLASS   0x20
#define EFI_SETUP_APPLICATION_SUBCLASS   0x00
#define EFI_SINGLE_USE_SUBCLASS   0x03

Used to display a single entity ,and then exit.

#define EFI_VIDEO_DEVICE_CLASS   0x02
#define FRAMEWORK_EFI_IFR_AND_OP   0x15
#define FRAMEWORK_EFI_IFR_CHECKBOX_OP   0x06
#define FRAMEWORK_EFI_IFR_DATE_OP   0x1A
#define FRAMEWORK_EFI_IFR_END_OP   EFI_IFR_END_ONE_OF_OP
#define FRAMEWORK_EFI_IFR_EQ_ID_ID_OP   0x13
#define FRAMEWORK_EFI_IFR_EQ_ID_LIST_OP   0x14
#define FRAMEWORK_EFI_IFR_EQ_ID_VAL_OP   0x12
#define FRAMEWORK_EFI_IFR_FORM_OP   0x01
#define FRAMEWORK_EFI_IFR_FORM_SET_OP   0x0E
#define FRAMEWORK_EFI_IFR_INCONSISTENT_IF_OP   0x11
#define FRAMEWORK_EFI_IFR_NOT_OP   0x17
#define FRAMEWORK_EFI_IFR_NUMERIC_OP   0x07
#define FRAMEWORK_EFI_IFR_ONE_OF_OP   0x05
#define FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP   0x09

ONEOF OPTION field.

#define FRAMEWORK_EFI_IFR_OR_OP   0x16
#define FRAMEWORK_EFI_IFR_ORDERED_LIST_OP   0x23
#define FRAMEWORK_EFI_IFR_PASSWORD_OP   0x08
#define FRAMEWORK_EFI_IFR_REF_OP   0x0F
#define FRAMEWORK_EFI_IFR_STRING_OP   0x1C
#define FRAMEWORK_EFI_IFR_SUBTITLE_OP   0x02
#define FRAMEWORK_EFI_IFR_SUPPRESS_IF_OP   0x0A
#define FRAMEWORK_EFI_IFR_TEXT_OP   0x03
#define FRAMEWORK_EFI_IFR_TIME_OP   0x1B
#define FRAMEWORK_EFI_IFR_VARSTORE_OP   0x24

Typedef Documentation

typedef UINT16 STRING_REF