diff options
| author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-07-19 14:08:30 +0000 |
|---|---|---|
| committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2004-07-19 14:08:30 +0000 |
| commit | a1479a87757fb5e9b48f3c8bb5dd9cc247406f1a (patch) | |
| tree | 06d23a51082a398c512ed8f1e39bdac60d4dd658 /include/timeout.h | |
| parent | 7fffea77edbe72cd66f7a55f41a3966204f9cf86 (diff) | |
BUILD : 1.7.4 (264) BUGS : N/A NOTES : Switched to autoconf - try to commit part 1
git-svn-id: svn://svn.anope.org/anope/trunk@264 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@169 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'include/timeout.h')
| -rw-r--r-- | include/timeout.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/include/timeout.h b/include/timeout.h new file mode 100644 index 000000000..2ecb0cb9e --- /dev/null +++ b/include/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$ + * + */ + +#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 */ |
