]> Git Repo - linux.git/blob - include/uapi/sound/usb_stream.h
HID: hid-sensor-custom: Fix big on-stack allocation in hid_sensor_custom_get_known()
[linux.git] / include / uapi / sound / usb_stream.h
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
2 /*
3  * Copyright (C) 2007, 2008 Karsten Wiese <[email protected]>
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
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 /* _UAPI__SOUND_USB_STREAM_H */
This page took 0.034272 seconds and 4 git commands to generate.