#ifndef LIBTUBERIA_ITC_H__ #define LIBTUBERIA_ITC_H__ typedef struct itc itc; typedef void (*itc_free_element)(void *element); itc *itc_alloc(int nslots); void itc_free(itc **ctx, itc_free_element free_element); void *itc_retrieve(itc *ctx, int timeout_ms); int itc_inject(itc *ctx, int timeout_ms, void *element); void itc_wait_empty(itc *ctx); void itc_discard_all(itc *ctx, itc_free_element free_element); int itc_get_queued(itc *ctx); int itc_get_slots(itc *ctx); #endif //LIBTUBERIA_ITC_H__