|
OpenMAXBellagio 0.9.3
|
00001 00027 #ifndef __TSEMAPHORE_H__ 00028 #define __TSEMAPHORE_H__ 00029 #ifdef ANDROID_COMPILATION 00030 #include <oscl_base_macros.h> 00031 #else 00032 #define OSCL_IMPORT_REF 00033 #define OSCL_EXPORT_REF 00034 #endif 00035 00038 typedef struct tsem_t{ 00039 pthread_cond_t condition; 00040 pthread_mutex_t mutex; 00041 unsigned int semval; 00042 }tsem_t; 00043 00050 OSCL_IMPORT_REF int tsem_init(tsem_t* tsem, unsigned int val); 00051 00056 OSCL_IMPORT_REF void tsem_deinit(tsem_t* tsem); 00057 00063 OSCL_IMPORT_REF void tsem_down(tsem_t* tsem); 00064 00072 OSCL_IMPORT_REF int tsem_timed_down(tsem_t* tsem, unsigned int milliSecondsDelay); 00073 00078 OSCL_IMPORT_REF void tsem_up(tsem_t* tsem); 00079 00084 OSCL_IMPORT_REF void tsem_reset(tsem_t* tsem); 00085 00090 OSCL_IMPORT_REF void tsem_wait(tsem_t* tsem); 00091 00096 OSCL_IMPORT_REF void tsem_signal(tsem_t* tsem); 00097 00098 #endif