Warning: This file is not a C or C++ file. It does not have highlighting.

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_H
7#define _UAPI__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
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

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/include/uapi/sound/usb_stream.h