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 _UAPI__SOUND_USB_STREAM_H
20 #define _UAPI__SOUND_USB_STREAM_H
21 #define USB_STREAM_INTERFACE_VERSION 2
22 #define SNDRV_USB_STREAM_IOCTL_SET_PARAMS _IOW('H', 0x90, struct usb_stream_config)
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 struct usb_stream_packet {
25   unsigned offset;
26   unsigned length;
27 };
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 struct usb_stream_config {
30   unsigned version;
31   unsigned sample_rate;
32   unsigned period_frames;
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   unsigned frame_size;
35 };
36 struct usb_stream {
37   struct usb_stream_config cfg;
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   unsigned read_size;
40   unsigned write_size;
41   int period_size;
42   unsigned state;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   int idle_insize;
45   int idle_outsize;
46   int sync_packet;
47   unsigned insize_done;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   unsigned periods_done;
50   unsigned periods_polled;
51   struct usb_stream_packet outpacket[2];
52   unsigned inpackets;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   unsigned inpacket_head;
55   unsigned inpacket_split;
56   unsigned inpacket_split_at;
57   unsigned next_inpacket_split;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   unsigned next_inpacket_split_at;
60   struct usb_stream_packet inpacket[0];
61 };
62 enum usb_stream_state {
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   usb_stream_invalid,
65   usb_stream_stopped,
66   usb_stream_sync0,
67   usb_stream_sync1,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   usb_stream_ready,
70   usb_stream_running,
71   usb_stream_xrun,
72 };
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #endif
75