00001 00031 #ifndef __TSEMAPHORE_H__ 00032 #define __TSEMAPHORE_H__ 00033 00036 typedef struct tsem_t{ 00037 pthread_cond_t condition; 00038 pthread_mutex_t mutex; 00039 unsigned int semval; 00040 }tsem_t; 00041 00048 void tsem_init(tsem_t* tsem, unsigned int val); 00049 00054 void tsem_deinit(tsem_t* tsem); 00055 00061 void tsem_down(tsem_t* tsem); 00062 00067 void tsem_up(tsem_t* tsem); 00068 00073 void tsem_reset(tsem_t* tsem); 00074 00079 void tsem_wait(tsem_t* tsem); 00080 00085 void tsem_signal(tsem_t* tsem); 00086 00087 #endif