tried to reorder the program structure and build process
[NeonServV5.git] / src / timeq.h
diff --git a/src/timeq.h b/src/timeq.h
new file mode 100644 (file)
index 0000000..0a06948
--- /dev/null
@@ -0,0 +1,25 @@
+#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