38 lines
868 B
C
38 lines
868 B
C
/******************************************************************************
|
|
*
|
|
* Copyright (c) 2017-2019 by Löwenware Ltd
|
|
* Please, refer LICENSE file for legal information
|
|
*
|
|
******************************************************************************/
|
|
|
|
/**
|
|
* @file task.h
|
|
* @author Ilja Kartašov <ik@lowenware.com>
|
|
* @brief
|
|
*
|
|
* @see https://lowenware.com/
|
|
*/
|
|
|
|
#ifndef TASK_H_AE13C166_79B5_4256_ABF3_74DF04E1CD18
|
|
#define TASK_H_AE13C166_79B5_4256_ABF3_74DF04E1CD18
|
|
|
|
#include <core/types.h>
|
|
|
|
typedef Ku32 KTaskId;
|
|
typedef void (*KTaskCallback)(void *p_ctx);
|
|
|
|
struct k_task {
|
|
KByte name[K_CONFIG_TASK_MAX_NAME_LEN + 1];
|
|
KTaskCallback callback;
|
|
Ku32 *stack;
|
|
Ku32 stack_size;
|
|
Ku32 priority;
|
|
};
|
|
|
|
KTaskId
|
|
k_task_create(struct k_task *p_task, KTaskCallback callback, Ku32 *stack
|
|
, Ku32 stack_size);
|
|
|
|
|
|
#endif /* !TASK_H */
|