Lines Matching defs:iter

196 			(snd_use_case_mgr_t *uc_mgr, struct lookup_iterate *iter);
205 int (*init)(snd_use_case_mgr_t *uc_mgr, struct lookup_iterate *iter,
207 void (*done)(struct lookup_iterate *iter);
210 char *(*retfcn)(struct lookup_iterate *iter, snd_config_t *config);
220 struct lookup_iterate *iter)
241 if (iter->init && iter->init(uc_mgr, iter, config))
249 for (fcn = iter->fcns ; fcn; fcn++) {
251 iter->fcn = fcn->fcn;
255 if (iter->fcn == NULL) {
272 for (curr = iter->first(uc_mgr, iter); curr; curr = iter->next(uc_mgr, iter)) {
273 s = curr->fcn(iter->info);
277 result = curr->retfcn(iter, config);
284 if (iter->done)
285 iter->done(iter);
293 struct lookup_iterate *iter,
298 iter->ctl_list = uc_mgr_get_ctl_by_card(uc_mgr, card);
299 if (iter->ctl_list == NULL)
301 iter->info = iter->ctl_list->ctl_info;
302 return iter;
306 struct lookup_iterate *iter)
308 return rval_card_lookup1(uc_mgr, iter, -1);
312 struct lookup_iterate *iter)
314 return rval_card_lookup1(uc_mgr, iter, snd_ctl_card_info_get_card(iter->info));
317 static char *rval_card_lookup_return(struct lookup_iterate *iter, snd_config_t *config)
323 return strdup(snd_ctl_card_info_get_id(iter->info));
327 return strdup(snd_ctl_card_info_get_id(iter->info));
330 snprintf(num, sizeof(num), "%d", snd_ctl_card_info_get_card(iter->info));
349 struct lookup_iterate iter = {
355 return rval_lookup_main(uc_mgr, query, &iter);
358 static struct lookup_iterate *rval_pcm_lookup1(struct lookup_iterate *iter,
362 snd_ctl_t *ctl = iter->ctl_list->ctl;
368 pcminfo = iter->info;
377 return iter;
381 struct lookup_iterate *iter)
383 return rval_pcm_lookup1(iter, -1);
387 struct lookup_iterate *iter)
389 return rval_pcm_lookup1(iter, snd_pcm_info_get_device(iter->info));
392 static char *rval_pcm_lookup_return(struct lookup_iterate *iter,
396 snprintf(num, sizeof(num), "%d", snd_pcm_info_get_device(iter->info));
400 static int rval_pcm_lookup_init(struct lookup_iterate *iter,
430 iter->first = rval_pcm_lookup_first;
431 iter->next = rval_pcm_lookup_next;
432 iter->retfcn = rval_pcm_lookup_return;
433 iter->fcns = pcm_fcns;
434 iter->info = pcminfo;
439 struct lookup_iterate *iter,
444 int (*init)(struct lookup_iterate *iter, snd_config_t *config);
454 iter->ctl_list = uc_mgr_get_master_ctl(uc_mgr);
455 if (iter->ctl_list == NULL) {
460 err = uc_mgr_open_ctl(uc_mgr, &iter->ctl_list, s, 1);
472 return t->init(iter, config);
477 static void rval_device_lookup_done(struct lookup_iterate *iter)
479 free(iter->info);
484 struct lookup_iterate iter = {
488 return rval_lookup_main(uc_mgr, query, &iter);