40#ifndef LIBOPENCM3_USB_AUDIO_H
41#define LIBOPENCM3_USB_AUDIO_H
51#define USB_CLASS_AUDIO 0x01
54#define USB_AUDIO_SUBCLASS_UNDEFINED 0x00
55#define USB_AUDIO_SUBCLASS_CONTROL 0x01
56#define USB_AUDIO_SUBCLASS_AUDIOSTREAMING 0x02
57#define USB_AUDIO_SUBCLASS_MIDISTREAMING 0x03
60#define USB_AUDIO_DT_CS_UNDEFINED 0x20
61#define USB_AUDIO_DT_CS_DEVICE 0x21
62#define USB_AUDIO_DT_CS_CONFIGURATION 0x22
63#define USB_AUDIO_DT_CS_STRING 0x23
64#define USB_AUDIO_DT_CS_INTERFACE 0x24
65#define USB_AUDIO_DT_CS_ENDPOINT 0x25
68#define USB_AUDIO_TYPE_AC_DESCRIPTOR_UNDEFINED 0x00
69#define USB_AUDIO_TYPE_HEADER 0x01
70#define USB_AUDIO_TYPE_INPUT_TERMINAL 0x02
71#define USB_AUDIO_TYPE_OUTPUT_TERMINAL 0x03
72#define USB_AUDIO_TYPE_MIXER_UNIT 0x04
73#define USB_AUDIO_TYPE_SELECTOR_UNIT 0x05
74#define USB_AUDIO_TYPE_FEATURE_UNIT 0x06
75#define USB_AUDIO_TYPE_PROCESSING_UNIT 0x07
76#define USB_AUDIO_TYPE_EXTENSION_UNIT 0x08
87} __attribute__((packed));
93} __attribute__((packed));
107} __attribute__((packed));
119} __attribute__((packed));
133} __attribute__((packed));
140} __attribute__((packed));
146} __attribute__((packed));
157} __attribute__((packed));
167} __attribute__((packed));
179} __attribute__((packed));
189} __attribute__((packed));
207} __attribute__((packed));
214} __attribute__((packed));
220} __attribute__((packed));
230} __attribute__((packed));
struct usb_audio_feature_unit_descriptor_head head
struct usb_audio_feature_unit_descriptor_tail tail
struct usb_audio_feature_unit_descriptor_body channel_control[2]
uint16_t bmaControlMaster
uint8_t bDescriptorSubtype
uint8_t bDescriptorSubtype
uint8_t bDescriptorSubtype
uint8_t bDescriptorSubtype