1/*
2 * Copyright (c) 2007-2013 ETH Zurich.
3 * All rights reserved.
4 *
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8 */
9
10#ifndef USB_DRIVER_H_
11#define USB_DRIVER_H_
12
13#define USB_DEVICE_CLASS_COMPOSITE 0x00
14#define USB_DEVICE_CLASS_AUDIO 0x01
15#define USB_DEVICE_CLASS_COMM 0x02
16#define USB_DEVICE_CLASS_HID 0x03
17#define USB_DEVICE_CLASS_PHYSICAL 0x05
18#define USB_DEVICE_CLASS_IMAGE 0x06
19#define USB_DEVICE_CLASS_PRINTER 0x07
20#define USB_DEVICE_CLASS_MSD 0x08
21#define USB_DEVICE_CLASS_HUB 0x09
22#define USB_DEVICE_CLASS_CDC 0x0A
23#define USB_DEVICE_CLASS_SMARTCARD 0x0B
24#define USB_DEVICE_CLASS_SECURITY 0x0D
25#define USB_DEVICE_CLASS_VIDEO 0x0E
26#define USB_DEVICE_CLASS_HEALTH 0x0F
27#define USB_DEVICE_CLASS_AV 0x10
28#define USB_DEVICE_CLASS_DIAG 0xDC
29#define USB_DEVICE_CLASS_WIFI 0xE0
30#define USB_DEVICE_CLASS_MISC 0xEF
31#define USB_DEVICE_CLASS_APPL 0xFE
32#define USB_DEVICE_CLASS_VENDOR 0xFF
33
34void usb_driver_start(struct usb_device *dev);
35void usb_driver_connected(struct usb_manager_binding *bind,
36        struct usb_driver_binding *driver, uint16_t config);
37#endif /* USB_DRIVER_H_ */
38