# /space/home/slher/rel/Beken/v6_4_5/macsw/modules/ke/src/ke_task.h File Reference

This file contains the definition related to kernel task management. More...

`#include "co_int.h"`
`#include "co_bool.h"`
`#include "rwnx_config.h"`
`#include "compiler.h"`
`#include "ke_msg.h"`

Go to the source code of this file.

## Data Structures
struct | ke_msg_handler
| Element of a message handler table. More...
struct | ke_state_handler
| Element of a state handler table. More...
struct | ke_task_desc
| Task descriptor grouping all information required by the kernel for the scheduling. More...
## Defines
#define | KE_FIRST_MSG(task) ((ke_msg_id_t)((task) << 10))
| Builds the first message ID of a task.
#define | MSG_T(msg) ((ke_task_id_t)((msg) >> 10))
| Returns the task identifier based on a message identifier.
#define | MSG_I(msg) ((msg) & ((1<<10)-1))
| Returns the message index in the task based on a message identifier.
#define | KE_STATE_HANDLER(hdl) {hdl, sizeof(hdl)/sizeof(struct ke_msg_handler)}
| Helps writing the initialization of the state handlers without errors.
#define | KE_STATE_HANDLER_NONE {NULL, 0}
| Helps writing empty states.
## Typedefs
typedef int(* | ke_msg_func_t )(ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
| Format of a task message handler function.
## Enumerations
enum | { TASK_NONE = (uint8_t) -1, TASK_MM = 0, TASK_DBG, TASK_SCAN, TASK_TDLS, TASK_SCANU, TASK_ME, TASK_SM, TASK_APM, TASK_BAM, TASK_MESH, TASK_RXU, TASK_LAST_EMB = TASK_RXU, TASK_API, TASK_MAX }
| Tasks types. More...
## Functions
__INLINE bool | ke_task_local (ke_task_id_t const id)
| Check if a task is executed on the local platform.
ke_state_t | ke_state_get (ke_task_id_t const id)
| Retrieve the state of a task.
void | ke_state_set (ke_task_id_t const id, ke_state_t const state_id)
| Set the state of the task identified by its Task Id.
void | ke_task_schedule (int dummy)
| Task scheduler entry point.
int | ke_msg_discard (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
| Generic message handler to consume message without handling it in the task.
int | ke_msg_save (ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id)
| Generic message handler to consume message without handling it in the task.

## Detailed Description

This file contains the definition related to kernel task management.

Copyright (C) RivieraWaves 2011-2019

Definition in file ke_task.h.