semaphore.h 664 B

123456789101112131415161718192021222324252627282930313233
  1. #ifndef _SEMAPHORE_H
  2. #define _SEMAPHORE_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define __NEED_time_t
  7. #define __NEED_struct_timespec
  8. #include <bits/alltypes.h>
  9. #include <fcntl.h>
  10. #define SEM_FAILED ((sem_t *)0)
  11. typedef struct {
  12. int __val[4*sizeof(long)/sizeof(int)];
  13. } sem_t;
  14. int sem_close(sem_t *);
  15. int sem_destroy(sem_t *);
  16. int sem_getvalue(sem_t *, int *);
  17. int sem_init(sem_t *, int, unsigned);
  18. sem_t *sem_open(const char *, int, ...);
  19. int sem_post(sem_t *);
  20. int sem_timedwait(sem_t *, const struct timespec *);
  21. int sem_trywait(sem_t *);
  22. int sem_unlink(const char *);
  23. int sem_wait(sem_t *);
  24. #ifdef __cplusplus
  25. }
  26. #endif
  27. #endif