31#if (CH_CFG_USE_SEMAPHORES == TRUE) || defined(__DOXYGEN__) 
   71#define __SEMAPHORE_DATA(name, n) {__CH_QUEUE_DATA(name.queue), n} 
   82#define SEMAPHORE_DECL(name, n) semaphore_t name = __SEMAPHORE_DATA(name, n) 
#define chSemReset(sp, n)
Performs a reset operation on the semaphore.
 
#define chSemFastWaitI(sp)
Decreases the semaphore counter.
 
#define chSemWait(sp)
Performs a wait operation on a semaphore.
 
#define chSemFastSignalI(sp)
Increases the semaphore counter.
 
#define chSemGetCounterI(sp)
Returns the semaphore counter current value.
 
#define chSemResetI(sp, n)
Performs a reset operation on the semaphore.
 
#define chSemWaitS(sp)
Performs a wait operation on a semaphore.
 
#define chSemObjectInit(sp, n)
Initializes a semaphore with the specified counter value.
 
#define chDbgCheckClassI()
 
struct ch_queue ch_queue_t
Type of a generic bidirectional linked list header and element.
 
#define MSG_RESET
Wakeup caused by a reset condition.
 
msg_t chSemWaitTimeout(semaphore_t *sp, sysinterval_t timeout)
Performs a wait operation on a semaphore with timeout specification.
 
void chSemAddCounterI(semaphore_t *sp, cnt_t n)
Adds the specified value to the semaphore counter.
 
msg_t chSemSignalWait(semaphore_t *sps, semaphore_t *spw)
Performs atomic signal and wait operations on two semaphores.
 
void chSemSignal(semaphore_t *sp)
Performs a signal operation on a semaphore.
 
struct ch_semaphore semaphore_t
Semaphore structure.
 
void chSemResetWithMessageI(semaphore_t *sp, cnt_t n, msg_t msg)
Performs a reset operation on the semaphore.
 
void chSemResetWithMessage(semaphore_t *sp, cnt_t n, msg_t msg)
Performs a reset operation on the semaphore.
 
msg_t chSemWaitTimeoutS(semaphore_t *sp, sysinterval_t timeout)
Performs a wait operation on a semaphore with timeout specification.
 
void chSemSignalI(semaphore_t *sp)
Performs a signal operation on a semaphore.
 
uint64_t sysinterval_t
Type of time interval.
 
ch_queue_t queue
Queue of the threads sleeping on this semaphore.
 
cnt_t cnt
The semaphore counter.