]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/xline_8h-source.html
Added docs for new smaller memory footprint classes
[user/henk/code/inspircd.git] / docs / module-doc / xline_8h-source.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>InspIRCd: xline.h Source File</title>
4 <link href="inspircd.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.3.3 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8 <h1>xline.h</h1><a href="xline_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*       +------------------------------------+</span>
9 00002 <span class="comment"> *       | Inspire Internet Relay Chat Daemon |</span>
10 00003 <span class="comment"> *       +------------------------------------+</span>
11 00004 <span class="comment"> *</span>
12 00005 <span class="comment"> *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.</span>
13 00006 <span class="comment"> *                       E-mail:</span>
14 00007 <span class="comment"> *                &lt;brain@chatspike.net&gt;</span>
15 00008 <span class="comment"> *                &lt;Craig@chatspike.net&gt;</span>
16 00009 <span class="comment"> *     </span>
17 00010 <span class="comment"> * Written by Craig Edwards, Craig McLure, and others.</span>
18 00011 <span class="comment"> * This program is free but copyrighted software; see</span>
19 00012 <span class="comment"> *            the file COPYING for details.</span>
20 00013 <span class="comment"> *</span>
21 00014 <span class="comment"> * ---------------------------------------------------</span>
22 00015 <span class="comment"> */</span>
23 00016 
24 00017 <span class="preprocessor">#ifndef __XLINE_H</span>
25 00018 <span class="preprocessor"></span><span class="preprocessor">#define __XLINE_H</span>
26 00019 <span class="preprocessor"></span>
27 00020 <span class="comment">// include the common header files</span>
28 00021 
29 00022 <span class="preprocessor">#include &lt;typeinfo&gt;</span>
30 00023 <span class="preprocessor">#include &lt;iostream&gt;</span>
31 00024 <span class="preprocessor">#include &lt;string&gt;</span>
32 00025 <span class="preprocessor">#include &lt;deque&gt;</span>
33 00026 <span class="preprocessor">#include &lt;sstream&gt;</span>
34 00027 <span class="preprocessor">#include &lt;vector&gt;</span>
35 00028 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
36 00029 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
37 00030 
38 00031 
39 <a name="l00034"></a><a class="code" href="classXLine.html">00034</a> <span class="keyword">class </span><a class="code" href="classXLine.html">XLine</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
40 00035 {
41 00036   <span class="keyword">public</span>:
42 00037 
43 <a name="l00040"></a><a class="code" href="classXLine.html#o0">00040</a>         time_t <a class="code" href="classXLine.html#o0">set_time</a>;
44 00041         
45 <a name="l00044"></a><a class="code" href="classXLine.html#o1">00044</a>         <span class="keywordtype">long</span> <a class="code" href="classXLine.html#o1">duration</a>;
46 00045         
47 <a name="l00048"></a><a class="code" href="classXLine.html#o2">00048</a>         <span class="keywordtype">char</span> <a class="code" href="classXLine.html#o2">source</a>[256];
48 00049         
49 <a name="l00052"></a><a class="code" href="classXLine.html#o3">00052</a>         <span class="keywordtype">char</span> <a class="code" href="classXLine.html#o3">reason</a>[MAXBUF];
50 00053         
51 <a name="l00056"></a><a class="code" href="classXLine.html#o4">00056</a>         <span class="keywordtype">long</span> <a class="code" href="classXLine.html#o4">n_matches</a>;
52 00057         
53 00058 };
54 00059 
55 <a name="l00062"></a><a class="code" href="classKLine.html">00062</a> <span class="keyword">class </span><a class="code" href="classKLine.html">KLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
56 00063 {
57 00064   <span class="keyword">public</span>:
58 <a name="l00068"></a><a class="code" href="classKLine.html#o0">00068</a>         <span class="keywordtype">char</span> <a class="code" href="classKLine.html#o0">hostmask</a>[200];
59 00069 };
60 00070 
61 <a name="l00073"></a><a class="code" href="classGLine.html">00073</a> <span class="keyword">class </span><a class="code" href="classGLine.html">GLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
62 00074 {
63 00075   <span class="keyword">public</span>:
64 <a name="l00079"></a><a class="code" href="classGLine.html#o0">00079</a>         <span class="keywordtype">char</span> <a class="code" href="classGLine.html#o0">hostmask</a>[200];
65 00080 };
66 00081 
67 <a name="l00082"></a><a class="code" href="classELine.html">00082</a> <span class="keyword">class </span><a class="code" href="classELine.html">ELine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
68 00083 {
69 00084   <span class="keyword">public</span>:
70 <a name="l00088"></a><a class="code" href="classELine.html#o0">00088</a>         <span class="keywordtype">char</span> <a class="code" href="classELine.html#o0">hostmask</a>[200];
71 00089 };
72 00090 
73 <a name="l00093"></a><a class="code" href="classZLine.html">00093</a> <span class="keyword">class </span><a class="code" href="classZLine.html">ZLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
74 00094 {
75 00095   <span class="keyword">public</span>:
76 <a name="l00099"></a><a class="code" href="classZLine.html#o0">00099</a>         <span class="keywordtype">char</span> <a class="code" href="classZLine.html#o0">ipaddr</a>[40];
77 <a name="l00103"></a><a class="code" href="classZLine.html#o1">00103</a>         <span class="keywordtype">bool</span> <a class="code" href="classZLine.html#o1">is_global</a>;
78 00104 };
79 00105 
80 <a name="l00108"></a><a class="code" href="classQLine.html">00108</a> <span class="keyword">class </span><a class="code" href="classQLine.html">QLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
81 00109 {
82 00110   <span class="keyword">public</span>:
83 <a name="l00114"></a><a class="code" href="classQLine.html#o0">00114</a>         <span class="keywordtype">char</span> <a class="code" href="classQLine.html#o0">nick</a>[64];
84 <a name="l00118"></a><a class="code" href="classQLine.html#o1">00118</a>         <span class="keywordtype">bool</span> <a class="code" href="classQLine.html#o1">is_global</a>;
85 00119 };
86 00120 
87 00121 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a0">read_xline_defaults</a>();
88 00122 
89 00123 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a1">add_gline</a>(<span class="keywordtype">long</span> duration, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
90 00124 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a2">add_qline</a>(<span class="keywordtype">long</span> duration, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* nickname);
91 00125 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a3">add_zline</a>(<span class="keywordtype">long</span> duration, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
92 00126 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a4">add_kline</a>(<span class="keywordtype">long</span> duration, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
93 00127 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a5">add_eline</a>(<span class="keywordtype">long</span> duration, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
94 00128 
95 00129 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#a6">del_gline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
96 00130 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#a7">del_qline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nickname);
97 00131 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#a8">del_zline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
98 00132 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#a9">del_kline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
99 00133 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#a10">del_eline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
100 00134 
101 00135 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#a11">matches_qline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nick);
102 00136 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#a12">matches_gline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* host);
103 00137 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#a13">matches_zline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
104 00138 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#a14">matches_kline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* host);
105 00139 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#a15">matches_exception</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* host);
106 00140 
107 00141 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a16">expire_lines</a>();
108 00142 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a17">apply_lines</a>();
109 00143 
110 00144 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a18">stats_k</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
111 00145 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a19">stats_g</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
112 00146 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a20">stats_q</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
113 00147 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a21">stats_z</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
114 00148 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a22">stats_e</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
115 00149 
116 00150 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a23">gline_set_creation_time</a>(<span class="keywordtype">char</span>* host, time_t create_time);
117 00151 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a24">qline_set_creation_time</a>(<span class="keywordtype">char</span>* nick, time_t create_time);
118 00152 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a25">zline_set_creation_time</a>(<span class="keywordtype">char</span>* ip, time_t create_time);
119 00153 
120 00154 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#a26">zline_make_global</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
121 00155 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#a27">qline_make_global</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nickname);
122 00156 
123 00157 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#a28">sync_xlines</a>(<a class="code" href="classserverrec.html">serverrec</a>* serv, <span class="keywordtype">char</span>* tcp_host);
124 00158 
125 00159 <span class="preprocessor">#endif</span>
126 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu May 12 22:58:59 2005 for InspIRCd by
127 <a href="http://www.doxygen.org/index.html">
128 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
129 </a>1.3.3 </small></address>
130 </body>
131 </html>