00001 00029 #ifndef __TQUEUE_H__ 00030 #define __TQUEUE_H__ 00031 00032 #include <pthread.h> 00035 #define MAX_QUEUE_ELEMENTS 10 00036 00038 typedef struct qelem_t qelem_t; 00039 struct qelem_t{ 00040 qelem_t* q_forw; 00041 void* data; 00042 }; 00043 00046 typedef struct queue_t{ 00047 qelem_t* first; 00048 qelem_t* last; 00049 int nelem; 00050 pthread_mutex_t mutex; 00051 } queue_t; 00052 00058 void queue_init(queue_t* queue); 00059 00065 void queue_deinit(queue_t* queue); 00066 00073 void queue(queue_t* queue, void* data); 00074 00082 void* dequeue(queue_t* queue); 00083 00090 int getquenelem(queue_t* queue); 00091 00092 #endif