-/* timeq.h - NeonServ v5.3
+/* timeq.h - NeonServ v5.6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
#define TIMEQ_CALLBACK(NAME) void NAME(UNUSED_ARG(void *data))
typedef TIMEQ_CALLBACK(timeq_callback_t);
+struct IODescriptor;
+
struct timeq_entry {
+ struct IODescriptor *iofd;
char *name;
- struct timeval execute;
+ int module_id;
timeq_callback_t *callback;
void *data;
- struct timeq_entry *next;
+ struct timeq_entry *prev, *next;
};
-void init_timeq();
-void timeq_tick();
-struct timeq_entry* timeq_add(int seconds, timeq_callback_t *callback, void *data);
-struct timeq_entry* timeq_uadd(int useconds, timeq_callback_t *callback, void *data);
-struct timeq_entry* timeq_add_name(char *name, int seconds, timeq_callback_t *callback, void *data);
-struct timeq_entry* timeq_uadd_name(char *name, int useconds, 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
+#ifndef DND_FUNCTIONS
+/* MODULAR ACCESSIBLE */ struct timeq_entry* timeq_add(int seconds, int module_id, timeq_callback_t *callback, void *data);
+/* MODULAR ACCESSIBLE */ struct timeq_entry* timeq_uadd(int useconds, int module_id, timeq_callback_t *callback, void *data);
+/* MODULAR ACCESSIBLE */ struct timeq_entry* timeq_add_name(char *name, int seconds, int module_id, timeq_callback_t *callback, void *data);
+/* MODULAR ACCESSIBLE */ struct timeq_entry* timeq_uadd_name(char *name, int useconds, int module_id, timeq_callback_t *callback, void *data);
+/* MODULAR ACCESSIBLE */ int timeq_del(struct timeq_entry* entry);
+/* MODULAR ACCESSIBLE */ int timeq_del_name(char *name);
+/* MODULAR ACCESSIBLE */ int timeq_name_exists(char *name);
+void unregister_module_timers(int module_id);
+#endif
+#endif