--- /dev/null
+#ifndef _timeq_h
+#define _timeq_h
+
+#include "main.h"
+
+#define TIMEQ_CALLBACK(NAME) void NAME(UNUSED_ARG(void *data))
+typedef TIMEQ_CALLBACK(timeq_callback_t);
+
+struct timeq_entry {
+ char *name;
+ time_t execute;
+ timeq_callback_t *callback;
+ void *data;
+
+ struct timeq_entry *next;
+};
+
+void timeq_tick();
+struct timeq_entry* timeq_add(int seconds, timeq_callback_t *callback, void *data);
+struct timeq_entry* timeq_add_name(char *name, int seconds, timeq_callback_t *callback, void *data);
+int timeq_del(struct timeq_entry* entry);
+int timeq_del_name(char *name);
+int timeq_name_exists(char *name);
+
+#endif
\ No newline at end of file