/* usb-core/usb/class.h
 *
 * (c) 2002 Simtec Electronics
 *
 * Ben Dooks/Vince Sanders
 *
 * USB Class / Sub Class definitions
 *
 * $Id: class.h,v 1.4 2003/08/06 15:56:11 ben Exp $
 *
 * This Library file is part of the Simtec Electronics USB stack development
 *   suite.
 * Specific licence is granted to use this file by third parties for the
 *   development of USB device drivers.
 *
 */

#ifndef __USB_CLASS_H
#define __USB_CLASS_H "$Id: class.h,v 1.4 2003/08/06 15:56:11 ben Exp $"

#define USB_CLASS_AUDIO                    (1)
#define USB_SUBCLASS_AUDIO_CONTROL            (1)
#define USB_SUBCLASS_AUDIO_STREAMING          (2)
#define USB_SUBCLASS_AUDIO_MIDISTREAMING      (3)

#define USB_CLASS_CDCCONTROL               (2)
#define USB_SUBCLASS_CDCCONTROL_DIRECTLINE    (1)
#define USB_SUBCLASS_CDCCONTROL_ABSTRACT      (2)
#define USB_SUBCLASS_CDCCONTROL_TELEPHONE     (3)
#define USB_SUBCLASS_CDCCONTROL_MULTICHANNEL  (4)
#define USB_SUBCLASS_CDCCONTROL_CAPI          (5)
#define USB_SUBCLASS_CDCCONTROL_ETHERNET      (6)
#define USB_SUBCLASS_CDCCONTROL_ATM           (7)

#define USB_CLASS_HID                      (3)
#define USB_SUBCLASS_HID_NONE                 (0)
#define USB_SUBCLASS_HID_BOOT                 (1)

#define USB_CLASS_PHYSICAL                 (5)

#define USB_CLASS_IMAGE                    (6)
#define USB_SUBCLASS_IMAGE_IMAGE           (1)

#define USB_CLASS_PRINTER                  (7)
#define USB_SUBCLASS_PRINTER_PRINTER          (1)

#define USB_CLASS_MASSSTORAGE              (8)
#define USB_SUBCLASS_MASSSTORAGE_RBC          (1)
#define USB_SUBCLASS_MASSSTORAGE_MMC2         (2)
#define USB_SUBCLASS_MASSSTORAGE_QIC          (3)
#define USB_SUBCLASS_MASSSTORAGE_UFI          (4)
#define USB_SUBCLASS_MASSSTORAGE_SFF8070I     (5)
#define USB_SUBCLASS_MASSSTORAGE_SCSI         (6)

#define USB_CLASS_HUB                      (9)

#define USB_CLASS_CDCDATA                  (0xA)
#define USB_SUBCLASS_CDCDATA_CDCDATA          (1)

#define USB_CLASS_CHIPSMART                (0xB)

#define USB_CLASS_CONTENTSECURITY          (0xD)

#define USB_CLASS_DIAGNOSTIC               (0xDC)
#define USB_SUBCLASS_DIAGNOSTIC_REPROGRAMMABLE (1)

#define USB_CLASS_WIRELESS                 (0xE0)
#define USB_SUBCLASS_WIRELESS_RFCONTROLLER    (1)

#define USB_CLASS_APPLICATIONSPECIFIC      (0xFE)
#define USB_SUBCLASS_APPLICATIONSPECIFIC_FIRMWARE (1)
#define USB_SUBCLASS_APPLICATIONSPECIFIC_IRDA     (2)

#endif /* __USB_CLASS_H */
