+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, 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
-\r
-#define WIN_NT_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE \\r
- EFI_SIGNATURE_32('N','T','s','c')\r
-\r
-typedef struct {\r
- UINT64 Signature;\r
-\r
- EFI_HANDLE Handle;\r
-\r
- EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SimpleTextOut;\r
- EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutMode;\r
-\r
- EFI_WIN_NT_IO_PROTOCOL *WinNtIo;\r
- EFI_WIN_NT_THUNK_PROTOCOL *WinNtThunk;\r
-\r
- //\r
- // SimpleTextOut Private Data including Win32 types.\r
- //\r
- HANDLE NtOutHandle;\r
- HANDLE NtInHandle;\r
-\r
- COORD MaxScreenSize;\r
- COORD Possition;\r
- WORD Attribute;\r
- BOOLEAN CursorEnable;\r
-\r
- EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleTextIn;\r
-\r
- EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
-\r
-} WIN_NT_SIMPLE_TEXT_PRIVATE_DATA;\r
-\r
-#define WIN_NT_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS(a) \\r
- CR(a, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextOut, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE)\r
-\r
-#define WIN_NT_SIMPLE_TEXT_IN_PRIVATE_DATA_FROM_THIS(a) \\r
- CR(a, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextIn, WIN_NT_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE)\r
-\r
-//\r
-// Console Globale Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL gWinNtConsoleDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL gWinNtConsoleComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL gWinNtConsoleComponentName2;\r
-\r
-typedef struct {\r
- UINTN ColumnsX;\r
- UINTN RowsY;\r
-} WIN_NT_SIMPLE_TEXT_OUT_MODE;\r
-\r
-//\r
-// Simple Text Out protocol member functions\r
-//\r
-\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtSimpleTextOutReset (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-WinNtSimpleTextOutOutputString (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-WinNtSimpleTextOutTestString (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-WinNtSimpleTextOutQueryMode (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtSimpleTextOutSetMode (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-WinNtSimpleTextOutSetAttribute (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-WinNtSimpleTextOutClearScreen (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-WinNtSimpleTextOutSetCursorPosition (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-WinNtSimpleTextOutEnableCursor (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_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
-//\r
-// Simple Text Out constructor and destructor.\r
-//\r
-EFI_STATUS\r
-WinNtSimpleTextOutOpenWindow (\r
- IN OUT WIN_NT_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
-WinNtSimpleTextOutCloseWindow (\r
- IN OUT WIN_NT_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
-//\r
-// Simple Text In protocol member functions.\r
-//\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtSimpleTextInReset (\r
- IN EFI_SIMPLE_TEXT_INPUT_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
-WinNtSimpleTextInReadKeyStroke (\r
- IN EFI_SIMPLE_TEXT_INPUT_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
-WinNtSimpleTextInWaitForKey (\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
-//\r
-// Simple Text In constructor\r
-//\r
-EFI_STATUS\r
-WinNtSimpleTextInAttachToWindow (\r
- IN WIN_NT_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
-InitializeWinNtConsole (\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