1/* 2 Driver for USB Human Interface Devices. 3 Copyright (C) 2008 Michael Lotz <mmlr@mlotz.ch> 4 Distributed under the terms of the MIT license. 5*/ 6#ifndef _USB_HID_DRIVER_H_ 7#define _USB_HID_DRIVER_H_ 8 9#include <Drivers.h> 10#include <KernelExport.h> 11#include <OS.h> 12#include <USB3.h> 13#include <util/kernel_cpp.h> 14 15#include "DeviceList.h" 16 17#define DRIVER_NAME "usb_hid" 18#define DEVICE_PATH_SUFFIX "usb" 19#define DEVICE_NAME "USB" 20 21#define USB_INTERFACE_CLASS_HID 3 22#define USB_INTERFACE_SUBCLASS_HID_BOOT 1 23#define USB_DEFAULT_CONFIGURATION 0 24#define USB_VENDOR_WACOM 0x056a 25 26extern usb_module_info *gUSBModule; 27extern DeviceList *gDeviceList; 28 29extern "C" { 30status_t usb_hid_device_added(usb_device device, void **cookie); 31status_t usb_hid_device_removed(void *cookie); 32 33status_t init_hardware(); 34void uninit_driver(); 35const char ** publish_devices(); 36device_hooks * find_device(const char *name); 37} 38 39#define TRACE(x...) /*dprintf(DRIVER_NAME ": " x)*/ 40#define TRACE_ALWAYS(x...) dprintf(DRIVER_NAME ": " x) 41 42#endif //_USB_HID_DRIVER_H_ 43