]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - include/fosa_opaque_types.h
FOSA-PaRTiKle implementation
[frescor/fosa.git] / include / fosa_opaque_types.h
index 043ebe4c4ef8e76eca4334a439ab57b21726a4b7..21af0c0298f83661aeae298cf723437d3ea6e658 100644 (file)
@@ -327,6 +327,60 @@ typedef pthread_mutex_t FOSA_MUTEX_T_OPAQUE;
 ////////////////// END of AQuoSA //////////////////////
 
 
+
+/////////////////////////////////// PARTIKLE ///////////////////////////////////////////
+#if defined(PARTIKLE)
+
+#include <pthread.h>
+#include <signal.h>
+#include <time.h>
+#include <sched.h>
+#include <stdlib.h>
+
+typedef struct {
+    posix_appsched_actions_t actions;
+    struct timespec * timeout_ptr;
+    struct timespec timeout;
+    bool rejected;
+    bool suspended;
+    bool activated;
+} fosa_ads_actions_internal_t;
+
+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 {
+  FOSA_SYSTEM_CLOCK_OPAQUE = CLOCK_MONOTONIC
+};
+
+enum _fosa_signal_limits_e {
+  FOSA_SIGNAL_MIN = SIGRTMIN,
+  FOSA_SIGNAL_MAX = SIGRTMAX,
+};
+
+enum _fosa_errors_e {
+  FOSA_EINVAL = EINVAL,
+  FOSA_EAGAIN = EAGAIN,
+  FOSA_EREJECT = EREJECT,
+  FOSA_EMASKED = EMASKED,
+  FOSA_EPOLICY = EPOLICY, 
+  FOSA_ETIMEDOUT = ETIMEDOUT,
+  FOSA_ENOMEM = ENOMEM,
+};
+
+#endif
+/////////////////////////////////// PARTIKLE  END //////////////////////////////////////
+
+
+
 ////////////////////////// VIRTUAL TIME    //////////////////////////////////////
 #ifdef VIRTUAL_TIME