zeroSquitto – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 /*************************************************************************/
2 /* Queue structure definition. */
3 /*************************************************************************/
4 typedef struct {
5 int size;
6 char **store;
7 int head, tail;
8 } Queue;
9  
10 /*************************************************************************/
11 /* Queue operations. */
12 /*************************************************************************/
13 extern Queue *queueCreate(int size);
14 extern void queueEnqueue(Queue *q, char *e);
15 extern char *queueDequeue(Queue *q);
16 extern Queue *queueClear(Queue *q);
17 extern void queuePrint(Queue *q);
18 extern char *queueInlinePrint(Queue *q);
19  
20 /*************************************************************************/
21 /* Queue macros. */
22 /*************************************************************************/
23 /* Determines if the queue is empty. */
24 #define queueIsEmpty(q) (q->tail == q->head)
25 /* Returns the size of the allocated queue. */
26 #define queueSize(q) q->size
27 /* Returns the number of items in the queue. */
28 #define queueCount(q) q->tail - q->head