VirtualBox

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

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

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

  • 屬性 svn:eol-style 設為 native
檔案大小: 3.3 KB
 
1/** @file
2 Internal structure for Var Check Hii.
3
4Copyright (c) 2015 - 2017, 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 Hii Variable and Question 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_HII_REVISION 0x0002
27
28typedef struct {
29 UINT16 Revision;
30 UINT16 HeaderLength;
31 UINT32 Length; // Length include this header
32 UINT8 OpCode;
33 UINT8 Reserved;
34 UINT16 Size;
35 UINT32 Attributes;
36 EFI_GUID Guid;
37//CHAR16 Name[];
38} VAR_CHECK_HII_VARIABLE_HEADER;
39
40typedef struct {
41 UINT8 OpCode;
42 UINT8 Length; // Length include this header
43 UINT16 VarOffset;
44 UINT8 StorageWidth;
45 BOOLEAN BitFieldStore; // Whether the Question is stored in bit field, if TRUE, the VarOffset/StorageWidth will be saved as bit level, otherwise in byte level.
46} VAR_CHECK_HII_QUESTION_HEADER;
47
48typedef struct {
49 UINT8 OpCode;
50 UINT8 Length; // Length include this header
51 UINT16 VarOffset;
52 UINT8 StorageWidth;
53 BOOLEAN BitFieldStore; // Whether the Question is stored in bit field, if TRUE, the VarOffset/StorageWidth will be saved as bit level, otherwise in byte level.
54//UINTx Data[]; // x = UINT8/UINT16/UINT32/UINT64;
55} VAR_CHECK_HII_QUESTION_ONEOF;
56
57typedef struct {
58 UINT8 OpCode;
59 UINT8 Length; // Length include this header
60 UINT16 VarOffset;
61 UINT8 StorageWidth;
62 BOOLEAN BitFieldStore; // Whether the Question is stored in bit field, if TRUE, the VarOffset/StorageWidth will be saved as bit level, otherwise in byte level.
63} VAR_CHECK_HII_QUESTION_CHECKBOX;
64
65typedef struct {
66 UINT8 OpCode;
67 UINT8 Length; // Length include this header
68 UINT16 VarOffset;
69 UINT8 StorageWidth;
70 BOOLEAN BitFieldStore; // Whether the Question is stored in bit field, if TRUE, the VarOffset/StorageWidth will be saved as bit level, otherwise in byte level.
71//UINTx Minimum; // x = UINT8/UINT16/UINT32/UINT64;
72//UINTx Maximum; // x = UINT8/UINT16/UINT32/UINT64;
73} VAR_CHECK_HII_QUESTION_NUMERIC;
74
75typedef struct {
76 UINT8 OpCode;
77 UINT8 Length; // Length include this header
78 UINT16 VarOffset;
79 UINT8 StorageWidth;
80 BOOLEAN BitFieldStore; // Whether the Question is stored in bit field, if TRUE, the VarOffset/StorageWidth will be saved as bit level, otherwise in byte level.
81 UINT8 MaxContainers;
82//UINTx Data[]; // x = UINT8/UINT16/UINT32/UINT64;
83} VAR_CHECK_HII_QUESTION_ORDEREDLIST;
84
85#pragma pack ()
86
87#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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