Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

xline.h

Go to the documentation of this file.
00001 #ifndef __XLINE_H
00002 #define __XLINE_H
00003 
00004 // include the common header files
00005 
00006 #include <typeinfo>
00007 #include <iostream>
00008 #include <string>
00009 #include <deque>
00010 #include <sstream>
00011 #include <vector>
00012 #include "users.h"
00013 #include "channels.h"
00014 
00015 
00018 class XLine : public classbase
00019 {
00020   public:
00021 
00024         time_t set_time;
00025         
00028         long duration;
00029         
00032         char source[MAXBUF];
00033         
00036         char reason[MAXBUF];
00037         
00040         long n_matches;
00041         
00042 };
00043 
00046 class KLine : public XLine
00047 {
00048   public:
00052         char hostmask[MAXBUF];
00053 };
00054 
00057 class GLine : public XLine
00058 {
00059   public:
00063         char hostmask[MAXBUF];
00064 };
00065 
00068 class ZLine : public XLine
00069 {
00070   public:
00074         char ipaddr[MAXBUF];
00075 };
00076 
00079 class QLine : public XLine
00080 {
00081   public:
00085         char nick[MAXBUF];
00086 };
00087 
00088 void read_xline_defaults();
00089 
00090 void add_gline(long duration, char* source, char* reason, char* hostmask);
00091 void add_qline(long duration, char* source, char* reason, char* nickname);
00092 void add_zline(long duration, char* source, char* reason, char* ipaddr);
00093 void add_kline(long duration, char* source, char* reason, char* hostmask);
00094 
00095 bool del_gline(char* hostmask);
00096 bool del_qline(char* nickname);
00097 bool del_zline(char* ipaddr);
00098 bool del_kline(char* hostmask);
00099 
00100 char* matches_qline(const char* nick);
00101 char* matches_gline(const char* host);
00102 char* matches_zline(const char* ipaddr);
00103 char* matches_kline(const char* host);
00104 
00105 void expire_lines();
00106 void apply_lines();
00107 
00108 void stats_k(userrec* user);
00109 void stats_g(userrec* user);
00110 void stats_q(userrec* user);
00111 void stats_z(userrec* user);
00112 
00113 void gline_set_creation_time(char* host, time_t create_time);
00114 void qline_set_creation_time(char* nick, time_t create_time);
00115 void zline_set_creation_time(char* ip, time_t create_time);
00116 
00117 #endif
00118 

Generated on Sun Apr 25 00:24:05 2004 for InspIRCd by doxygen1.3-rc3