]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Efi/Protocol/SimplePointer/SimplePointer.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Efi / Protocol / SimplePointer / SimplePointer.h
diff --git a/EdkCompatibilityPkg/Foundation/Efi/Protocol/SimplePointer/SimplePointer.h b/EdkCompatibilityPkg/Foundation/Efi/Protocol/SimplePointer/SimplePointer.h
new file mode 100644 (file)
index 0000000..35aed1d
--- /dev/null
@@ -0,0 +1,76 @@
+/*++\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
+  SimplePointer.h\r
+\r
+Abstract:\r
+\r
+  Simple Pointer protocol from the EFI 1.1 specification.\r
+\r
+  Abstraction of a very simple pointer device like a mice or tracekballs.\r
+\r
+--*/\r
+\r
+#ifndef _SIMPLE_POINTER_H_\r
+#define _SIMPLE_POINTER_H_\r
+\r
+#define EFI_SIMPLE_POINTER_PROTOCOL_GUID \\r
+  { \\r
+    0x31878c87, 0xb75, 0x11d5, 0x9a, 0x4f, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d \\r
+  }\r
+\r
+EFI_FORWARD_DECLARATION (EFI_SIMPLE_POINTER_PROTOCOL);\r
+\r
+//\r
+// Data structures\r
+//\r
+typedef struct {\r
+  INT32   RelativeMovementX;\r
+  INT32   RelativeMovementY;\r
+  INT32   RelativeMovementZ;\r
+  BOOLEAN LeftButton;\r
+  BOOLEAN RightButton;\r
+} EFI_SIMPLE_POINTER_STATE;\r
+\r
+typedef struct {\r
+  UINT64  ResolutionX;\r
+  UINT64  ResolutionY;\r
+  UINT64  ResolutionZ;\r
+  BOOLEAN LeftButton;\r
+  BOOLEAN RightButton;\r
+} EFI_SIMPLE_POINTER_MODE;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SIMPLE_POINTER_RESET) (\r
+  IN EFI_SIMPLE_POINTER_PROTOCOL            * This,\r
+  IN BOOLEAN                                ExtendedVerification\r
+  );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_SIMPLE_POINTER_GET_STATE) (\r
+  IN EFI_SIMPLE_POINTER_PROTOCOL          * This,\r
+  IN OUT EFI_SIMPLE_POINTER_STATE         * State\r
+  );\r
+\r
+typedef struct _EFI_SIMPLE_POINTER_PROTOCOL {\r
+  EFI_SIMPLE_POINTER_RESET      Reset;\r
+  EFI_SIMPLE_POINTER_GET_STATE  GetState;\r
+  EFI_EVENT                     WaitForInput;\r
+  EFI_SIMPLE_POINTER_MODE       *Mode;\r
+} EFI_SIMPLE_POINTER_PROTOCOL;\r
+\r
+extern EFI_GUID gEfiSimplePointerProtocolGuid;\r
+\r
+#endif\r