ALSA project - the C library reference

Loading...
Searching...
No Matches
ump.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1+ */
9#if !defined(__ASOUNDLIB_H) && !defined(ALSA_LIBRARY_BUILD)
10/* don't use ALSA_LIBRARY_BUILD define in sources outside alsa-lib */
11#warning "use #include <alsa/asoundlib.h>, <alsa/ump.h> should not be used directly"
12#include <alsa/asoundlib.h>
13#endif
14
15#ifndef __ALSA_UMP_H
16#define __ALSA_UMP_H
18#ifdef __cplusplus
19 extern "C" {
20#endif
21
29 typedef struct _snd_ump snd_ump_t;
31 typedef struct snd_ump_endpoint_info snd_ump_endpoint_info_t;
33 typedef struct snd_ump_block_info snd_ump_block_info_t;
34
35 int snd_ump_open(snd_ump_t **inputp, snd_ump_t **outputp, const char *name, int mode);
36 int snd_ump_close(snd_ump_t *ump);
37 snd_rawmidi_t *snd_ump_rawmidi(snd_ump_t *ump);
38 const char *snd_ump_name(snd_ump_t *ump);
39 int snd_ump_poll_descriptors_count(snd_ump_t *ump);
40 int snd_ump_poll_descriptors(snd_ump_t *ump, struct pollfd *pfds, unsigned int space);
41 int snd_ump_poll_descriptors_revents(snd_ump_t *ump, struct pollfd *pfds, unsigned int nfds, unsigned short *revents);
42 int snd_ump_nonblock(snd_ump_t *ump, int nonblock);
43 int snd_ump_rawmidi_info(snd_ump_t *ump, snd_rawmidi_info_t *info);
44 int snd_ump_rawmidi_params(snd_ump_t *ump, snd_rawmidi_params_t *params);
45 int snd_ump_rawmidi_params_current(snd_ump_t *ump, snd_rawmidi_params_t *params);
46 int snd_ump_rawmidi_status(snd_ump_t *ump, snd_rawmidi_status_t *status);
47 int snd_ump_drop(snd_ump_t *ump);
48 int snd_ump_drain(snd_ump_t *ump);
49ssize_t snd_ump_write(snd_ump_t *ump, const void *buffer, size_t size);
50ssize_t snd_ump_read(snd_ump_t *ump, void *buffer, size_t size);
51ssize_t snd_ump_tread(snd_ump_t *ump, struct timespec *tstamp, void *buffer, size_t size);
52
54#define SND_UMP_MAX_GROUPS 16
56#define SND_UMP_MAX_BLOCKS 32
57
59 enum _snd_ump_direction {
61 SND_UMP_DIR_INPUT = 0x01,
63 SND_UMP_DIR_OUTPUT = 0x02,
65 SND_UMP_DIR_BIDIRECTION = 0x03,
66};
67
69#define SND_UMP_EP_INFO_STATIC_BLOCKS 0x01
70
72#define SND_UMP_EP_INFO_PROTO_MIDI_MASK 0x0300
74#define SND_UMP_EP_INFO_PROTO_MIDI1 0x0100
76#define SND_UMP_EP_INFO_PROTO_MIDI2 0x0200
78#define SND_UMP_EP_INFO_PROTO_JRTS_MASK 0x0003
80#define SND_UMP_EP_INFO_PROTO_JRTS_TX 0x0001
82#define SND_UMP_EP_INFO_PROTO_JRTS_RX 0x0002
83
85#define SND_UMP_EP_INFO_DEFAULT_VERSION 0x0101
86
87 size_t snd_ump_endpoint_info_sizeof(void);
92#define snd_ump_endpoint_info_alloca(ptr) __snd_alloca(ptr, snd_ump_endpoint_info)
93 int snd_ump_endpoint_info_malloc(snd_ump_endpoint_info_t **info);
94 void snd_ump_endpoint_info_free(snd_ump_endpoint_info_t *info);
95 void snd_ump_endpoint_info_clear(snd_ump_endpoint_info_t *info);
96 void snd_ump_endpoint_info_copy(snd_ump_endpoint_info_t *dst, const snd_ump_endpoint_info_t *src);
97 int snd_ump_endpoint_info_get_card(const snd_ump_endpoint_info_t *info);
98 int snd_ump_endpoint_info_get_device(const snd_ump_endpoint_info_t *info);
99 unsigned int snd_ump_endpoint_info_get_flags(const snd_ump_endpoint_info_t *info);
100 unsigned int snd_ump_endpoint_info_get_protocol_caps(const snd_ump_endpoint_info_t *info);
101 unsigned int snd_ump_endpoint_info_get_protocol(const snd_ump_endpoint_info_t *info);
102 unsigned int snd_ump_endpoint_info_get_num_blocks(const snd_ump_endpoint_info_t *info);
103 unsigned int snd_ump_endpoint_info_get_version(const snd_ump_endpoint_info_t *info);
104 unsigned int snd_ump_endpoint_info_get_manufacturer_id(const snd_ump_endpoint_info_t *info);
105 unsigned int snd_ump_endpoint_info_get_family_id(const snd_ump_endpoint_info_t *info);
106 unsigned int snd_ump_endpoint_info_get_model_id(const snd_ump_endpoint_info_t *info);
107 const unsigned char *snd_ump_endpoint_info_get_sw_revision(const snd_ump_endpoint_info_t *info);
108 const char *snd_ump_endpoint_info_get_name(const snd_ump_endpoint_info_t *info);
109 const char *snd_ump_endpoint_info_get_product_id(const snd_ump_endpoint_info_t *info);
110 int snd_ump_endpoint_info(snd_ump_t *ump, snd_ump_endpoint_info_t *info);
111
112 void snd_ump_endpoint_info_set_card(snd_ump_endpoint_info_t *info, unsigned int card);
113 void snd_ump_endpoint_info_set_device(snd_ump_endpoint_info_t *info, unsigned int device);
114 void snd_ump_endpoint_info_set_flags(snd_ump_endpoint_info_t *info, unsigned int flags);
115 void snd_ump_endpoint_info_set_protocol_caps(snd_ump_endpoint_info_t *info, unsigned int caps);
116 void snd_ump_endpoint_info_set_protocol(snd_ump_endpoint_info_t *info, unsigned int protocols);
117 void snd_ump_endpoint_info_set_num_blocks(snd_ump_endpoint_info_t *info, unsigned int num_blocks);
118 void snd_ump_endpoint_info_set_version(snd_ump_endpoint_info_t *info, unsigned int version);
119 void snd_ump_endpoint_info_set_manufacturer_id(snd_ump_endpoint_info_t *info, unsigned int id);
120 void snd_ump_endpoint_info_set_family_id(snd_ump_endpoint_info_t *info, unsigned int id);
121 void snd_ump_endpoint_info_set_model_id(snd_ump_endpoint_info_t *info, unsigned int id);
122 void snd_ump_endpoint_info_set_sw_revision(snd_ump_endpoint_info_t *info, const unsigned char *id);
123 void snd_ump_endpoint_info_set_name(snd_ump_endpoint_info_t *info, const char *name);
124 void snd_ump_endpoint_info_set_product_id(snd_ump_endpoint_info_t *info, const char *id);
125
127#define SND_UMP_BLOCK_IS_MIDI1 (1U << 0)
129#define SND_UMP_BLOCK_IS_LOWSPEED (1U << 1)
130
132 enum _snd_ump_block_ui_hint {
134 SND_UMP_BLOCK_UI_HINT_UNKNOWN = 0x00,
136 SND_UMP_BLOCK_UI_HINT_RECEIVER = 0x01,
138 SND_UMP_BLOCK_UI_HINT_SENDER = 0x02,
140 SND_UMP_BLOCK_UI_HINT_BOTH = 0x03,
141};
142
144#define SND_UMP_BLOCK_INFO_DEFAULT_MIDI_CI_VERSION 0x01
145
146 size_t snd_ump_block_info_sizeof(void);
151#define snd_ump_block_info_alloca(ptr) __snd_alloca(ptr, snd_ump_block_info)
152 int snd_ump_block_info_malloc(snd_ump_block_info_t **info);
153 void snd_ump_block_info_free(snd_ump_block_info_t *info);
154 void snd_ump_block_info_clear(snd_ump_block_info_t *info);
155 void snd_ump_block_info_copy(snd_ump_block_info_t *dst, const snd_ump_block_info_t *src);
156 int snd_ump_block_info_get_card(const snd_ump_block_info_t *info);
157 int snd_ump_block_info_get_device(const snd_ump_block_info_t *info);
158 unsigned int snd_ump_block_info_get_block_id(const snd_ump_block_info_t *info);
159 unsigned int snd_ump_block_info_get_active(const snd_ump_block_info_t *info);
160 unsigned int snd_ump_block_info_get_flags(const snd_ump_block_info_t *info);
161 unsigned int snd_ump_block_info_get_direction(const snd_ump_block_info_t *info);
162 unsigned int snd_ump_block_info_get_first_group(const snd_ump_block_info_t *info);
163 unsigned int snd_ump_block_info_get_num_groups(const snd_ump_block_info_t *info);
164 unsigned int snd_ump_block_info_get_midi_ci_version(const snd_ump_block_info_t *info);
165 unsigned int snd_ump_block_info_get_sysex8_streams(const snd_ump_block_info_t *info);
166 unsigned int snd_ump_block_info_get_ui_hint(const snd_ump_block_info_t *info);
167 const char *snd_ump_block_info_get_name(const snd_ump_block_info_t *info);
168 int snd_ump_block_info(snd_ump_t *ump, snd_ump_block_info_t *info);
169
170 void snd_ump_block_info_set_card(snd_ump_block_info_t *info, unsigned int card);
171 void snd_ump_block_info_set_device(snd_ump_block_info_t *info, unsigned int device);
172 void snd_ump_block_info_set_block_id(snd_ump_block_info_t *info, unsigned int id);
173 void snd_ump_block_info_set_active(snd_ump_block_info_t *info, unsigned int active);
174 void snd_ump_block_info_set_flags(snd_ump_block_info_t *info, unsigned int flags);
175 void snd_ump_block_info_set_direction(snd_ump_block_info_t *info, unsigned int direction);
176 void snd_ump_block_info_set_first_group(snd_ump_block_info_t *info, unsigned int first_group);
177 void snd_ump_block_info_set_num_groups(snd_ump_block_info_t *info, unsigned int num_groups);
178 void snd_ump_block_info_set_midi_ci_version(snd_ump_block_info_t *info, unsigned int version);
179 void snd_ump_block_info_set_sysex8_streams(snd_ump_block_info_t *info, unsigned int streams);
180 void snd_ump_block_info_set_ui_hint(snd_ump_block_info_t *info, unsigned int hint);
181 void snd_ump_block_info_set_name(snd_ump_block_info_t *info, const char *name);
182
185#ifdef __cplusplus
186}
187#endif
188
189#endif /* __ALSA_UMP_H */
_snd_ump_direction
_snd_ump_direction
Definition ump.h:59
snd_ump_poll_descriptors_count
int snd_ump_poll_descriptors_count(snd_ump_t *ump)
get count of poll descriptors for UMP handle
Definition ump.c:169
snd_ump_write
ssize_t snd_ump_write(snd_ump_t *ump, const void *buffer, size_t size)
write UMP packets to UMP stream
Definition ump.c:289
snd_rawmidi_status_t
struct _snd_rawmidi_status snd_rawmidi_status_t
Definition rawmidi.h:55
snd_ump_endpoint_info_free
void snd_ump_endpoint_info_free(snd_ump_endpoint_info_t *info)
frees the snd_ump_endpoint_info_t structure
Definition ump.c:358
snd_ump_endpoint_info_set_device
void snd_ump_endpoint_info_set_device(snd_ump_endpoint_info_t *info, unsigned int device)
set device number of UMP endpoint
Definition ump.c:531
snd_ump_endpoint_info_get_manufacturer_id
unsigned int snd_ump_endpoint_info_get_manufacturer_id(const snd_ump_endpoint_info_t *info)
get UMP manufacturer ID
Definition ump.c:460
snd_ump_block_info_get_midi_ci_version
unsigned int snd_ump_block_info_get_midi_ci_version(const snd_ump_block_info_t *info)
get MIDI-CI version number
Definition ump.c:813
snd_ump_block_info_get_ui_hint
unsigned int snd_ump_block_info_get_ui_hint(const snd_ump_block_info_t *info)
get UI hint of the given UMP block
Definition ump.c:833
snd_ump_endpoint_info
int snd_ump_endpoint_info(snd_ump_t *ump, snd_ump_endpoint_info_t *info)
get endpoint information about UMP handle
Definition ump.c:664
snd_ump_endpoint_info_set_card
void snd_ump_endpoint_info_set_card(snd_ump_endpoint_info_t *info, unsigned int card)
set card number of UMP endpoint
Definition ump.c:520
snd_ump_block_info_set_direction
void snd_ump_block_info_set_direction(snd_ump_block_info_t *info, unsigned int direction)
set UMP block direction to snd_ump_block_info_t structure
Definition ump.c:924
snd_ump_block_info_sizeof
size_t snd_ump_block_info_sizeof(void)
get size of the snd_ump_block_info_t structure in bytes
Definition ump.c:673
snd_ump_endpoint_info_sizeof
size_t snd_ump_endpoint_info_sizeof(void)
get size of the snd_ump_endpoint_info_t structure in bytes
Definition ump.c:330
snd_ump_block_info
int snd_ump_block_info(snd_ump_t *ump, snd_ump_block_info_t *info)
get UMP block information
Definition ump.c:1003
snd_ump_block_info_set_sysex8_streams
void snd_ump_block_info_set_sysex8_streams(snd_ump_block_info_t *info, unsigned int streams)
set number of supported SysEx8 streams to snd_ump_block_info_t structure
Definition ump.c:967
snd_ump_rawmidi_params_current
int snd_ump_rawmidi_params_current(snd_ump_t *ump, snd_rawmidi_params_t *params)
get current parameters about associated RawMidi stream
Definition ump.c:244
snd_ump_block_info_set_midi_ci_version
void snd_ump_block_info_set_midi_ci_version(snd_ump_block_info_t *info, unsigned int version)
set MIDI-CI version number to snd_ump_block_info_t structure
Definition ump.c:956
snd_ump_block_info_malloc
int snd_ump_block_info_malloc(snd_ump_block_info_t **info)
allocate the snd_ump_block_info_t structure
Definition ump.c:686
snd_ump_block_info_set_device
void snd_ump_block_info_set_device(snd_ump_block_info_t *info, unsigned int device)
set device number to snd_ump_block_info_t structure
Definition ump.c:863
snd_ump_t
struct _snd_ump snd_ump_t
Definition ump.h:29
snd_ump_block_info_set_name
void snd_ump_block_info_set_name(snd_ump_block_info_t *info, const char *name)
set the name string to snd_ump_block_info_t structure
Definition ump.c:988
snd_ump_read
ssize_t snd_ump_read(snd_ump_t *ump, void *buffer, size_t size)
read UMP packets from UMP stream
Definition ump.c:303
snd_ump_endpoint_info_get_family_id
unsigned int snd_ump_endpoint_info_get_family_id(const snd_ump_endpoint_info_t *info)
get UMP family ID
Definition ump.c:470
snd_ump_block_info_get_direction
unsigned int snd_ump_block_info_get_direction(const snd_ump_block_info_t *info)
get UMP block direction
Definition ump.c:783
snd_ump_block_info_set_block_id
void snd_ump_block_info_set_block_id(snd_ump_block_info_t *info, unsigned int id)
set UMP block ID to snd_ump_block_info_t structure
Definition ump.c:879
snd_ump_drop
int snd_ump_drop(snd_ump_t *ump)
drop all packets in the rawmidi I/O ring buffer immediately
Definition ump.c:265
snd_ump_endpoint_info_set_model_id
void snd_ump_endpoint_info_set_model_id(snd_ump_endpoint_info_t *info, unsigned int id)
set the UMP model ID of UMP endpoint
Definition ump.c:619
snd_ump_block_info_set_ui_hint
void snd_ump_block_info_set_ui_hint(snd_ump_block_info_t *info, unsigned int hint)
set UI Hint to snd_ump_block_info_t structure
Definition ump.c:978
snd_ump_endpoint_info_clear
void snd_ump_endpoint_info_clear(snd_ump_endpoint_info_t *info)
clears the snd_ump_endpoint_info_t structure
Definition ump.c:369
snd_ump_block_info_get_num_groups
unsigned int snd_ump_block_info_get_num_groups(const snd_ump_block_info_t *info)
get number of UMP groups belonging to the block
Definition ump.c:803
snd_ump_poll_descriptors_revents
int snd_ump_poll_descriptors_revents(snd_ump_t *ump, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
get returned events from poll descriptors
Definition ump.c:195
snd_ump_block_info_set_card
void snd_ump_block_info_set_card(snd_ump_block_info_t *info, unsigned int card)
set card number to snd_ump_block_info_t structure
Definition ump.c:853
snd_ump_endpoint_info_set_num_blocks
void snd_ump_endpoint_info_set_num_blocks(snd_ump_endpoint_info_t *info, unsigned int num_blocks)
set the number of UMP blocks of UMP endpoint
Definition ump.c:575
snd_ump_open
int snd_ump_open(snd_ump_t **inputp, snd_ump_t **outputp, const char *name, int mode)
Opens a new connection to the UMP interface.
Definition ump.c:58
snd_ump_endpoint_info_set_family_id
void snd_ump_endpoint_info_set_family_id(snd_ump_endpoint_info_t *info, unsigned int id)
set the UMP family ID of UMP endpoint
Definition ump.c:608
snd_ump_endpoint_info_malloc
int snd_ump_endpoint_info_malloc(snd_ump_endpoint_info_t **info)
allocate the snd_ump_endpoint_info_t structure
Definition ump.c:343
snd_ump_endpoint_info_set_protocol
void snd_ump_endpoint_info_set_protocol(snd_ump_endpoint_info_t *info, unsigned int protocols)
set the current protocol of UMP endpoint
Definition ump.c:564
snd_ump_endpoint_info_get_device
int snd_ump_endpoint_info_get_device(const snd_ump_endpoint_info_t *info)
get device number of UMP endpoint
Definition ump.c:400
_snd_ump_block_ui_hint
_snd_ump_block_ui_hint
Definition ump.h:132
snd_ump_rawmidi_status
int snd_ump_rawmidi_status(snd_ump_t *ump, snd_rawmidi_status_t *status)
get status of associated RawMidi stream
Definition ump.c:255
snd_ump_endpoint_info_copy
void snd_ump_endpoint_info_copy(snd_ump_endpoint_info_t *dst, const snd_ump_endpoint_info_t *src)
copy one snd_ump_endpoint_info_t structure to another
Definition ump.c:379
snd_ump_block_info_get_active
unsigned int snd_ump_block_info_get_active(const snd_ump_block_info_t *info)
get UMP block activeness
Definition ump.c:763
snd_ump_endpoint_info_set_product_id
void snd_ump_endpoint_info_set_product_id(snd_ump_endpoint_info_t *info, const char *id)
set the product ID string of UMP endpoint
Definition ump.c:652
snd_ump_rawmidi
snd_rawmidi_t * snd_ump_rawmidi(snd_ump_t *ump)
get RawMidi instance associated with the UMP handle
Definition ump.c:146
snd_rawmidi_params_t
struct _snd_rawmidi_params snd_rawmidi_params_t
Definition rawmidi.h:53
snd_rawmidi_t
struct _snd_rawmidi snd_rawmidi_t
Definition rawmidi.h:74
snd_ump_rawmidi_params
int snd_ump_rawmidi_params(snd_ump_t *ump, snd_rawmidi_params_t *params)
set parameters about associated RawMidi stream
Definition ump.c:233
snd_ump_poll_descriptors
int snd_ump_poll_descriptors(snd_ump_t *ump, struct pollfd *pfds, unsigned int space)
get poll descriptors
Definition ump.c:181
snd_ump_endpoint_info_get_protocol_caps
unsigned int snd_ump_endpoint_info_get_protocol_caps(const snd_ump_endpoint_info_t *info)
get UMP endpoint protocol capability bits
Definition ump.c:420
snd_ump_name
const char * snd_ump_name(snd_ump_t *ump)
get identifier of UMP handle
Definition ump.c:159
snd_ump_block_info_t
struct snd_ump_block_info snd_ump_block_info_t
Definition ump.h:33
snd_rawmidi_info_t
struct _snd_rawmidi_info snd_rawmidi_info_t
Definition rawmidi.h:51
snd_ump_endpoint_info_set_sw_revision
void snd_ump_endpoint_info_set_sw_revision(snd_ump_endpoint_info_t *info, const unsigned char *id)
set the UMP software revision of UMP endpoint
Definition ump.c:630
snd_ump_endpoint_info_set_version
void snd_ump_endpoint_info_set_version(snd_ump_endpoint_info_t *info, unsigned int version)
set the UMP version number of UMP endpoint
Definition ump.c:586
snd_ump_block_info_set_flags
void snd_ump_block_info_set_flags(snd_ump_block_info_t *info, unsigned int flags)
set UMP block information flags to snd_ump_block_info_t structure
Definition ump.c:914
snd_ump_endpoint_info_get_version
unsigned int snd_ump_endpoint_info_get_version(const snd_ump_endpoint_info_t *info)
get UMP version number
Definition ump.c:450
snd_ump_endpoint_info_set_protocol_caps
void snd_ump_endpoint_info_set_protocol_caps(snd_ump_endpoint_info_t *info, unsigned int caps)
set protocol capability bits of UMP endpoint
Definition ump.c:553
snd_ump_block_info_get_device
int snd_ump_block_info_get_device(const snd_ump_block_info_t *info)
get device number of UMP block
Definition ump.c:743
snd_ump_endpoint_info_get_card
int snd_ump_endpoint_info_get_card(const snd_ump_endpoint_info_t *info)
get card number of UMP endpoint
Definition ump.c:390
snd_ump_endpoint_info_get_sw_revision
const unsigned char * snd_ump_endpoint_info_get_sw_revision(const snd_ump_endpoint_info_t *info)
get UMP software revision
Definition ump.c:490
snd_ump_block_info_get_sysex8_streams
unsigned int snd_ump_block_info_get_sysex8_streams(const snd_ump_block_info_t *info)
get number of supported SysEx8 streams
Definition ump.c:823
snd_ump_endpoint_info_get_protocol
unsigned int snd_ump_endpoint_info_get_protocol(const snd_ump_endpoint_info_t *info)
get the current UMP endpoint protocol
Definition ump.c:430
snd_ump_block_info_set_num_groups
void snd_ump_block_info_set_num_groups(snd_ump_block_info_t *info, unsigned int num_groups)
set number of UMP groups to snd_ump_block_info_t structure
Definition ump.c:945
snd_ump_nonblock
int snd_ump_nonblock(snd_ump_t *ump, int nonblock)
set nonblock mode
Definition ump.c:211
snd_ump_block_info_get_block_id
unsigned int snd_ump_block_info_get_block_id(const snd_ump_block_info_t *info)
get UMP block ID
Definition ump.c:753
snd_ump_block_info_set_first_group
void snd_ump_block_info_set_first_group(snd_ump_block_info_t *info, unsigned int first_group)
set first UMP group to snd_ump_block_info_t structure
Definition ump.c:934
snd_ump_block_info_clear
void snd_ump_block_info_clear(snd_ump_block_info_t *info)
clears the snd_ump_block_info_t structure
Definition ump.c:712
snd_ump_endpoint_info_get_model_id
unsigned int snd_ump_endpoint_info_get_model_id(const snd_ump_endpoint_info_t *info)
get UMP model ID
Definition ump.c:480
snd_ump_endpoint_info_set_manufacturer_id
void snd_ump_endpoint_info_set_manufacturer_id(snd_ump_endpoint_info_t *info, unsigned int id)
set the UMP manufacturer ID of UMP endpoint
Definition ump.c:597
snd_ump_endpoint_info_set_name
void snd_ump_endpoint_info_set_name(snd_ump_endpoint_info_t *info, const char *name)
set the name of UMP endpoint
Definition ump.c:641
snd_ump_endpoint_info_t
struct snd_ump_endpoint_info snd_ump_endpoint_info_t
Definition ump.h:31
snd_ump_close
int snd_ump_close(snd_ump_t *ump)
close UMP handle
Definition ump.c:130
snd_ump_block_info_copy
void snd_ump_block_info_copy(snd_ump_block_info_t *dst, const snd_ump_block_info_t *src)
copy one snd_ump_block_info_t structure to another
Definition ump.c:722
snd_ump_rawmidi_info
int snd_ump_rawmidi_info(snd_ump_t *ump, snd_rawmidi_info_t *info)
get information about associated RawMidi handle
Definition ump.c:222
snd_ump_tread
ssize_t snd_ump_tread(snd_ump_t *ump, struct timespec *tstamp, void *buffer, size_t size)
read UMP packets from UMP stream with timestamp
Definition ump.c:318
snd_ump_endpoint_info_get_flags
unsigned int snd_ump_endpoint_info_get_flags(const snd_ump_endpoint_info_t *info)
get UMP endpoint info flags
Definition ump.c:410
snd_ump_block_info_free
void snd_ump_block_info_free(snd_ump_block_info_t *info)
frees the snd_ump_block_info_t structure
Definition ump.c:701
snd_ump_block_info_get_first_group
unsigned int snd_ump_block_info_get_first_group(const snd_ump_block_info_t *info)
get first UMP group ID belonging to the block
Definition ump.c:793
snd_ump_endpoint_info_set_flags
void snd_ump_endpoint_info_set_flags(snd_ump_endpoint_info_t *info, unsigned int flags)
set info flags of UMP endpoint
Definition ump.c:542
snd_ump_endpoint_info_get_num_blocks
unsigned int snd_ump_endpoint_info_get_num_blocks(const snd_ump_endpoint_info_t *info)
get the number of UMP blocks belonging to the endpoint
Definition ump.c:440
snd_ump_endpoint_info_get_name
const char * snd_ump_endpoint_info_get_name(const snd_ump_endpoint_info_t *info)
get UMP endpoint name string
Definition ump.c:500
snd_ump_block_info_set_active
void snd_ump_block_info_set_active(snd_ump_block_info_t *info, unsigned int active)
set activeness to snd_ump_block_info_t structure
Definition ump.c:904
snd_ump_drain
int snd_ump_drain(snd_ump_t *ump)
drain all packets in the UMP I/O ring buffer
Definition ump.c:278
snd_ump_block_info_get_card
int snd_ump_block_info_get_card(const snd_ump_block_info_t *info)
get card number of UMP block
Definition ump.c:733
snd_ump_endpoint_info_get_product_id
const char * snd_ump_endpoint_info_get_product_id(const snd_ump_endpoint_info_t *info)
get UMP endpoint product ID string
Definition ump.c:510
snd_ump_block_info_get_name
const char * snd_ump_block_info_get_name(const snd_ump_block_info_t *info)
get the name string of UMP block
Definition ump.c:843
snd_ump_block_info_get_flags
unsigned int snd_ump_block_info_get_flags(const snd_ump_block_info_t *info)
get UMP block information flags
Definition ump.c:773
SND_UMP_DIR_OUTPUT
@ SND_UMP_DIR_OUTPUT
Definition ump.h:63
SND_UMP_DIR_BIDIRECTION
@ SND_UMP_DIR_BIDIRECTION
Definition ump.h:65
SND_UMP_DIR_INPUT
@ SND_UMP_DIR_INPUT
Definition ump.h:61
SND_UMP_BLOCK_UI_HINT_BOTH
@ SND_UMP_BLOCK_UI_HINT_BOTH
Definition ump.h:140
SND_UMP_BLOCK_UI_HINT_UNKNOWN
@ SND_UMP_BLOCK_UI_HINT_UNKNOWN
Definition ump.h:134
SND_UMP_BLOCK_UI_HINT_SENDER
@ SND_UMP_BLOCK_UI_HINT_SENDER
Definition ump.h:138
SND_UMP_BLOCK_UI_HINT_RECEIVER
@ SND_UMP_BLOCK_UI_HINT_RECEIVER
Definition ump.h:136
flags
uint8_t flags
Definition ump_msg.h:6
status
uint8_t status
Definition ump_msg.h:3