linux/sound/usb/usx2y/usb_stream.h
<<
>>
Prefs
   1#ifndef __USB_STREAM_H
   2#define __USB_STREAM_H
   3
   4#include <uapi/sound/usb_stream.h>
   5
   6#define USB_STREAM_NURBS 4
   7#define USB_STREAM_URBDEPTH 4
   8
   9struct usb_stream_kernel {
  10        struct usb_stream *s;
  11
  12        void *write_page;
  13
  14        unsigned n_o_ps;
  15
  16        struct urb *inurb[USB_STREAM_NURBS];
  17        struct urb *idle_inurb;
  18        struct urb *completed_inurb;
  19        struct urb *outurb[USB_STREAM_NURBS];
  20        struct urb *idle_outurb;
  21        struct urb *completed_outurb;
  22        struct urb *i_urb;
  23
  24        int iso_frame_balance;
  25
  26        wait_queue_head_t sleep;
  27
  28        unsigned out_phase;
  29        unsigned out_phase_peeked;
  30        unsigned freqn;
  31};
  32
  33struct usb_stream *usb_stream_new(struct usb_stream_kernel *sk,
  34                                  struct usb_device *dev,
  35                                  unsigned in_endpoint, unsigned out_endpoint,
  36                                  unsigned sample_rate, unsigned use_packsize,
  37                                  unsigned period_frames, unsigned frame_size);
  38void usb_stream_free(struct usb_stream_kernel *);
  39int usb_stream_start(struct usb_stream_kernel *);
  40void usb_stream_stop(struct usb_stream_kernel *);
  41
  42#endif /* __USB_STREAM_H */
  43