blob: 1f8dc2a7053ab6f9ff8c401908189d17df6342d4 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Christopher Ferris05d08e92016-02-04 13:16:38 -08007#ifndef _UAPI__SOUND_USB_STREAM_H
8#define _UAPI__SOUND_USB_STREAM_H
9#define USB_STREAM_INTERFACE_VERSION 2
10#define SNDRV_USB_STREAM_IOCTL_SET_PARAMS _IOW('H', 0x90, struct usb_stream_config)
Christopher Ferris05d08e92016-02-04 13:16:38 -080011struct usb_stream_packet {
12 unsigned offset;
13 unsigned length;
14};
Christopher Ferris05d08e92016-02-04 13:16:38 -080015struct usb_stream_config {
16 unsigned version;
17 unsigned sample_rate;
18 unsigned period_frames;
Christopher Ferris05d08e92016-02-04 13:16:38 -080019 unsigned frame_size;
20};
21struct usb_stream {
22 struct usb_stream_config cfg;
Christopher Ferris05d08e92016-02-04 13:16:38 -080023 unsigned read_size;
24 unsigned write_size;
25 int period_size;
26 unsigned state;
Christopher Ferris05d08e92016-02-04 13:16:38 -080027 int idle_insize;
28 int idle_outsize;
29 int sync_packet;
30 unsigned insize_done;
Christopher Ferris05d08e92016-02-04 13:16:38 -080031 unsigned periods_done;
32 unsigned periods_polled;
33 struct usb_stream_packet outpacket[2];
34 unsigned inpackets;
Christopher Ferris05d08e92016-02-04 13:16:38 -080035 unsigned inpacket_head;
36 unsigned inpacket_split;
37 unsigned inpacket_split_at;
38 unsigned next_inpacket_split;
Christopher Ferris05d08e92016-02-04 13:16:38 -080039 unsigned next_inpacket_split_at;
Christopher Ferris7447a1c2022-10-04 18:24:44 -070040 struct usb_stream_packet inpacket[];
Christopher Ferris05d08e92016-02-04 13:16:38 -080041};
42enum usb_stream_state {
Christopher Ferris05d08e92016-02-04 13:16:38 -080043 usb_stream_invalid,
44 usb_stream_stopped,
45 usb_stream_sync0,
46 usb_stream_sync1,
Christopher Ferris05d08e92016-02-04 13:16:38 -080047 usb_stream_ready,
48 usb_stream_running,
49 usb_stream_xrun,
50};
Christopher Ferris05d08e92016-02-04 13:16:38 -080051#endif