Very Simple Kernel 0.1.0
Loading...
Searching...
No Matches
vsk_Task

Data Structures

struct  vsk_Task_Class
 Task class. More...
 
struct  vsk_Task
 Task. More...
 

Typedefs

typedef struct vsk_Task_Class vsk_Task_Class_t
 Task class.
 
typedef void(* vsk_Task_Class_OnStart_t) (void)
 On start callback.
 
typedef void(* vsk_Task_Class_OnIdle_t) (void)
 On idle callback.
 
typedef struct vsk_Task vsk_Task_t
 Task.
 
typedef void(* vsk_Task_Operation_t) (void *const obj)
 Task operation.
 

Enumerations

enum  vsk_Task_State_t { vsk_Task_State_suspended , vsk_Task_State_ready , vsk_Task_State_running }
 Task state. More...
 

Functions

vsk_Task_Class_tvsk_Task_Class_init (vsk_Task_Class_t *const cls, vsk_Task_Class_OnStart_t const onStart, vsk_Task_Class_OnIdle_t const onIdle)
 Initializes the Task class.
 
void vsk_Task_Class_startScheduler (vsk_Task_Class_t *const cls)
 Starts the scheduler.
 
vsk_Task_tvsk_Task_init (vsk_Task_t *const self, vsk_Task_Operation_t const operation, void *const obj)
 Initializes a task.
 
void vsk_Task_activate (vsk_Task_t *const self)
 Activates a task.
 
void vsk_Task_suspend (vsk_Task_t *const self)
 Suspends a task.
 

Variables

vsk_Task_Class_t vsk_Task_Class
 Task class instance.
 

Detailed Description

Enumeration Type Documentation

◆ vsk_Task_State_t

Task state.

Enumerator
vsk_Task_State_suspended 

Task is suspended

vsk_Task_State_ready 

Task is ready

vsk_Task_State_running 

Task is running

Function Documentation

◆ vsk_Task_activate()

void vsk_Task_activate ( vsk_Task_t *const self)

Activates a task.

Parameters
selfTask reference

◆ vsk_Task_Class_init()

vsk_Task_Class_t * vsk_Task_Class_init ( vsk_Task_Class_t *const cls,
vsk_Task_Class_OnStart_t const onStart,
vsk_Task_Class_OnIdle_t const onIdle )

Initializes the Task class.

Parameters
clsTask class reference
onStartOn start callback
onIdleOn idle callback
Returns
Initialized Task class reference

◆ vsk_Task_Class_startScheduler()

void vsk_Task_Class_startScheduler ( vsk_Task_Class_t *const cls)

Starts the scheduler.

Parameters
clsTask class reference

◆ vsk_Task_init()

vsk_Task_t * vsk_Task_init ( vsk_Task_t *const self,
vsk_Task_Operation_t const operation,
void *const obj )

Initializes a task.

Parameters
selfTask reference
operationTask operation
objObject reference to pass to the callback (can be NULL)
Returns
Initialized Task reference

◆ vsk_Task_suspend()

void vsk_Task_suspend ( vsk_Task_t *const self)

Suspends a task.

Parameters
selfTask reference