brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 5060901 Raw
64 lines · c
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 _UAPI__SOUND_USB_STREAM_H7#define _UAPI__SOUND_USB_STREAM_H8 9#define USB_STREAM_INTERFACE_VERSION 210 11#define SNDRV_USB_STREAM_IOCTL_SET_PARAMS \12	_IOW('H', 0x90, struct usb_stream_config)13 14struct usb_stream_packet {15	unsigned offset;16	unsigned length;17};18 19 20struct usb_stream_config {21	unsigned version;22	unsigned sample_rate;23	unsigned period_frames;24	unsigned frame_size;25};26 27struct 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 53enum 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 /* _UAPI__SOUND_USB_STREAM_H */64