blob: 75ba417755ccf8fcafddd8dbbb5aeef475c79cdf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef TH_THREAD_INC
#define TH_THREAD_INC
typedef struct THThread_ THThread;
typedef struct THMutex_ THMutex;
typedef struct THCondition_ THCondition;
typedef struct THSemaphore_ THSemaphore;
THThread* THThread_new(int (*closure)(void*), void *data);
long THThread_id(THThread *self);
int THThread_free(THThread *self);
THMutex* THMutex_new(void);
THMutex* THMutex_newWithId(long id);
long THMutex_id(THMutex *self);
int THMutex_lock(THMutex *self);
int THMutex_unlock(THMutex *self);
int THMutex_trylock(THMutex *self);
void THMutex_free(THMutex *self);
THCondition* THCondition_new(void);
THCondition* THCondition_newWithId(long id);
long THCondition_id(THCondition *self);
int THCondition_signal(THCondition *self);
int THCondition_wait(THCondition *self, THMutex *mutex);
void THCondition_free(THCondition *self);
THSemaphore* THSemaphore_new(int initValue);
THSemaphore* THSemaphore_newWithId(long id);
long THSemaphore_id(THSemaphore *self);
int THSemaphore_signal(THSemaphore *self);
int THSemaphore_wait(THSemaphore *self);
int THSemaphore_trywait(THSemaphore *self);
void THSemaphore_free(THSemaphore *self);
#endif
|