MP6 Parallel Make
queue.h
Go to the documentation of this file.
00001 
00002 #ifndef __QUEUE_H__
00003 #define __QUEUE_H__
00004 
00008 /*struct queue_node {
00009         void *item; ///<Stored value
00010         struct queue_node *next; ///<Link to next node
00011 };*/
00012 
00016 typedef struct {
00017         struct queue_node *head; 
00018         struct queue_node *tail; 
00019         unsigned int size; 
00020 } queue_t;
00021 
00022 void queue_init(queue_t *q);
00023 void queue_destroy(queue_t *q);
00024 
00025 void *queue_dequeue(queue_t *q);
00026 void *queue_at(queue_t *q, int pos);
00027 void *queue_remove_at(queue_t *q, int pos);
00028 void queue_enqueue(queue_t *q, void *item);
00029 unsigned int queue_size(queue_t *q);
00030 
00031 void queue_iterate(queue_t *q, void (*iter_func)(void *, void *), void *arg);
00032 
00033 #endif
 All Data Structures Files Functions Variables Enumerations