42 #include <semaphore.h> 44 #if !defined(__PX4_NUTTX) 47 #define SEM_PRIO_NONE 0 48 #define SEM_PRIO_INHERIT 1 49 #define SEM_PRIO_PROTECT 2 50 #define sem_setprotocol(s,p) 53 #if (defined(__PX4_DARWIN) || defined(__PX4_CYGWIN) || defined(__PX4_POSIX)) && !defined(__PX4_QURT) 63 __EXPORT int px4_sem_init(px4_sem_t *s,
int pshared,
unsigned value);
64 __EXPORT int px4_sem_setprotocol(px4_sem_t *s,
int protocol);
65 __EXPORT int px4_sem_wait(px4_sem_t *s);
66 __EXPORT int px4_sem_trywait(px4_sem_t *sem);
67 __EXPORT int px4_sem_timedwait(px4_sem_t *sem,
const struct timespec *abstime);
68 __EXPORT int px4_sem_post(px4_sem_t *s);
69 __EXPORT int px4_sem_getvalue(px4_sem_t *s,
int *sval);
70 __EXPORT int px4_sem_destroy(px4_sem_t *s);
88 typedef sem_t px4_sem_t;
92 #define px4_sem_init sem_init 93 #define px4_sem_setprotocol sem_setprotocol 94 #define px4_sem_wait sem_wait 95 #define px4_sem_trywait sem_trywait 96 #define px4_sem_post sem_post 97 #define px4_sem_getvalue sem_getvalue 98 #define px4_sem_destroy sem_destroy 100 #if defined(__PX4_QURT) 101 __EXPORT int px4_sem_timedwait(px4_sem_t *sem,
const struct timespec *abstime);
103 #define px4_sem_timedwait sem_timedwait