]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtGopDxe/WinNtGop.h
Clean up: update "EFI" to "UEFI" if applicable.
[mirror_edk2.git] / Nt32Pkg / WinNtGopDxe / WinNtGop.h
index 74cfe41e15c3ccc0f667821471f76d73467a8b55..cd52bc175ad2bb5172f464a753d0080ee42c364c 100644 (file)
@@ -23,23 +23,40 @@ Abstract:
 #ifndef _WIN_NT_GOP_H_\r
 #define _WIN_NT_GOP_H_\r
 \r
-//@MT:#include "EfiWinNT.h"\r
-//@MT:#include "Tiano.h"\r
-//@MT:#include "EfiDriverLib.h"\r
 \r
-//\r
-// Driver Consumed Protocols\r
-//\r
-//@MT:#include EFI_PROTOCOL_DEFINITION (DevicePath)\r
-//@MT:#include EFI_PROTOCOL_DEFINITION (WinNtIo)\r
+#include <Uefi.h>\r
+#include <WinNtDxe.h>\r
+\r
+#include <Guid/EventGroup.h>\r
+#include <Protocol/WinNtIo.h>\r
+#include <Protocol/ComponentName.h>\r
+#include <Protocol/SimpleTextIn.h>\r
+#include <Protocol/SimpleTextInEx.h>\r
+#include <Protocol/DriverBinding.h>\r
+#include <Protocol/GraphicsOutput.h>\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
 //\r
-// Driver Produced Protocols\r
-//\r
-//@MT:#include EFI_PROTOCOL_DEFINITION (DriverBinding)\r
-//@MT:#include EFI_PROTOCOL_DEFINITION (ComponentName)\r
-//@MT:#include EFI_PROTOCOL_DEFINITION (GraphicsOutput)\r
-//@MT:#include "LinkedList.h"\r
+// WM_SYSKEYDOWN/WM_SYSKEYUP Notification\r
+// lParam\r
+// bit 24: Specifies whether the key is an extended key, \r
+// such as the right-hand ALT and CTRL keys that appear on \r
+// an enhanced 101- or 102-key keyboard. \r
+// The value is 1 if it is an extended key; otherwise, it is 0.\r
+// bit 29:Specifies the context code. \r
+// The value is 1 if the ALT key is down while the key is pressed/released; \r
+// it is 0 if the WM_SYSKEYDOWN message is posted to the active window \r
+// because no window has the keyboard focus.\r
+#define GOP_EXTENDED_KEY         (0x1 << 24)\r
+#define GOP_ALT_KEY_PRESSED      (0x1 << 29)\r
+\r
 \r
 #define MAX_Q 256\r
 \r
@@ -54,6 +71,16 @@ typedef struct {
 \r
 #define GOP_PRIVATE_DATA_SIGNATURE  EFI_SIGNATURE_32 ('S', 'g', 'o', 'N')\r
 \r
+#define WIN_NT_GOP_SIMPLE_TEXTIN_EX_NOTIFY_SIGNATURE EFI_SIGNATURE_32 ('W', 'g', 'S', 'n')\r
+\r
+typedef struct _WIN_NT_GOP_SIMPLE_TEXTIN_EX_NOTIFY {\r
+  UINTN                                 Signature;\r
+  EFI_HANDLE                            NotifyHandle;\r
+  EFI_KEY_DATA                          KeyData;\r
+  EFI_KEY_NOTIFY_FUNCTION               KeyNotificationFn;\r
+  LIST_ENTRY                            NotifyEntry;\r
+} WIN_NT_GOP_SIMPLE_TEXTIN_EX_NOTIFY;\r
+\r
 #define GRAPHICS_OUTPUT_INVALIDE_MODE_NUMBER 0xffff\r
 \r
 typedef struct {\r
@@ -110,6 +137,22 @@ typedef struct {
   CRITICAL_SECTION              QCriticalSection;\r
   GOP_QUEUE_FIXED               Queue;\r
 \r
+  EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL SimpleTextInEx;\r
+  EFI_KEY_STATE                     KeyState;\r
+  LIST_ENTRY                        NotifyList;\r
+  BOOLEAN                           LeftShift;\r
+  BOOLEAN                           RightShift;  \r
+  BOOLEAN                           LeftAlt;\r
+  BOOLEAN                           RightAlt;\r
+  BOOLEAN                           LeftCtrl;\r
+  BOOLEAN                           RightCtrl;\r
+  BOOLEAN                           LeftLogo;\r
+  BOOLEAN                           RightLogo;\r
+  BOOLEAN                           Menu;\r
+  BOOLEAN                           SysReq;  \r
+  BOOLEAN                           NumLock;\r
+  BOOLEAN                           ScrollLock;\r
+  BOOLEAN                           CapsLock;  \r
 } GOP_PRIVATE_DATA;\r
 \r
 #define GOP_PRIVATE_DATA_FROM_THIS(a)  \\r
@@ -118,11 +161,17 @@ typedef struct {
 #define GOP_PRIVATE_DATA_FROM_TEXT_IN_THIS(a)  \\r
          CR(a, GOP_PRIVATE_DATA, SimpleTextIn, GOP_PRIVATE_DATA_SIGNATURE)\r
 \r
+#define GOP_PRIVATE_DATA_FROM_TEXT_IN_EX_THIS(a)  \\r
+         CR(a, GOP_PRIVATE_DATA, SimpleTextInEx, GOP_PRIVATE_DATA_SIGNATURE)\r
+\r
 //\r
 // Global Protocol Variables\r
 //\r
-extern EFI_DRIVER_BINDING_PROTOCOL  gWinNtGopDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL  gWinNtGopComponentName;\r
+extern EFI_DRIVER_BINDING_PROTOCOL   gWinNtGopDriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL   gWinNtGopComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL  gWinNtGopComponentName2;\r
+\r
+extern EFI_GUID                      gSimpleTextInExNotifyGuid;\r
 \r
 //\r
 // Gop Hardware abstraction internal worker functions\r
@@ -173,7 +222,7 @@ WinNtGopDestructor (
 ;\r
 \r
 //\r
-// EFI 1.1 driver model prototypes for Win NT GOP\r
+// UEFI 2.0 driver model prototypes for Win NT GOP\r
 //\r
 \r
 \r
@@ -304,18 +353,5 @@ WinNtGopDestroySimpleTextInForWindow (
 ;\r
 \r
 \r
-/**\r
-  TODO: Add function description\r
-\r
-  @param  String               TODO: add argument description\r
-\r
-  @return TODO: add return values\r
-\r
-**/\r
-UINTN\r
-Atoi (\r
-  IN  CHAR16  *String\r
-  )\r
-;\r
 \r
 #endif\r