Added setup functions for rawmidi and timer interfaces.
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);
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);
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)
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;