Lines Matching refs:queue
52 int u_vector_init(struct u_vector *queue, uint32_t element_size, uint32_t size);
53 void *u_vector_add(struct u_vector *queue);
54 void *u_vector_remove(struct u_vector *queue);
57 u_vector_length(struct u_vector *queue) in u_vector_length() argument
59 return (queue->head - queue->tail) / queue->element_size; in u_vector_length()
78 u_vector_finish(struct u_vector *queue) in u_vector_finish() argument
80 free(queue->data); in u_vector_finish()
83 #define u_vector_foreach(elem, queue) \ argument
84 STATIC_ASSERT(__builtin_types_compatible_p(__typeof__(queue), struct u_vector *)); \
85 for (uint32_t __u_vector_offset = (queue)->tail; \
86 …elem = (void *)((char *)(queue)->data + (__u_vector_offset & ((queue)->size - 1))), __u_vector_off…
87 __u_vector_offset += (queue)->element_size)