Home | History | Annotate | Download | only in Guid
      1 /** @file
      2   GUID for EFI (NVRAM) Variables.
      3 
      4   Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13   @par Revision Reference:
     14   GUID defined in UEFI 2.1
     15 **/
     16 
     17 #ifndef __GLOBAL_VARIABLE_GUID_H__
     18 #define __GLOBAL_VARIABLE_GUID_H__
     19 
     20 #define EFI_GLOBAL_VARIABLE \
     21   { \
     22     0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } \
     23   }
     24 
     25 extern EFI_GUID gEfiGlobalVariableGuid;
     26 
     27 //
     28 // Follow UEFI 2.4 spec:
     29 // To prevent name collisions with possible future globally defined variables,
     30 // other internal firmware data variables that are not defined here must be
     31 // saved with a unique VendorGuid other than EFI_GLOBAL_VARIABLE or
     32 // any other GUID defined by the UEFI Specification. Implementations must
     33 // only permit the creation of variables with a UEFI Specification-defined
     34 // VendorGuid when these variables are documented in the UEFI Specification.
     35 //
     36 // Note: except the globally defined variables defined below, the spec also defines
     37 // L"Boot####"      - A boot load option.
     38 // L"Driver####"    - A driver load option.
     39 // L"SysPrep####"   - A System Prep application load option.
     40 // L"Key####"       - Describes hot key relationship with a Boot#### load option.
     41 // The attribute for them is NV+BS+RT, #### is a printed hex value, and no 0x or h
     42 // is included in the hex value. They can not be expressed as a #define like other globally
     43 // defined variables, it is because we can not list the Boot0000, Boot0001, etc one by one.
     44 //
     45 
     46 ///
     47 /// The language codes that the firmware supports. This value is deprecated.
     48 /// Its attribute is BS+RT.
     49 ///
     50 #define EFI_LANG_CODES_VARIABLE_NAME                L"LangCodes"
     51 ///
     52 /// The language code that the system is configured for. This value is deprecated.
     53 /// Its attribute is NV+BS+RT.
     54 ///
     55 #define EFI_LANG_VARIABLE_NAME                      L"Lang"
     56 ///
     57 /// The firmware's boot managers timeout, in seconds, before initiating the default boot selection.
     58 /// Its attribute is NV+BS+RT.
     59 ///
     60 #define EFI_TIME_OUT_VARIABLE_NAME                  L"Timeout"
     61 ///
     62 /// The language codes that the firmware supports.
     63 /// Its attribute is BS+RT.
     64 ///
     65 #define EFI_PLATFORM_LANG_CODES_VARIABLE_NAME       L"PlatformLangCodes"
     66 ///
     67 /// The language code that the system is configured for.
     68 /// Its attribute is NV+BS+RT.
     69 ///
     70 #define EFI_PLATFORM_LANG_VARIABLE_NAME             L"PlatformLang"
     71 ///
     72 /// The device path of the default input/output/error output console.
     73 /// Its attribute is NV+BS+RT.
     74 ///
     75 #define EFI_CON_IN_VARIABLE_NAME                    L"ConIn"
     76 #define EFI_CON_OUT_VARIABLE_NAME                   L"ConOut"
     77 #define EFI_ERR_OUT_VARIABLE_NAME                   L"ErrOut"
     78 ///
     79 /// The device path of all possible input/output/error output devices.
     80 /// Its attribute is BS+RT.
     81 ///
     82 #define EFI_CON_IN_DEV_VARIABLE_NAME                L"ConInDev"
     83 #define EFI_CON_OUT_DEV_VARIABLE_NAME               L"ConOutDev"
     84 #define EFI_ERR_OUT_DEV_VARIABLE_NAME               L"ErrOutDev"
     85 ///
     86 /// The ordered boot option load list.
     87 /// Its attribute is NV+BS+RT.
     88 ///
     89 #define EFI_BOOT_ORDER_VARIABLE_NAME                L"BootOrder"
     90 ///
     91 /// The boot option for the next boot only.
     92 /// Its attribute is NV+BS+RT.
     93 ///
     94 #define EFI_BOOT_NEXT_VARIABLE_NAME                 L"BootNext"
     95 ///
     96 /// The boot option that was selected for the current boot.
     97 /// Its attribute is BS+RT.
     98 ///
     99 #define EFI_BOOT_CURRENT_VARIABLE_NAME              L"BootCurrent"
    100 ///
    101 /// The types of boot options supported by the boot manager. Should be treated as read-only.
    102 /// Its attribute is BS+RT.
    103 ///
    104 #define EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME       L"BootOptionSupport"
    105 ///
    106 /// The ordered driver load option list.
    107 /// Its attribute is NV+BS+RT.
    108 ///
    109 #define EFI_DRIVER_ORDER_VARIABLE_NAME              L"DriverOrder"
    110 ///
    111 /// The ordered System Prep Application load option list.
    112 /// Its attribute is NV+BS+RT.
    113 ///
    114 #define EFI_SYS_PREP_ORDER_VARIABLE_NAME            L"SysPrepOrder"
    115 ///
    116 /// Identifies the level of hardware error record persistence
    117 /// support implemented by the platform. This variable is
    118 /// only modified by firmware and is read-only to the OS.
    119 /// Its attribute is NV+BS+RT.
    120 ///
    121 #define EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME        L"HwErrRecSupport"
    122 ///
    123 /// Whether the system is operating in setup mode (1) or not (0).
    124 /// All other values are reserved. Should be treated as read-only.
    125 /// Its attribute is BS+RT.
    126 ///
    127 #define EFI_SETUP_MODE_NAME                         L"SetupMode"
    128 ///
    129 /// The Key Exchange Key Signature Database.
    130 /// Its attribute is NV+BS+RT+AT.
    131 ///
    132 #define EFI_KEY_EXCHANGE_KEY_NAME                   L"KEK"
    133 ///
    134 /// The public Platform Key.
    135 /// Its attribute is NV+BS+RT+AT.
    136 ///
    137 #define EFI_PLATFORM_KEY_NAME                       L"PK"
    138 ///
    139 /// Array of GUIDs representing the type of signatures supported
    140 /// by the platform firmware. Should be treated as read-only.
    141 /// Its attribute is BS+RT.
    142 ///
    143 #define EFI_SIGNATURE_SUPPORT_NAME                  L"SignatureSupport"
    144 ///
    145 /// Whether the platform firmware is operating in Secure boot mode (1) or not (0).
    146 /// All other values are reserved. Should be treated as read-only.
    147 /// Its attribute is BS+RT.
    148 ///
    149 #define EFI_SECURE_BOOT_MODE_NAME                   L"SecureBoot"
    150 ///
    151 /// The OEM's default Key Exchange Key Signature Database. Should be treated as read-only.
    152 /// Its attribute is BS+RT.
    153 ///
    154 #define EFI_KEK_DEFAULT_VARIABLE_NAME               L"KEKDefault"
    155 ///
    156 /// The OEM's default public Platform Key. Should be treated as read-only.
    157 /// Its attribute is BS+RT.
    158 ///
    159 #define EFI_PK_DEFAULT_VARIABLE_NAME                L"PKDefault"
    160 ///
    161 /// The OEM's default secure boot signature store. Should be treated as read-only.
    162 /// Its attribute is BS+RT.
    163 ///
    164 #define EFI_DB_DEFAULT_VARIABLE_NAME                L"dbDefault"
    165 ///
    166 /// The OEM's default secure boot blacklist signature store. Should be treated as read-only.
    167 /// Its attribute is BS+RT.
    168 ///
    169 #define EFI_DBX_DEFAULT_VARIABLE_NAME               L"dbxDefault"
    170 ///
    171 /// The OEM's default secure boot timestamp signature store. Should be treated as read-only.
    172 /// Its attribute is BS+RT.
    173 ///
    174 #define EFI_DBT_DEFAULT_VARIABLE_NAME               L"dbtDefault"
    175 ///
    176 /// Allows the firmware to indicate supported features and actions to the OS.
    177 /// Its attribute is BS+RT.
    178 ///
    179 #define EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME    L"OsIndicationsSupported"
    180 ///
    181 /// Allows the OS to request the firmware to enable certain features and to take certain actions.
    182 /// Its attribute is NV+BS+RT.
    183 ///
    184 #define EFI_OS_INDICATIONS_VARIABLE_NAME            L"OsIndications"
    185 ///
    186 /// Whether the system is configured to use only vendor provided
    187 /// keys or not. Should be treated as read-only.
    188 /// Its attribute is BS+RT.
    189 ///
    190 #define EFI_VENDOR_KEYS_VARIABLE_NAME               L"VendorKeys"
    191 
    192 #endif
    193