]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Guid/VariableInfo.h
27a4dafea020b3bbbb6844f472ad445ae399f358
[mirror_edk2.git] / MdeModulePkg / Include / Guid / VariableInfo.h
1 /** @file
2 This file defines variable info guid and variable info entry.
3 This guid is used to specify the variable list put in the EFI system table.
4
5 Copyright (c) 2006 - 2009, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef __VARIABLE_INFO_GUID_H__
17 #define __VARIABLE_INFO_GUID_H__
18
19 #define EFI_VARIABLE_INFO_GUID \
20 { 0xddcf3616, 0x3275, 0x4164, { 0x98, 0xb6, 0xfe, 0x85, 0x70, 0x7f, 0xfe, 0x7d } }
21
22 extern EFI_GUID gEfiVariableInfoGuid;
23
24
25 typedef struct _VARIABLE_INFO_ENTRY VARIABLE_INFO_ENTRY;
26
27 ///
28 /// This structure contains the variable list that is put in EFI system table.
29 /// The variable driver collects all used variables at boot service time and produce this list.
30 /// This is an optional feature to dump all used variables in shell environment.
31 ///
32 struct _VARIABLE_INFO_ENTRY {
33 VARIABLE_INFO_ENTRY *Next; ///> Pointer to next entry
34 EFI_GUID VendorGuid; ///> Guid of Variable
35 CHAR16 *Name; ///> Name of Variable
36 UINT32 Attributes; ///> Attributes of variable defined in UEFI spec
37 UINT32 ReadCount; ///> Times to read this variable
38 UINT32 WriteCount; ///> Times to write this variable
39 UINT32 DeleteCount; ///> Times to delete this variable
40 UINT32 CacheCount; ///> Times that cache hits this variable
41 BOOLEAN Volatile; ///> TRUE if volatile FALSE if non-volatile
42 };
43
44 #endif