void rt_init_context (P_TCB p_TCB, U8 priority, FUNCP task_body) { /* Initialize general part of the Task Control Block. */ p_TCB->cb_type = TCB; p_TCB->state = READY; p_TCB->prio = priority; p_TCB->p_lnk = NULL; p_TCB->p_rlnk = NULL; p_TCB->p_dlnk = NULL; p_TCB->p_blnk = NULL; p_TCB->delta_time = 0; p_TCB->interval_time = 0; p_TCB->events = 0; p_TCB->waits = 0; p_TCB->stack_frame = 0; rt_init_stack (p_TCB, task_body); }
static void rt_init_context (P_TCB p_TCB, U8 priority, FUNCP task_body) { /* Initialize general part of the Task Control Block. */ p_TCB->cb_type = TCB; p_TCB->state = READY; p_TCB->prio = priority; p_TCB->p_lnk = NULL; p_TCB->p_rlnk = NULL; p_TCB->p_dlnk = NULL; p_TCB->p_blnk = NULL; p_TCB->delta_time = 0; p_TCB->interval_time = 0; p_TCB->events = 0; p_TCB->waits = 0; p_TCB->stack_frame = 0; if (p_TCB->priv_stack == 0) { /* Allocate the memory space for the stack. */ p_TCB->stack = rt_alloc_box (mp_stk); } rt_init_stack (p_TCB, task_body); }