]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Usb/UsbMouseAbsolutePointerDxe/UsbMouseAbsolutePointer.h
MdeModulePkg/UsbMouse: Get HID descriptor from the return of Get_Desc(Configuration...
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbMouseAbsolutePointerDxe / UsbMouseAbsolutePointer.h
index 1159ffcf29be92da4ef48a3d9dc14be60134286d..08b8d56dd8f7e2d4a5328b6d95cc4632bcd64959 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   Helper routine and corresponding data struct used by USB Mouse Absolute Pointer Driver.\r
 \r
-Copyright (c) 2004 - 2008, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>\r
+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
@@ -28,7 +28,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/UefiLib.h>\r
 #include <Library/MemoryAllocationLib.h>\r
-#include <Library/PcdLib.h>\r
 #include <Library/UefiUsbLib.h>\r
 #include <Library/DebugLib.h>\r
 \r
@@ -43,6 +42,17 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #define USB_MOUSE_ABSOLUTE_POINTER_DEV_SIGNATURE SIGNATURE_32 ('u', 'm', 's', 't')\r
 \r
+//\r
+// A common header for usb standard descriptor.\r
+// Each stand descriptor has a length and type.\r
+//\r
+#pragma pack(1)\r
+typedef struct {\r
+  UINT8                   Len;\r
+  UINT8                   Type;\r
+} USB_DESC_HEAD;\r
+#pragma pack()\r
+\r
 ///\r
 /// Button range and status\r
 ///\r
@@ -79,20 +89,23 @@ typedef struct {
 ///\r
 /// General HID Item structure\r
 ///\r
+\r
+typedef union {\r
+  UINT8   Uint8;\r
+  UINT16  Uint16;\r
+  UINT32  Uint32;\r
+  INT8    Int8;\r
+  INT16   Int16;\r
+  INT32   Int32;\r
+  UINT8   *LongData;\r
+} HID_DATA;\r
+\r
 typedef struct {\r
-  UINT16  Format;\r
-  UINT8   Size;\r
-  UINT8   Type;\r
-  UINT8   Tag;\r
-  union {\r
-    UINT8   U8;\r
-    UINT16  U16;\r
-    UINT32  U32;\r
-    INT8    I8;\r
-    INT16   I16;\r
-    INT32   I32;\r
-    UINT8   *LongData;\r
-  } Data;\r
+  UINT16    Format;\r
+  UINT8     Size;\r
+  UINT8     Type;\r
+  UINT8     Tag;\r
+  HID_DATA  Data;\r
 } HID_ITEM;\r
 \r
 #define USB_MOUSE_ABSOLUTE_POINTER_DEV_FROM_MOUSE_PROTOCOL(a) \\r
@@ -269,7 +282,7 @@ UsbMouseAbsolutePointerComponentNameGetDriverName (
                                 the language specified by Language for the\r
                                 driver specified by This was returned in\r
                                 DriverName.\r
-  @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.\r
+  @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.\r
   @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid\r
                                 EFI_HANDLE.\r
   @retval EFI_INVALID_PARAMETER Language is NULL.\r