]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - include/fosa_opaque_types.h
FOSA-PaRTiKle: changes in the defintion of opaque types
[frescor/fosa.git] / include / fosa_opaque_types.h
index 5f96806bf233e2c9bb13f142bfb604bf23f24e8c..d6146c7de2ac67735cf9498a929180161a2a7af1 100644 (file)
@@ -340,6 +340,7 @@ typedef pthread_mutex_t FOSA_MUTEX_T_OPAQUE;
 #include <time.h>
 #include <sched.h>
 #include <stdlib.h>
+#include <setjmp.h>
 
 typedef struct {
     posix_appsched_actions_t actions;
@@ -348,17 +349,22 @@ typedef struct {
     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 {
@@ -367,7 +373,7 @@ 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 {