Lines Matching refs:hctl
52 snd_hctl_t *hctl;
179 static int hctl_event_handler(snd_hctl_t *hctl, unsigned int mask,
182 snd_mixer_t *mixer = snd_hctl_get_callback_private(hctl);
212 snd_hctl_t *hctl;
215 err = snd_hctl_open(&hctl, name, 0);
218 err = snd_mixer_attach_hctl(mixer, hctl);
227 * \param hctl the HCTL to be attached
230 * Upon error, this function closes the given hctl handle automatically.
232 int snd_mixer_attach_hctl(snd_mixer_t *mixer, snd_hctl_t *hctl)
237 assert(hctl);
240 snd_hctl_close(hctl);
243 err = snd_hctl_nonblock(hctl, 1);
245 snd_hctl_close(hctl);
249 snd_hctl_set_callback(hctl, hctl_event_handler);
250 snd_hctl_set_callback_private(hctl, mixer);
251 slave->hctl = hctl;
268 if (strcmp(name, snd_hctl_name(s->hctl)) == 0) {
269 snd_hctl_close(s->hctl);
281 * \param hctl HCTL previously attached
284 * Note: The hctl handle is not closed!
286 int snd_mixer_detach_hctl(snd_mixer_t *mixer, snd_hctl_t *hctl)
292 if (hctl == s->hctl) {
305 * \param hctl HCTL pointer
308 int snd_mixer_get_hctl(snd_mixer_t *mixer, const char *name, snd_hctl_t **hctl)
314 if (strcmp(name, snd_hctl_name(s->hctl)) == 0) {
315 *hctl = s->hctl;
539 elem = snd_hctl_first_elem(slave->hctl);
586 err = snd_hctl_load(s->hctl);
603 snd_hctl_free(s->hctl);
629 err = snd_hctl_close(s->hctl);
706 n = snd_hctl_poll_descriptors_count(s->hctl);
730 n = snd_hctl_poll_descriptors(s->hctl, pfds, space);
860 err = snd_hctl_handle_events(s->hctl);