Go to the documentation of this file.
102 #define _CH_QUEUE_DATA(name) {(ch_queue_t *)&name, (ch_queue_t *)&name}
111 #define CH_QUEUE_DECL(name) \
112 ch_queue_t name = _CH_QUEUE_DATA(name)
153 return (
bool)(lp->
next == lp);
166 return (
bool)(lp->
next != lp);
223 return (
bool)(qp->
next == qp);
236 return (
bool)(qp->
next != qp);
325 pqp->prio = (tprio_t)0;
364 }
while (pqp->prio >= p->prio);
393 }
while (pqp->prio > p->prio);
ch_queue_t * next
Next in the list/queue.
ch_list_t * next
Next in the list/queue.
static bool ch_queue_notempty(const ch_queue_t *qp)
Evaluates to true if the specified queue is not empty.
static bool ch_queue_isempty(const ch_queue_t *qp)
Evaluates to true if the specified queue is empty.
static void ch_list_push(ch_list_t *p, ch_list_t *lp)
Pushes an element on top of a stack list.
static bool ch_list_notempty(ch_list_t *lp)
Evaluates to true if the specified list is not empty.
static ch_priority_queue_t * ch_pqueue_insert_ahead(ch_priority_queue_t *pqp, ch_priority_queue_t *p)
Inserts an element in the priority queue placing it ahead of its peers.
static ch_queue_t * ch_queue_fifo_remove(ch_queue_t *qp)
Removes the first-out element from a queue and returns it.
static ch_priority_queue_t * ch_pqueue_remove_highest(ch_priority_queue_t *pqp)
Removes the highest priority element from a priority queue and returns it.
static ch_priority_queue_t * ch_pqueue_insert_behind(ch_priority_queue_t *pqp, ch_priority_queue_t *p)
Inserts an element in the priority queue placing it behind its peers.
Structure representing a generic bidirectional linked list header and element.
static ch_list_t * ch_list_pop(ch_list_t *lp)
Pops an element from the top of a stack list and returns it.
static void ch_queue_init(ch_queue_t *qp)
Queue initialization.
static ch_queue_t * ch_queue_lifo_remove(ch_queue_t *qp)
Removes the last-out element from a queue and returns it.
static bool ch_list_isempty(ch_list_t *lp)
Evaluates to true if the specified list is empty.
static void ch_pqueue_init(ch_priority_queue_t *pqp)
Priority queue initialization.
ch_priority_queue_t * next
Next in the list/queue.
ch_queue_t * prev
Previous in the queue.
ch_priority_queue_t * prev
Previous in the queue.
static ch_queue_t * ch_queue_dequeue(ch_queue_t *p)
Removes an element from a queue and returns it.
Structure representing a generic single link list header and element.
Structure representing a generic priority-ordered bidirectional linked list header and element.
static void ch_queue_insert(ch_queue_t *p, ch_queue_t *qp)
Inserts an element into a queue.
static void ch_list_init(ch_list_t *lp)
List initialization.