/* Estrutura de dados para o semáforo */ typedef struct { int value; mutex_t ; cond_t ; } sem_t; int sem_init(sem_t* sem, int pshared, unsigned int value) { /* mutex_init e cond_init */ } int sem_wait(sem_t* sem) { } int sem_post(sem_t* sem) { } int sem_trywait(sem_t* sem) { } int sem_getvalue(sem_t* sem, int *sval){ } int sem_destroy(sem_t* sem) { /* mutex_destroy e cond_destroy */ /* como verificar se o semáforo está em uso? */ }