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
22typedef enum {
23 VarCheckPcdVariableHeader,
24 VarCheckPcdValidList,
25 VarCheckPcdValidRange,
26 VarCheckPcdCheckTypeMax,
27} VAR_CHECK_PCD_CHECK_TYPE;
28
29typedef 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[];
39
40typedef struct {
41 UINT8 Type;
42 UINT8 Length; // Length include this header
43 UINT16 VarOffset;
44 UINT8 StorageWidth;
46
47typedef 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;
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
60typedef 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[];
67
68#pragma pack ()
69
70#endif
Definition: Base.h:213