#ifndef LIB_QUEUE_H #define LIB_QUEUE_H struct Entry { void* value; struct Entry* next; }; struct Queue { struct Entry start; }; // Add to beginning of queue void push_to_queue(struct Entry* e, struct Queue* q); // Remove from beginning of queue struct Entry* pop_from_queue(struct Queue* q); // Remove the next entry struct Entry* remove_next_from_queue(struct Entry* e); #endif