]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtConsoleDxe/Console.c
Remove WinNtConsole driver since its functionality has already been covered by WinNtG...
[mirror_edk2.git] / Nt32Pkg / WinNtConsoleDxe / Console.c
diff --git a/Nt32Pkg/WinNtConsoleDxe/Console.c b/Nt32Pkg/WinNtConsoleDxe/Console.c
deleted file mode 100644 (file)
index bbec72e..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2006 - 2007, 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.c\r
-\r
-Abstract:\r
-\r
-  Console based on Win32 APIs.\r
-\r
---*/\r
-\r
-//\r
-// The package level header files this module uses\r
-//\r
-#include <Uefi.h>\r
-#include <WinNtDxe.h>\r
-//\r
-// The protocols, PPI and GUID defintions for this module\r
-//\r
-#include <Protocol/SimpleTextIn.h>\r
-#include <Protocol/WinNtIo.h>\r
-#include <Protocol/SimpleTextOut.h>\r
-#include <Protocol/ComponentName.h>\r
-#include <Protocol/DriverBinding.h>\r
-//\r
-// The Library classes this module consumes\r
-//\r
-#include <Library/DebugLib.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-\r
-#include "Console.h"\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtConsoleDriverBindingSupported (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   Handle,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtConsoleDriverBindingStart (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   Handle,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  );\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtConsoleDriverBindingStop (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   Handle,\r
-  IN  UINTN                        NumberOfChildren,\r
-  IN  EFI_HANDLE                   *ChildHandleBuffer\r
-  );\r
-\r
-EFI_DRIVER_BINDING_PROTOCOL gWinNtConsoleDriverBinding = {\r
-  WinNtConsoleDriverBindingSupported,\r
-  WinNtConsoleDriverBindingStart,\r
-  WinNtConsoleDriverBindingStop,\r
-  0xa,\r
-  NULL,\r
-  NULL\r
-};\r
-\r
-/**\r
-  The user Entry Point for module WinNtConsole. The user code starts with this function.\r
-\r
-  @param[in] ImageHandle    The firmware allocated handle for the EFI image.  \r
-  @param[in] SystemTable    A pointer to the EFI System Table.\r
-  \r
-  @retval EFI_SUCCESS       The entry point is executed successfully.\r
-  @retval other             Some error occurs when executing this entry point.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InitializeWinNtConsole(\r
-  IN EFI_HANDLE           ImageHandle,\r
-  IN EFI_SYSTEM_TABLE     *SystemTable\r
-  )\r
-{\r
-  EFI_STATUS              Status;\r
-\r
-  //\r
-  // Install driver model protocol(s).\r
-  //\r
-  Status = EfiLibInstallDriverBindingComponentName2 (\r
-             ImageHandle,\r
-             SystemTable,\r
-             &gWinNtConsoleDriverBinding,\r
-             ImageHandle,\r
-             &gWinNtConsoleComponentName,\r
-             &gWinNtConsoleComponentName2\r
-             );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-\r
-  return Status;\r
-}\r
-\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtConsoleDriverBindingSupported (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL   *This,\r
-  IN  EFI_HANDLE                    Handle,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL      *RemainingDevicePath\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-// TODO:    This - add argument and description to function comment\r
-// TODO:    Handle - add argument and description to function comment\r
-// TODO:    RemainingDevicePath - add argument and description to function comment\r
-{\r
-  EFI_STATUS              Status;\r
-  EFI_WIN_NT_IO_PROTOCOL  *WinNtIo;\r
-\r
-  //\r
-  // Open the IO Abstraction(s) needed to perform the supported test\r
-  //\r
-  Status = gBS->OpenProtocol (\r
-                  Handle,\r
-                  &gEfiWinNtIoProtocolGuid,\r
-                  &WinNtIo,\r
-                  This->DriverBindingHandle,\r
-                  Handle,\r
-                  EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  //\r
-  // Make sure that the WinNt Thunk Protocol is valid\r
-  //\r
-  Status = EFI_UNSUPPORTED;\r
-  if (WinNtIo->WinNtThunk->Signature == EFI_WIN_NT_THUNK_PROTOCOL_SIGNATURE) {\r
-\r
-    //\r
-    // Check the GUID to see if this is a handle type the driver supports\r
-    //\r
-    if (CompareGuid (WinNtIo->TypeGuid, &gEfiWinNtConsoleGuid)) {\r
-      Status = EFI_SUCCESS;\r
-    }\r
-  }\r
-\r
-  //\r
-  // Close the I/O Abstraction(s) used to perform the supported test\r
-  //\r
-  gBS->CloseProtocol (\r
-        Handle,\r
-        &gEfiWinNtIoProtocolGuid,\r
-        This->DriverBindingHandle,\r
-        Handle\r
-        );\r
-\r
-  return Status;\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtConsoleDriverBindingStart (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   Handle,\r
-  IN  EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-Arguments:\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
-// TODO:    This - add argument and description to function comment\r
-// TODO:    Handle - add argument and description to function comment\r
-// TODO:    RemainingDevicePath - add argument and description to function comment\r
-{\r
-  EFI_STATUS                      Status;\r
-  EFI_WIN_NT_IO_PROTOCOL          *WinNtIo;\r
-  WIN_NT_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  //\r
-  // Grab the IO abstraction we need to get any work done\r
-  //\r
-  Status = gBS->OpenProtocol (\r
-                  Handle,\r
-                  &gEfiWinNtIoProtocolGuid,\r
-                  &WinNtIo,\r
-                  This->DriverBindingHandle,\r
-                  Handle,\r
-                  EFI_OPEN_PROTOCOL_BY_DRIVER\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-  Private = AllocatePool (sizeof (WIN_NT_SIMPLE_TEXT_PRIVATE_DATA));\r
-  if (Private == NULL) {\r
-    goto Done;\r
-  }\r
-\r
-  ZeroMem (Private, sizeof (WIN_NT_SIMPLE_TEXT_PRIVATE_DATA));\r
-\r
-  Private->Signature  = WIN_NT_SIMPLE_TEXT_PRIVATE_DATA_SIGNATURE;\r
-  Private->Handle     = Handle;\r
-  Private->WinNtIo    = WinNtIo;\r
-  Private->WinNtThunk = WinNtIo->WinNtThunk;\r
-\r
-  WinNtSimpleTextOutOpenWindow (Private);\r
-  WinNtSimpleTextInAttachToWindow (Private);\r
-\r
-  Status = gBS->InstallMultipleProtocolInterfaces (\r
-                  &Handle,\r
-                  &gEfiSimpleTextOutProtocolGuid,\r
-                  &Private->SimpleTextOut,\r
-                  &gEfiSimpleTextInProtocolGuid,\r
-                  &Private->SimpleTextIn,\r
-                  NULL\r
-                  );\r
-  if (!EFI_ERROR (Status)) {\r
-    return Status;\r
-  }\r
-\r
-Done:\r
-  gBS->CloseProtocol (\r
-        Handle,\r
-        &gEfiWinNtIoProtocolGuid,\r
-        This->DriverBindingHandle,\r
-        Handle\r
-        );\r
-  if (Private != NULL) {\r
-\r
-    FreeUnicodeStringTable (Private->ControllerNameTable);\r
-\r
-    if (Private->NtOutHandle != NULL) {\r
-      Private->WinNtThunk->CloseHandle (Private->NtOutHandle);\r
-    }\r
-\r
-    if (Private->SimpleTextIn.WaitForKey != NULL) {\r
-      gBS->CloseEvent (Private->SimpleTextIn.WaitForKey);\r
-    }\r
-\r
-    FreePool (Private);\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtConsoleDriverBindingStop (\r
-  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,\r
-  IN  EFI_HANDLE                   Handle,\r
-  IN  UINTN                        NumberOfChildren,\r
-  IN  EFI_HANDLE                   *ChildHandleBuffer\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This              - TODO: add argument description\r
-  Handle            - TODO: add argument description\r
-  NumberOfChildren  - TODO: add argument description\r
-  ChildHandleBuffer - TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *SimpleTextOut;\r
-  EFI_STATUS                      Status;\r
-  WIN_NT_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  //\r
-  // Kick people off our interface???\r
-  //\r
-  Status = gBS->OpenProtocol (\r
-                  Handle,\r
-                  &gEfiSimpleTextOutProtocolGuid,\r
-                  &SimpleTextOut,\r
-                  This->DriverBindingHandle,\r
-                  Handle,\r
-                  EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
-                  );\r
-  if (EFI_ERROR (Status)) {\r
-    return EFI_UNSUPPORTED;\r
-  }\r
-\r
-  Private = WIN_NT_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (SimpleTextOut);\r
-\r
-  ASSERT (Private->Handle == Handle);\r
-\r
-  Status = gBS->UninstallMultipleProtocolInterfaces (\r
-                  Handle,\r
-                  &gEfiSimpleTextOutProtocolGuid,\r
-                  &Private->SimpleTextOut,\r
-                  &gEfiSimpleTextInProtocolGuid,\r
-                  &Private->SimpleTextIn,\r
-                  NULL\r
-                  );\r
-  if (!EFI_ERROR (Status)) {\r
-\r
-    //\r
-    // Shut down our device\r
-    //\r
-    Status = gBS->CloseProtocol (\r
-                    Handle,\r
-                    &gEfiWinNtIoProtocolGuid,\r
-                    This->DriverBindingHandle,\r
-                    Handle\r
-                    );\r
-\r
-    Status = gBS->CloseEvent (Private->SimpleTextIn.WaitForKey);\r
-    ASSERT_EFI_ERROR (Status);\r
-\r
-    Private->WinNtThunk->CloseHandle (Private->NtOutHandle);\r
-    //\r
-    // DO NOT close Private->NtInHandle. It points to StdIn and not\r
-    //  the Private->NtOutHandle is StdIn and should not be closed!\r
-    //\r
-    FreeUnicodeStringTable (Private->ControllerNameTable);\r
-\r
-    FreePool (Private);\r
-  }\r
-\r
-  return Status;\r
-}\r