mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-21 01:01:43 +00:00
69 lines
1.6 KiB
C
69 lines
1.6 KiB
C
|
|
|
||
|
|
#ifdef __vxworks
|
||
|
|
#include <vxWorks.h>
|
||
|
|
#else
|
||
|
|
#include <stdint.h>
|
||
|
|
#include <pthread.h>
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#ifndef _FUNCPTR_DEFINED
|
||
|
|
#define _FUNCPTR_DEFINED
|
||
|
|
#ifdef __cplusplus
|
||
|
|
typedef int (*FUNCPTR) (...); /* ptr to function returning int */
|
||
|
|
#else
|
||
|
|
typedef int (*FUNCPTR) (); /* ptr to function returning int */
|
||
|
|
#endif /* __cplusplus */
|
||
|
|
#endif /* _FUNCPTR_DEFINED */
|
||
|
|
|
||
|
|
#ifndef _STATUS_DEFINED
|
||
|
|
#define _STATUS_DEFINED
|
||
|
|
typedef int STATUS;
|
||
|
|
#endif /* _STATUS_DEFINED */
|
||
|
|
|
||
|
|
#ifndef OK
|
||
|
|
#define OK 0
|
||
|
|
#endif /* OK */
|
||
|
|
#ifndef ERROR
|
||
|
|
#define ERROR (-1)
|
||
|
|
#endif /* ERROR */
|
||
|
|
|
||
|
|
#ifndef HAL_TASK_H
|
||
|
|
#define HAL_TASK_H
|
||
|
|
|
||
|
|
#ifdef __vxworks
|
||
|
|
#define NULL_TASK -1
|
||
|
|
#else
|
||
|
|
#define NULL_TASK NULL
|
||
|
|
#endif
|
||
|
|
|
||
|
|
extern "C" {
|
||
|
|
extern const uint32_t VXWORKS_FP_TASK;
|
||
|
|
extern const int32_t HAL_objLib_OBJ_ID_ERROR;
|
||
|
|
extern const int32_t HAL_objLib_OBJ_DELETED;
|
||
|
|
extern const int32_t HAL_taskLib_ILLEGAL_OPTIONS;
|
||
|
|
extern const int32_t HAL_memLib_NOT_ENOUGH_MEMORY;
|
||
|
|
extern const int32_t HAL_taskLib_ILLEGAL_PRIORITY;
|
||
|
|
|
||
|
|
#ifdef __vxworks
|
||
|
|
typedef int32_t TASK;
|
||
|
|
#else
|
||
|
|
typedef pthread_t* TASK;
|
||
|
|
#endif
|
||
|
|
|
||
|
|
TASK spawnTask(char * name, int priority, int options, int stackSize,
|
||
|
|
FUNCPTR entryPt, uint32_t arg0, uint32_t arg1, uint32_t arg2,
|
||
|
|
uint32_t arg3, uint32_t arg4, uint32_t arg5, uint32_t arg6,
|
||
|
|
uint32_t arg7, uint32_t arg8, uint32_t arg9);
|
||
|
|
STATUS restartTask(TASK task);
|
||
|
|
STATUS deleteTask(TASK task);
|
||
|
|
STATUS isTaskReady(TASK task);
|
||
|
|
STATUS isTaskSuspended(TASK task);
|
||
|
|
STATUS suspendTask(TASK task);
|
||
|
|
STATUS resumeTask(TASK task);
|
||
|
|
STATUS verifyTaskID(TASK task);
|
||
|
|
STATUS setTaskPriority(TASK task, int priority);
|
||
|
|
STATUS getTaskPriority(TASK task, int* priority);
|
||
|
|
}
|
||
|
|
|
||
|
|
#endif
|