semaphore.h 539 B

123456789101112131415161718192021222324252627
  1. #ifndef _SEMAPHORE_H
  2. #define _SEMAPHORE_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define SEM_FAILED ((sem_t *)0)
  7. typedef struct {
  8. long __val[4];
  9. } sem_t;
  10. int sem_close(sem_t *);
  11. int sem_destroy(sem_t *);
  12. int sem_getvalue(sem_t *, int *);
  13. int sem_init(sem_t *, int, unsigned);
  14. sem_t *sem_open(const char *, int, ...);
  15. int sem_post(sem_t *);
  16. int sem_timedwait(sem_t *, const struct timespec *);
  17. int sem_trywait(sem_t *);
  18. int sem_unlink(const char *);
  19. int sem_wait(sem_t *);
  20. #ifdef __cplusplus
  21. }
  22. #endif
  23. #endif