ChibiOS/RT 7.0.5
chsem.h File Reference

Semaphores macros and structures. More...

Go to the source code of this file.

Data Structures

struct  ch_semaphore
 Semaphore structure. More...

Macros

#define __SEMAPHORE_DATA(name, n)
 Data part of a static semaphore initializer.
#define SEMAPHORE_DECL(name, n)
 Static semaphore initializer.

Typedefs

typedef struct ch_semaphore semaphore_t
 Semaphore structure.

Functions

void chSemObjectInit (semaphore_t *sp, cnt_t n)
 Initializes a semaphore with the specified counter value.
void chSemResetWithMessage (semaphore_t *sp, cnt_t n, msg_t msg)
 Performs a reset operation on the semaphore.
void chSemResetWithMessageI (semaphore_t *sp, cnt_t n, msg_t msg)
 Performs a reset operation on the semaphore.
msg_t chSemWait (semaphore_t *sp)
 Performs a wait operation on a semaphore.
msg_t chSemWaitS (semaphore_t *sp)
 Performs a wait operation on a semaphore.
msg_t chSemWaitTimeout (semaphore_t *sp, sysinterval_t timeout)
 Performs a wait operation on a semaphore with timeout specification.
msg_t chSemWaitTimeoutS (semaphore_t *sp, sysinterval_t timeout)
 Performs a wait operation on a semaphore with timeout specification.
void chSemSignal (semaphore_t *sp)
 Performs a signal operation on a semaphore.
void chSemSignalI (semaphore_t *sp)
 Performs a signal operation on a semaphore.
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.
static void chSemReset (semaphore_t *sp, cnt_t n)
 Performs a reset operation on the semaphore.
static void chSemResetI (semaphore_t *sp, cnt_t n)
 Performs a reset operation on the semaphore.
static void chSemFastWaitI (semaphore_t *sp)
 Decreases the semaphore counter.
static void chSemFastSignalI (semaphore_t *sp)
 Increases the semaphore counter.
static cnt_t chSemGetCounterI (const semaphore_t *sp)
 Returns the semaphore counter current value.

Detailed Description

Semaphores macros and structures.

Definition in file chsem.h.