extern void *new_queue(int capacity); extern void free_queue(void *queue); extern void queue_enqueue(void *queue, void *value); extern void *queue_dequeue(void *queue); extern void *queue_peek(void *queue); extern int queue_empty(void *queue); extern int queue_full(void *queue); extern int queue_size(void *queue);