]> git.proxmox.com Git - mirror_edk2.git/blame - EdkCompatibilityPkg/Foundation/Framework/Protocol/FormBrowser/FormBrowser.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Protocol / FormBrowser / FormBrowser.h
CommitLineData
3eb9473e 1/*++\r
2\r
f57387d5
HT
3Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials \r
3eb9473e 5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13 \r
14 FormBrowser.h\r
15\r
16Abstract:\r
17\r
18 The EFI_FORM_BROWSER_PROTOCOL is the interface to the EFI \r
19 Configuration Driver. This will allow the caller to direct the \r
20 configuration driver to use either the HII database or use the passed \r
21 in packet of data. This will also allow the caller to post messages \r
22 into the configuration drivers internal mailbox.\r
23\r
24--*/\r
25\r
26#ifndef _FORM_BROWSER_H_\r
27#define _FORM_BROWSER_H_\r
28\r
29#include EFI_PROTOCOL_DEFINITION (Hii)\r
30\r
2b589f71 31//\r
32// EFI_FORM_BROWSER_PROTOCOL_GUID has been changed from the one defined in Framework HII 0.92 as the\r
33// Setup Browser protocol produced by HII Thunk Layer support the UEFI IFR and UEF String Package format.\r
34//\r
3eb9473e 35#define EFI_FORM_BROWSER_PROTOCOL_GUID \\r
36 { \\r
2b589f71 37 0xfb7c852, 0xadca, 0x4853, {0x8d, 0xf, 0xfb, 0xa7, 0x1b, 0x1c, 0xe1, 0x1a} \\r
3eb9473e 38 }\r
39\r
fa41279f 40/*\r
41#define EFI_FORM_BROWSER_PROTOCOL_GUID \\r
42 { \\r
43 0xe5a1333e, 0xe1b4, 0x4d55, {0xce, 0xeb, 0x35, 0xc3, 0xef, 0x13, 0x34, 0x43} \\r
44 }\r
45*/\r
2b589f71 46\r
3eb9473e 47//\r
48// Forward reference for pure ANSI compatability\r
49//\r
3eb9473e 50typedef struct _EFI_FORM_BROWSER_PROTOCOL EFI_FORM_BROWSER_PROTOCOL;\r
51\r
52typedef struct {\r
53 UINT32 Length;\r
54 UINT16 Type;\r
55 UINT8 Data[1];\r
56} EFI_HII_PACKET;\r
57\r
58typedef struct {\r
59 EFI_HII_IFR_PACK *IfrData;\r
60 EFI_HII_STRING_PACK *StringData;\r
61} EFI_IFR_PACKET;\r
62\r
63typedef struct {\r
64 UINTN LeftColumn;\r
65 UINTN RightColumn;\r
66 UINTN TopRow;\r
67 UINTN BottomRow;\r
68} SCREEN_DESCRIPTOR;\r
69\r
70//\r
71// The following types are currently defined:\r
72//\r
73typedef\r
74EFI_STATUS\r
75(EFIAPI *EFI_SEND_FORM) (\r
76 IN EFI_FORM_BROWSER_PROTOCOL * This,\r
77 IN BOOLEAN UseDatabase,\r
78 IN EFI_HII_HANDLE * Handle,\r
79 IN UINTN HandleCount,\r
80 IN EFI_IFR_PACKET * Packet,\r
81 IN EFI_HANDLE CallbackHandle,\r
82 IN UINT8 *NvMapOverride,\r
83 IN SCREEN_DESCRIPTOR * ScreenDimensions,\r
84 OUT BOOLEAN *ResetRequired OPTIONAL\r
85 );\r
86\r
87typedef\r
88EFI_STATUS\r
89(EFIAPI *EFI_CREATE_POP_UP) (\r
90 IN UINTN NumberOfLines,\r
91 IN BOOLEAN HotKey,\r
92 IN UINTN MaximumStringSize,\r
93 OUT CHAR16 *StringBuffer,\r
94 OUT EFI_INPUT_KEY * KeyValue,\r
95 IN CHAR16 *String,\r
96 ...\r
97 );\r
98\r
5d46191d 99struct _EFI_FORM_BROWSER_PROTOCOL {\r
3eb9473e 100 EFI_SEND_FORM SendForm;\r
101 EFI_CREATE_POP_UP CreatePopUp;\r
5d46191d 102};\r
3eb9473e 103\r
104extern EFI_GUID gEfiFormBrowserProtocolGuid;\r
105\r
106#endif\r