]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkUnixPkg/Dxe/UnixThunk/Bus/Console/ConsoleOut.c
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / EdkUnixPkg / Dxe / UnixThunk / Bus / Console / ConsoleOut.c
diff --git a/EdkUnixPkg/Dxe/UnixThunk/Bus/Console/ConsoleOut.c b/EdkUnixPkg/Dxe/UnixThunk/Bus/Console/ConsoleOut.c
deleted file mode 100644 (file)
index 5fbc77e..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-/*++\r
-\r
-Copyright (c) 2004, 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
-  ConsoleOut.c\r
-\r
-Abstract:\r
-\r
-  Console based on Posix APIs. \r
-\r
-  This file creates an Posix window and attaches a SimpleTextOut protocol.\r
-\r
---*/\r
-\r
-#include "Console.h"\r
-//\r
-// Private worker functions.\r
-//\r
-\r
-#if 0
-STATIC\r
-VOID\r
-UnixSimpleTextOutScrollScreen (\r
-  IN OUT  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Console\r
-  );\r
-\r
-#endif
-STATIC\r
-VOID\r
-UnixSimpleTextOutPutChar (\r
-  IN OUT  UNIX_SIMPLE_TEXT_PRIVATE_DATA     *Console,\r
-  IN      CHAR16                              Char\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
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-UnixSimpleTextOutSetMode (\r
-  IN EFI_SIMPLE_TEXT_OUT_PROTOCOL           *This,\r
-  IN UINTN                                  ModeNumber\r
-  );\r
-
-//\r
-// Modeule Global for Simple Text Out Mode.\r
-//\r
-#define MAX_SIMPLE_TEXT_OUT_MODE  \\r
-        (sizeof(mUnixSimpleTextOutSupportedModes)/sizeof(UNIX_SIMPLE_TEXT_OUT_MODE))\r
-\r
-STATIC UNIX_SIMPLE_TEXT_OUT_MODE  mUnixSimpleTextOutSupportedModes[] = {\r
-  { 80, 25 },         \r
-#if 0
-  { 80, 50 },         \r
-  { 80, 43 },         \r
-  { 100, 100 },       \r
-  { 100, 999 }         \r
-#endif
-};\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  Private = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  UnixSimpleTextOutSetAttribute (This, EFI_TEXT_ATTR (This->Mode->Attribute & 0x0F, EFI_BACKGROUND_BLACK));\r
-\r
-  UnixSimpleTextOutSetMode (This, 0);\r
-  return EFI_SUCCESS;\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-  CHAR16                          *Str;\r
-\r
-  Private = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  for (Str = String; *Str != '\0'; Str++) {\r
-    switch (*Str) {\r
-#if 0
-    case '\n':\r
-      if (Private->Position.Y == (Private->MaxScreenSize.Y - 1)) {\r
-        UnixSimpleTextOutScrollScreen (Private);\r
-      }\r
-\r
-      if (Private->Position.Y < (Private->MaxScreenSize.Y - 1)) {\r
-        Private->Position.Y++;\r
-        This->Mode->CursorRow++;\r
-      }\r
-      break;\r
-\r
-    case '\r':\r
-      Private->Position.X      = 0;\r
-      This->Mode->CursorColumn  = 0;\r
-      break;\r
-\r
-    case '\b':\r
-      if (Private->Position.X > 0) {\r
-        Private->Position.X--;\r
-        This->Mode->CursorColumn--;\r
-      }\r
-      break;\r
-\r
-#endif
-    default:\r
-      UnixSimpleTextOutPutChar (Private, *Str);\r
-    }\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-STATIC\r
-VOID\r
-UnixSimpleTextOutPutChar (\r
-  IN OUT  UNIX_SIMPLE_TEXT_PRIVATE_DATA   *Console,\r
-  IN      CHAR16                            Char\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  Console - TODO: add argument description\r
-  Char    - TODO: add argument description\r
-\r
-Returns:\r
-\r
-  TODO: add return values\r
-\r
---*/\r
-{\r
-  char c = Char;
-  Console->UnixThunk->Write (1, &c, 1);
-}\r
-\r
-#if 0
-STATIC\r
-VOID\r
-UnixSimpleTextOutScrollScreen (\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
-#endif
-
-\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  Private = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  //\r
-  // BugBug: The correct answer would be a function of what code pages\r
-  //         are currently loaded? For now we will just return success.\r
-  //\r
-  return EFI_SUCCESS;\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
-  EFI_INVALID_PARAMETER - TODO: Add description for return value\r
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  Private = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  if (ModeNumber > MAX_SIMPLE_TEXT_OUT_MODE) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-  *Columns  = mUnixSimpleTextOutSupportedModes[ModeNumber].ColumnsX;\r
-  *Rows     = mUnixSimpleTextOutSupportedModes[ModeNumber].RowsY;\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-STATIC\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
-  EFI_INVALID_PARAMETER - TODO: Add description for return value\r
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  Private = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  if (ModeNumber > MAX_SIMPLE_TEXT_OUT_MODE) {\r
-    return EFI_INVALID_PARAMETER;\r
-  }\r
-\r
-\r
-  This->Mode->Mode = (INT32) ModeNumber;\r
-\r
-  This->EnableCursor (This, TRUE);\r
-  This->ClearScreen (This);\r
-  return EFI_SUCCESS;\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  Private               = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-#if 0
-  Private->Attribute    = (WORD) Attribute;\r
-#endif
-  This->Mode->Attribute = (INT32) Attribute;\r
-\r
-  return EFI_SUCCESS;\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-  //  DWORD                           ConsoleWindow;\r
-\r
-  Private = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-  This->SetCursorPosition (This, 0, 0);\r
-  Private->UnixThunk->Write (1, "\e[2J", 4);
-
-\r
-#if 0
-  Private->UnixThunk->FillConsoleOutputCharacter (\r
-                        Private->NtOutHandle,\r
-                        ' ',\r
-                        Private->MaxScreenSize.X * Private->MaxScreenSize.Y,\r
-                        Private->Possition,\r
-                        &ConsoleWindow\r
-                        );\r
-  Private->UnixThunk->FillConsoleOutputAttribute (\r
-                        Private->NtOutHandle,\r
-                        Private->Attribute,\r
-                        Private->MaxScreenSize.X * Private->MaxScreenSize.Y,\r
-                        Private->Possition,\r
-                        &ConsoleWindow\r
-                        );\r
-#endif
-\r
-  return EFI_SUCCESS;\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  char buf[12];
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-\r
-  Private                   = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-\r
-#if 0
-  Private->Position.X      = (WORD) Column;\r
-#endif
-  This->Mode->CursorColumn  = (INT32) Column;\r
-\r
-#if 0
-  Private->Position.Y      = (WORD) Row;\r
-#endif
-  This->Mode->CursorRow     = (INT32) Row;\r
-#if 0
-  Private->UnixThunk->SetConsoleCursorPosition (Private->NtOutHandle, Private->Possition);\r
-#endif
-\r
-  buf[0] = '\e';
-  buf[1] = '[';
-  buf[2] = '0' + ((Row / 100) % 10);
-  buf[3] = '0' + ((Row / 10) % 10);
-  buf[4] = '0' + ((Row / 1) % 10);
-  buf[5] = ';';
-  buf[6] = '0' + ((Column / 100) % 10);
-  buf[7] = '0' + ((Column / 10) % 10);
-  buf[8] = '0' + ((Column / 1) % 10);
-  buf[9] = 'H';
-  Private->UnixThunk->Write (1, buf, 10);
-
-  return EFI_SUCCESS;\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UNIX_SIMPLE_TEXT_PRIVATE_DATA *Private;\r
-#if 0
-  CONSOLE_CURSOR_INFO             Info;\r
-#endif
-\r
-  Private                   = UNIX_SIMPLE_TEXT_OUT_PRIVATE_DATA_FROM_THIS (This);\r
-  Private->CursorEnable     = Enable;\r
-  This->Mode->CursorVisible = Enable;\r
-\r
-#if 0
-  Private->UnixThunk->GetConsoleCursorInfo (Private->NtOutHandle, &Info);\r
-  Info.bVisible = Enable;\r
-  Private->UnixThunk->SetConsoleCursorInfo (Private->NtOutHandle, &Info);\r
-#endif
-\r
-  return EFI_SUCCESS;\r
-}\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
-  EFI_SIMPLE_TEXT_OUT_PROTOCOL  *SimpleTextOut;\r
-  CHAR16                        *WindowName;\r
-\r
-  //WindowName          = Private->UnixIo->EnvString;\r
-#if 0
-  Private->Attribute  = FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY;\r
-  if (*WindowName == '?') {\r
-    Private->Attribute  = BACKGROUND_RED | FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN;\r
-    WindowName          = L"EFI Emulator Error Console";\r
-  }\r
-#endif
-    WindowName          = L"EFI Emulator Error Console";\r
-\r
-  AddUnicodeString (\r
-    "eng",\r
-    gUnixConsoleComponentName.SupportedLanguages,\r
-    &Private->ControllerNameTable,\r
-    WindowName\r
-    );\r
-\r
-  //\r
-  // Fill in protocol member functions\r
-  //\r
-  SimpleTextOut                     = &Private->SimpleTextOut;\r
-  SimpleTextOut->Reset              = UnixSimpleTextOutReset;\r
-  SimpleTextOut->OutputString       = UnixSimpleTextOutOutputString;\r
-  SimpleTextOut->TestString         = UnixSimpleTextOutTestString;\r
-  SimpleTextOut->QueryMode          = UnixSimpleTextOutQueryMode;\r
-  SimpleTextOut->SetMode            = UnixSimpleTextOutSetMode;\r
-  SimpleTextOut->SetAttribute       = UnixSimpleTextOutSetAttribute;\r
-  SimpleTextOut->ClearScreen        = UnixSimpleTextOutClearScreen;\r
-  SimpleTextOut->SetCursorPosition  = UnixSimpleTextOutSetCursorPosition;\r
-  SimpleTextOut->EnableCursor       = UnixSimpleTextOutEnableCursor;\r
-\r
-  //\r
-  // Initialize SimpleTextOut protocol mode structure\r
-  //\r
-  SimpleTextOut->Mode             = &Private->SimpleTextOutMode;\r
-  SimpleTextOut->Mode->MaxMode    = MAX_SIMPLE_TEXT_OUT_MODE;\r
-  SimpleTextOut->Mode->Attribute  = 0; //FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY;\r
-\r
-#if 0
-  //\r
-  // Open the window an initialize it!\r
-  //\r
-  Private->NtOutHandle = Private->UnixThunk->CreateConsoleScreenBuffer (\r
-                                                GENERIC_WRITE | GENERIC_READ,\r
-                                                FILE_SHARE_WRITE | FILE_SHARE_READ,\r
-                                                NULL,\r
-                                                CONSOLE_TEXTMODE_BUFFER,\r
-                                                NULL\r
-                                                );\r
-  Private->UnixThunk->SetConsoleTitle (WindowName);\r
-#endif
-\r
-  return SimpleTextOut->SetMode (SimpleTextOut, 0);\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-#if 0
-  Console->UnixThunk->CloseHandle (Console->NtOutHandle);\r
-#endif
-  return EFI_SUCCESS;\r
-}\r