/****************************************************************************** * * @brief Implement a first in, first out linked list. * *******************************************************************************/ #ifndef _QUEUE_H_ #define _QUEUE_H_ /********************************************************************/ /* * Individual queue node */ typedef struct NODE { struct NODE *next; } QNODE; /* * Queue Struture - linked list of qentry items */ typedef struct { QNODE *head; QNODE *tail; } QUEUE; /* * Functions provided by queue.c */ void queue_init(QUEUE *); int queue_isempty(QUEUE *); void queue_add(QUEUE *, QNODE *); QNODE* queue_remove(QUEUE *); QNODE* queue_peek(QUEUE *); void queue_move(QUEUE *, QUEUE *); /********************************************************************/ #endif /* _QUEUE_H_ */