| #if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42 |
| type sem_t |
| |
| constant SEM_FAILED |
| |
| function int sem_close (sem_t*) |
| function int sem_destroy (sem_t*) |
| function int sem_getvalue (sem_t*, int*) |
| function int sem_init (sem_t*, int, unsigned int) |
| function {sem_t*} sem_open (const char*, int, ...) |
| function int sem_post (sem_t*) |
| # if !defined POSIX && !defined UNIX98 |
| function int sem_timedwait (sem_t*, const struct timespec*) |
| # endif |
| function int sem_trywait (sem_t*) |
| function int sem_unlink (const char*) |
| function int sem_wait (sem_t*) |
| |
| allow-header fcntl.h |
| # if !defined POSIX2008 && !defined XOPEN2K8 |
| allow-header sys/types.h |
| # endif |
| // Consider addition of this permission in POSIX.1:2008 as a bug fix, |
| // so allow for POSIX.1:2001 as well since that includes sem_timedwait. |
| # if !defined POSIX && !defined UNIX98 |
| allow-header time.h |
| # endif |
| |
| allow sem_* |
| allow SEM_* |
| allow *_t |
| #endif |