xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/usb/midi.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __LINUX_USB_MIDI_H
8*8d67ca89SAndroid Build Coastguard Worker #define __LINUX_USB_MIDI_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define USB_MS_HEADER 0x01
11*8d67ca89SAndroid Build Coastguard Worker #define USB_MS_MIDI_IN_JACK 0x02
12*8d67ca89SAndroid Build Coastguard Worker #define USB_MS_MIDI_OUT_JACK 0x03
13*8d67ca89SAndroid Build Coastguard Worker #define USB_MS_ELEMENT 0x04
14*8d67ca89SAndroid Build Coastguard Worker #define USB_MS_GENERAL 0x01
15*8d67ca89SAndroid Build Coastguard Worker #define USB_MS_EMBEDDED 0x01
16*8d67ca89SAndroid Build Coastguard Worker #define USB_MS_EXTERNAL 0x02
17*8d67ca89SAndroid Build Coastguard Worker struct usb_ms_header_descriptor {
18*8d67ca89SAndroid Build Coastguard Worker   __u8 bLength;
19*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorType;
20*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorSubtype;
21*8d67ca89SAndroid Build Coastguard Worker   __le16 bcdMSC;
22*8d67ca89SAndroid Build Coastguard Worker   __le16 wTotalLength;
23*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
24*8d67ca89SAndroid Build Coastguard Worker #define USB_DT_MS_HEADER_SIZE 7
25*8d67ca89SAndroid Build Coastguard Worker struct usb_midi_in_jack_descriptor {
26*8d67ca89SAndroid Build Coastguard Worker   __u8 bLength;
27*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorType;
28*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorSubtype;
29*8d67ca89SAndroid Build Coastguard Worker   __u8 bJackType;
30*8d67ca89SAndroid Build Coastguard Worker   __u8 bJackID;
31*8d67ca89SAndroid Build Coastguard Worker   __u8 iJack;
32*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
33*8d67ca89SAndroid Build Coastguard Worker #define USB_DT_MIDI_IN_SIZE 6
34*8d67ca89SAndroid Build Coastguard Worker struct usb_midi_source_pin {
35*8d67ca89SAndroid Build Coastguard Worker   __u8 baSourceID;
36*8d67ca89SAndroid Build Coastguard Worker   __u8 baSourcePin;
37*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
38*8d67ca89SAndroid Build Coastguard Worker struct usb_midi_out_jack_descriptor {
39*8d67ca89SAndroid Build Coastguard Worker   __u8 bLength;
40*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorType;
41*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorSubtype;
42*8d67ca89SAndroid Build Coastguard Worker   __u8 bJackType;
43*8d67ca89SAndroid Build Coastguard Worker   __u8 bJackID;
44*8d67ca89SAndroid Build Coastguard Worker   __u8 bNrInputPins;
45*8d67ca89SAndroid Build Coastguard Worker   struct usb_midi_source_pin pins[];
46*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
47*8d67ca89SAndroid Build Coastguard Worker #define USB_DT_MIDI_OUT_SIZE(p) (7 + 2 * (p))
48*8d67ca89SAndroid Build Coastguard Worker #define DECLARE_USB_MIDI_OUT_JACK_DESCRIPTOR(p) struct usb_midi_out_jack_descriptor_ ##p { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bJackType; __u8 bJackID; __u8 bNrInputPins; struct usb_midi_source_pin pins[p]; __u8 iJack; \
49*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed))
50*8d67ca89SAndroid Build Coastguard Worker struct usb_ms_endpoint_descriptor {
51*8d67ca89SAndroid Build Coastguard Worker   __u8 bLength;
52*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorType;
53*8d67ca89SAndroid Build Coastguard Worker   __u8 bDescriptorSubtype;
54*8d67ca89SAndroid Build Coastguard Worker   __u8 bNumEmbMIDIJack;
55*8d67ca89SAndroid Build Coastguard Worker   __u8 baAssocJackID[];
56*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed));
57*8d67ca89SAndroid Build Coastguard Worker #define USB_DT_MS_ENDPOINT_SIZE(n) (4 + (n))
58*8d67ca89SAndroid Build Coastguard Worker #define DECLARE_USB_MS_ENDPOINT_DESCRIPTOR(n) struct usb_ms_endpoint_descriptor_ ##n { __u8 bLength; __u8 bDescriptorType; __u8 bDescriptorSubtype; __u8 bNumEmbMIDIJack; __u8 baAssocJackID[n]; \
59*8d67ca89SAndroid Build Coastguard Worker } __attribute__((packed))
60*8d67ca89SAndroid Build Coastguard Worker #endif
61