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
36 #define WIND_READY 0x0
37 #define WIND_SUSPEND 0x1
39 #define WIND_DELAY 0x4
41 #define WIND_STOP 0x10
43 typedef uintptr_t TASK_ID;
45 typedef void (*FUNCPTR)(
long arg, ...);
47 typedef struct WIND_TCB {
59 TASK_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);
67 STATUS taskInit(WIND_TCB *pTcb,
74 long arg0,
long arg1,
long arg2,
long arg3,
long arg4,
75 long arg5,
long arg6,
long arg7,
long arg8,
long arg9);
77 STATUS taskActivate(TASK_ID tid);
79 STATUS taskDelete(TASK_ID tid);
81 STATUS taskDeleteForce(TASK_ID tid);
83 STATUS taskSuspend(TASK_ID tid);
85 STATUS taskResume(TASK_ID tid);
87 STATUS taskPrioritySet(TASK_ID tid,
90 STATUS taskPriorityGet(TASK_ID tid,
93 void taskExit(
int code);
95 STATUS taskLock(
void);
97 STATUS taskUnlock(
void);
99 TASK_ID taskIdSelf(
void);
101 STATUS taskSafe(
void);
103 STATUS taskUnsafe(
void);
105 STATUS taskDelay(
int ticks);
107 STATUS taskIdVerify(TASK_ID tid);
109 struct WIND_TCB *taskTcb(TASK_ID tid);
111 int wind_task_normalize_priority(
int wind_prio);
113 int wind_task_denormalize_priority(
int core_prio);
static int __attribute__((cold))
Test if a mutex structure contains a valid autoinitializer.
Definition: mutex.c:176