summaryrefslogtreecommitdiff
path: root/EDK/Foundation/Framework/Protocol/FormBrowser/FormBrowser.h
diff options
context:
space:
mode:
Diffstat (limited to 'EDK/Foundation/Framework/Protocol/FormBrowser/FormBrowser.h')
-rw-r--r--EDK/Foundation/Framework/Protocol/FormBrowser/FormBrowser.h97
1 files changed, 97 insertions, 0 deletions
diff --git a/EDK/Foundation/Framework/Protocol/FormBrowser/FormBrowser.h b/EDK/Foundation/Framework/Protocol/FormBrowser/FormBrowser.h
new file mode 100644
index 0000000..5f1e3ba
--- /dev/null
+++ b/EDK/Foundation/Framework/Protocol/FormBrowser/FormBrowser.h
@@ -0,0 +1,97 @@
+/*++
+
+Copyright (c) 2004, Intel Corporation
+All rights reserved. This program and the accompanying materials
+are licensed and made available under the terms and conditions of the BSD License
+which accompanies this distribution. The full text of the license may be found at
+http://opensource.org/licenses/bsd-license.php
+
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+
+Module Name:
+
+ FormBrowser.h
+
+Abstract:
+
+ The EFI_FORM_BROWSER_PROTOCOL is the interface to the EFI
+ Configuration Driver. This will allow the caller to direct the
+ configuration driver to use either the HII database or use the passed
+ in packet of data. This will also allow the caller to post messages
+ into the configuration drivers internal mailbox.
+
+--*/
+
+#ifndef _FORM_BROWSER_H_
+#define _FORM_BROWSER_H_
+
+#include EFI_PROTOCOL_DEFINITION (Hii)
+
+#define EFI_FORM_BROWSER_PROTOCOL_GUID \
+ { \
+ 0xe5a1333e, 0xe1b4, 0x4d55, 0xce, 0xeb, 0x35, 0xc3, 0xef, 0x13, 0x34, 0x43 \
+ }
+
+//
+// Forward reference for pure ANSI compatability
+//
+EFI_FORWARD_DECLARATION (EFI_FORM_BROWSER_PROTOCOL);
+
+typedef struct _EFI_FORM_BROWSER_PROTOCOL EFI_FORM_BROWSER_PROTOCOL;
+
+typedef struct {
+ UINT32 Length;
+ UINT16 Type;
+ UINT8 Data[1];
+} EFI_HII_PACKET;
+
+typedef struct {
+ EFI_HII_IFR_PACK *IfrData;
+ EFI_HII_STRING_PACK *StringData;
+} EFI_IFR_PACKET;
+
+typedef struct {
+ UINTN LeftColumn;
+ UINTN RightColumn;
+ UINTN TopRow;
+ UINTN BottomRow;
+} SCREEN_DESCRIPTOR;
+
+//
+// The following types are currently defined:
+//
+typedef
+EFI_STATUS
+(EFIAPI *EFI_SEND_FORM) (
+ IN EFI_FORM_BROWSER_PROTOCOL * This,
+ IN BOOLEAN UseDatabase,
+ IN EFI_HII_HANDLE * Handle,
+ IN UINTN HandleCount,
+ IN EFI_IFR_PACKET * Packet,
+ IN EFI_HANDLE CallbackHandle,
+ IN UINT8 *NvMapOverride,
+ IN SCREEN_DESCRIPTOR * ScreenDimensions,
+ OUT BOOLEAN *ResetRequired OPTIONAL
+ );
+
+typedef
+EFI_STATUS
+(EFIAPI *EFI_CREATE_POP_UP) (
+ IN UINTN NumberOfLines,
+ IN BOOLEAN HotKey,
+ IN UINTN MaximumStringSize,
+ OUT CHAR16 *StringBuffer,
+ OUT EFI_INPUT_KEY * KeyValue,
+ IN CHAR16 *String,
+ ...
+ );
+
+typedef struct _EFI_FORM_BROWSER_PROTOCOL {
+ EFI_SEND_FORM SendForm;
+ EFI_CREATE_POP_UP CreatePopUp;
+} EFI_FORM_BROWSER_PROTOCOL;
+
+extern EFI_GUID gEfiFormBrowserProtocolGuid;
+
+#endif