aboutsummaryrefslogtreecommitdiff
path: root/system/include/libc/semaphore.h
diff options
context:
space:
mode:
Diffstat (limited to 'system/include/libc/semaphore.h')
-rw-r--r--system/include/libc/semaphore.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/system/include/libc/semaphore.h b/system/include/libc/semaphore.h
new file mode 100644
index 00000000..20d46f0d
--- /dev/null
+++ b/system/include/libc/semaphore.h
@@ -0,0 +1,35 @@
+#ifndef _SEMAPHORE_H
+#define _SEMAPHORE_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <features.h>
+
+#define __NEED_time_t
+#define __NEED_struct_timespec
+#include <bits/alltypes.h>
+
+#include <fcntl.h>
+
+#define SEM_FAILED ((sem_t *)0)
+
+typedef struct {
+ int __val[4*sizeof(long)/sizeof(int)];
+} sem_t;
+
+int sem_close(sem_t *);
+int sem_destroy(sem_t *);
+int sem_getvalue(sem_t *__restrict, int *__restrict);
+int sem_init(sem_t *, int, unsigned);
+sem_t *sem_open(const char *, int, ...);
+int sem_post(sem_t *);
+int sem_timedwait(sem_t *__restrict, const struct timespec *__restrict);
+int sem_trywait(sem_t *);
+int sem_unlink(const char *);
+int sem_wait(sem_t *);
+
+#ifdef __cplusplus
+}
+#endif
+#endif