VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdeModulePkg/Include/Guid/VarCheckPolicyMmi.h@ 105670

最後變更 在這個檔案從105670是 105670,由 vboxsync 提交於 7 月 前

Devices/EFI/FirmwareNew: Merge edk2-stable-202405 and make it build on aarch64, bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 3.6 KB
 
1/** @file -- VarCheckPolicyMmiCommon.h
2This header contains communication definitions that are shared between DXE
3and the MM component of VarCheckPolicy.
4
5Copyright (c) Microsoft Corporation.
6SPDX-License-Identifier: BSD-2-Clause-Patent
7**/
8
9#ifndef _VAR_CHECK_POLICY_MMI_COMMON_H_
10#define _VAR_CHECK_POLICY_MMI_COMMON_H_
11
12#define VAR_CHECK_POLICY_COMM_SIG SIGNATURE_32('V', 'C', 'P', 'C')
13#define VAR_CHECK_POLICY_COMM_REVISION 1
14
15#pragma pack(push, 1)
16
17typedef struct _VAR_CHECK_POLICY_COMM_HEADER {
18 UINT32 Signature;
19 UINT32 Revision;
20 UINT32 Command;
21 EFI_STATUS Result;
22} VAR_CHECK_POLICY_COMM_HEADER;
23
24typedef struct _VAR_CHECK_POLICY_COMM_IS_ENABLED_PARAMS {
25 BOOLEAN State;
26} VAR_CHECK_POLICY_COMM_IS_ENABLED_PARAMS;
27
28typedef struct _VAR_CHECK_POLICY_COMM_DUMP_PARAMS {
29 UINT32 PageRequested;
30 UINT32 TotalSize;
31 UINT32 PageSize;
32 BOOLEAN HasMore;
33} VAR_CHECK_POLICY_COMM_DUMP_PARAMS;
34
35typedef union {
36 VARIABLE_POLICY_ENTRY VariablePolicy;
37 VARIABLE_LOCK_ON_VAR_STATE_POLICY LockOnVarStatePolicy;
38} VAR_CHECK_POLICY_OUTPUT_POLICY_ENTRY;
39
40typedef struct _VAR_CHECK_POLICY_COMM_GET_INFO_PARAMS {
41 EFI_GUID InputVendorGuid;
42 UINT32 InputVariableNameSize;
43 UINT32 OutputVariableNameSize;
44 VAR_CHECK_POLICY_OUTPUT_POLICY_ENTRY OutputPolicyEntry;
45 CHAR16 InputVariableName[1];
46} VAR_CHECK_POLICY_COMM_GET_INFO_PARAMS;
47
48#pragma pack(pop)
49
50#define VAR_CHECK_POLICY_COMM_GET_INFO_PARAMS_END \
51 (OFFSET_OF(VAR_CHECK_POLICY_COMM_GET_INFO_PARAMS, InputVariableName))
52
53// Make sure that we will hold at least the headers.
54#define VAR_CHECK_POLICY_MM_COMM_BUFFER_SIZE MAX((OFFSET_OF(EFI_MM_COMMUNICATE_HEADER, Data) + sizeof (VAR_CHECK_POLICY_COMM_HEADER) + EFI_PAGES_TO_SIZE(1)), EFI_PAGES_TO_SIZE(4))
55#define VAR_CHECK_POLICY_MM_DUMP_BUFFER_SIZE (VAR_CHECK_POLICY_MM_COMM_BUFFER_SIZE - \
56 (OFFSET_OF(EFI_MM_COMMUNICATE_HEADER, Data) + \
57 sizeof(VAR_CHECK_POLICY_COMM_HEADER) + \
58 sizeof(VAR_CHECK_POLICY_COMM_DUMP_PARAMS)))
59
60#define VAR_CHECK_POLICY_MM_GET_INFO_BUFFER_SIZE (VAR_CHECK_POLICY_MM_COMM_BUFFER_SIZE - \
61 (OFFSET_OF(EFI_MM_COMMUNICATE_HEADER, Data) + \
62 sizeof(VAR_CHECK_POLICY_COMM_HEADER) + \
63 OFFSET_OF(VAR_CHECK_POLICY_COMM_GET_INFO_PARAMS, InputVariableName)))
64
65STATIC_ASSERT (
66 VAR_CHECK_POLICY_MM_DUMP_BUFFER_SIZE < VAR_CHECK_POLICY_MM_COMM_BUFFER_SIZE,
67 "an integer underflow may have occurred calculating VAR_CHECK_POLICY_MM_DUMP_BUFFER_SIZE"
68 );
69
70STATIC_ASSERT (
71 VAR_CHECK_POLICY_MM_GET_INFO_BUFFER_SIZE < VAR_CHECK_POLICY_MM_COMM_BUFFER_SIZE,
72 "an integer underflow may have occurred calculating VAR_CHECK_POLICY_MM_GET_INFO_BUFFER_SIZE"
73 );
74
75#define VAR_CHECK_POLICY_COMMAND_DISABLE 0x0001
76#define VAR_CHECK_POLICY_COMMAND_IS_ENABLED 0x0002
77#define VAR_CHECK_POLICY_COMMAND_REGISTER 0x0003
78#define VAR_CHECK_POLICY_COMMAND_DUMP 0x0004
79#define VAR_CHECK_POLICY_COMMAND_LOCK 0x0005
80#define VAR_CHECK_POLICY_COMMAND_GET_INFO 0x0006
81#define VAR_CHECK_POLICY_COMMAND_GET_LOCK_VAR_STATE_INFO 0x0007
82
83#endif // _VAR_CHECK_POLICY_MMI_COMMON_H_
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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