#ifndef QUEUE_H #define QUEUE_H struct queue; typedef struct queue *queue; extern queue queue_create(void); extern queue queue_enq(queue q, void *element); extern int queue_empty(queue q); /* Precondition: the queue must not be empty as reported by queue_empty() */ extern queue queue_deq(queue q); /* Precondition: the queue must not be empty as reported by queue_empty() */ extern void *queue_front(queue q); #endif