00001 #define queue_t struct queue_t_t 00002 #define queue_node_t struct queue_node_t_t 00003 00004 #ifndef SIM_QUEUE 00005 #define SIM_QUEUE 00006 00007 queue_t* create_queue(); 00008 void destroy_queue(queue_t *q); 00009 void enqueue_item(queue_t *q, void *item); 00010 void* dequeue_item(queue_t *q); 00011 int is_empty (queue_t *q); 00012 00013 struct queue_node_t_t 00014 { 00015 queue_node_t *next; 00016 void *item; 00017 }; 00018 00019 struct queue_t_t 00020 { 00021 queue_node_t *head; 00022 queue_node_t *tail; 00023 int count; 00024 }; 00025 00026 #endif