diff options
Diffstat (limited to 'src/core/timer.h')
-rw-r--r-- | src/core/timer.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/core/timer.h b/src/core/timer.h index c6d1d42e44..57a514a68c 100644 --- a/src/core/timer.h +++ b/src/core/timer.h @@ -24,6 +24,7 @@ typedef struct Timer Timer; #include "unit.h" +#include "calendarspec.h" typedef enum TimerState { TIMER_DEAD, @@ -41,18 +42,21 @@ typedef enum TimerBase { TIMER_STARTUP, TIMER_UNIT_ACTIVE, TIMER_UNIT_INACTIVE, + TIMER_CALENDAR, _TIMER_BASE_MAX, _TIMER_BASE_INVALID = -1 } TimerBase; typedef struct TimerValue { + TimerBase base; + bool disabled; + clockid_t clock_id; + usec_t value; + CalendarSpec *calendar_spec; usec_t next_elapse; LIST_FIELDS(struct TimerValue, value); - - TimerBase base; - bool disabled; } TimerValue; typedef enum TimerResult { @@ -66,12 +70,14 @@ struct Timer { Unit meta; LIST_HEAD(TimerValue, values); - usec_t next_elapse; + usec_t next_elapse_monotonic; + usec_t next_elapse_realtime; TimerState state, deserialized_state; UnitRef unit; - Watch timer_watch; + Watch monotonic_watch; + Watch realtime_watch; TimerResult result; }; |