TianoCore EDK2
master
Loading...
Searching...
No Matches
VarCheckPcdStructure.h
Go to the documentation of this file.
1
9
#ifndef _VAR_CHECK_STRUCTURE_H_
10
#define _VAR_CHECK_STRUCTURE_H_
11
12
//
13
// Alignment for PCD Variable and check data header.
14
//
15
#define HEADER_ALIGNMENT 4
16
#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))
17
18
#pragma pack (1)
19
20
#define VAR_CHECK_PCD_REVISION 0x0001
21
22
typedef
enum
{
23
VarCheckPcdVariableHeader,
24
VarCheckPcdValidList,
25
VarCheckPcdValidRange,
26
VarCheckPcdCheckTypeMax,
27
} VAR_CHECK_PCD_CHECK_TYPE;
28
29
typedef
struct
{
30
UINT16 Revision;
31
UINT16 HeaderLength;
32
UINT32 Length;
// Length include this header
33
UINT8 Type;
34
UINT8 Reserved[3];
35
UINT32 Attributes;
36
EFI_GUID
Guid;
37
// CHAR16 Name[];
38
}
VAR_CHECK_PCD_VARIABLE_HEADER
;
39
40
typedef
struct
{
41
UINT8 Type;
42
UINT8 Length;
// Length include this header
43
UINT16 VarOffset;
44
UINT8 StorageWidth;
45
}
VAR_CHECK_PCD_VALID_DATA_HEADER
;
46
47
typedef
struct
{
48
UINT8 Type;
49
UINT8 Length;
// Length include this header
50
UINT16 VarOffset;
51
UINT8 StorageWidth;
52
// UINTx Data[]; // x = UINT8/UINT16/UINT32/UINT64;
53
}
VAR_CHECK_PCD_VALID_LIST
;
54
55
// typedef struct {
56
// UINTx Minimum; // x = UINT8/UINT16/UINT32/UINT64
57
// UINTx Maximum; // x = UINT8/UINT16/UINT32/UINT64
58
// } VAR_CHECK_PCD_VALID_RANGE_DATA;
59
60
typedef
struct
{
61
UINT8 Type;
62
UINT8 Length;
// Length include this header
63
UINT16 VarOffset;
64
UINT8 StorageWidth;
65
// VAR_CHECK_PCD_VALID_RANGE_DATA ValidRange[];
66
}
VAR_CHECK_PCD_VALID_RANGE
;
67
68
#pragma pack ()
69
70
#endif
GUID
Definition:
Base.h:213
VAR_CHECK_PCD_VALID_DATA_HEADER
Definition:
VarCheckPcdStructure.h:40
VAR_CHECK_PCD_VALID_LIST
Definition:
VarCheckPcdStructure.h:47
VAR_CHECK_PCD_VALID_RANGE
Definition:
VarCheckPcdStructure.h:60
VAR_CHECK_PCD_VARIABLE_HEADER
Definition:
VarCheckPcdStructure.h:29
MdeModulePkg
Library
VarCheckPcdLib
VarCheckPcdStructure.h
Generated on Fri Nov 15 2024 18:01:12 for TianoCore EDK2 by
1.9.6