usbdesc.h revision 59190ecd61435d19ba3515b876272aee7bd12298
/*++
Copyright (c) 1997-1998 Microsoft Corporation
Module Name:
USBDESC.H
Abstract:
This is a header file for USB descriptors which are not yet in
a standard system header file.
Environment:
user mode
Revision History:
03-06-1998 : created
--*/
#include <pshpack1.h>
//*****************************************************************************
// D E F I N E S
//*****************************************************************************
#define USB_HID_DESCRIPTOR_TYPE 0x21
//
// USB Device Class Definition for Audio Devices
// Appendix A. Audio Device Class Codes
//
// A.2 Audio Interface Subclass Codes
//
#define USB_AUDIO_SUBCLASS_UNDEFINED 0x00
#define USB_AUDIO_SUBCLASS_AUDIOCONTROL 0x01
#define USB_AUDIO_SUBCLASS_AUDIOSTREAMING 0x02
#define USB_AUDIO_SUBCLASS_MIDISTREAMING 0x03
// A.4 Audio Class-Specific Descriptor Types
//
#define USB_AUDIO_CS_UNDEFINED 0x20
#define USB_AUDIO_CS_DEVICE 0x21
#define USB_AUDIO_CS_CONFIGURATION 0x23
#define USB_AUDIO_CS_STRING 0x24
#define USB_AUDIO_CS_INTERFACE 0x24
#define USB_AUDIO_CS_ENDPOINT 0x25
// A.5 Audio Class-Specific AC (Audio Control) Interface Descriptor Subtypes
//
#define USB_AUDIO_AC_UNDEFINED 0x00
#define USB_AUDIO_AC_HEADER 0x01
#define USB_AUDIO_AC_INPUT_TERMINAL 0x02
#define USB_AUDIO_AC_OUTPUT_TERMINAL 0x03
#define USB_AUDIO_AC_MIXER_UNIT 0x04
#define USB_AUDIO_AC_SELECTOR_UNIT 0x05
#define USB_AUDIO_AC_FEATURE_UNIT 0x06
#define USB_AUDIO_AC_PROCESSING_UNIT 0x07
#define USB_AUDIO_AC_EXTENSION_UNIT 0x08
// A.6 Audio Class-Specific AS (Audio Streaming) Interface Descriptor Subtypes
//
#define USB_AUDIO_AS_UNDEFINED 0x00
#define USB_AUDIO_AS_GENERAL 0x01
#define USB_AUDIO_AS_FORMAT_TYPE 0x02
#define USB_AUDIO_AS_FORMAT_SPECIFIC 0x03
// A.7 Processing Unit Process Types
//
#define USB_AUDIO_PROCESS_UNDEFINED 0x00
#define USB_AUDIO_PROCESS_UPDOWNMIX 0x01
#define USB_AUDIO_PROCESS_DOLBYPROLOGIC 0x02
#define USB_AUDIO_PROCESS_3DSTEREOEXTENDER 0x03
#define USB_AUDIO_PROCESS_REVERBERATION 0x04
#define USB_AUDIO_PROCESS_CHORUS 0x05
#define USB_AUDIO_PROCESS_DYNRANGECOMP 0x06
//*****************************************************************************
// T Y P E D E F S
//*****************************************************************************
// HID Class HID Descriptor
//
typedef struct _USB_HID_DESCRIPTOR
{
struct
{
} OptionalDescriptors[1];
// Common Class Endpoint Descriptor
//
typedef struct _USB_ENDPOINT_DESCRIPTOR2 {
// Common Class Interface Descriptor
//
typedef struct _USB_INTERFACE_DESCRIPTOR2 {
//
// USB Device Class Definition for Audio Devices
//
typedef struct _USB_AUDIO_COMMON_DESCRIPTOR {
// 4.3.2 Class-Specific AC (Audio Control) Interface Descriptor
//
typedef struct _USB_AUDIO_AC_INTERFACE_HEADER_DESCRIPTOR {
// 4.3.2.1 Input Terminal Descriptor
//
typedef struct _USB_AUDIO_INPUT_TERMINAL_DESCRIPTOR {
// 4.3.2.2 Output Terminal Descriptor
//
typedef struct _USB_AUDIO_OUTPUT_TERMINAL_DESCRIPTOR {
// 4.3.2.3 Mixer Unit Descriptor
//
typedef struct _USB_AUDIO_MIXER_UNIT_DESCRIPTOR {
// 4.3.2.4 Selector Unit Descriptor
//
typedef struct _USB_AUDIO_SELECTOR_UNIT_DESCRIPTOR {
// 4.3.2.5 Feature Unit Descriptor
//
typedef struct _USB_AUDIO_FEATURE_UNIT_DESCRIPTOR {
// 4.3.2.6 Processing Unit Descriptor
//
typedef struct _USB_AUDIO_PROCESSING_UNIT_DESCRIPTOR {
// 4.3.2.7 Extension Unit Descriptor
//
typedef struct _USB_AUDIO_EXTENSION_UNIT_DESCRIPTOR {
// 4.5.2 Class-Specific AS Interface Descriptor
//
typedef struct _USB_AUDIO_GENERAL_DESCRIPTOR {
// 4.6.1.2 Class-Specific AS Endpoint Descriptor
//
typedef struct _USB_AUDIO_ENDPOINT_DESCRIPTOR {
//
// USB Device Class Definition for Audio Data Formats
//
typedef struct _USB_AUDIO_COMMON_FORMAT_DESCRIPTOR {
// 2.1.5 Type I Format Type Descriptor
// 2.3.1 Type III Format Type Descriptor
//
typedef struct _USB_AUDIO_TYPE_I_OR_III_FORMAT_DESCRIPTOR {
// 2.2.6 Type II Format Type Descriptor
//
typedef struct _USB_AUDIO_TYPE_II_FORMAT_DESCRIPTOR {
#include <poppack.h>