aboutsummaryrefslogtreecommitdiff
path: root/libc/kernel/uapi/sound/asound.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/kernel/uapi/sound/asound.h')
-rw-r--r--libc/kernel/uapi/sound/asound.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/libc/kernel/uapi/sound/asound.h b/libc/kernel/uapi/sound/asound.h
index 397cccce8..b0e47c163 100644
--- a/libc/kernel/uapi/sound/asound.h
+++ b/libc/kernel/uapi/sound/asound.h
@@ -32,8 +32,9 @@
#define SNDRV_PROTOCOL_MINOR(version) (((version) >> 8) & 0xff)
#define SNDRV_PROTOCOL_MICRO(version) ((version) & 0xff)
#define SNDRV_PROTOCOL_INCOMPATIBLE(kversion,uversion) (SNDRV_PROTOCOL_MAJOR(kversion) != SNDRV_PROTOCOL_MAJOR(uversion) || (SNDRV_PROTOCOL_MAJOR(kversion) == SNDRV_PROTOCOL_MAJOR(uversion) && SNDRV_PROTOCOL_MINOR(kversion) != SNDRV_PROTOCOL_MINOR(uversion)))
+#define AES_IEC958_STATUS_SIZE 24
struct snd_aes_iec958 {
- unsigned char status[24];
+ unsigned char status[AES_IEC958_STATUS_SIZE];
unsigned char subcode[147];
unsigned char pad;
unsigned char dig_subframe[4];
@@ -234,6 +235,8 @@ typedef int __bitwise snd_pcm_subformat_t;
#define SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME 0x02000000
#define SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME 0x04000000
#define SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME 0x08000000
+#define SNDRV_PCM_INFO_EXPLICIT_SYNC 0x10000000
+#define SNDRV_PCM_INFO_NO_REWINDS 0x20000000
#define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000
#define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000
#if __BITS_PER_LONG == 32 && defined(__USE_TIME_BITS64)
@@ -562,7 +565,7 @@ enum {
#define SNDRV_PCM_IOCTL_READN_FRAMES _IOR('A', 0x53, struct snd_xfern)
#define SNDRV_PCM_IOCTL_LINK _IOW('A', 0x60, int)
#define SNDRV_PCM_IOCTL_UNLINK _IO('A', 0x61)
-#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 1)
+#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 2)
enum {
SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
SNDRV_RAWMIDI_STREAM_INPUT,
@@ -584,12 +587,32 @@ struct snd_rawmidi_info {
unsigned int subdevices_avail;
unsigned char reserved[64];
};
+#define SNDRV_RAWMIDI_MODE_FRAMING_MASK (7 << 0)
+#define SNDRV_RAWMIDI_MODE_FRAMING_SHIFT 0
+#define SNDRV_RAWMIDI_MODE_FRAMING_NONE (0 << 0)
+#define SNDRV_RAWMIDI_MODE_FRAMING_TSTAMP (1 << 0)
+#define SNDRV_RAWMIDI_MODE_CLOCK_MASK (7 << 3)
+#define SNDRV_RAWMIDI_MODE_CLOCK_SHIFT 3
+#define SNDRV_RAWMIDI_MODE_CLOCK_NONE (0 << 3)
+#define SNDRV_RAWMIDI_MODE_CLOCK_REALTIME (1 << 3)
+#define SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC (2 << 3)
+#define SNDRV_RAWMIDI_MODE_CLOCK_MONOTONIC_RAW (3 << 3)
+#define SNDRV_RAWMIDI_FRAMING_DATA_LENGTH 16
+struct snd_rawmidi_framing_tstamp {
+ __u8 frame_type;
+ __u8 length;
+ __u8 reserved[2];
+ __u32 tv_nsec;
+ __u64 tv_sec;
+ __u8 data[SNDRV_RAWMIDI_FRAMING_DATA_LENGTH];
+} __packed;
struct snd_rawmidi_params {
int stream;
size_t buffer_size;
size_t avail_min;
unsigned int no_active_sensing : 1;
- unsigned char reserved[16];
+ unsigned int mode;
+ unsigned char reserved[12];
};
struct snd_rawmidi_status {
int stream;
@@ -601,6 +624,7 @@ struct snd_rawmidi_status {
};
#define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int)
#define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info)
+#define SNDRV_RAWMIDI_IOCTL_USER_PVERSION _IOW('W', 0x02, int)
#define SNDRV_RAWMIDI_IOCTL_PARAMS _IOWR('W', 0x10, struct snd_rawmidi_params)
#define SNDRV_RAWMIDI_IOCTL_STATUS _IOWR('W', 0x20, struct snd_rawmidi_status)
#define SNDRV_RAWMIDI_IOCTL_DROP _IOW('W', 0x30, int)