Sync EDKII BaseTools to BaseTools project r1988
[mirror_edk2.git] / BaseTools / Source / C / Include / Common / VariableFormat.h
1 /**@file
2 Header file for EFI Variable Services.
3
4 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
5
6 This program and the accompanying materials are licensed and made available
7 under the terms and conditions of the BSD License which accompanies this
8 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 File Name: VariableFormat.h
15
16 **/
17
18 #ifndef __VARIABLE_FORMAT_H__
19 #define __VARIABLE_FORMAT_H__
20
21 #define VARIABLE_DATA 0x55AA
22
23 //
24 // Variable Store Header flags
25 //
26 #define VARIABLE_STORE_FORMATTED 0x5a
27 #define VARIABLE_STORE_HEALTHY 0xfe
28
29 #pragma pack(1)
30
31 typedef struct {
32 EFI_GUID Signature;
33 UINT32 Size;
34 UINT8 Format;
35 UINT8 State;
36 UINT16 Reserved;
37 UINT32 Reserved1;
38 } VARIABLE_STORE_HEADER;
39
40 typedef struct {
41 UINT16 StartId;
42 UINT8 State;
43 UINT8 Reserved;
44 UINT32 Attributes;
45 UINT32 NameSize;
46 UINT32 DataSize;
47 EFI_GUID VendorGuid;
48 } VARIABLE_HEADER;
49
50 #pragma pack()
51
52 #endif // _EFI_VARIABLE_H_