Semaphore

RTOS semaphore functions. More...

Functions

zos_result_t zn_rtos_semaphore_init (zos_semaphore_t *semaphore)
 Initializes a semaphoreInitializes a counting semaphore. More...
 
zos_result_t zn_rtos_semaphore_set (zos_semaphore_t *semaphore)
 Set (post/put/increment) a semaphoreSet (post/put/increment) a semaphore. More...
 
zos_result_t zn_rtos_semaphore_get (zos_semaphore_t *semaphore, uint32_t timeout_ms)
 Get (wait/decrement) a semaphoreAttempts to get (wait/decrement) a semaphore. More...
 
void zn_rtos_semaphore_reset (zos_semaphore_t *semaphore)
 Set counting semaphore to zero. More...
 
zos_result_t zn_rtos_semaphore_deinit (zos_semaphore_t *semaphore)
 De-initialise a semaphoreDeletes a semaphore created with zn_rtos_semaphore_init() More...
 

Detailed Description

RTOS semaphore functions.

Function Documentation

zos_result_t zn_rtos_semaphore_deinit ( zos_semaphore_t *  semaphore)

De-initialise a semaphoreDeletes a semaphore created with zn_rtos_semaphore_init()

Parameters
semaphore: a pointer to the semaphore handle
Returns
ZOS_SUCCESS : on success.
ZOS_ERROR : if an error occurred
zos_result_t zn_rtos_semaphore_get ( zos_semaphore_t *  semaphore,
uint32_t  timeout_ms 
)

Get (wait/decrement) a semaphoreAttempts to get (wait/decrement) a semaphore.

If semaphore is at zero already, then the calling thread will be suspended until another thread sets the semaphore with zn_rtos_semaphore_set()

Parameters
semaphore: a pointer to the semaphore handle
timeout_msthe number of milliseconds to wait before returning
Returns
ZOS_SUCCESS : on success.
ZOS_ERROR : if an error occurred
zos_result_t zn_rtos_semaphore_init ( zos_semaphore_t *  semaphore)

Initializes a semaphoreInitializes a counting semaphore.

Parameters
semaphore: a pointer to the semaphore handle to be initialised
Returns
ZOS_SUCCESS : on success.
ZOS_ERROR : if an error occurred
void zn_rtos_semaphore_reset ( zos_semaphore_t *  semaphore)

Set counting semaphore to zero.

zos_result_t zn_rtos_semaphore_set ( zos_semaphore_t *  semaphore)

Set (post/put/increment) a semaphoreSet (post/put/increment) a semaphore.

Parameters
semaphore: a pointer to the semaphore handle to be set
Returns
ZOS_SUCCESS : on success.
ZOS_ERROR : if an error occurred