]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - include/fosa_opaque_types.h
AQuoSA: Avoid redefinition of preprocessor symbols if they were defined earlier
[frescor/fosa.git] / include / fosa_opaque_types.h
index 6dddc6b76977b9eca86b697598323a20f9c6799d..6a8be30d55072a3bf8c1dab30866e8537d737148 100644 (file)
@@ -130,7 +130,7 @@ typedef pthread_cond_t FOSA_COND_T_OPAQUE;
 
 /* Local jump */
 /**************/
-#include "marte_non_local_jmp.h"
+#include "misc/marte_non_local_jmp.h"
 
 #define FOSA_LONG_JUMP_CONTEXT_T_OPAQUE  struct { \
   marte_nonlocaljmp_context_t marte_context;      \
@@ -259,18 +259,24 @@ typedef int FOSA_THREAD_SET_ID_T_OPAQUE
 #include <unistd.h>
 #include <linux/unistd.h>
 
+#ifndef _XOPEN_SOURCE
 #define _XOPEN_SOURCE 500
+#endif
+#ifndef __USE_UNIX98
 #define __USE_UNIX98
+#endif
 #include <pthread.h>
 
 #include <signal.h>
+#include <setjmp.h>
 #include <errno.h>
 #include <time.h>
 
-/* Time */
-/********/
-// typedef struct timespec fosa_rel_time_t;
-// typedef struct timespec fosa_abs_time_t;
+FOSA_CPP_BEGIN_DECLS
+
+/* Local Jump */
+/**************/
+typedef sigjmp_buf FOSA_LONG_JUMP_CONTEXT_T_OPAQUE;
 
 
 /* Threads and signals */
@@ -317,7 +323,6 @@ typedef pthread_mutex_t FOSA_MUTEX_T_OPAQUE;
 /* hack to get AQuoSA sources compile without having none
  * of the application level scheduler header files and symbols */
 #define posix_appsched_actions_t int
-#define FOSA_LONG_JUMP_CONTEXT_T_OPAQUE int
 
 #define FOSA_ADS_ACTIONS_T_OPAQUE posix_appsched_actions_t
 
@@ -365,7 +370,6 @@ typedef struct {
     bool activated;
 } FOSA_ADS_ACTIONS_T_OPAQUE;
 
-typedef unsigned long FOSA_LONG_JUMP_CONTEXT_T_OPAQUE [32];
 
 typedef pthread_t                   FOSA_THREAD_ID_T_OPAQUE;
 typedef pthread_attr_t              FOSA_THREAD_ATTR_T_OPAQUE;
@@ -374,9 +378,10 @@ 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 unsigned long              FOSA_LONG_JUMP_CONTEXT_T_OPAQUE [32];
+typedef group_clock_t              FOSA_THREAD_SET_ID_T_OPAQUE;
 
-typedef int FOSA_THREAD_SET_ID_T_OPAQUE;
-#define FOSA_NULL_THREAD_SET_ID_OPAQUE -1;
+#define FOSA_NULL_THREAD_SET_ID_OPAQUE 0x0;
 
 enum _fosa_clocks_e {
   FOSA_SYSTEM_CLOCK_OPAQUE = CLOCK_MONOTONIC
@@ -391,7 +396,7 @@ enum _fosa_clocks_e {
 enum _fosa_signal_limits_e {
   LONGJMP_FIRSTSIG = SIGRTMAX - LONGJMP_NSIG + 1,
   FOSA_SIGNAL_MAX = LONGJMP_FIRSTSIG - 1,
-  FOSA_SIGNAL_MIN = FOSA_SIGNAL_MAX,
+  FOSA_SIGNAL_MIN = SIGRTMIN,
   FOSA_NULL_SIGNAL = -1,
 };