1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI__SOUND_USB_STREAM_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI__SOUND_USB_STREAM_H 9*8d67ca89SAndroid Build Coastguard Worker #define USB_STREAM_INTERFACE_VERSION 2 10*8d67ca89SAndroid Build Coastguard Worker #define SNDRV_USB_STREAM_IOCTL_SET_PARAMS _IOW('H', 0x90, struct usb_stream_config) 11*8d67ca89SAndroid Build Coastguard Worker struct usb_stream_packet { 12*8d67ca89SAndroid Build Coastguard Worker unsigned offset; 13*8d67ca89SAndroid Build Coastguard Worker unsigned length; 14*8d67ca89SAndroid Build Coastguard Worker }; 15*8d67ca89SAndroid Build Coastguard Worker struct usb_stream_config { 16*8d67ca89SAndroid Build Coastguard Worker unsigned version; 17*8d67ca89SAndroid Build Coastguard Worker unsigned sample_rate; 18*8d67ca89SAndroid Build Coastguard Worker unsigned period_frames; 19*8d67ca89SAndroid Build Coastguard Worker unsigned frame_size; 20*8d67ca89SAndroid Build Coastguard Worker }; 21*8d67ca89SAndroid Build Coastguard Worker struct usb_stream { 22*8d67ca89SAndroid Build Coastguard Worker struct usb_stream_config cfg; 23*8d67ca89SAndroid Build Coastguard Worker unsigned read_size; 24*8d67ca89SAndroid Build Coastguard Worker unsigned write_size; 25*8d67ca89SAndroid Build Coastguard Worker int period_size; 26*8d67ca89SAndroid Build Coastguard Worker unsigned state; 27*8d67ca89SAndroid Build Coastguard Worker int idle_insize; 28*8d67ca89SAndroid Build Coastguard Worker int idle_outsize; 29*8d67ca89SAndroid Build Coastguard Worker int sync_packet; 30*8d67ca89SAndroid Build Coastguard Worker unsigned insize_done; 31*8d67ca89SAndroid Build Coastguard Worker unsigned periods_done; 32*8d67ca89SAndroid Build Coastguard Worker unsigned periods_polled; 33*8d67ca89SAndroid Build Coastguard Worker struct usb_stream_packet outpacket[2]; 34*8d67ca89SAndroid Build Coastguard Worker unsigned inpackets; 35*8d67ca89SAndroid Build Coastguard Worker unsigned inpacket_head; 36*8d67ca89SAndroid Build Coastguard Worker unsigned inpacket_split; 37*8d67ca89SAndroid Build Coastguard Worker unsigned inpacket_split_at; 38*8d67ca89SAndroid Build Coastguard Worker unsigned next_inpacket_split; 39*8d67ca89SAndroid Build Coastguard Worker unsigned next_inpacket_split_at; 40*8d67ca89SAndroid Build Coastguard Worker struct usb_stream_packet inpacket[]; 41*8d67ca89SAndroid Build Coastguard Worker }; 42*8d67ca89SAndroid Build Coastguard Worker enum usb_stream_state { 43*8d67ca89SAndroid Build Coastguard Worker usb_stream_invalid, 44*8d67ca89SAndroid Build Coastguard Worker usb_stream_stopped, 45*8d67ca89SAndroid Build Coastguard Worker usb_stream_sync0, 46*8d67ca89SAndroid Build Coastguard Worker usb_stream_sync1, 47*8d67ca89SAndroid Build Coastguard Worker usb_stream_ready, 48*8d67ca89SAndroid Build Coastguard Worker usb_stream_running, 49*8d67ca89SAndroid Build Coastguard Worker usb_stream_xrun, 50*8d67ca89SAndroid Build Coastguard Worker }; 51*8d67ca89SAndroid Build Coastguard Worker #endif 52