X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=EdkUnixPkg%2FDxe%2FUnixThunk%2FBus%2FConsole%2FConsole.h;fp=EdkUnixPkg%2FDxe%2FUnixThunk%2FBus%2FConsole%2FConsole.h;h=3f0b4eb6c8dfcb002437738869b1e25694729155;hp=0000000000000000000000000000000000000000;hb=c9093a06e72ef16d2f3bd7ce0a2b9a172e9d048c;hpb=8ba7afaf2e9c682a5d17760e6dd5463b3a2b2d67 diff --git a/EdkUnixPkg/Dxe/UnixThunk/Bus/Console/Console.h b/EdkUnixPkg/Dxe/UnixThunk/Bus/Console/Console.h new file mode 100644 index 0000000000..3f0b4eb6c8 --- /dev/null +++ b/EdkUnixPkg/Dxe/UnixThunk/Bus/Console/Console.h @@ -0,0 +1,513 @@ +/*++ + +Copyright (c) 2004 - 2005, 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: + + Console.h + +Abstract: + + Console based on Win32 APIs. + + This file attaches a SimpleTextIn protocol to a previously open window. + + The constructor for this protocol depends on an open window. Currently + the SimpleTextOut protocol creates a window when it's constructor is called. + Thus this code must run after the constructor for the SimpleTextOut + protocol + +--*/ + +#ifndef _CONSOLE_H_ +#define _CONSOLE_H_ + +#define UNIX_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE \ + EFI_SIGNATURE_32('U','X','s','c') + +typedef struct { + UINT64 Signature; + + EFI_HANDLE Handle; + + EFI_SIMPLE_TEXT_OUT_PROTOCOL SimpleTextOut; + EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutMode; + + EFI_UNIX_IO_PROTOCOL *UnixIo; + EFI_UNIX_THUNK_PROTOCOL *UnixThunk; + + // + // SimpleTextOut Private Data including Win32 types. + // + // HANDLE NtOutHandle; + // HANDLE NtInHandle; + + //COORD MaxScreenSize; + //COORD Position; + //WORD Attribute; + BOOLEAN CursorEnable; + + EFI_SIMPLE_TEXT_IN_PROTOCOL SimpleTextIn; + + EFI_UNICODE_STRING_TABLE *ControllerNameTable; + +} UNIX_SIMPLE_TEXT_PRIVATE_DATA; + +#define UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS(a) \ + CR(a, UNIX_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextOut, UNIX_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE) + +#define UNIX_SIMPLE_TEXT_IN_PRIVATE_DATA_FROM_THIS(a) \ + CR(a, UNIX_SIMPLE_TEXT_PRIVATE_DATA, SimpleTextIn, UNIX_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE) + +// +// Console Globale Variables +// +extern EFI_DRIVER_BINDING_PROTOCOL gUnixConsoleDriverBinding; +extern EFI_COMPONENT_NAME_PROTOCOL gUnixConsoleComponentName; + +typedef struct { + UINTN ColumnsX; + UINTN RowsY; +} UNIX_SIMPLE_TEXT_OUT_MODE; + +#if 0 +// +// Simple Text Out protocol member functions +// + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutReset ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN BOOLEAN ExtendedVerification + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + ExtendedVerification - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutOutputString ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN CHAR16 *String + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + String - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutTestString ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN CHAR16 *String + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + String - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutQueryMode ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN UINTN ModeNumber, + OUT UINTN *Columns, + OUT UINTN *Rows + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + ModeNumber - TODO: add argument description + Columns - TODO: add argument description + Rows - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +EFIAPI +UnixSimpleTextOutSetMode ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN UINTN ModeNumber + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + ModeNumber - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutSetAttribute ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN UINTN Attribute + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + Attribute - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutClearScreen ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutSetCursorPosition ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN UINTN Column, + IN UINTN Row + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + Column - TODO: add argument description + Row - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextOutEnableCursor ( + IN EFI_SIMPLE_TEXT_OUT_PROTOCOL *This, + IN BOOLEAN Enable + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + Enable - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +#endif +// +// Simple Text Out constructor and destructor. +// +EFI_STATUS +UnixSimpleTextOutOpenWindow ( + IN OUT UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Private - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +UnixSimpleTextOutCloseWindow ( + IN OUT UNIX_SIMPLE_TEXT_PRIVATE_DATA *Console + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Console - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +#if 0 +// +// Simple Text In protocol member functions. +// +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextInReset ( + IN EFI_SIMPLE_TEXT_IN_PROTOCOL *This, + IN BOOLEAN ExtendedVerification + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + ExtendedVerification - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +EFI_STATUS +EFIAPI +UnixSimpleTextInReadKeyStroke ( + IN EFI_SIMPLE_TEXT_IN_PROTOCOL *This, + OUT EFI_INPUT_KEY *Key + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + This - TODO: add argument description + Key - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +STATIC +VOID +EFIAPI +UnixSimpleTextInWaitForKey ( + IN EFI_EVENT Event, + IN VOID *Context + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Event - TODO: add argument description + Context - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +#endif +// +// Simple Text In constructor +// +EFI_STATUS +UnixSimpleTextInAttachToWindow ( + IN UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + Private - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +// +// Main Entry Point +// +EFI_STATUS +EFIAPI +InitializeUnixConsole ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + ImageHandle - TODO: add argument description + SystemTable - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +EFI_STATUS +AppendDevicePathInstanceToVar ( + IN CHAR16 *VariableName, + IN EFI_DEVICE_PATH_PROTOCOL *DevicePathInstance + ) +/*++ + +Routine Description: + + TODO: Add function description + +Arguments: + + VariableName - TODO: add argument description + DevicePathInstance - TODO: add argument description + +Returns: + + TODO: add return values + +--*/ +; + +#endif