00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __OSKA_SEMAPHORE_H
00010 #define __OSKA_SEMAPHORE_H
00011
00012 #ifdef __OSKA_API_DOC
00013
00020 typedef implementation_defined os_semaphore_t;
00021
00031 void os_semaphore_init(os_semaphore_t *sem);
00032
00045 void os_semaphore_destroy(os_semaphore_t *sem);
00046
00056 void os_semaphore_wait(os_semaphore_t *sem);
00057
00072 int os_semaphore_wait_timed(os_semaphore_t *sem, int time_ms);
00073
00084 void os_semaphore_post(os_semaphore_t *sem);
00085
00086 #endif
00087
00088 #ifdef linux
00089 # include <../linux/semaphore.h>
00090 #elif defined(ZSDE)
00091 # include <../zoran/semaphore.h>
00092 #else
00093 # error <oska/semaphore.h> not provided for this OS
00094 #endif
00095
00096 #endif