Kernel alarm helpers
[akaros.git] / kern / include / alarm.h
index 752775f..0fb2bf7 100644 (file)
@@ -99,12 +99,19 @@ void init_awaiter_irq(struct alarm_waiter *waiter,
 void set_awaiter_abs(struct alarm_waiter *waiter, uint64_t abs_time);
 void set_awaiter_rel(struct alarm_waiter *waiter, uint64_t usleep);
 void set_awaiter_inc(struct alarm_waiter *waiter, uint64_t usleep);
-/* Arms/disarms the alarm */
+/* Arms/disarms the alarm.  Hold the lock when calling __methods.  */
 void __set_alarm(struct timer_chain *tchain, struct alarm_waiter *waiter);
 void set_alarm(struct timer_chain *tchain, struct alarm_waiter *waiter);
 bool unset_alarm(struct timer_chain *tchain, struct alarm_waiter *waiter);
+void __reset_alarm_abs(struct timer_chain *tchain, struct alarm_waiter *waiter,
+                       uint64_t abs_time);
+void __reset_alarm_rel(struct timer_chain *tchain, struct alarm_waiter *waiter,
+                       uint64_t usleep);
 void reset_alarm_abs(struct timer_chain *tchain, struct alarm_waiter *waiter,
                      uint64_t abs_time);
+void reset_alarm_rel(struct timer_chain *tchain, struct alarm_waiter *waiter,
+                     uint64_t usleep);
+
 /* Blocks on the alarm waiter */
 int sleep_on_awaiter(struct alarm_waiter *waiter);
 /* Interrupt handlers need to call this.  Don't call it directly. */