|  | /* | 
|  | * This file is auto-generated. Modifications will be lost. | 
|  | * | 
|  | * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ | 
|  | * for more information. | 
|  | */ | 
|  | #ifndef _UAPI__SOUND_USB_STREAM_H | 
|  | #define _UAPI__SOUND_USB_STREAM_H | 
|  | #define USB_STREAM_INTERFACE_VERSION 2 | 
|  | #define SNDRV_USB_STREAM_IOCTL_SET_PARAMS _IOW('H', 0x90, struct usb_stream_config) | 
|  | struct usb_stream_packet { | 
|  | unsigned offset; | 
|  | unsigned length; | 
|  | }; | 
|  | struct usb_stream_config { | 
|  | unsigned version; | 
|  | unsigned sample_rate; | 
|  | unsigned period_frames; | 
|  | unsigned frame_size; | 
|  | }; | 
|  | struct usb_stream { | 
|  | struct usb_stream_config cfg; | 
|  | unsigned read_size; | 
|  | unsigned write_size; | 
|  | int period_size; | 
|  | unsigned state; | 
|  | int idle_insize; | 
|  | int idle_outsize; | 
|  | int sync_packet; | 
|  | unsigned insize_done; | 
|  | unsigned periods_done; | 
|  | unsigned periods_polled; | 
|  | struct usb_stream_packet outpacket[2]; | 
|  | unsigned inpackets; | 
|  | unsigned inpacket_head; | 
|  | unsigned inpacket_split; | 
|  | unsigned inpacket_split_at; | 
|  | unsigned next_inpacket_split; | 
|  | unsigned next_inpacket_split_at; | 
|  | struct usb_stream_packet inpacket[]; | 
|  | }; | 
|  | enum usb_stream_state { | 
|  | usb_stream_invalid, | 
|  | usb_stream_stopped, | 
|  | usb_stream_sync0, | 
|  | usb_stream_sync1, | 
|  | usb_stream_ready, | 
|  | usb_stream_running, | 
|  | usb_stream_xrun, | 
|  | }; | 
|  | #endif |