0a0694827de2fc08cf1a8a633cb1a838462d128c
[NeonServV5.git] / timeq.h
1 #ifndef _timeq_h
2 #define _timeq_h
3
4 #include "main.h"
5
6 #define TIMEQ_CALLBACK(NAME) void NAME(UNUSED_ARG(void *data))
7 typedef TIMEQ_CALLBACK(timeq_callback_t);
8
9 struct timeq_entry {
10     char *name;
11     time_t execute;
12     timeq_callback_t *callback;
13     void *data;
14     
15     struct timeq_entry *next;
16 };
17
18 void timeq_tick();
19 struct timeq_entry* timeq_add(int seconds, timeq_callback_t *callback, void *data);
20 struct timeq_entry* timeq_add_name(char *name, int seconds, timeq_callback_t *callback, void *data);
21 int timeq_del(struct timeq_entry* entry);
22 int timeq_del_name(char *name);
23 int timeq_name_exists(char *name);
24
25 #endif