#pragma once
#ifndef SEM_WRAPPER_
#define SEM_WRAPPER_

#include <semaphore.h>

#ifndef __STDC_LIB_EXT1__
typedef int errno_t;
#endif

enum {
    EOK = 0,
};

errno_t sem_init_wrapped(sem_t *sem, int pshared, int initial_value);
errno_t sem_destroy_wrapped(sem_t *sem);

errno_t sem_post_wrapped(sem_t *sem);
errno_t sem_timedwait_wrapped(sem_t *sem, struct timespec *ts_interval);

errno_t sem_getvalue_wrapped(sem_t *sem, int *value_ptr);

#endif /* SEM_WRAPPER_ */
