semaphore.h raw

   1  #ifndef _SEMAPHORE_H
   2  #define _SEMAPHORE_H
   3  #ifdef __cplusplus
   4  extern "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  
  17  typedef struct {
  18  	volatile int __val[4*sizeof(long)/sizeof(int)];
  19  } sem_t;
  20  
  21  int    sem_close(sem_t *);
  22  int    sem_destroy(sem_t *);
  23  int    sem_getvalue(sem_t *__restrict, int *__restrict);
  24  int    sem_init(sem_t *, int, unsigned);
  25  sem_t *sem_open(const char *, int, ...);
  26  int    sem_post(sem_t *);
  27  int    sem_timedwait(sem_t *__restrict, const struct timespec *__restrict);
  28  int    sem_trywait(sem_t *);
  29  int    sem_unlink(const char *);
  30  int    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
  40