From 986c1500d256b67a51e567fbb7835e5431b88192 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 18 Apr 2000 15:20:12 +0000 Subject: [PATCH] Another API cleanups. Added setup functions for rawmidi and timer interfaces. --- include/rawmidi.h | 1 + include/timer.h | 1 + src/rawmidi/rawmidi.c | 11 +++++++++++ src/timer/timer.c | 12 ++++++++++++ 4 files changed, 25 insertions(+) diff --git a/include/rawmidi.h b/include/rawmidi.h index ccaea8dc..0ef35c41 100644 --- a/include/rawmidi.h +++ b/include/rawmidi.h @@ -24,6 +24,7 @@ int snd_rawmidi_file_descriptor(snd_rawmidi_t *handle); int snd_rawmidi_block_mode(snd_rawmidi_t *handle, int enable); int snd_rawmidi_info(snd_rawmidi_t *handle, snd_rawmidi_info_t * info); int snd_rawmidi_channel_params(snd_rawmidi_t *handle, snd_rawmidi_params_t * params); +int snd_rawmidi_channel_setup(snd_rawmidi_t *handle, snd_rawmidi_setup_t * setup); int snd_rawmidi_channel_status(snd_rawmidi_t *handle, snd_rawmidi_status_t * status); int snd_rawmidi_output_drain(snd_rawmidi_t *handle); int snd_rawmidi_output_flush(snd_rawmidi_t *handle); diff --git a/include/timer.h b/include/timer.h index fd0e9e12..49c69437 100644 --- a/include/timer.h +++ b/include/timer.h @@ -18,6 +18,7 @@ int snd_timer_general_info(snd_timer_t *handle, snd_timer_general_info_t * info) int snd_timer_select(snd_timer_t *handle, snd_timer_select_t *tselect); int snd_timer_info(snd_timer_t *handle, snd_timer_info_t *timer); int snd_timer_params(snd_timer_t *handle, snd_timer_params_t *params); +int snd_timer_setup(snd_timer_t *handle, snd_timer_setup_t *setup); int snd_timer_status(snd_timer_t *handle, snd_timer_status_t *status); int snd_timer_start(snd_timer_t *handle); int snd_timer_stop(snd_timer_t *handle); diff --git a/src/rawmidi/rawmidi.c b/src/rawmidi/rawmidi.c index f94d1e6c..490c44b2 100644 --- a/src/rawmidi/rawmidi.c +++ b/src/rawmidi/rawmidi.c @@ -133,6 +133,17 @@ int snd_rawmidi_channel_params(snd_rawmidi_t *rmidi, snd_rawmidi_params_t * para return 0; } +int snd_rawmidi_channel_setup(snd_rawmidi_t *rmidi, snd_rawmidi_setup_t * setup) +{ + if (!rmidi || !setup) + return -EINVAL; + if (setup->channel < 0 || setup->channel > 1) + return -EINVAL; + if (ioctl(rmidi->fd, SND_RAWMIDI_IOCTL_CHANNEL_SETUP, setup) < 0) + return -errno; + return 0; +} + int snd_rawmidi_channel_status(snd_rawmidi_t *rmidi, snd_rawmidi_status_t * status) { if (!rmidi || !status) diff --git a/src/timer/timer.c b/src/timer/timer.c index 5f17d38f..e99e3ddc 100644 --- a/src/timer/timer.c +++ b/src/timer/timer.c @@ -136,6 +136,18 @@ int snd_timer_params(snd_timer_t *handle, snd_timer_params_t * params) return 0; } +int snd_timer_setup(snd_timer_t *handle, snd_timer_setup_t * setup) +{ + snd_timer_t *tmr; + + tmr = handle; + if (!tmr || !setup) + return -EINVAL; + if (ioctl(tmr->fd, SND_TIMER_IOCTL_SETUP, setup) < 0) + return -errno; + return 0; +} + int snd_timer_status(snd_timer_t *handle, snd_timer_status_t * status) { snd_timer_t *tmr; -- 2.47.1