10 /* Select heap-tree as base structure to implement
11 * hierarchic timer - not recomended
13 //#define UL_HTIMER_WITH_HPTREE
15 /* If defined, standard timer type
18 //#define UL_HTIMER_WITH_STD_TYPE
20 /* If defined, standard microsecond resolution
21 * data types are selected for timer implementation
23 //#define UL_HTIMER_WITH_MSTIME
25 /* If defined, NTPTimer type
28 #define UL_HTIMER_WITH_NTPTIME
30 #ifdef UL_HTIMER_WITH_MSTIME
31 typedef unsigned long ul_mstime_t;
32 typedef signed long ul_msdiff_t;
34 typedef ul_mstime_t ul_htim_time_t;
35 typedef ul_msdiff_t ul_htim_diff_t;
38 ul_htimer_cmp_fnc(const ul_htim_time_t *a, const ul_htim_time_t *b)
40 ul_htim_diff_t d=(ul_htim_diff_t)(*a-*b);
45 #endif /*UL_HTIMER_WITH_MSTIME*/
47 #ifdef UL_HTIMER_WITH_NTPTIME
48 #include "orte/typedefs_defines_rtps.h"
49 #include "orte/defines_api.h"
50 typedef NtpTime ul_htim_time_t;
53 ul_htimer_cmp_fnc(const ul_htim_time_t *a, const ul_htim_time_t *b){
54 return NtpTimeCmp(*a,*b);
56 #endif /*UL_HTIMER_WITH_NTPTIME*/
58 /*===========================================================*/
59 /* Configuration of types for standard timer (ul_htimer) */
61 /* Additional, user defined fields for ul_htimer_t structure */
62 #define UL_HTIMER_USER_FIELDS
64 typedef void (ul_htimer_fnc_t)(unsigned long data);
66 /* The wrapper for ul_htimer_run_expired */
67 #define UL_HTIMER_FNC_CALL(queue, timer, pact_time) \
68 do{ timer->function(timer->data); } while(0)
75 #endif /* _UL_HTIMDEFS_H */