diff options
| author | Zheng Da <zhengda1936@gmail.com> | 2009-11-17 10:29:23 +0100 |
|---|---|---|
| committer | Zheng Da <zhengda1936@gmail.com> | 2009-11-17 10:29:23 +0100 |
| commit | 9290f1fe99c91ba6c57dec956ff73d1741d81b45 (patch) | |
| tree | 5627d7980a4e0496ae1eaf77ee2f3634bb10b0cc /libddekit/include/ddekit/.svn/text-base/semaphore.h.svn-base | |
| parent | a3eba19470c09f42272dac5ca1a34bd8a5cbe834 (diff) | |
Add DDEKit headers.
Diffstat (limited to 'libddekit/include/ddekit/.svn/text-base/semaphore.h.svn-base')
| -rw-r--r-- | libddekit/include/ddekit/.svn/text-base/semaphore.h.svn-base | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/libddekit/include/ddekit/.svn/text-base/semaphore.h.svn-base b/libddekit/include/ddekit/.svn/text-base/semaphore.h.svn-base new file mode 100644 index 00000000..c959919d --- /dev/null +++ b/libddekit/include/ddekit/.svn/text-base/semaphore.h.svn-base @@ -0,0 +1,50 @@ +#ifndef _ddekit_semaphore_h +#define _ddekit_semaphore_h + +/** \defgroup DDEKit_synchronization */ + +struct ddekit_sem; +typedef struct ddekit_sem ddekit_sem_t; + +/** Initialize DDEKit semaphore. + * + * \ingroup DDEKit_synchronization + * + * \param value initial semaphore counter + */ +ddekit_sem_t *ddekit_sem_init(int value); + +/** Uninitialize semaphore. + * + * \ingroup DDEKit_synchronization + */ +void ddekit_sem_deinit(ddekit_sem_t *sem); + +/** Semaphore down method. */ +void ddekit_sem_down(ddekit_sem_t *sem); + +/** Semaphore down method, non-blocking. + * + * \ingroup DDEKit_synchronization + * + * \return 0 success + * \return !=0 would block + */ +int ddekit_sem_down_try(ddekit_sem_t *sem); + +/** Semaphore down with timeout. + * + * \ingroup DDEKit_synchronization + * + * \return 0 success + * \return !=0 would block + */ +int ddekit_sem_down_timed(ddekit_sem_t *sem, int timo); + +/** Semaphore up method. + * + * \ingroup DDEKit_synchronization + */ +void ddekit_sem_up(ddekit_sem_t *sem); + +#endif |
