yumapro  20.10-12
YumaPro SDK
dlq.h File Reference

dlq provides general double-linked list and queue support: More...

#include "procdefs.h"
Include dependency graph for dlq.h:

Go to the source code of this file.

Data Structures

struct  TAGdlq_hdrT
 dlq header used for both the control block for a queue and also a queue header node within another structure More...
 

Macros

#define dlq_nextEntry(nodeP)
 get the next queue entry after the current entry More...
 
#define dlq_prevEntry(nodeP)
 get the previous queue entry before the current entry More...
 
#define dlq_firstEntry(listP)
 get the first entry in the queue list More...
 
#define dlq_lastEntry(listP)
 get the last entry in the queue list More...
 
#define dlq_empty(listP)   (boolean)((listP)==((const dlq_hdrT *)(listP))->next)
 check if queue list is empty More...
 

Functions

dlq_hdrT * dlq_createQue (void)
 create a dynamic queue header More...
 
void dlq_createSQue (dlq_hdrT *queAddr)
 create a static queue header More...
 
void dlq_destroyQue (dlq_hdrT *listP)
 free a dynamic queue header previously allocated with dlq_createQue More...
 
void dlq_enque (REG void *newP, REG dlq_hdrT *listP)
 add a queue node to the end of a queue list Add newP to listP More...
 
void * dlq_deque (dlq_hdrT *listP)
 remove the first queue node from the queue list More...
 
void dlq_insertAhead (void *newP, void *nodeP)
 insert the new queue entry before the current entry More...
 
void dlq_insertAfter (void *newP, void *nodeP)
 insert the new queue entry after the current entry More...
 
void dlq_remove (void *nodeP)
 remove the queue entry from its queue list entry MUST have been enqueued somehow before this function is called More...
 
void dlq_swap (void *new_node, void *cur_node)
 remove the cur_node queue entry from its queue list and replace it with the new_node More...
 
void dlq_block_enque (dlq_hdrT *srcP, dlq_hdrT *dstP)
 add all the queue entries in the srcP queue list to the end of the dstP queue list More...
 
void dlq_block_insertAhead (dlq_hdrT *srcP, void *dstP)
 insert all the entries in the srcP queue list before the dstP queue entry More...
 
void dlq_block_insertAfter (dlq_hdrT *srcP, void *dstP)
 insert all the entries in the srcP queue list after the dstP queue entry More...
 
void dlq_block_move (dlq_hdrT *srcQ, void *srcP, dlq_hdrT *dstQ)
 enque from [srcP . More...
 
unsigned int dlq_count (const dlq_hdrT *listP)
 get the number of queue entries in the listP queue list More...
 
boolean dlq_onQueue (const dlq_hdrT *nodeP)
 Determine where a data node header is on a queue or not. More...
 
void dlq_reverse_que (dlq_hdr_t *que)
 Reverse the order of all the entries in a Q. More...
 

Detailed Description

dlq provides general double-linked list and queue support: