Home | History | Annotate | Download | only in util

Lines Matching refs:fifo

42    struct util_fifo *fifo;
43 fifo = MALLOC(sizeof(*fifo) + size * sizeof(void*));
45 fifo->head = 0;
46 fifo->tail = 0;
47 fifo->num = 0;
48 fifo->size = size;
50 return fifo;
54 u_fifo_add(struct util_fifo *fifo, void *ptr)
56 void **array = (void**)&fifo[1];
57 if (fifo->num >= fifo->size)
60 if (++fifo->head >= fifo->size)
61 fifo->head = 0;
63 array[fifo->head] = ptr;
65 ++fifo->num;
71 u_fifo_pop(struct util_fifo *fifo, void **ptr)
73 void **array = (void**)&fifo[1];
75 if (!fifo->num)
78 if (++fifo->tail >= fifo->size)
79 fifo->tail = 0;
81 *ptr = array[fifo->tail];
83 ++fifo->num;
89 u_fifo_destroy(struct util_fifo *fifo)
91 FREE(fifo);