/* * file: queue.c * * circular queue * */ #include #include #include #include "queue.h" void initFifoQ (struct fifo* queue) { int i; for (i=0; idata[i] =0; queue->size=0; queue->front=0; queue->back=0; } void addFifoQ (struct fifo* queue, int item){ if (queue->size == MAX_QUEUE_SIZE) { size= -1; // error status printf(" ERROR: QUEUE OVERFLOW\n"); return; } queue->data[queue->back]=i; queue->back = (queue->back + 1) % MAX_QUEUE_SIZE; } int emptyFifoQ (struct fifo* queue){ // zero out the queue return(queue->front == queue->back); } int popFifoQ (struct fifo*); // return -1 if empty queue