Lines Matching refs:id
41 int tqueue_alloc_id(tqueue_t *tq, unsigned int *id)
43 if (!tq || !id) {
50 *id = i;
59 int tqueue_alloc_id_at(tqueue_t *tq, unsigned int id)
61 if (!tq || id >= tq->n) {
65 if (tq->array[id].allocated) {
69 tq->array[id].allocated = true;
73 int tqueue_free_id(tqueue_t *tq, unsigned int id)
79 if (id < 0 || id >= tq->n) {
80 ZF_LOGE("Invalid id");
84 if (!tq->array[id].allocated) {
85 ZF_LOGW("Freeing unallocated id");
90 if (tq->array[id].active) {
91 sglib_tqueue_node_t_delete(&tq->queue, &tq->array[id]);
92 tq->array[id].active = false;
95 tq->array[id].allocated = false;
99 int tqueue_register(tqueue_t *tq, unsigned int id, timeout_t *timeout)
105 if (id < 0 || id > tq->n || !tq->array[id].allocated) {
106 ZF_LOGE("invalid id");
111 if (tq->array[id].active) {
112 sglib_tqueue_node_t_delete(&tq->queue, &tq->array[id]);
116 tq->array[id].active = true;
117 tq->array[id].timeout = *timeout;
120 sglib_tqueue_node_t_add(&tq->queue, &tq->array[id]);
124 int tqueue_cancel(tqueue_t *tq, unsigned int id) {
130 /* iterate through the list until we find that id */
131 if (id < 0 || id > tq->n) {
132 ZF_LOGE("Invalid id");
137 if (tq->array[id].active) {
138 sglib_tqueue_node_t_delete(&tq->queue, &tq->array[id]);
141 tq->array[id].active = false;