INSEE 05.04.2011
Interconnection Nertworks Simulation and Evaluation Environment
C:/cygwin/home/Javier/insee/src/queue.h
Go to the documentation of this file.
00001 
00005 #ifndef _queue
00006 #define _queue
00007 
00008 #include "phit.h"
00009 #include "misc.h"
00010 
00014 typedef struct queue {
00015     long head;  
00016     long tail;  
00017     phit * pos; 
00018 } queue;
00019 
00023 typedef struct inj_queue {
00024     long head;  
00025     long tail;  
00026     phit * pos; 
00027 } inj_queue;
00028 
00029 // some declarations in queue.c.
00030 void init_queue (queue *q);
00031 long queue_len (queue *q);
00032 long queue_space (queue *q);
00033 phit * head_queue (queue *q);
00034 void ins_queue (queue *q, phit *i);
00035 void ins_mult_queue (queue *q, phit *i, long copies);
00036 void rem_queue (queue *q, phit *i);
00037 void rem_head_queue (queue *q);
00038 
00039 // some declarations in queue_inj.c.
00040 void inj_init_queue (inj_queue *q);
00041 long inj_queue_len (inj_queue *q);
00042 long inj_queue_space (inj_queue *q);
00043 void inj_ins_queue (inj_queue *q, phit *i);
00044 void inj_ins_mult_queue (inj_queue *q, phit *i, long copies);
00045 void inj_rem_queue (inj_queue *q, phit *i);
00046 
00047 #endif /* _queue */
00048 
00049