• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 struct usb_stream_packet {
24   unsigned offset;
25   unsigned length;
26 };
27 struct usb_stream_config {
28   unsigned version;
29   unsigned sample_rate;
30   unsigned period_frames;
31   unsigned frame_size;
32 };
33 struct usb_stream {
34   struct usb_stream_config cfg;
35   unsigned read_size;
36   unsigned write_size;
37   int period_size;
38   unsigned state;
39   int idle_insize;
40   int idle_outsize;
41   int sync_packet;
42   unsigned insize_done;
43   unsigned periods_done;
44   unsigned periods_polled;
45   struct usb_stream_packet outpacket[2];
46   unsigned inpackets;
47   unsigned inpacket_head;
48   unsigned inpacket_split;
49   unsigned inpacket_split_at;
50   unsigned next_inpacket_split;
51   unsigned next_inpacket_split_at;
52   struct usb_stream_packet inpacket[0];
53 };
54 enum usb_stream_state {
55   usb_stream_invalid,
56   usb_stream_stopped,
57   usb_stream_sync0,
58   usb_stream_sync1,
59   usb_stream_ready,
60   usb_stream_running,
61   usb_stream_xrun,
62 };
63 #endif
64