--- /dev/null
+/*++\r
+\r
+Copyright (c) 2004 - 2005, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ Console.h\r
+\r
+Abstract:\r
+\r
+ Console based on Win32 APIs.\r
+\r
+ This file attaches a SimpleTextIn protocol to a previously open window.\r
+ \r
+ The constructor for this protocol depends on an open window. Currently\r
+ the SimpleTextOut protocol creates a window when it's constructor is called.\r
+ Thus this code must run after the constructor for the SimpleTextOut \r
+ protocol\r
+ \r
+--*/\r
+\r
+#ifndef _CONSOLE_H_\r
+#define _CONSOLE_H_\r
+\r
+#define UNIX_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE \\r
+ EFI_SIGNATURE_32('U','X','s','c')\r
+\r
+typedef struct {\r
+ UINT64 Signature;\r
+\r
+ EFI_HANDLE Handle;\r
+\r
+ EFI_SIMPLE_TEXT_OUT_PROTOCOL SimpleTextOut;\r
+ EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutMode;\r
+\r
+ EFI_UNIX_IO_PROTOCOL *UnixIo;\r
+ EFI_UNIX_THUNK_PROTOCOL *UnixThunk;\r
+\r
+ //\r
+ // SimpleTextOut Private Data including Win32 types.\r
+ //\r
+ // HANDLE NtOutHandle;\r
+ // HANDLE NtInHandle;\r
+\r
+ //COORD MaxScreenSize;\r
+ //COORD Position;\r
+ //WORD Attribute;\r
+ BOOLEAN CursorEnable;\r
+\r
+ EFI_SIMPLE_TEXT_IN_PROTOCOL SimpleTextIn;\r
+\r
+ EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
+\r
+} UNIX_SIMPLE_TEXT_PRIVATE_DATA;\r
+\r
+#define UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS(a) \\r
+ CR(a, UNIX_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextOut, UNIX_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE)\r
+\r
+#define UNIX_SIMPLE_TEXT_IN_PRIVATE_DATA_FROM_THIS(a) \\r
+ CR(a, UNIX_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextIn, UNIX_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE)\r
+\r
+//\r
+// Console Globale Variables\r
+//\r
+extern EFI_DRIVER_BINDING_PROTOCOL gUnixConsoleDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL gUnixConsoleComponentName;\r
+\r
+typedef struct {\r
+ UINTN ColumnsX;\r
+ UINTN RowsY;\r
+} UNIX_SIMPLE_TEXT_OUT_MODE;\r
+\r
+#if 0
+//\r
+// Simple Text Out protocol member functions\r
+//\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutReset (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN BOOLEAN ExtendedVerification\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ ExtendedVerification - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutOutputString (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN CHAR16 *String\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ String - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutTestString (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN CHAR16 *String\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ String - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutQueryMode (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN UINTN ModeNumber,\r
+ OUT UINTN *Columns,\r
+ OUT UINTN *Rows\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ ModeNumber - TODO: add argument description\r
+ Columns - TODO: add argument description\r
+ Rows - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutSetMode (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN UINTN ModeNumber\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ ModeNumber - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutSetAttribute (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN UINTN Attribute\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ Attribute - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutClearScreen (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutSetCursorPosition (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN UINTN Column,\r
+ IN UINTN Row\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ Column - TODO: add argument description\r
+ Row - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextOutEnableCursor (\r
+ IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This,\r
+ IN BOOLEAN Enable\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ Enable - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+#endif
+//\r
+// Simple Text Out constructor and destructor.\r
+//\r
+EFI_STATUS\r
+UnixSimpleTextOutOpenWindow (\r
+ IN OUT UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ Private - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+UnixSimpleTextOutCloseWindow (\r
+ IN OUT UNIX_SIMPLE_TEXT_PRIVATE_DATA *Console\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ Console - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+#if 0
+//\r
+// Simple Text In protocol member functions.\r
+//\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextInReset (\r
+ IN EFI_SIMPLE_TEXT_IN_PROTOCOL *This,\r
+ IN BOOLEAN ExtendedVerification\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ ExtendedVerification - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+EFI_STATUS\r
+EFIAPI\r
+UnixSimpleTextInReadKeyStroke (\r
+ IN EFI_SIMPLE_TEXT_IN_PROTOCOL *This,\r
+ OUT EFI_INPUT_KEY *Key\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ This - TODO: add argument description\r
+ Key - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+STATIC\r
+VOID\r
+EFIAPI\r
+UnixSimpleTextInWaitForKey (\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ Event - TODO: add argument description\r
+ Context - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+#endif
+//\r
+// Simple Text In constructor\r
+//\r
+EFI_STATUS\r
+UnixSimpleTextInAttachToWindow (\r
+ IN UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ Private - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+//\r
+// Main Entry Point\r
+//\r
+EFI_STATUS\r
+EFIAPI\r
+InitializeUnixConsole (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ ImageHandle - TODO: add argument description\r
+ SystemTable - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+AppendDevicePathInstanceToVar (\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ TODO: Add function description\r
+\r
+Arguments:\r
+\r
+ VariableName - TODO: add argument description\r
+ DevicePathInstance - TODO: add argument description\r
+\r
+Returns:\r
+\r
+ TODO: add return values\r
+\r
+--*/\r
+;\r
+\r
+#endif\r