int snd_mixer_channel_info(void *handle, int channel, snd_mixer_channel_info_t * info);
int snd_mixer_channel_read(void *handle, int channel, snd_mixer_channel_t * data);
int snd_mixer_channel_write(void *handle, int channel, snd_mixer_channel_t * data);
+int snd_mixer_channel_record_read(void *handle, int channel, snd_mixer_channel_t * data);
+int snd_mixer_channel_record_write(void *handle, int channel, snd_mixer_channel_t * data);
int snd_mixer_switches(void *handle);
int snd_mixer_switch_read(void *handle, int switchn, snd_mixer_switch_t * data);
int snd_mixer_switch_write(void *handle, int switchn, snd_mixer_switch_t * data);
return 0;
}
+int snd_mixer_channel_record_read(void *handle, int channel, snd_mixer_channel_t * data)
+{
+ snd_mixer_t *mixer;
+
+ mixer = (snd_mixer_t *) handle;
+ if (!mixer)
+ return -EINVAL;
+ data->channel = channel;
+ if (ioctl(mixer->fd, SND_MIXER_IOCTL_CHANNEL_RREAD, data) < 0)
+ return -errno;
+ return 0;
+}
+
+int snd_mixer_channel_record_write(void *handle, int channel, snd_mixer_channel_t * data)
+{
+ snd_mixer_t *mixer;
+
+ mixer = (snd_mixer_t *) handle;
+ if (!mixer)
+ return -EINVAL;
+ data->channel = channel;
+ if (ioctl(mixer->fd, SND_MIXER_IOCTL_CHANNEL_RWRITE, data) < 0)
+ return -errno;
+ return 0;
+}
+
int snd_mixer_switches(void *handle)
{
snd_mixer_t *mixer;