ESOS32
ESOSOn32-bitProcessors
Data Structures | Macros | Typedefs
esos_task.h File Reference
#include "lc.h"
#include "esos_mail.h"
Include dependency graph for esos_task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  stTask
 
struct  stSemaphore
 

Macros

#define ESOS_TASK_WAITING   0
 
#define ESOS_TASK_ENDED   3
 
#define __TASK_MAILNACK_MASK   ESOS_BIT5
 
#define __TASK_HASMAIL_MASK   ESOS_BIT4
 
#define __TASK_ENDED_MASK   ESOS_BIT3
 
#define __TASK_KILLED_MASK   ESOS_BIT2
 
#define __TASK_SLEEPING_MASK   ESOS_BIT1
 
#define __TASK_WAITING_MASK   ESOS_BIT0
 
#define __TASK_CALLED_MASK   ESOS_BIT7
 
#define __ESOS_SET_TASK_SLEEPING_FLAG(TaskHandle)   BIT_SET_MASK((TaskHandle)->flags, __TASK_SLEEPING_MASK)
 
#define __ESOS_CLEAR_TASK_SLEEPING_FLAG(TaskHandle)   BIT_CLEAR_MASK((TaskHandle)->flags, __TASK_SLEEPING_MASK)
 
#define __ESOS_SET_TASK_KILLED_FLAG(TaskHandle)   BIT_SET_MASK((TaskHandle)->flags, __TASK_KILLED_MASK)
 
#define __ESOS_CLEAR_TASK_KILLED_FLAG(TaskHandle)   BIT_CLEAR_MASK((TaskHandle)->flags, __TASK_KILLED_MASK)
 
#define __ESOS_SET_TASK_WAITING_FLAG(TaskHandle)   BIT_SET_MASK((TaskHandle)->flags, __TASK_WAITING_MASK)
 
#define __ESOS_CLEAR_TASK_WAITING_FLAG(TaskHandle)   BIT_CLEAR_MASK((TaskHandle)->flags, __TASK_WAITING_MASK)
 
#define __ESOS_SET_TASK_CALLED_FLAG(TaskHandle)   BIT_SET_MASK((TaskHandle)->flags, __TASK_CALLED_MASK)
 
#define __ESOS_CLEAR_TASK_CALLED_FLAG(TaskHandle)   BIT_CLEAR_MASK((TaskHandle)->flags, __TASK_CALLED_MASK)
 
#define __ESOS_IS_TASK_CALLED(TaskHandle)   IS_BIT_SET_MASK((TaskHandle)->flags, __TASK_CALLED_MASK)
 
#define __ESOS_SET_TASK_ENDED_FLAG(TaskHandle)   BIT_SET_MASK((TaskHandle)->flags, __TASK_ENDED_MASK)
 
#define __ESOS_CLEAR_TASK_ENDED_FLAG(TaskHandle)   BIT_CLEAR_MASK((TaskHandle)->flags, __TASK_ENDED_MASK)
 
#define __ESOS_SET_TASK_HASMAIL_FLAG(TaskHandle)   BIT_SET_MASK((TaskHandle)->flags, __TASK_HASMAIL_MASK)
 
#define __ESOS_CLEAR_TASK_HASMAIL_FLAG(TaskHandle)   BIT_CLEAR_MASK((TaskHandle)->flags, __TASK_HASMAIL_MASK)
 
#define __ESOS_SET_TASK_MAILNACK_FLAG(TaskHandle)   BIT_SET_MASK((TaskHandle)->flags, __TASK_MAILNACK_MASK)
 
#define __ESOS_CLEAR_TASK_MAILNACK_FLAG(TaskHandle)   BIT_CLEAR_MASK((TaskHandle)->flags, __TASK_MAILNACK_MASK)
 
#define __ESOS_TASK_SPAWN(pstChild, fcnCallWithArgs)
 
Initialization
#define __ESOS_INIT_TASK(TaskHandle)
 
Querying the state of a task
#define ESOS_IS_TASK_INITED(TaskHandle)
 
#define ESOS_IS_TASK_SLEEPING(TaskHandle)
 
#define ESOS_IS_TASK_KILLED(TaskHandle)
 
#define ESOS_IS_TASK_WAITING(TaskHandle)
 
#define ESOS_IS_TASK_ENDED(TaskHandle)
 
Declaration and definition
#define ESOS_USER_TASK(taskname)
 
#define ESOS_CHILD_TASK(taskname, ...)
 
#define ESOS_TASK_BEGIN()
 
#define ESOS_TASK_END()
 
#define ESOS_TASK_GET_TASK_HANDLE()
 
Calling an ESOS task
#define ESOS_SCHEDULE_TASK(pfnThread)
 
Blocked waits
#define ESOS_TASK_WAIT_UNTIL(condition)
 
#define ESOS_TASK_WAIT_WHILE(cond)
 
#define ESOS_TASK_WAIT_TICKS(u32_duration)
 
Tasks and child tasks
#define ESOS_TASK_WAIT_THREAD(pfnChild, ...)
 
#define ESOS_TASK_SPAWN_AND_WAIT(pstChild, pfnChild, ...)
 
#define ESOS_ALLOCATE_CHILD_TASK(pstName)
 
Sleeping, killing, exiting and restarting tasks
#define ESOS_TASK_SLEEP()
 
#define ESOS_TASK_RESTART()
 
#define ESOS_TASK_EXIT()
 
#define ESOS_WAKE_TASK(TaskHandle)
 
#define ESOS_KILL_TASK(TaskHandle)
 
#define ESOS_RESTART_TASK(TaskHandle)
 
Yielding from an ESOS task
#define ESOS_TASK_YIELD()
 
Task semaphores
#define ESOS_SEMAPHORE(semaphoreName)
 
#define ESOS_INIT_SEMAPHORE(semaphoreName, i16_val)
 
#define ESOS_TASK_WAIT_SEMAPHORE(semaphoreName, i16_val)
 
#define ESOS_SIGNAL_SEMAPHORE(semaphoreName, i16_val)
 

Typedefs

typedef struct stTaskESOS_TASK_HANDLE
 

Detailed Description

This file contains macros for creating and managing ESOS tasks and semaphores. User need not include this file, but rather should include esos.h instead.

Definition in file esos_task.h.