mirror of
https://github.com/anope/anope.git
synced 2026-06-22 22:06:37 +02:00
73bd4f99ca
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1914 5417fbe8-f217-4b02-8779-1006273d7864
46 lines
1.1 KiB
C
46 lines
1.1 KiB
C
/* Time-delay routine include stuff.
|
|
*
|
|
* (C) 2003-2009 Anope Team
|
|
* Contact us at team@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();
|
|
|
|
/* 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);
|
|
|
|
|
|
#endif /* TIMEOUT_H */
|