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];
00078         bool is_global;
00079 };
00080 
00083 class QLine : public XLine
00084 {
00085   public:
00089         char nick[MAXBUF];
00093         bool is_global;
00094 };
00095 
00096 void read_xline_defaults();
00097 
00098 void add_gline(long duration, char* source, char* reason, char* hostmask);
00099 void add_qline(long duration, char* source, char* reason, char* nickname);
00100 void add_zline(long duration, char* source, char* reason, char* ipaddr);
00101 void add_kline(long duration, char* source, char* reason, char* hostmask);
00102 
00103 bool del_gline(char* hostmask);
00104 bool del_qline(char* nickname);
00105 bool del_zline(char* ipaddr);
00106 bool del_kline(char* hostmask);
00107 
00108 char* matches_qline(const char* nick);
00109 char* matches_gline(const char* host);
00110 char* matches_zline(const char* ipaddr);
00111 char* matches_kline(const char* host);
00112 
00113 void expire_lines();
00114 void apply_lines();
00115 
00116 void stats_k(userrec* user);
00117 void stats_g(userrec* user);
00118 void stats_q(userrec* user);
00119 void stats_z(userrec* user);
00120 
00121 void gline_set_creation_time(char* host, time_t create_time);
00122 void qline_set_creation_time(char* nick, time_t create_time);
00123 void zline_set_creation_time(char* ip, time_t create_time);
00124 
00125 bool zline_make_global(char* ipaddr);
00126 bool qline_make_global(char* nickname);
00127 
00128 void sync_xlines(serverrec* serv, char* tcp_host);
00129 
00130 #endif
00131 
00132 

Generated on Sat May 1 13:39:00 2004 for InspIRCd by doxygen1.3-rc3