Home | History | Annotate | Download | only in sound
      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