1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __LINUX_USB_MIDI_H
20 #define __LINUX_USB_MIDI_H
21 #include <linux/types.h>
22 #define USB_MS_HEADER 0x01
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define USB_MS_MIDI_IN_JACK 0x02
25 #define USB_MS_MIDI_OUT_JACK 0x03
26 #define USB_MS_ELEMENT 0x04
27 #define USB_MS_GENERAL 0x01
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define USB_MS_EMBEDDED 0x01
30 #define USB_MS_EXTERNAL 0x02
31 struct usb_ms_header_descriptor {
32  __u8 bLength;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  __u8 bDescriptorType;
35  __u8 bDescriptorSubtype;
36  __le16 bcdMSC;
37  __le16 wTotalLength;
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 } __attribute__ ((packed));
40 #define USB_DT_MS_HEADER_SIZE 7
41 struct usb_midi_in_jack_descriptor {
42  __u8 bLength;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  __u8 bDescriptorType;
45  __u8 bDescriptorSubtype;
46  __u8 bJackType;
47  __u8 bJackID;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  __u8 iJack;
50 } __attribute__ ((packed));
51 #define USB_DT_MIDI_IN_SIZE 6
52 struct usb_midi_source_pin {
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  __u8 baSourceID;
55  __u8 baSourcePin;
56 } __attribute__ ((packed));
57 struct usb_midi_out_jack_descriptor {
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  __u8 bLength;
60  __u8 bDescriptorType;
61  __u8 bDescriptorSubtype;
62  __u8 bJackType;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  __u8 bJackID;
65  __u8 bNrInputPins;
66  struct usb_midi_source_pin pins[];
67 } __attribute__ ((packed));
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #define USB_DT_MIDI_OUT_SIZE(p) (7 + 2 * (p))
70 #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;  } __attribute__ ((packed))
71 struct usb_ms_endpoint_descriptor {
72  __u8 bLength;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  __u8 bDescriptorType;
75  __u8 bDescriptorSubtype;
76  __u8 bNumEmbMIDIJack;
77  __u8 baAssocJackID[];
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 } __attribute__ ((packed));
80 #define USB_DT_MS_ENDPOINT_SIZE(n) (4 + (n))
81 #define DECLARE_USB_MS_ENDPOINT_DESCRIPTOR(n)  struct usb_ms_endpoint_descriptor_##n {   __u8 bLength;   __u8 bDescriptorType;   __u8 bDescriptorSubtype;   __u8 bNumEmbMIDIJack;   __u8 baAssocJackID[n];  } __attribute__ ((packed))
82 #endif
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84