ALSA project - the C library reference
Loading...
Searching...
No Matches
Macros | Typedefs | Enumerations | Functions
ump.h File Reference

API library for ALSA rawmidi/UMP interface. More...

Include dependency graph for ump.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define SND_UMP_MAX_GROUPS   16
 
#define SND_UMP_MAX_BLOCKS   32
 
#define SND_UMP_EP_INFO_STATIC_BLOCKS   0x01
 
#define SND_UMP_EP_INFO_PROTO_MIDI_MASK   0x0300
 
#define SND_UMP_EP_INFO_PROTO_MIDI1   0x0100
 
#define SND_UMP_EP_INFO_PROTO_MIDI2   0x0200
 
#define SND_UMP_EP_INFO_PROTO_JRTS_MASK   0x0003
 
#define SND_UMP_EP_INFO_PROTO_JRTS_TX   0x0001
 
#define SND_UMP_EP_INFO_PROTO_JRTS_RX   0x0002
 
#define SND_UMP_EP_INFO_DEFAULT_VERSION   0x0101
 
#define snd_ump_endpoint_info_alloca(ptr)
 allocate an invalid snd_ump_endpoint_info_t using standard alloca
 
#define SND_UMP_BLOCK_IS_MIDI1   (1U << 0)
 
#define SND_UMP_BLOCK_IS_LOWSPEED   (1U << 1)
 
#define SND_UMP_BLOCK_INFO_DEFAULT_MIDI_CI_VERSION   0x01
 
#define snd_ump_block_info_alloca(ptr)
 allocate an invalid snd_ump_block_info_t using standard alloca
 

Typedefs

typedef struct _snd_ump snd_ump_t
 
typedef struct snd_ump_endpoint_info snd_ump_endpoint_info_t
 
typedef struct snd_ump_block_info snd_ump_block_info_t
 

Enumerations

enum  _snd_ump_direction { SND_UMP_DIR_INPUT = 0x01 , SND_UMP_DIR_OUTPUT = 0x02 , SND_UMP_DIR_BIDIRECTION = 0x03 }
 
enum  _snd_ump_block_ui_hint { SND_UMP_BLOCK_UI_HINT_UNKNOWN = 0x00 , SND_UMP_BLOCK_UI_HINT_RECEIVER = 0x01 , SND_UMP_BLOCK_UI_HINT_SENDER = 0x02 , SND_UMP_BLOCK_UI_HINT_BOTH = 0x03 }
 

Functions

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.
 
int snd_ump_close (snd_ump_t *ump)
 close UMP handle
 
snd_rawmidi_tsnd_ump_rawmidi (snd_ump_t *ump)
 get RawMidi instance associated with the UMP handle
 
const char * snd_ump_name (snd_ump_t *ump)
 get identifier of UMP handle
 
int snd_ump_poll_descriptors_count (snd_ump_t *ump)
 get count of poll descriptors for UMP handle
 
int snd_ump_poll_descriptors (snd_ump_t *ump, struct pollfd *pfds, unsigned int space)
 get poll descriptors
 
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
 
int snd_ump_nonblock (snd_ump_t *ump, int nonblock)
 set nonblock mode
 
int snd_ump_rawmidi_info (snd_ump_t *ump, snd_rawmidi_info_t *info)
 get information about associated RawMidi handle
 
int snd_ump_rawmidi_params (snd_ump_t *ump, snd_rawmidi_params_t *params)
 set parameters about associated RawMidi stream
 
int snd_ump_rawmidi_params_current (snd_ump_t *ump, snd_rawmidi_params_t *params)
 get current parameters about associated RawMidi stream
 
int snd_ump_rawmidi_status (snd_ump_t *ump, snd_rawmidi_status_t *status)
 get status of associated RawMidi stream
 
int snd_ump_drop (snd_ump_t *ump)
 drop all packets in the rawmidi I/O ring buffer immediately
 
int snd_ump_drain (snd_ump_t *ump)
 drain all packets in the UMP I/O ring buffer
 
ssize_t snd_ump_write (snd_ump_t *ump, const void *buffer, size_t size)
 write UMP packets to UMP stream
 
ssize_t snd_ump_read (snd_ump_t *ump, void *buffer, size_t size)
 read UMP packets from UMP stream
 
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
 
size_t snd_ump_endpoint_info_sizeof (void)
 get size of the snd_ump_endpoint_info_t structure in bytes
 
int snd_ump_endpoint_info_malloc (snd_ump_endpoint_info_t **info)
 allocate the snd_ump_endpoint_info_t structure
 
void snd_ump_endpoint_info_free (snd_ump_endpoint_info_t *info)
 frees the snd_ump_endpoint_info_t structure
 
void snd_ump_endpoint_info_clear (snd_ump_endpoint_info_t *info)
 clears the snd_ump_endpoint_info_t structure
 
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
 
int snd_ump_endpoint_info_get_card (const snd_ump_endpoint_info_t *info)
 get card number of UMP endpoint
 
int snd_ump_endpoint_info_get_device (const snd_ump_endpoint_info_t *info)
 get device number of UMP endpoint
 
unsigned int snd_ump_endpoint_info_get_flags (const snd_ump_endpoint_info_t *info)
 get UMP endpoint info flags
 
unsigned int snd_ump_endpoint_info_get_protocol_caps (const snd_ump_endpoint_info_t *info)
 get UMP endpoint protocol capability bits
 
unsigned int snd_ump_endpoint_info_get_protocol (const snd_ump_endpoint_info_t *info)
 get the current UMP endpoint protocol
 
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
 
unsigned int snd_ump_endpoint_info_get_version (const snd_ump_endpoint_info_t *info)
 get UMP version number
 
unsigned int snd_ump_endpoint_info_get_manufacturer_id (const snd_ump_endpoint_info_t *info)
 get UMP manufacturer ID
 
unsigned int snd_ump_endpoint_info_get_family_id (const snd_ump_endpoint_info_t *info)
 get UMP family ID
 
unsigned int snd_ump_endpoint_info_get_model_id (const snd_ump_endpoint_info_t *info)
 get UMP model ID
 
const unsigned char * snd_ump_endpoint_info_get_sw_revision (const snd_ump_endpoint_info_t *info)
 get UMP software revision
 
const char * snd_ump_endpoint_info_get_name (const snd_ump_endpoint_info_t *info)
 get UMP endpoint name string
 
const char * snd_ump_endpoint_info_get_product_id (const snd_ump_endpoint_info_t *info)
 get UMP endpoint product ID string
 
int snd_ump_endpoint_info (snd_ump_t *ump, snd_ump_endpoint_info_t *info)
 get endpoint information about UMP handle
 
void snd_ump_endpoint_info_set_card (snd_ump_endpoint_info_t *info, unsigned int card)
 set card number of UMP endpoint
 
void snd_ump_endpoint_info_set_device (snd_ump_endpoint_info_t *info, unsigned int device)
 set device number of UMP endpoint
 
void snd_ump_endpoint_info_set_flags (snd_ump_endpoint_info_t *info, unsigned int flags)
 set info flags of UMP endpoint
 
void snd_ump_endpoint_info_set_protocol_caps (snd_ump_endpoint_info_t *info, unsigned int caps)
 set protocol capability bits of UMP endpoint
 
void snd_ump_endpoint_info_set_protocol (snd_ump_endpoint_info_t *info, unsigned int protocols)
 set the current protocol of UMP endpoint
 
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
 
void snd_ump_endpoint_info_set_version (snd_ump_endpoint_info_t *info, unsigned int version)
 set the UMP version number of UMP endpoint
 
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
 
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
 
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
 
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
 
void snd_ump_endpoint_info_set_name (snd_ump_endpoint_info_t *info, const char *name)
 set the name of UMP endpoint
 
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
 
size_t snd_ump_block_info_sizeof (void)
 get size of the snd_ump_block_info_t structure in bytes
 
int snd_ump_block_info_malloc (snd_ump_block_info_t **info)
 allocate the snd_ump_block_info_t structure
 
void snd_ump_block_info_free (snd_ump_block_info_t *info)
 frees the snd_ump_block_info_t structure
 
void snd_ump_block_info_clear (snd_ump_block_info_t *info)
 clears the snd_ump_block_info_t structure
 
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
 
int snd_ump_block_info_get_card (const snd_ump_block_info_t *info)
 get card number of UMP block
 
int snd_ump_block_info_get_device (const snd_ump_block_info_t *info)
 get device number of UMP block
 
unsigned int snd_ump_block_info_get_block_id (const snd_ump_block_info_t *info)
 get UMP block ID
 
unsigned int snd_ump_block_info_get_active (const snd_ump_block_info_t *info)
 get UMP block activeness
 
unsigned int snd_ump_block_info_get_flags (const snd_ump_block_info_t *info)
 get UMP block information flags
 
unsigned int snd_ump_block_info_get_direction (const snd_ump_block_info_t *info)
 get UMP block direction
 
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
 
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
 
unsigned int snd_ump_block_info_get_midi_ci_version (const snd_ump_block_info_t *info)
 get MIDI-CI version number
 
unsigned int snd_ump_block_info_get_sysex8_streams (const snd_ump_block_info_t *info)
 get number of supported SysEx8 streams
 
unsigned int snd_ump_block_info_get_ui_hint (const snd_ump_block_info_t *info)
 get UI hint of the given UMP block
 
const char * snd_ump_block_info_get_name (const snd_ump_block_info_t *info)
 get the name string of UMP block
 
int snd_ump_block_info (snd_ump_t *ump, snd_ump_block_info_t *info)
 get UMP block information
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 

Detailed Description

API library for ALSA rawmidi/UMP interface.

API library for ALSA rawmidi/UMP interface