zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

usb_stream.h (1237B) - Raw


      1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
      2 /*
      3  * Copyright (C) 2007, 2008 Karsten Wiese <fzu@wemgehoertderstaat.de>
      4  */
      5 
      6 #ifndef __SOUND_USB_STREAM_H
      7 #define __SOUND_USB_STREAM_H
      8 
      9 #define USB_STREAM_INTERFACE_VERSION 2
     10 
     11 #define SNDRV_USB_STREAM_IOCTL_SET_PARAMS \
     12 	_IOW('H', 0x90, struct usb_stream_config)
     13 
     14 struct usb_stream_packet {
     15 	unsigned offset;
     16 	unsigned length;
     17 };
     18 
     19 
     20 struct usb_stream_config {
     21 	unsigned version;
     22 	unsigned sample_rate;
     23 	unsigned period_frames;
     24 	unsigned frame_size;
     25 };
     26 
     27 struct usb_stream {
     28 	struct usb_stream_config cfg;
     29 	unsigned read_size;
     30 	unsigned write_size;
     31 
     32 	int period_size;
     33 
     34 	unsigned state;
     35 
     36 	int idle_insize;
     37 	int idle_outsize;
     38 	int sync_packet;
     39 	unsigned insize_done;
     40 	unsigned periods_done;
     41 	unsigned periods_polled;
     42 
     43 	struct usb_stream_packet outpacket[2];
     44 	unsigned		 inpackets;
     45 	unsigned		 inpacket_head;
     46 	unsigned		 inpacket_split;
     47 	unsigned		 inpacket_split_at;
     48 	unsigned		 next_inpacket_split;
     49 	unsigned		 next_inpacket_split_at;
     50 	struct usb_stream_packet inpacket[];
     51 };
     52 
     53 enum usb_stream_state {
     54 	usb_stream_invalid,
     55 	usb_stream_stopped,
     56 	usb_stream_sync0,
     57 	usb_stream_sync1,
     58 	usb_stream_ready,
     59 	usb_stream_running,
     60 	usb_stream_xrun,
     61 };
     62 
     63 #endif /* __SOUND_USB_STREAM_H */