]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Guid/VariableIndexTable.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Include / Guid / VariableIndexTable.h
CommitLineData
9725730b 1/** @file\r
2 The variable data structures are related to EDK II-specific implementation of UEFI variables.\r
3 VariableFormat.h defines variable data headers and variable storage region headers.\r
4\r
d1102dba 5Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
9d510e61 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
9725730b 7\r
8**/\r
9\r
10#ifndef __VARIABLE_INDEX_TABLE_H__\r
11#define __VARIABLE_INDEX_TABLE_H__\r
12\r
13typedef struct {\r
14 VARIABLE_HEADER *CurrPtr;\r
15 VARIABLE_HEADER *EndPtr;\r
16 VARIABLE_HEADER *StartPtr;\r
17} VARIABLE_POINTER_TRACK;\r
18\r
19#define VARIABLE_INDEX_TABLE_VOLUME 122\r
20\r
21#define EFI_VARIABLE_INDEX_TABLE_GUID \\r
22 { 0x8cfdb8c8, 0xd6b2, 0x40f3, { 0x8e, 0x97, 0x02, 0x30, 0x7c, 0xc9, 0x8b, 0x7c } }\r
23\r
24extern EFI_GUID gEfiVariableIndexTableGuid;\r
25\r
26///\r
27/// Use this data structure to store variable-related info, which can decrease\r
28/// the cost of access to NV.\r
29///\r
30typedef struct {\r
31 UINT16 Length;\r
32 UINT16 GoneThrough;\r
33 VARIABLE_HEADER *EndPtr;\r
34 VARIABLE_HEADER *StartPtr;\r
35 ///\r
36 /// This field is used to store the distance of two neighbouring VAR_ADDED type variables.\r
37 /// The meaning of the field is implement-dependent.\r
38 UINT16 Index[VARIABLE_INDEX_TABLE_VOLUME];\r
39} VARIABLE_INDEX_TABLE;\r
40\r
41#endif // __VARIABLE_INDEX_TABLE_H__\r