]> rtime.felk.cvut.cz Git - frescor/fosa.git/blobdiff - include/fosa_types.h
Time abstraction added to FOSA to replace timespec_operations
[frescor/fosa.git] / include / fosa_types.h
index 3968aae8049462968f7ce7878df573eadd3c560b..ab316256c195aed846f97ebf5bbb992f322c3f44 100644 (file)
@@ -118,6 +118,10 @@ typedef union {int sival_int; void * sival_ptr; } fosa_signal_info_t;
  **/  
 // identifier of a clock
 // either a real-time clock or a cpu-time clock
+
+typedef FOSA_REL_TIME_T_OPAQUE fosa_rel_time_t;
+typedef FOSA_ABS_TIME_T_OPAQUE fosa_abs_time_t;
+
 typedef    FOSA_CLOCK_ID_T_OPAQUE    fosa_clock_id_t;
 
 #define FOSA_SYSTEM_CLOCK   FOSA_SYSTEM_CLOCK_OPAQUE
@@ -324,66 +328,66 @@ typedef struct {
    void (*new_thread) (void * sched_data,
             fosa_thread_id_t thread,
             fosa_ads_actions_t * actions,
-            struct timespec *current_time);
+            fosa_abs_time_t *current_time);
    void (*thread_terminate) (void * sched_data,
             fosa_thread_id_t thread,
             fosa_ads_actions_t * actions,
-            struct timespec *current_time);
+            fosa_abs_time_t *current_time);
    void (*thread_ready) (void * sched_data,
             fosa_thread_id_t thread,
             fosa_ads_actions_t * actions,
-            struct timespec *current_time);
+            fosa_abs_time_t *current_time);
    void (*thread_block) (void * sched_data,
             fosa_thread_id_t thread,
             fosa_ads_actions_t * actions,
-            struct timespec *current_time);
+            fosa_abs_time_t *current_time);
   //void (*thread_yield) (void * sched_data,
   //          fosa_thread_id_t thread,
   //          fosa_ads_actions_t * actions,
-  //          struct timespec *current_time);
+  //          fosa_abs_time_t *current_time);
    void (*change_sched_param_thread) (void * sched_data,
             fosa_thread_id_t thread,
             fosa_ads_actions_t * actions,
-            struct timespec *current_time);
+            fosa_abs_time_t *current_time);
   //void msg_from_scheduler(void * sched_data,
   //          fosa_ads_scheduler_id_t scheduler_id,
   //          const void * msg, size_t msg_size,
   //          fosa_ads_actions_t * actions,
-  //          struct timespec *current_time);
+  //          fosa_bas_time_t *current_time);
   //void (*explicit_call) (void * sched_data,
   //          fosa_thread_id_t thread,
   //         int user_event_code,
   //         fosa_ads_actions_t * actions,
-  //         struct timespec *current_time);
+  //         fosa_abs_time_t *current_time);
   void (*explicit_call_with_data) (void * sched_data,
            fosa_thread_id_t thread,
            const void * msg, size_t msg_size,
            void *reply, size_t *reply_size,
            fosa_ads_actions_t * actions,
-           struct timespec *current_time);
+           fosa_abs_time_t *current_time);
   void (*notification_for_thread) (void * sched_data,
            fosa_thread_id_t thread,
            fosa_clock_id_t clock,
            fosa_ads_actions_t * actions,
-           struct timespec *current_time);
+           fosa_abs_time_t *current_time);
   void (*timeout) (void * sched_data,
            fosa_ads_actions_t * actions,
-           struct timespec *current_time);
+           fosa_abs_time_t *current_time);
   void (*signal) (void * sched_data,
           fosa_signal_t signal,
            fosa_signal_info_t siginfo,
            fosa_ads_actions_t * actions,
-           struct timespec *current_time);
+           fosa_abs_time_t *current_time);
   //void (*priority_inherit) (void * sched_data,
   //         fosa_thread_id_t thread,
   //         int sched_priority,
   //         fosa_ads_actions_t * actions,
-  //         struct timespec *current_time);
+  //         fosa_abs_time_t *current_time);
   //void (*priority_uninherit) (void * sched_data,
   //         fosa_thread_id_t thread,
   //         int sched_priority,
   //         fosa_ads_actions_t * actions,
-  //         struct timespec *current_time);
+  //         fosa_abs_time_t *current_time);
   void (*appsched_error) (void * sched_data,
           fosa_thread_id_t thread,
           fosa_ads_error_cause_t cause,