1 /******************************************************************************
2  *                    Internetting Cooperating Programmers
3  * ----------------------------------------------------------------------------
4  *
5  *  ____    PROJECT
6  * |  _ \  __ _ _ __   ___ ___ _ __
7  * | | | |/ _` | '_ \ / __/ _ \ '__|
8  * | |_| | (_| | | | | (_|  __/ |
9  * |____/ \__,_|_| |_|\___\___|_|   the IRC bot
10  *
11  * All files in this archive are subject to the GNU General Public License.
12  *
13  * $Source: /cvsroot/dancer/dancer/src/flood.h,v $
14  * $Revision: 1.1.1.1 $
15  * $Date: 2000/11/13 02:42:41 $
16  * $Author: holsta $
17  * $State: Exp $
18  * $Locker:  $
19  *
20  * ---------------------------------------------------------------------------
21  *****************************************************************************/
22 
23 #ifndef FLOOD_H
24 #define FLOOD_H
25 
26 #include "dancer.h"
27 #include "user.h"
28 
29 /* This define sets the *longest* interval accepted between two failed sitebans
30    to trigger the RED alert situation. RED alert will most likely set the
31    channel +i */
32 #define TRIGGER_RED_ALERT (10*SECINMIN)
33 
34 typedef enum {
35   ALERT_NONE,
36   ALERT_ON,
37   ALERT_OFF,
38   ALERT_RED,
39   ALERT_LAST
40 } Alert;
41 
42 int AlertMode(Alert);
43 
44 bool Warning(itemguest *, char *, char *);
45 void FloodCheck(itemguest *);
46 void Check(itemguest *, char *);
47 void RepeatCheck(itemguest *, char *);
48 void AvalanceCheck(itemguest *, char *);
49 bool CTCPFloodCheck(itemguest *, bool);
50 void MultiCheck(char *domain);
51 
52 #endif /* FLOOD_H */
53