VirtualBox

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

最後變更 在這個檔案從77662是 77662,由 vboxsync 提交於 6 年 前

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

  • 屬性 svn:eol-style 設為 native
檔案大小: 2.2 KB
 
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
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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