master
1#ifndef _SEMAPHORE_H
2#define _SEMAPHORE_H
3#ifdef __cplusplus
4extern "C" {
5#endif
6
7#include <features.h>
8
9#define __NEED_time_t
10#define __NEED_struct_timespec
11#include <bits/alltypes.h>
12
13#include <fcntl.h>
14
15#define SEM_FAILED ((sem_t *)0)
16
17typedef struct {
18 volatile int __val[4*sizeof(long)/sizeof(int)];
19} sem_t;
20
21int sem_close(sem_t *);
22int sem_destroy(sem_t *);
23int sem_getvalue(sem_t *__restrict, int *__restrict);
24int sem_init(sem_t *, int, unsigned);
25sem_t *sem_open(const char *, int, ...);
26int sem_post(sem_t *);
27int sem_timedwait(sem_t *__restrict, const struct timespec *__restrict);
28int sem_trywait(sem_t *);
29int sem_unlink(const char *);
30int sem_wait(sem_t *);
31
32#if _REDIR_TIME64
33__REDIR(sem_timedwait, __sem_timedwait_time64);
34#endif
35
36#ifdef __cplusplus
37}
38#endif
39#endif