9#ifndef _USB_MOUSE_ABSOLUTE_POINTER_H_
10#define _USB_MOUSE_ABSOLUTE_POINTER_H_
30#define SUBCLASS_BOOT 1
31#define PROTOCOL_MOUSE 2
33#define BOOT_PROTOCOL 0
34#define REPORT_PROTOCOL 1
36#define USB_MOUSE_ABSOLUTE_POINTER_DEV_SIGNATURE SIGNATURE_32 ('u', 'm', 's', 't')
53 BOOLEAN ButtonDetected;
69 UINT8 NumberOfButtons;
104#define USB_MOUSE_ABSOLUTE_POINTER_DEV_FROM_MOUSE_PROTOCOL(a) \
105 CR(a, USB_MOUSE_ABSOLUTE_POINTER_DEV, AbsolutePointerProtocol, USB_MOUSE_ABSOLUTE_POINTER_DEV_SIGNATURE)
229 OUT CHAR16 **DriverName
297 OUT CHAR16 **ControllerName
340 IN BOOLEAN ExtendedVerification
460 IN UINT8 *ReportDescriptor,
EFI_STATUS EFIAPI UsbMouseAbsolutePointerComponentNameGetControllerName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
EFI_STATUS EFIAPI UsbMouseAbsolutePointerComponentNameGetDriverName(IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
VOID EFIAPI UsbMouseAbsolutePointerWaitForInput(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS EFIAPI USBMouseAbsolutePointerDriverBindingStart(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
BOOLEAN IsUsbMouse(IN EFI_USB_IO_PROTOCOL *UsbIo)
EFI_STATUS EFIAPI OnMouseInterruptComplete(IN VOID *Data, IN UINTN DataLength, IN VOID *Context, IN UINT32 Result)
VOID EFIAPI USBMouseRecoveryHandler(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS EFIAPI USBMouseAbsolutePointerDriverBindingStop(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
EFI_STATUS EFIAPI USBMouseAbsolutePointerDriverBindingSupported(IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
EFI_STATUS ParseMouseReportDescriptor(OUT USB_MOUSE_ABSOLUTE_POINTER_DEV *UsbMouseAbsolutePointer, IN UINT8 *ReportDescriptor, IN UINTN ReportSize)
EFI_STATUS InitializeUsbMouseDevice(IN USB_MOUSE_ABSOLUTE_POINTER_DEV *UsbMouseAbsolutePointerDev)
EFI_STATUS EFIAPI UsbMouseAbsolutePointerReset(IN EFI_ABSOLUTE_POINTER_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
EFI_STATUS EFIAPI GetMouseAbsolutePointerState(IN EFI_ABSOLUTE_POINTER_PROTOCOL *This, OUT EFI_ABSOLUTE_POINTER_STATE *State)