2.7 VFR Variable Store Definition

2.7.1 VFR Buffer Store Definition

vfrStatementVarStoreLinear ::=
  "varstore"
  (
      StringIdentifier ","
    | "UINT8" ","
    | "UINT16" ","
    | "UINT32" ","
    | "UINT64" ","
    | "EFI_HII_DATE" ","
    | "EFI_HII_TIME" ","
    | "EFI_HII_REF" ","
  )
  { "varid" "=" Number "," }
  "name" "=" StringIdentifier ","
  "guid" "=" guidDefinition ";"

BEHAVIORS AND RESTRICTIONS


Note: The StringIdentifier following varstore is the referred data structure name. The StringIdentifier of name is the varstore name.


Note: name and guid are used jointly to specify the variable store.


Example

varstore MyData, name = RefName, guid = FORMSET_GUID;

2.7.2 VFR EFI Variable Store Definition

vfrStatementVarStoreEfi ::=
  "efivarstore"
  (
      StringIdentifier ","
    | "UINT8" ","
    | "UINT16" ","
    | "UINT32" ","
    | "UINT64" ","
    | "EFI_HII_DATE" ","
    | "EFI_HII_TIME" ","
    | "EFI_HII_REF" ","
  )
  { "varid" "=" Number "," }
  "attribute" "=" Number ( "|" Number )* ","
  "name" "=" StringIdentifier ","
  "guid" "=" guidDefinition ";"

BEHAVIORS AND RESTRICTIONS


Note: The StringIdentifier following efivarstore is the referred data structure name. The StringIdentifier of name is the varstore name.


Note: name and guid are used jointly to specify the efi variable store.


Example

efivarstore EfiDataStructure
  attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS,
  name      = EfiData,
  guid      = GUID;

2.7.3 VFR Variable Name Store Definition

vfrStatementVarStoreNameValue ::=
  "namevaluevarstore" StringIdentifier ","
  { "varid" "=" Number "," }
  ( "name" "=" getStringId "," )+
  "guid" "=" guidDefinition ";"

BEHAVIORS AND RESTRICTIONS

Example

namevaluevarstore NameValueVarStore,
  name = STRING_TOKEN(STR_NAMEVALUE_TABLE_ITEM1),
  name = STRING_TOKEN(STR_NAMEVALUE_TABLE_ITEM2),
  name = STRING_TOKEN(STR_NAMEVALUE_TABLE_ITEM3),
  guid = GUID;