37 lines
849 B
C
37 lines
849 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 void (*TaskCallback)(void *p_ctx);
|
|
|
|
struct Task {
|
|
char name[CONFIG_TASK_MAX_NAME_LEN + 1];
|
|
TaskCallback callback;
|
|
uint64_t *stack;
|
|
uint32_t stack_size;
|
|
uint32_t priority;
|
|
};
|
|
|
|
PID
|
|
Task_create(struct Task *pTask, TaskCallback callback, uint64_t *stack
|
|
, uint32_t stack_size);
|
|
|
|
|
|
#endif /* !TASK_H */
|