--- /dev/null
+/*++\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