Index: fusl/include/semaphore.h |
diff --git a/fusl/include/semaphore.h b/fusl/include/semaphore.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..277c47d6f7425b9a8dc5578b3850c5b7c4847a9f |
--- /dev/null |
+++ b/fusl/include/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 { |
+ volatile 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 |