]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Protocol/FormBrowserEx2.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / FormBrowserEx2.h
CommitLineData
7c6c064c 1/** @file\r
d1102dba 2 Extension Form Browser Protocol provides the services that can be used to\r
7c6c064c
ED
3 register the different hot keys for the standard Browser actions described in UEFI specification.\r
4\r
d1102dba 5Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>\r
9d510e61 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
7c6c064c
ED
7\r
8**/\r
9\r
10#ifndef __FORM_BROWSER_EXTENSION2_H__\r
11#define __FORM_BROWSER_EXTENSION2_H__\r
12\r
13#include <Protocol/FormBrowserEx.h>\r
14\r
15#define EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL_GUID \\r
16 { 0xa770c357, 0xb693, 0x4e6d, { 0xa6, 0xcf, 0xd2, 0x1c, 0x72, 0x8e, 0x55, 0xb }}\r
17\r
1436aea4 18typedef struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL;\r
7c6c064c 19\r
7da62bc0
ED
20#define BROWSER_EXTENSION2_VERSION_1 0x10000\r
21#define BROWSER_EXTENSION2_VERSION_1_1 0x10001\r
7c6c064c
ED
22\r
23/**\r
24 Check whether the browser data has been modified.\r
25\r
26 @retval TRUE Browser data is modified.\r
27 @retval FALSE No browser data is modified.\r
28\r
29**/\r
30typedef\r
31BOOLEAN\r
1436aea4 32(EFIAPI *IS_BROWSER_DATA_MODIFIED)(\r
7c6c064c
ED
33 VOID\r
34 );\r
35\r
36/**\r
37 Execute the action requested by the Action parameter.\r
38\r
39 @param[in] Action Execute the request action.\r
40 @param[in] DefaultId The default Id info when need to load default value.\r
41\r
42 @retval EFI_SUCCESS Execute the request action succss.\r
43\r
44**/\r
d1102dba
LG
45typedef\r
46EFI_STATUS\r
1436aea4 47(EFIAPI *EXECUTE_ACTION)(\r
7c6c064c
ED
48 IN UINT32 Action,\r
49 IN UINT16 DefaultId\r
50 );\r
51\r
7da62bc0
ED
52/**\r
53 Check whether required reset when exit the browser\r
54\r
55 @retval TRUE Browser required to reset after exit.\r
56 @retval FALSE Browser not need to reset after exit.\r
57\r
58**/\r
59typedef\r
60BOOLEAN\r
1436aea4 61(EFIAPI *IS_RESET_REQUIRED)(\r
7da62bc0
ED
62 VOID\r
63 );\r
64\r
1436aea4 65#define FORM_ENTRY_INFO_SIGNATURE SIGNATURE_32 ('f', 'e', 'i', 's')\r
7c6c064c
ED
66\r
67typedef struct {\r
1436aea4
MK
68 UINTN Signature;\r
69 LIST_ENTRY Link;\r
7c6c064c 70\r
1436aea4
MK
71 EFI_HII_HANDLE HiiHandle;\r
72 EFI_GUID FormSetGuid;\r
73 EFI_FORM_ID FormId;\r
74 EFI_QUESTION_ID QuestionId;\r
7c6c064c
ED
75} FORM_ENTRY_INFO;\r
76\r
77#define FORM_ENTRY_INFO_FROM_LINK(a) CR (a, FORM_ENTRY_INFO, Link, FORM_ENTRY_INFO_SIGNATURE)\r
78\r
1436aea4 79#define FORM_QUESTION_ATTRIBUTE_OVERRIDE_SIGNATURE SIGNATURE_32 ('f', 'q', 'o', 's')\r
184f3a02
ED
80\r
81typedef struct {\r
1436aea4
MK
82 UINTN Signature;\r
83 LIST_ENTRY Link;\r
84\r
85 EFI_QUESTION_ID QuestionId; // Find the question\r
86 EFI_FORM_ID FormId; // Find the form\r
87 EFI_GUID FormSetGuid; // Find the formset.\r
88 EFI_HII_HANDLE HiiHandle; // Find the HII handle\r
89 UINT32 Attribute; // Hide or grayout ...\r
184f3a02
ED
90} QUESTION_ATTRIBUTE_OVERRIDE;\r
91\r
92#define FORM_QUESTION_ATTRIBUTE_OVERRIDE_FROM_LINK(a) CR (a, QUESTION_ATTRIBUTE_OVERRIDE, Link, FORM_QUESTION_ATTRIBUTE_OVERRIDE_SIGNATURE)\r
93\r
7c6c064c
ED
94struct _EDKII_FORM_BROWSER_EXTENSION2_PROTOCOL {\r
95 ///\r
96 /// Version for protocol future extension.\r
97 ///\r
1436aea4
MK
98 UINT32 Version;\r
99 SET_SCOPE SetScope;\r
100 REGISTER_HOT_KEY RegisterHotKey;\r
101 REGISTER_EXIT_HANDLER RegiserExitHandler;\r
102 IS_BROWSER_DATA_MODIFIED IsBrowserDataModified;\r
103 EXECUTE_ACTION ExecuteAction;\r
7c6c064c
ED
104 ///\r
105 /// A list of type FORMID_INFO is Browser View Form History List.\r
106 ///\r
1436aea4 107 LIST_ENTRY FormViewHistoryHead;\r
184f3a02
ED
108 ///\r
109 /// A list of type QUESTION_ATTRIBUTE_OVERRIDE.\r
110 ///\r
1436aea4 111 LIST_ENTRY OverrideQestListHead;\r
7da62bc0 112\r
1436aea4 113 IS_RESET_REQUIRED IsResetRequired;\r
7c6c064c
ED
114};\r
115\r
1436aea4 116extern EFI_GUID gEdkiiFormBrowserEx2ProtocolGuid;\r
7c6c064c
ED
117\r
118#endif\r