25 #ifndef __MOTR_LIB_QUEUE_H__ 26 #define __MOTR_LIB_QUEUE_H__ struct m0_queue_link * q_tail
static struct m0_semaphore q
M0_INTERNAL bool m0_queue_is_empty(const struct m0_queue *q)
M0_INTERNAL void m0_queue_link_fini(struct m0_queue_link *ql)
M0_INTERNAL void m0_queue_link_init(struct m0_queue_link *ql)
const struct m0_queue M0_QUEUE_INIT
struct m0_queue_link * ql_next
M0_INTERNAL bool m0_queue_contains(const struct m0_queue *q, const struct m0_queue_link *ql)
M0_INTERNAL struct m0_queue_link * m0_queue_get(struct m0_queue *q)
struct m0_queue_link * q_head
M0_INTERNAL void m0_queue_put(struct m0_queue *q, struct m0_queue_link *ql)
M0_INTERNAL size_t m0_queue_length(const struct m0_queue *q)
M0_INTERNAL void m0_queue_init(struct m0_queue *q)
M0_INTERNAL bool m0_queue_invariant(const struct m0_queue *q)
M0_INTERNAL void m0_queue_fini(struct m0_queue *q)
M0_INTERNAL bool m0_queue_link_is_in(const struct m0_queue_link *ql)