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:177