aboutsummaryrefslogtreecommitdiff
path: root/include/musl/semaphore.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/musl/semaphore.h')
-rw-r--r--include/musl/semaphore.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/include/musl/semaphore.h b/include/musl/semaphore.h
new file mode 100644
index 0000000..3690f49
--- /dev/null
+++ b/include/musl/semaphore.h
@@ -0,0 +1,39 @@
+#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 *);
+
+#if _REDIR_TIME64
+__REDIR(sem_timedwait, __sem_timedwait_time64);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+#endif