]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkNt32Pkg/Dxe/WinNtThunk/Bus/Uga/WinNtUgaInput.c
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / EdkNt32Pkg / Dxe / WinNtThunk / Bus / Uga / WinNtUgaInput.c
diff --git a/EdkNt32Pkg/Dxe/WinNtThunk/Bus/Uga/WinNtUgaInput.c b/EdkNt32Pkg/Dxe/WinNtThunk/Bus/Uga/WinNtUgaInput.c
deleted file mode 100644 (file)
index 2c715c6..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-/*++\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
-  WinNtUgaInput.c\r
-\r
-Abstract:\r
-\r
-  This file produces the Simple Text In for an Uga window.\r
-\r
-  This stuff is linked at the hip to the Window, since the window\r
-  processing is done in a thread kicked off in WinNtUgaImplementation.c\r
-\r
-  Since the window information is processed in an other thread we need\r
-  a keyboard Queue to pass data about. The Simple Text In code just\r
-  takes data off the Queue. The WinProc message loop takes keyboard input\r
-  and places it in the Queue.\r
-\r
---*/\r
-\r
-#include "WinNtUga.h"\r
-\r
-EFI_STATUS\r
-UgaPrivateCreateQ (\r
-  IN  UGA_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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  Private->WinNtThunk->InitializeCriticalSection (&Private->QCriticalSection);\r
-\r
-  Private->Queue.Front  = 0;\r
-  Private->Queue.Rear   = MAX_Q - 1;\r
-  Private->Queue.Count  = 0;\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-UgaPrivateDestroyQ (\r
-  IN  UGA_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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  Private->Queue.Count = 0;\r
-  Private->WinNtThunk->DeleteCriticalSection (&Private->QCriticalSection);\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-UgaPrivateAddQ (\r
-  IN  UGA_PRIVATE_DATA    *Private,\r
-  IN  EFI_INPUT_KEY       Key\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  Private - TODO: add argument description\r
-  Key     - TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_NOT_READY - TODO: Add description for return value\r
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  Private->WinNtThunk->EnterCriticalSection (&Private->QCriticalSection);\r
-\r
-  if (Private->Queue.Count == MAX_Q) {\r
-    Private->WinNtThunk->LeaveCriticalSection (&Private->QCriticalSection);\r
-    return EFI_NOT_READY;\r
-  }\r
-\r
-  Private->Queue.Rear                   = (Private->Queue.Rear + 1) % MAX_Q;\r
-  Private->Queue.Q[Private->Queue.Rear] = Key;\r
-  Private->Queue.Count++;\r
-\r
-  Private->WinNtThunk->LeaveCriticalSection (&Private->QCriticalSection);\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-UgaPrivateDeleteQ (\r
-  IN  UGA_PRIVATE_DATA    *Private,\r
-  OUT EFI_INPUT_KEY       *Key\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  Private - TODO: add argument description\r
-  Key     - TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_NOT_READY - TODO: Add description for return value\r
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  Private->WinNtThunk->EnterCriticalSection (&Private->QCriticalSection);\r
-\r
-  if (Private->Queue.Count == 0) {\r
-    Private->WinNtThunk->LeaveCriticalSection (&Private->QCriticalSection);\r
-    return EFI_NOT_READY;\r
-  }\r
-\r
-  *Key                  = Private->Queue.Q[Private->Queue.Front];\r
-  Private->Queue.Front  = (Private->Queue.Front + 1) % MAX_Q;\r
-  Private->Queue.Count--;\r
-\r
-  Private->WinNtThunk->LeaveCriticalSection (&Private->QCriticalSection);\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-EFI_STATUS\r
-UgaPrivateCheckQ (\r
-  IN  UGA_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
-  EFI_NOT_READY - TODO: Add description for return value\r
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  if (Private->Queue.Count == 0) {\r
-    return EFI_NOT_READY;\r
-  }\r
-\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-//\r
-// Simple Text In implementation.\r
-//\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtUgaSimpleTextInReset (\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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UGA_PRIVATE_DATA  *Private;\r
-  EFI_INPUT_KEY     Key;\r
-  EFI_TPL           OldTpl;\r
-\r
-  Private = UGA_PRIVATE_DATA_FROM_TEXT_IN_THIS (This);\r
-\r
-  //\r
-  // Enter critical section\r
-  //\r
-  OldTpl = gBS->RaiseTPL (TPL_NOTIFY);\r
-\r
-  //\r
-  // A reset is draining the Queue\r
-  //\r
-  while (UgaPrivateDeleteQ (Private, &Key) == EFI_SUCCESS)\r
-    ;\r
-\r
-  //\r
-  // Leave critical section and return\r
-  //\r
-  gBS->RestoreTPL (OldTpl);\r
-  return EFI_SUCCESS;\r
-}\r
-\r
-STATIC\r
-EFI_STATUS\r
-EFIAPI\r
-WinNtUgaSimpleTextInReadKeyStroke (\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
-  UGA_PRIVATE_DATA  *Private;\r
-  EFI_STATUS        Status;\r
-  EFI_TPL           OldTpl;\r
-\r
-  Private = UGA_PRIVATE_DATA_FROM_TEXT_IN_THIS (This);\r
-\r
-  //\r
-  // Enter critical section\r
-  //\r
-  OldTpl  = gBS->RaiseTPL (TPL_NOTIFY);\r
-\r
-  Status  = UgaPrivateCheckQ (Private);\r
-  if (!EFI_ERROR (Status)) {\r
-    //\r
-    // If a Key press exists try and read it.\r
-    //\r
-    Status = UgaPrivateDeleteQ (Private, Key);\r
-  }\r
-\r
-  //\r
-  // Leave critical section and return\r
-  //\r
-  gBS->RestoreTPL (OldTpl);\r
-\r
-  return Status;\r
-}\r
-\r
-STATIC\r
-VOID\r
-EFIAPI\r
-WinNtUgaSimpleTextInWaitForKey (\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
-  UGA_PRIVATE_DATA  *Private;\r
-  EFI_STATUS        Status;\r
-  EFI_TPL           OldTpl;\r
-\r
-  Private = (UGA_PRIVATE_DATA *) Context;\r
-\r
-  //\r
-  // Enter critical section\r
-  //\r
-  OldTpl  = gBS->RaiseTPL (TPL_NOTIFY);\r
-\r
-  Status  = UgaPrivateCheckQ (Private);\r
-  if (!EFI_ERROR (Status)) {\r
-    //\r
-    // If a there is a key in the queue signal our event.\r
-    //\r
-    gBS->SignalEvent (Event);\r
-  } else {\r
-    //\r
-    // We need to sleep or NT will schedule this thread with such high\r
-    // priority that WinProc thread will never run and we will not see\r
-    // keyboard input. This Sleep makes the syste run 10x faster, so don't\r
-    // remove it.\r
-    //\r
-    Private->WinNtThunk->Sleep (1);\r
-  }\r
-\r
-  //\r
-  // Leave critical section and return\r
-  //\r
-  gBS->RestoreTPL (OldTpl);\r
-}\r
-\r
-EFI_STATUS\r
-WinNtUgaInitializeSimpleTextInForWindow (\r
-  IN  UGA_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_STATUS  Status;\r
-\r
-  UgaPrivateCreateQ (Private);\r
-\r
-  //\r
-  // Initialize Simple Text In protoocol\r
-  //\r
-  Private->SimpleTextIn.Reset         = WinNtUgaSimpleTextInReset;\r
-  Private->SimpleTextIn.ReadKeyStroke = WinNtUgaSimpleTextInReadKeyStroke;\r
-\r
-  Status = gBS->CreateEvent (\r
-                  EVT_NOTIFY_WAIT,\r
-                  TPL_NOTIFY,\r
-                  WinNtUgaSimpleTextInWaitForKey,\r
-                  Private,\r
-                  &Private->SimpleTextIn.WaitForKey\r
-                  );\r
-\r
-  return Status;\r
-}\r
-\r
-EFI_STATUS\r
-WinNtUgaDestroySimpleTextInForWindow (\r
-  IN  UGA_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
-  EFI_SUCCESS - TODO: Add description for return value\r
-\r
---*/\r
-{\r
-  UgaPrivateDestroyQ (Private);\r
-  return EFI_SUCCESS;\r
-}\r