#include <time.h>
#include <sched.h>
#include <stdlib.h>
+#include <setjmp.h>
typedef struct {
posix_appsched_actions_t actions;
bool rejected;
bool suspended;
bool activated;
-} fosa_ads_actions_internal_t;
+} FOSA_ADS_ACTIONS_T_OPAQUE;
+
+typedef struct {
+ jmp_buf jmp_context;
+ bool jmp_hasexecuted;
+ sigset_t jmp_sigmask;
+} FOSA_LONG_JUMP_CONTEXT_T_OPAQUE;
typedef pthread_t FOSA_THREAD_ID_T_OPAQUE;
typedef pthread_attr_t FOSA_THREAD_ATTR_T_OPAQUE;
typedef int FOSA_SIGNAL_T_OPAQUE;
-typedef fosa_ads_actions_internal_t FOSA_ADS_ACTIONS_T_OPAQUE;
typedef clockid_t FOSA_CLOCK_ID_T_OPAQUE;
typedef timer_t FOSA_TIMER_ID_T_OPAQUE;
typedef pthread_cond_t FOSA_COND_T_OPAQUE;
typedef pthread_mutex_t FOSA_MUTEX_T_OPAQUE;
-typedef void * FOSA_LONG_JUMP_CONTEXT_T_OPAQUE;
+
enum _fosa_clocks_e {
enum _fosa_signal_limits_e {
FOSA_SIGNAL_MIN = SIGRTMIN,
- FOSA_SIGNAL_MAX = SIGRTMAX,
+ FOSA_SIGNAL_MAX = SIGRTMIN + 0,
};
enum _fosa_errors_e {