]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/users_8h-source.html
Documented new recvq and sendq stuff
[user/henk/code/inspircd.git] / docs / module-doc / users_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: users.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>users.h</h1><a href="users_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">#include "inspircd_config.h"</span> 
25 00018 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
26 00019 <span class="preprocessor">#include "<a class="code" href="connection_8h.html">connection.h</a>"</span>
27 00020 <span class="preprocessor">#include "inspstring.h"</span>
28 00021 <span class="preprocessor">#include &lt;string&gt;</span>
29 00022  
30 00023 <span class="preprocessor">#ifndef __USERS_H__ </span>
31 00024 <span class="preprocessor"></span><span class="preprocessor">#define __USERS_H__ </span>
32 00025 <span class="preprocessor"></span> 
33 <a name="l00026"></a><a class="code" href="users_8h.html#a0">00026</a> <span class="preprocessor">#define STATUS_OP       4</span>
34 <a name="l00027"></a><a class="code" href="users_8h.html#a1">00027</a> <span class="preprocessor"></span><span class="preprocessor">#define STATUS_HOP      2</span>
35 <a name="l00028"></a><a class="code" href="users_8h.html#a2">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define STATUS_VOICE    1</span>
36 <a name="l00029"></a><a class="code" href="users_8h.html#a3">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define STATUS_NORMAL   0</span>
37 00030 <span class="preprocessor"></span>
38 <a name="l00031"></a><a class="code" href="users_8h.html#a4">00031</a> <span class="preprocessor">#define CC_ALLOW        0</span>
39 <a name="l00032"></a><a class="code" href="users_8h.html#a5">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define CC_DENY         1</span>
40 00033 <span class="preprocessor"></span>
41 <a name="l00036"></a><a class="code" href="classInvited.html">00036</a> <span class="keyword">class </span><a class="code" href="classInvited.html">Invited</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
42 00037 {
43 00038  <span class="keyword">public</span>:
44 <a name="l00039"></a><a class="code" href="classInvited.html#o0">00039</a>         <span class="keywordtype">char</span> <a class="code" href="classInvited.html#o0">channel</a>[CHANMAX];
45 00040 };
46 00041 
47 00042 
48 <a name="l00045"></a><a class="code" href="classConnectClass.html">00045</a> <span class="keyword">class </span><a class="code" href="classConnectClass.html">ConnectClass</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
49 00046 {
50 00047  <span class="keyword">public</span>:
51 <a name="l00050"></a><a class="code" href="classConnectClass.html#o0">00050</a>         <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#o0">type</a>;
52 <a name="l00053"></a><a class="code" href="classConnectClass.html#o1">00053</a>         <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#o1">registration_timeout</a>;
53 <a name="l00056"></a><a class="code" href="classConnectClass.html#o2">00056</a>         <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#o2">flood</a>;
54 <a name="l00059"></a><a class="code" href="classConnectClass.html#o3">00059</a>         <span class="keywordtype">char</span> <a class="code" href="classConnectClass.html#o3">host</a>[MAXBUF];
55 <a name="l00062"></a><a class="code" href="classConnectClass.html#o4">00062</a>         <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#o4">pingtime</a>;
56 <a name="l00065"></a><a class="code" href="classConnectClass.html#o5">00065</a>         <span class="keywordtype">char</span> <a class="code" href="classConnectClass.html#o5">pass</a>[MAXBUF];
57 00066 
58 <a name="l00069"></a><a class="code" href="classConnectClass.html#o6">00069</a>         <span class="keywordtype">long</span> <a class="code" href="classConnectClass.html#o6">threshold</a>;
59 00070 
60 <a name="l00073"></a><a class="code" href="classConnectClass.html#o7">00073</a>         <span class="keywordtype">long</span> <a class="code" href="classConnectClass.html#o7">sendqmax</a>;
61 00074 
62 <a name="l00077"></a><a class="code" href="classConnectClass.html#o8">00077</a>         <span class="keywordtype">long</span> <a class="code" href="classConnectClass.html#o8">recvqmax</a>;
63 00078         
64 <a name="l00079"></a><a class="code" href="classConnectClass.html#a0">00079</a>         <a class="code" href="classConnectClass.html#a0">ConnectClass</a>()
65 00080         {
66 00081                 <a class="code" href="classConnectClass.html#o1">registration_timeout</a> = 0;
67 00082                 <a class="code" href="classConnectClass.html#o2">flood</a> = 0;
68 00083                 <a class="code" href="classConnectClass.html#o4">pingtime</a> = 0;
69 00084                 <a class="code" href="classConnectClass.html#o6">threshold</a> = 0;
70 00085                 <a class="code" href="classConnectClass.html#o7">sendqmax</a> = 0;
71 00086                 <a class="code" href="classConnectClass.html#o8">recvqmax</a> = 0;
72 00087                 strlcpy(<a class="code" href="classConnectClass.html#o3">host</a>,<span class="stringliteral">""</span>,MAXBUF);
73 00088                 strlcpy(<a class="code" href="classConnectClass.html#o5">pass</a>,<span class="stringliteral">""</span>,MAXBUF);
74 00089         }
75 00090 };
76 00091 
77 <a name="l00094"></a><a class="code" href="users_8h.html#a6">00094</a> <span class="keyword">typedef</span> std::vector&lt;Invited&gt; <a class="code" href="users_8h.html#a6">InvitedList</a>;
78 00095 
79 00096 
80 00097 
81 <a name="l00100"></a><a class="code" href="users_8h.html#a7">00100</a> <span class="keyword">typedef</span> std::vector&lt;ConnectClass&gt; <a class="code" href="users_8h.html#a7">ClassVector</a>;
82 00101 
83 <a name="l00108"></a><a class="code" href="classuserrec.html">00108</a> <span class="keyword">class </span><a class="code" href="classuserrec.html">userrec</a> : <span class="keyword">public</span> <a class="code" href="classconnection.html">connection</a>
84 00109 {
85 00110  <span class="keyword">private</span>:
86 00111 
87 <a name="l00114"></a><a class="code" href="classuserrec.html#r0">00114</a>         <a class="code" href="users_8h.html#a6">InvitedList</a> <a class="code" href="classuserrec.html#r0">invites</a>;
88 00115  <span class="keyword">public</span>:
89 00116         
90 <a name="l00121"></a><a class="code" href="classuserrec.html#o0">00121</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o0">nick</a>[NICKMAX];
91 00122         
92 <a name="l00125"></a><a class="code" href="classuserrec.html#o1">00125</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o1">ident</a>[64];
93 00126 
94 <a name="l00130"></a><a class="code" href="classuserrec.html#o2">00130</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o2">dhost</a>[256];
95 00131         
96 <a name="l00134"></a><a class="code" href="classuserrec.html#o3">00134</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o3">fullname</a>[128];
97 00135         
98 <a name="l00140"></a><a class="code" href="classuserrec.html#o4">00140</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o4">modes</a>[MAXBUF];
99 00141         
100 <a name="l00142"></a><a class="code" href="classuserrec.html#o5">00142</a>         <a class="code" href="classucrec.html">ucrec</a> <a class="code" href="classuserrec.html#o5">chans</a>[MAXCHANS];
101 00143         
102 <a name="l00146"></a><a class="code" href="classuserrec.html#o6">00146</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o6">server</a>[256];
103 00147         
104 <a name="l00151"></a><a class="code" href="classuserrec.html#o7">00151</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o7">awaymsg</a>[512];
105 00152         
106 <a name="l00156"></a><a class="code" href="classuserrec.html#o8">00156</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o8">result</a>[256];
107 00157         
108 <a name="l00162"></a><a class="code" href="classuserrec.html#o9">00162</a>         <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#o9">flood</a>;
109 00163         
110 <a name="l00168"></a><a class="code" href="classuserrec.html#o10">00168</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o10">timeout</a>;
111 00169         
112 <a name="l00175"></a><a class="code" href="classuserrec.html#o11">00175</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o11">oper</a>[NICKMAX];
113 00176 
114 <a name="l00179"></a><a class="code" href="classuserrec.html#o12">00179</a>         <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#o12">dns_done</a>;
115 00180 
116 <a name="l00183"></a><a class="code" href="classuserrec.html#o13">00183</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o13">pingmax</a>;
117 00184 
118 <a name="l00189"></a><a class="code" href="classuserrec.html#o14">00189</a>         <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o14">password</a>[MAXBUF];
119 00190 
120 <a name="l00195"></a><a class="code" href="classuserrec.html#o15">00195</a>         std::string <a class="code" href="classuserrec.html#o15">recvq</a>;
121 00196 
122 <a name="l00200"></a><a class="code" href="classuserrec.html#o16">00200</a>         std::string <a class="code" href="classuserrec.html#o16">sendq</a>;
123 00201 
124 <a name="l00204"></a><a class="code" href="classuserrec.html#o17">00204</a>         <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o17">lines_in</a>;
125 <a name="l00205"></a><a class="code" href="classuserrec.html#o18">00205</a>         time_t <a class="code" href="classuserrec.html#o18">reset_due</a>;
126 <a name="l00206"></a><a class="code" href="classuserrec.html#o19">00206</a>         <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o19">threshold</a>;
127 00207 
128 00208         <span class="comment">/* Write error string</span>
129 00209 <span class="comment">         */</span>
130 <a name="l00210"></a><a class="code" href="classuserrec.html#o20">00210</a>         std::string <a class="code" href="classuserrec.html#o20">WriteError</a>;
131 00211 
132 <a name="l00214"></a><a class="code" href="classuserrec.html#o21">00214</a>         <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o21">sendqmax</a>;
133 00215 
134 <a name="l00218"></a><a class="code" href="classuserrec.html#o22">00218</a>         <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o22">recvqmax</a>;
135 00219 
136 00220         <a class="code" href="classuserrec.html#a0">userrec</a>();
137 00221         
138 <a name="l00222"></a><a class="code" href="classuserrec.html#a1">00222</a>         <span class="keyword">virtual</span> <a class="code" href="classuserrec.html#a1">~userrec</a>() {  }
139 00223         
140 00228         <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">GetFullHost</a>();
141 00229         
142 00235         <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">GetFullRealHost</a>();
143 00236         
144 00239         <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a4">IsInvited</a>(<span class="keywordtype">char</span>* channel);
145 00240         
146 00243         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a5">InviteTo</a>(<span class="keywordtype">char</span>* channel);
147 00244         
148 00249         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">RemoveInvite</a>(<span class="keywordtype">char</span>* channel);
149 00250         
150 00255         <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">HasPermission</a>(<span class="keywordtype">char</span>* command);
151 00256 
152 00264         <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a8">AddBuffer</a>(std::string a);
153 00265 
154 00269         <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a9">BufferIsReady</a>();
155 00270 
156 00273         <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a10">ClearBuffer</a>();
157 00274 
158 00282         std::string <a class="code" href="classuserrec.html#a11">GetBuffer</a>();
159 00283 
160 00289         <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a12">SetWriteError</a>(std::string error);
161 00290 
162 00294         std::string <a class="code" href="classuserrec.html#a13">GetWriteError</a>();
163 00295 
164 00301         <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a14">AddWriteBuf</a>(std::string data);
165 00302 
166 00309         <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a15">FlushWriteBuf</a>();
167 00310 
168 00311 };
169 00312 
170 00313 
171 00314 <span class="preprocessor">#endif</span>
172 </pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu May 12 02:25:14 2005 for InspIRCd by
173 <a href="http://www.doxygen.org/index.html">
174 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
175 </a>1.3.3 </small></address>
176 </body>
177 </html>