24#ifndef _XENOMAI_VXWORKS_TASKLIB_H
25#define _XENOMAI_VXWORKS_TASKLIB_H
28#include <vxworks/types.h>
31#define VX_UNBREAKABLE 0x0002
32#define VX_FP_TASK 0x0008
33#define VX_PRIVATE_ENV 0x0080
34#define VX_NO_STACK_FILL 0x0100
37#define WIND_SUSPEND 0x1
43typedef uintptr_t TASK_ID;
45typedef void (*FUNCPTR)(
long arg, ...);
47typedef struct WIND_TCB {
59TASK_ID taskSpawn(
const char *name,
64 long arg0,
long arg1,
long arg2,
long arg3,
long arg4,
65 long arg5,
long arg6,
long arg7,
long arg8,
long arg9);
67STATUS taskInit(WIND_TCB *pTcb,
71 char * stack __attribute__ ((unused)),
74 long arg0,
long arg1,
long arg2,
long arg3,
long arg4,
75 long arg5,
long arg6,
long arg7,
long arg8,
long arg9);
77STATUS taskActivate(TASK_ID tid);
79STATUS taskDelete(TASK_ID tid);
81STATUS taskDeleteForce(TASK_ID tid);
83STATUS taskSuspend(TASK_ID tid);
85STATUS taskResume(TASK_ID tid);
87STATUS taskPrioritySet(TASK_ID tid,
90STATUS taskPriorityGet(TASK_ID tid,
93void taskExit(
int code);
97STATUS taskUnlock(
void);
99TASK_ID taskIdSelf(
void);
101STATUS taskSafe(
void);
103STATUS taskUnsafe(
void);
105STATUS taskDelay(
int ticks);
107STATUS taskIdVerify(TASK_ID tid);
109struct WIND_TCB *taskTcb(TASK_ID tid);
111int wind_task_normalize_priority(
int wind_prio);
113int wind_task_denormalize_priority(
int core_prio);