#pragma once #include #include #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 */ #define NULL_TASK NULL typedef pthread_t* TASK; extern "C" { // Note: These constants used to be declared extern and were defined in // Task.cpp. This caused issues with the JNI bindings for java, and so the // instantiations were moved here. const int32_t HAL_taskLib_ILLEGAL_PRIORITY = 22; // 22 is EINVAL STATUS verifyTaskID(TASK task); STATUS setTaskPriority(TASK task, int priority); // valid priority [1..99] STATUS getTaskPriority(TASK task, int* priority); }