INT32 gk_timeout_ECB_SEM_post(GS_ECB *peventime)
Time routine for event G_ECBType_TIMEOUT_SEM_GRANTED. It is called from the time interrupt ISR.
unsigned long long gt_time
unsigned long long gt_priority
INT32 gu_sem_post(t_semaphore_resource *presource)
Unlocks the semaphore (release the semaphore). Set ready the task waiting for semaphore.
INT32 gu_sem_getvalue(t_semaphore_resource *presource)
Return the current value of the semaphore.
t_semaphore_resource* gu_sem_create(gt_time RCB_Priority, int initial_count, gt_time RCBWaitingTimeout, gt_time RCBGrantedTimeout)
INT32 gk_SEM_granted_kill(GS_ECB *pevent1)
Removes the ECBs from a the granted list of a semaphore resource.
struct g_rgb t_semaphore_resource
INT32 gu_sem_destroy(t_semaphore_resource *presource)
Links the RCB of a semaphore to the free list if there is no event granted or waiting.
INT32 gk_timeout_ECB_SEM_wait(GS_ECB *peventime)
Time routine for event G_ECBType_TIMEOUT_SEM_WAITING. It is called from the time interrupt ISR.
INT32 gk_SEM_waiting_kill(GS_ECB *pevent1)
Removes the ECBs from a the waiting list of a semaphore resource.
INT32 gu_sem_wait(t_semaphore_resource *presource, gt_priority waiting_priority, gt_priority RCBGrantedPriority, gt_time RCBWaitingTimeout, gt_time RCBGrantedTimeout, int blocking)
Lock the semaphore (get the semaphore) if it is avaible, otherwise waits for grant it.