]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - include/fosa_opaque_types.h
Bug fixed in the function fosa_thread_get_specific_data()
[frescor/fosa.git] / include / fosa_opaque_types.h
index 14d933918415d6619badf6c02fd3c9b7ab47433f..535c903b204b68700e231c26248da2dc156200d2 100644 (file)
@@ -1,5 +1,5 @@
 // -----------------------------------------------------------------------
-//  Copyright (C) 2006 - 2008 FRESCOR consortium partners:
+//  Copyright (C) 2006 - 2009 FRESCOR consortium partners:
 //
 //    Universidad de Cantabria,              SPAIN
 //    University of York,                    UK
@@ -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,27 @@ 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 struct {
+       sigjmp_buf setjmp_context;
+       int setjmp_retvalue;
+} FOSA_LONG_JUMP_CONTEXT_T_OPAQUE;
 
 
 /* Threads and signals */
@@ -317,7 +326,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
 
@@ -345,7 +353,7 @@ typedef pthread_mutex_t FOSA_MUTEX_T_OPAQUE;
 
 
 
-/////////////////////////////////// PARTIKLE ///////////////////////////////////////////
+///////////////////////////////// PARTIKLE /////////////////////////////////////
 #if defined(PARTIKLE)
 
 #include <pthread.h>
@@ -365,7 +373,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,8 +381,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;
 
-
+#define FOSA_NULL_THREAD_SET_ID_OPAQUE 0x0;
 
 enum _fosa_clocks_e {
   FOSA_SYSTEM_CLOCK_OPAQUE = CLOCK_MONOTONIC
@@ -390,7 +399,8 @@ 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,
 };
 
 
@@ -405,10 +415,8 @@ enum _fosa_errors_e {
 };
 
 
-
-
 #endif
-/////////////////////////////////// PARTIKLE  END //////////////////////////////////////
+/////////////////////////////// PARTIKLE  END //////////////////////////////////