void sanity_test_list() { list_add(&test_list, &elements[0].list); list_add(&test_list, &elements[1].list); list_add(&test_list, &elements[2].list); list_foreach(&test_list, test_cb, NULL); printf("\n"); int elem_to_remove = 2; list_foreach_del(&test_list, test_cb_del, (void*)&elem_to_remove); list_foreach(&test_list, test_cb, NULL); printf("\n"); list_add(&test_list, &elements[1].list); list_foreach(&test_list, test_cb, NULL); printf("\n"); list_foreach_del(&test_list, test_cb_del, (void*)&elem_to_remove); list_foreach(&test_list, test_cb, NULL); printf("\n"); list_add(&test_list, &elements[1].list); list_foreach(&test_list, test_cb, NULL); printf("\n"); elem_to_remove = 1; list_foreach_del(&test_list, test_cb_del, (void*)&elem_to_remove); list_foreach(&test_list, test_cb, NULL); printf("\n"); elem_to_remove = 3; list_foreach_del(&test_list, test_cb_del, (void*)&elem_to_remove); list_foreach(&test_list, test_cb, NULL); printf("\n"); elem_to_remove = 2; list_foreach_del(&test_list, test_cb_del, (void*)&elem_to_remove); list_foreach(&test_list, test_cb, NULL); printf("\n"); }
void notify_service_avail(int service_id) { int svc_id = service_id; list_foreach_del(&service_avail_listeners, notify_service_avail_cb, &svc_id); }