summaryrefslogtreecommitdiff
path: root/timeout.h
diff options
context:
space:
mode:
authorsvn svn@31f1291d-b8d6-0310-a050-a5561fc1590b <svn svn@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-03-28 21:59:56 +0000
committersvn svn@31f1291d-b8d6-0310-a050-a5561fc1590b <svn svn@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-03-28 21:59:56 +0000
commit55bf4dbcabf378e9472b7d31d6edf87f6ac853e9 (patch)
tree7a9454ea6b8750256e242cf6d5fba3ca7a4b5044 /timeout.h
Initial Anope Import
git-svn-id: svn://svn.anope.org/anope/trunk@1 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'timeout.h')
-rw-r--r--timeout.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/timeout.h b/timeout.h
new file mode 100644
index 000000000..045e13801
--- /dev/null
+++ b/timeout.h
@@ -0,0 +1,50 @@
+/* Time-delay routine include stuff.
+ *
+ * (C) 2003 Anope Team
+ * Contact us at info@anope.org
+ *
+ * Please read COPYING and README for furhter details.
+ *
+ * Based on the original code of Epona by Lara.
+ * Based on the original code of Services by Andy Church.
+ *
+ * $Id: timeout.h,v 1.4 2003/07/20 01:15:50 dane Exp $
+ *
+ */
+
+#ifndef TIMEOUT_H
+#define TIMEOUT_H
+
+#include <time.h>
+
+
+/* Definitions for timeouts: */
+typedef struct timeout_ Timeout;
+struct timeout_ {
+ Timeout *next, *prev;
+ time_t settime, timeout;
+ int repeat; /* Does this timeout repeat indefinitely? */
+ void (*code)(Timeout *); /* This structure is passed to the code */
+ void *data; /* Can be anything */
+};
+
+
+/* Check the timeout list for any pending actions. */
+extern void check_timeouts(void);
+
+/* Add a timeout to the list to be triggered in `delay' seconds. Any
+ * timeout added from within a timeout routine will not be checked during
+ * that run through the timeout list.
+ */
+extern Timeout *add_timeout(int delay, void (*code)(Timeout *), int repeat);
+
+/* Remove a timeout from the list (if it's there). */
+extern void del_timeout(Timeout *t);
+
+#ifdef DEBUG_COMMANDS
+/* Send the list of timeouts to the given user. */
+extern void send_timeout_list(User *u);
+#endif
+
+
+#endif /* TIMEOUT_H */