VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdStructure.h@ 77662

Last change on this file since 77662 was 77662, checked in by vboxsync, 6 years ago

EFI: First step in UDK2018 merge. Does not build yet.

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1/** @file
2 Internal structure for Var Check Pcd.
3
4Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
5This program and the accompanying materials
6are licensed and made available under the terms and conditions of the BSD License
7which accompanies this distribution. The full text of the license may be found at
8http://opensource.org/licenses/bsd-license.php
9
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef _VAR_CHECK_STRUCTURE_H_
16#define _VAR_CHECK_STRUCTURE_H_
17
18//
19// Alignment for PCD Variable and check data header.
20//
21#define HEADER_ALIGNMENT 4
22#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))
23
24#pragma pack (1)
25
26#define VAR_CHECK_PCD_REVISION 0x0001
27
28typedef enum {
29 VarCheckPcdVariableHeader,
30 VarCheckPcdValidList,
31 VarCheckPcdValidRange,
32 VarCheckPcdCheckTypeMax,
33} VAR_CHECK_PCD_CHECK_TYPE;
34
35typedef struct {
36 UINT16 Revision;
37 UINT16 HeaderLength;
38 UINT32 Length; // Length include this header
39 UINT8 Type;
40 UINT8 Reserved[3];
41 UINT32 Attributes;
42 EFI_GUID Guid;
43//CHAR16 Name[];
44} VAR_CHECK_PCD_VARIABLE_HEADER;
45
46typedef struct {
47 UINT8 Type;
48 UINT8 Length; // Length include this header
49 UINT16 VarOffset;
50 UINT8 StorageWidth;
51} VAR_CHECK_PCD_VALID_DATA_HEADER;
52
53typedef struct {
54 UINT8 Type;
55 UINT8 Length; // Length include this header
56 UINT16 VarOffset;
57 UINT8 StorageWidth;
58//UINTx Data[]; // x = UINT8/UINT16/UINT32/UINT64;
59} VAR_CHECK_PCD_VALID_LIST;
60
61//typedef struct {
62// UINTx Minimum; // x = UINT8/UINT16/UINT32/UINT64
63// UINTx Maximum; // x = UINT8/UINT16/UINT32/UINT64
64//} VAR_CHECK_PCD_VALID_RANGE_DATA;
65
66typedef struct {
67 UINT8 Type;
68 UINT8 Length; // Length include this header
69 UINT16 VarOffset;
70 UINT8 StorageWidth;
71// VAR_CHECK_PCD_VALID_RANGE_DATA ValidRange[];
72} VAR_CHECK_PCD_VALID_RANGE;
73
74#pragma pack ()
75
76#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette