summaryrefslogtreecommitdiff
path: root/src/common/timer.h
diff options
context:
space:
mode:
authorTrojal <trojal@gmail.com>2013-01-10 20:09:39 -0800
committershennetsind <ind@henn.et>2013-01-12 05:56:35 -0200
commitc55855fcf627478f864c0f82a1a2f201fd407a38 (patch)
treeb7f6d11b2058248d026f2d9944e8f4b6ac288d50 /src/common/timer.h
parent51bfeb38eb139e97e0e1c096c85c15fba234f35b (diff)
parent38e583df21eccd9e4f31d38acaae32579c6f0d27 (diff)
downloadhercules-c55855fcf627478f864c0f82a1a2f201fd407a38.tar.gz
hercules-c55855fcf627478f864c0f82a1a2f201fd407a38.tar.bz2
hercules-c55855fcf627478f864c0f82a1a2f201fd407a38.tar.xz
hercules-c55855fcf627478f864c0f82a1a2f201fd407a38.zip
Test1, testing for the commit widget, need to edit something.
Test2, testing for the commit widget, need to edit something. Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/common/timer.h')
-rw-r--r--src/common/timer.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/common/timer.h b/src/common/timer.h
new file mode 100644
index 000000000..d45c73d12
--- /dev/null
+++ b/src/common/timer.h
@@ -0,0 +1,57 @@
+// Copyright (c) Athena Dev Teams - Licensed under GNU GPL
+// For more information, see LICENCE in the main folder
+
+#ifndef _TIMER_H_
+#define _TIMER_H_
+
+#include "../common/cbasetypes.h"
+
+#define DIFF_TICK(a,b) ((int)((a)-(b)))
+
+#define INVALID_TIMER -1
+
+// timer flags
+enum {
+ TIMER_ONCE_AUTODEL = 0x01,
+ TIMER_INTERVAL = 0x02,
+ TIMER_REMOVE_HEAP = 0x10,
+};
+
+// Struct declaration
+
+typedef int (*TimerFunc)(int tid, unsigned int tick, int id, intptr_t data);
+
+struct TimerData {
+ unsigned int tick;
+ TimerFunc func;
+ int type;
+ int interval;
+ int heap_pos;
+
+ // general-purpose storage
+ int id;
+ intptr_t data;
+};
+
+// Function prototype declaration
+
+unsigned int gettick(void);
+unsigned int gettick_nocache(void);
+
+int add_timer(unsigned int tick, TimerFunc func, int id, intptr_t data);
+int add_timer_interval(unsigned int tick, TimerFunc func, int id, intptr_t data, int interval);
+const struct TimerData* get_timer(int tid);
+int delete_timer(int tid, TimerFunc func);
+
+int addtick_timer(int tid, unsigned int tick);
+int settick_timer(int tid, unsigned int tick);
+
+int add_timer_func_list(TimerFunc func, char* name);
+
+unsigned long get_uptime(void);
+
+int do_timer(unsigned int tick);
+void timer_init(void);
+void timer_final(void);
+
+#endif /* _TIMER_H_ */