Lines Matching refs:entry
44 static void remove_source_entry(struct src_entry *entry)
46 list_del(&entry->list);
47 if (entry->handle)
48 snd_ctl_close(entry->handle);
49 free(entry->name);
50 free(entry);
55 struct src_entry *entry, *tmp;
57 list_for_each_entry_safe(entry, tmp, srcs, list)
58 remove_source_entry(entry);
64 struct src_entry *entry;
68 entry = calloc(1, sizeof(*entry));
69 if (!entry)
71 INIT_LIST_HEAD(&entry->list);
72 entry->handle = handle;
74 entry->name = strdup(name);
75 if (!entry->name) {
89 entry->pfd_count = count;
91 list_add_tail(&entry->list, srcs);
95 remove_source_entry(entry);
121 struct src_entry *entry;
123 list_for_each_entry(entry, srcs, list) {
124 if (!strcmp(entry->name, name))
243 struct src_entry *entry)
250 pfds = calloc(entry->pfd_count, sizeof(*pfds));
254 count = snd_ctl_poll_descriptors(entry->handle, pfds, entry->pfd_count);
259 if (count != (int)entry->pfd_count) {
264 for (i = 0; i < (int)entry->pfd_count; ++i) {
278 struct src_entry *entry;
291 list_for_each_entry(entry, srcs, list) {
293 ev.data.ptr = (void *)entry;
294 err = operate_dispatcher(epfd, EPOLL_CTL_ADD, &ev, entry);
305 struct src_entry *entry;
311 list_for_each_entry(entry, srcs, list)
312 max_ev_count += entry->pfd_count;
345 entry = ev->data.ptr;
347 print_event(entry->handle, entry->name);
349 operate_dispatcher(epfd, EPOLL_CTL_DEL, NULL, entry);
350 remove_source_entry(entry);
362 struct src_entry *entry;
364 list_for_each_entry(entry, srcs, list)
365 operate_dispatcher(epfd, EPOLL_CTL_DEL, NULL, entry);