]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OldMdePkg/Include/Protocol/SimplePointer.h
Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break existing...
[mirror_edk2.git] / OldMdePkg / Include / Protocol / SimplePointer.h
diff --git a/OldMdePkg/Include/Protocol/SimplePointer.h b/OldMdePkg/Include/Protocol/SimplePointer.h
new file mode 100644 (file)
index 0000000..a0e0804
--- /dev/null
@@ -0,0 +1,97 @@
+/** @file\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
+  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:  SimplePointer.h\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
+typedef struct _EFI_SIMPLE_POINTER_PROTOCOL  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
+/**                                                                 \r
+  Resets the pointer device hardware.\r
+    \r
+  @param  This                  A pointer to the EFI_SIMPLE_POINTER_PROTOCOL\r
+                                instance.                                   \r
+  @param  ExtendedVerification  Indicates that the driver may perform a more exhaustive\r
+                                verification operation of the device during reset.                                       \r
+                                \r
+  @retval EFI_SUCCESS           The device was reset.\r
+  @retval EFI_DEVICE_ERROR      The device is not functioning correctly and could not be reset.  \r
+                                   \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
+/**                                                                 \r
+  Retrieves the current state of a pointer device.\r
+    \r
+  @param  This                  A pointer to the EFI_SIMPLE_POINTER_PROTOCOL\r
+                                instance.                                   \r
+  @param  State                 A pointer to the state information on the pointer device.\r
+                                \r
+  @retval EFI_SUCCESS           The state of the pointer device was returned in State.\r
+  @retval EFI_NOT_READY         The state of the pointer device has not changed since the last call to\r
+                                GetState().                                                           \r
+  @retval EFI_DEVICE_ERROR      A device error occurred while attempting to retrieve the pointer device's\r
+                                current state.                                                           \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
+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
+};\r
+\r
+extern EFI_GUID gEfiSimplePointerProtocolGuid;\r
+\r
+#endif\r