+
+/* ********* *
+ * * TIMER * *
+ * ********* */
+typedef struct {
+ double expiry;
+ double period;
+ void_f_void_t action;
+ int repeat;
+} s_gras_timer_t, *gras_timer_t;
+
+/* returns 0 if it handled a timer, or the delay until next timer, or -1 if no armed timer */
+double gras_msg_timer_handle(void);
+
+