]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - docs/module-doc/classuserrec.html
Added DNS class to documentation
[user/henk/code/inspircd.git] / docs / module-doc / classuserrec.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: userrec class Reference</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>userrec Class Reference</h1>Holds all information about a user This class stores all information about a user connected to the irc server.  
9 <a href="#_details">More...</a>
10 <p>
11 <code>#include &lt;<a class="el" href="users_8h-source.html">users.h</a>&gt;</code>
12 <p>
13 Inherits <a class="el" href="classconnection.html">connection</a>.
14 <p>
15 <a href="classuserrec-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
16 <tr><td></td></tr>
17 <tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
18 <tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a0">userrec</a> ()</td></tr>
19
20 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a1">~userrec</a> ()</td></tr>
21
22 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a2">GetFullHost</a> ()</td></tr>
23
24 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. </em> <a href="#a2"></a><em><br><br></td></tr>
25 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a3">GetFullRealHost</a> ()</td></tr>
26
27 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. </em> <a href="#a3"></a><em><br><br></td></tr>
28 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a4">IsInvited</a> (char *channel)</td></tr>
29
30 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a user is invited to a channel. </em> <a href="#a4"></a><em><br><br></td></tr>
31 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a5">InviteTo</a> (char *channel)</td></tr>
32
33 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a channel to a users invite list (invites them to a channel). </em> <a href="#a5"></a><em><br><br></td></tr>
34 <tr><td class="memItemLeft" nowrap align=right valign=top>virtual void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a6">RemoveInvite</a> (char *channel)</td></tr>
35
36 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a channel from a users invite list. </em> <a href="#a6"></a><em><br><br></td></tr>
37 <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#a7">HasPermission</a> (char *command)</td></tr>
38
39 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true or false for if a user can execute a privilaged oper command. </em> <a href="#a7"></a><em><br><br></td></tr>
40 <tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
41 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o0">nick</a> [NICKMAX]</td></tr>
42
43 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The users nickname. </em> <a href="#o0"></a><em><br><br></td></tr>
44 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o1">ident</a> [64]</td></tr>
45
46 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The users ident reply. </em> <a href="#o1"></a><em><br><br></td></tr>
47 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o2">dhost</a> [256]</td></tr>
48
49 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The host displayed to non-opers (used for cloaking etc). </em> <a href="#o2"></a><em><br><br></td></tr>
50 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o3">fullname</a> [128]</td></tr>
51
52 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The users full name. </em> <a href="#o3"></a><em><br><br></td></tr>
53 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o4">modes</a> [MAXBUF]</td></tr>
54
55 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The user's mode string. </em> <a href="#o4"></a><em><br><br></td></tr>
56 <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classucrec.html">ucrec</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o5">chans</a> [MAXCHANS]</td></tr>
57
58 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o6">server</a> [256]</td></tr>
59
60 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The server the user is connected to. </em> <a href="#o6"></a><em><br><br></td></tr>
61 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o7">awaymsg</a> [512]</td></tr>
62
63 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The user's away message. </em> <a href="#o7"></a><em><br><br></td></tr>
64 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o8">result</a> [256]</td></tr>
65
66 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stores the result of the last GetFullHost or GetRealHost call. </em> <a href="#o8"></a><em><br><br></td></tr>
67 <tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o9">flood</a></td></tr>
68
69 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood. </em> <a href="#o9"></a><em><br><br></td></tr>
70 <tr><td class="memItemLeft" nowrap align=right valign=top>unsigned long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o10">timeout</a></td></tr>
71
72 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected. </em> <a href="#o10"></a><em><br><br></td></tr>
73 <tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o11">oper</a> [NICKMAX]</td></tr>
74
75 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The oper type they logged in as, if they are an oper. </em> <a href="#o11"></a><em><br><br></td></tr>
76 <tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o12">dns_done</a></td></tr>
77
78 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True when <a class="el" href="classDNS.html">DNS</a> lookups are completed. </em> <a href="#o12"></a><em><br><br></td></tr>
79 <tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
80 <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="users_8h.html#a6">InvitedList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#r0">invites</a></td></tr>
81
82 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of channels the user has a pending invite to. </em> <a href="#r0"></a><em><br><br></td></tr>
83 </table>
84 <hr><a name="_details"></a><h2>Detailed Description</h2>
85 Holds all information about a user This class stores all information about a user connected to the irc server. 
86 <p>
87 Everything about a connection is stored here primarily, from the user's socket ID (file descriptor) through to the user's nickname and hostname. Use the Find method of the server class to locate a specific user by nickname. 
88 <p>
89
90 <p>
91 Definition at line <a class="el" href="users_8h-source.html#l00089">89</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
92 <a name="a0" doxytag="userrec::userrec"></a><p>
93 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
94   <tr>
95     <td class="mdRow">
96       <table cellpadding="0" cellspacing="0" border="0">
97         <tr>
98           <td class="md" nowrap valign="top"> userrec::userrec </td>
99           <td class="md" valign="top">(&nbsp;</td>
100           <td class="mdname1" valign="top" nowrap>          </td>
101           <td class="md" valign="top">&nbsp;)&nbsp;</td>
102           <td class="md" nowrap></td>
103         </tr>
104
105       </table>
106     </td>
107   </tr>
108 </table>
109 <table cellspacing=5 cellpadding=0 border=0>
110   <tr>
111     <td>
112       &nbsp;
113     </td>
114     <td>
115
116 <p>
117
118 <p>
119 Definition at line <a class="el" href="users_8cpp-source.html#l00026">26</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
120 <p>
121 References <a class="el" href="users_8h-source.html#l00132">awaymsg</a>, <a class="el" href="connection_8h-source.html#l00194">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00198">connection::bytes_out</a>, <a class="el" href="channels_8h-source.html#l00213">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00123">chans</a>, <a class="el" href="connection_8h-source.html#l00202">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00206">connection::cmds_out</a>, <a class="el" href="users_8h-source.html#l00111">dhost</a>, <a class="el" href="users_8h-source.html#l00160">dns_done</a>, <a class="el" href="connection_8h-source.html#l00178">connection::fd</a>, <a class="el" href="users_8h-source.html#l00143">flood</a>, <a class="el" href="users_8h-source.html#l00115">fullname</a>, <a class="el" href="connection_8h-source.html#l00210">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00182">connection::host</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="connection_8h-source.html#l00236">connection::idle_lastmsg</a>, <a class="el" href="connection_8h-source.html#l00190">connection::inbuf</a>, <a class="el" href="users_8h-source.html#l00095">invites</a>, <a class="el" href="connection_8h-source.html#l00186">connection::ip</a>, <a class="el" href="connection_8h-source.html#l00228">connection::lastping</a>, <a class="el" href="users_8h-source.html#l00121">modes</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, <a class="el" href="connection_8h-source.html#l00240">connection::nping</a>, <a class="el" href="users_8h-source.html#l00156">oper</a>, <a class="el" href="connection_8h-source.html#l00216">connection::port</a>, <a class="el" href="connection_8h-source.html#l00220">connection::registered</a>, <a class="el" href="users_8h-source.html#l00137">result</a>, <a class="el" href="users_8h-source.html#l00127">server</a>, <a class="el" href="connection_8h-source.html#l00232">connection::signon</a>, <a class="el" href="users_8h-source.html#l00149">timeout</a>, and <a class="el" href="channels_8h-source.html#l00208">ucrec::uc_modes</a>.
122 <p>
123 <div class="fragment"><pre>00027 {
124 00028         <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
125 00029         strcpy(nick,<span class="stringliteral">""</span>);
126 00030         strcpy(ip,<span class="stringliteral">"127.0.0.1"</span>);
127 00031         <a class="code" href="classuserrec.html#o10">timeout</a> = 0;
128 00032         strcpy(ident,<span class="stringliteral">""</span>);
129 00033         strcpy(host,<span class="stringliteral">""</span>);
130 00034         strcpy(dhost,<span class="stringliteral">""</span>);
131 00035         strcpy(fullname,<span class="stringliteral">""</span>);
132 00036         strcpy(modes,<span class="stringliteral">""</span>);
133 00037         strcpy(inbuf,<span class="stringliteral">""</span>);
134 00038         strcpy(server,<span class="stringliteral">""</span>);
135 00039         strcpy(awaymsg,<span class="stringliteral">""</span>);
136 00040         strcpy(oper,<span class="stringliteral">""</span>);
137 00041         <a class="code" href="classconnection.html#o0">fd</a> = <a class="code" href="classconnection.html#o12">lastping</a> = <a class="code" href="classconnection.html#o13">signon</a> = <a class="code" href="classconnection.html#o14">idle_lastmsg</a> = <a class="code" href="classconnection.html#o15">nping</a> = <a class="code" href="classconnection.html#o10">registered</a> = 0;
138 00042         <a class="code" href="classuserrec.html#o9">flood</a> = <a class="code" href="classconnection.html#o9">port</a> = <a class="code" href="classconnection.html#o4">bytes_in</a> = <a class="code" href="classconnection.html#o5">bytes_out</a> = <a class="code" href="classconnection.html#o6">cmds_in</a> = <a class="code" href="classconnection.html#o7">cmds_out</a> = 0;
139 00043         <a class="code" href="classconnection.html#o8">haspassed</a> = <span class="keyword">false</span>;
140 00044         <a class="code" href="classuserrec.html#o12">dns_done</a> = <span class="keyword">false</span>;
141 00045         strcpy(result,<span class="stringliteral">""</span>);
142 00046         <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
143 00047         {
144 00048                 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL;
145 00049                 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0;
146 00050         }
147 00051         <a class="code" href="classuserrec.html#r0">invites</a>.clear();
148 00052 }
149 </pre></div>    </td>
150   </tr>
151 </table>
152 <a name="a1" doxytag="userrec::~userrec"></a><p>
153 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
154   <tr>
155     <td class="mdRow">
156       <table cellpadding="0" cellspacing="0" border="0">
157         <tr>
158           <td class="md" nowrap valign="top"> virtual userrec::~<a class="el" href="classuserrec.html">userrec</a> </td>
159           <td class="md" valign="top">(&nbsp;</td>
160           <td class="mdname1" valign="top" nowrap>          </td>
161           <td class="md" valign="top">&nbsp;)&nbsp;</td>
162           <td class="md" nowrap><code> [inline, virtual]</code></td>
163         </tr>
164
165       </table>
166     </td>
167   </tr>
168 </table>
169 <table cellspacing=5 cellpadding=0 border=0>
170   <tr>
171     <td>
172       &nbsp;
173     </td>
174     <td>
175
176 <p>
177
178 <p>
179 Definition at line <a class="el" href="users_8h-source.html#l00164">164</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
180 <p>
181 <div class="fragment"><pre>00164 {  }
182 </pre></div>    </td>
183   </tr>
184 </table>
185 <hr><h2>Member Function Documentation</h2>
186 <a name="a2" doxytag="userrec::GetFullHost"></a><p>
187 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
188   <tr>
189     <td class="mdRow">
190       <table cellpadding="0" cellspacing="0" border="0">
191         <tr>
192           <td class="md" nowrap valign="top"> char * userrec::GetFullHost </td>
193           <td class="md" valign="top">(&nbsp;</td>
194           <td class="mdname1" valign="top" nowrap>          </td>
195           <td class="md" valign="top">&nbsp;)&nbsp;</td>
196           <td class="md" nowrap><code> [virtual]</code></td>
197         </tr>
198
199       </table>
200     </td>
201   </tr>
202 </table>
203 <table cellspacing=5 cellpadding=0 border=0>
204   <tr>
205     <td>
206       &nbsp;
207     </td>
208     <td>
209
210 <p>
211 Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. 
212 <p>
213
214 <p>
215 Definition at line <a class="el" href="users_8cpp-source.html#l00056">56</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
216 <p>
217 References <a class="el" href="users_8h-source.html#l00111">dhost</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, and <a class="el" href="users_8h-source.html#l00137">result</a>.
218 <p>
219 <div class="fragment"><pre>00057 {
220 00058         snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost);
221 00059         <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
222 00060 }
223 </pre></div>    </td>
224   </tr>
225 </table>
226 <a name="a3" doxytag="userrec::GetFullRealHost"></a><p>
227 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
228   <tr>
229     <td class="mdRow">
230       <table cellpadding="0" cellspacing="0" border="0">
231         <tr>
232           <td class="md" nowrap valign="top"> char * userrec::GetFullRealHost </td>
233           <td class="md" valign="top">(&nbsp;</td>
234           <td class="mdname1" valign="top" nowrap>          </td>
235           <td class="md" valign="top">&nbsp;)&nbsp;</td>
236           <td class="md" nowrap><code> [virtual]</code></td>
237         </tr>
238
239       </table>
240     </td>
241   </tr>
242 </table>
243 <table cellspacing=5 cellpadding=0 border=0>
244   <tr>
245     <td>
246       &nbsp;
247     </td>
248     <td>
249
250 <p>
251 Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. 
252 <p>
253 If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname.
254 <p>
255 Definition at line <a class="el" href="users_8cpp-source.html#l00063">63</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
256 <p>
257 References <a class="el" href="connection_8h-source.html#l00182">connection::host</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, and <a class="el" href="users_8h-source.html#l00137">result</a>.
258 <p>
259 <div class="fragment"><pre>00064 {
260 00065         snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host);
261 00066         <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
262 00067 }
263 </pre></div>    </td>
264   </tr>
265 </table>
266 <a name="a7" doxytag="userrec::HasPermission"></a><p>
267 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
268   <tr>
269     <td class="mdRow">
270       <table cellpadding="0" cellspacing="0" border="0">
271         <tr>
272           <td class="md" nowrap valign="top"> bool userrec::HasPermission </td>
273           <td class="md" valign="top">(&nbsp;</td>
274           <td class="md" nowrap valign="top">char *&nbsp;</td>
275           <td class="mdname1" valign="top" nowrap> <em>command</em>          </td>
276           <td class="md" valign="top">&nbsp;)&nbsp;</td>
277           <td class="md" nowrap></td>
278         </tr>
279
280       </table>
281     </td>
282   </tr>
283 </table>
284 <table cellspacing=5 cellpadding=0 border=0>
285   <tr>
286     <td>
287       &nbsp;
288     </td>
289     <td>
290
291 <p>
292 Returns true or false for if a user can execute a privilaged oper command. 
293 <p>
294 This is done by looking up their oper type from <a class="el" href="classuserrec.html#o11">userrec::oper</a>, then referencing this to their oper classes and checking the commands they can execute.
295 <p>
296 Definition at line <a class="el" href="users_8cpp-source.html#l00112">112</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
297 <p>
298 References <a class="el" href="channels_8cpp-source.html#l00101">config_f</a>, and <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
299 <p>
300 <div class="fragment"><pre>00113 {
301 00114         <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
302 00115         <span class="keywordtype">char</span>* myclass;
303 00116         <span class="keywordtype">char</span>* mycmd;
304 00117         <span class="keywordtype">char</span>* savept;
305 00118         <span class="keywordtype">char</span>* savept2;
306 00119         
307 00120         <span class="comment">// are they even an oper at all?</span>
308 00121         <span class="keywordflow">if</span> (strchr(this-&gt;modes,<span class="charliteral">'o'</span>))
309 00122         {
310 00123                 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this-&gt;nick);
311 00124                 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j &lt; ConfValueEnum(<span class="stringliteral">"type"</span>,&amp;config_f); j++)
312 00125                 {
313 00126                         ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&amp;config_f);
314 00127                         <span class="keywordflow">if</span> (!strcmp(TypeName,this-&gt;oper))
315 00128                         {
316 00129                                 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this-&gt;nick,this-&gt;oper);
317 00130                                 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&amp;config_f);
318 00131                                 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&amp;savept);
319 00132                                 <span class="keywordflow">while</span> (myclass)
320 00133                                 {
321 00134                                         log(DEBUG,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
322 00135                                         <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k &lt; ConfValueEnum(<span class="stringliteral">"class"</span>,&amp;config_f); k++)
323 00136                                         {
324 00137                                                 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&amp;config_f);
325 00138                                                 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
326 00139                                                 {
327 00140                                                         ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&amp;config_f);
328 00141                                                         log(DEBUG,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
329 00142                                                         
330 00143                                                         
331 00144                                                         mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&amp;savept2);
332 00145                                                         <span class="keywordflow">while</span> (mycmd)
333 00146                                                         {
334 00147                                                                 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
335 00148                                                                 {
336 00149                                                                         log(DEBUG,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
337 00150                                                                         <span class="keywordflow">return</span> <span class="keyword">true</span>;
338 00151                                                                 }
339 00152                                                                 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept2);
340 00153                                                         }
341 00154                                                 }
342 00155                                         }
343 00156                                         myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept);
344 00157                                 }
345 00158                         }
346 00159                 }
347 00160         }
348 00161         <span class="keywordflow">return</span> <span class="keyword">false</span>;
349 00162 }
350 </pre></div>    </td>
351   </tr>
352 </table>
353 <a name="a5" doxytag="userrec::InviteTo"></a><p>
354 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
355   <tr>
356     <td class="mdRow">
357       <table cellpadding="0" cellspacing="0" border="0">
358         <tr>
359           <td class="md" nowrap valign="top"> void userrec::InviteTo </td>
360           <td class="md" valign="top">(&nbsp;</td>
361           <td class="md" nowrap valign="top">char *&nbsp;</td>
362           <td class="mdname1" valign="top" nowrap> <em>channel</em>          </td>
363           <td class="md" valign="top">&nbsp;)&nbsp;</td>
364           <td class="md" nowrap><code> [virtual]</code></td>
365         </tr>
366
367       </table>
368     </td>
369   </tr>
370 </table>
371 <table cellspacing=5 cellpadding=0 border=0>
372   <tr>
373     <td>
374       &nbsp;
375     </td>
376     <td>
377
378 <p>
379 Adds a channel to a users invite list (invites them to a channel). 
380 <p>
381
382 <p>
383 Definition at line <a class="el" href="users_8cpp-source.html#l00083">83</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
384 <p>
385 References <a class="el" href="users_8h-source.html#l00039">Invited::channel</a>, and <a class="el" href="users_8h-source.html#l00095">invites</a>.
386 <p>
387 <div class="fragment"><pre>00084 {
388 00085         <a class="code" href="classInvited.html">Invited</a> i;
389 00086         strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX);
390 00087         <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i);
391 00088 }
392 </pre></div>    </td>
393   </tr>
394 </table>
395 <a name="a4" doxytag="userrec::IsInvited"></a><p>
396 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
397   <tr>
398     <td class="mdRow">
399       <table cellpadding="0" cellspacing="0" border="0">
400         <tr>
401           <td class="md" nowrap valign="top"> bool userrec::IsInvited </td>
402           <td class="md" valign="top">(&nbsp;</td>
403           <td class="md" nowrap valign="top">char *&nbsp;</td>
404           <td class="mdname1" valign="top" nowrap> <em>channel</em>          </td>
405           <td class="md" valign="top">&nbsp;)&nbsp;</td>
406           <td class="md" nowrap><code> [virtual]</code></td>
407         </tr>
408
409       </table>
410     </td>
411   </tr>
412 </table>
413 <table cellspacing=5 cellpadding=0 border=0>
414   <tr>
415     <td>
416       &nbsp;
417     </td>
418     <td>
419
420 <p>
421 Returns true if a user is invited to a channel. 
422 <p>
423
424 <p>
425 Definition at line <a class="el" href="users_8cpp-source.html#l00069">69</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
426 <p>
427 References <a class="el" href="users_8h-source.html#l00095">invites</a>.
428 <p>
429 <div class="fragment"><pre>00070 {
430 00071         <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
431 00072         {
432 00073                 <span class="keywordflow">if</span> (i-&gt;channel) {
433 00074                         <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
434 00075                         {
435 00076                                 <span class="keywordflow">return</span> <span class="keyword">true</span>;
436 00077                         }
437 00078                 }
438 00079         }
439 00080         <span class="keywordflow">return</span> <span class="keyword">false</span>;
440 00081 }
441 </pre></div>    </td>
442   </tr>
443 </table>
444 <a name="a6" doxytag="userrec::RemoveInvite"></a><p>
445 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
446   <tr>
447     <td class="mdRow">
448       <table cellpadding="0" cellspacing="0" border="0">
449         <tr>
450           <td class="md" nowrap valign="top"> void userrec::RemoveInvite </td>
451           <td class="md" valign="top">(&nbsp;</td>
452           <td class="md" nowrap valign="top">char *&nbsp;</td>
453           <td class="mdname1" valign="top" nowrap> <em>channel</em>          </td>
454           <td class="md" valign="top">&nbsp;)&nbsp;</td>
455           <td class="md" nowrap><code> [virtual]</code></td>
456         </tr>
457
458       </table>
459     </td>
460   </tr>
461 </table>
462 <table cellspacing=5 cellpadding=0 border=0>
463   <tr>
464     <td>
465       &nbsp;
466     </td>
467     <td>
468
469 <p>
470 Removes a channel from a users invite list. 
471 <p>
472 This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.
473 <p>
474 Definition at line <a class="el" href="users_8cpp-source.html#l00090">90</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
475 <p>
476 References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="users_8h-source.html#l00095">invites</a>.
477 <p>
478 <div class="fragment"><pre>00091 {
479 00092         log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
480 00093         <span class="keywordflow">if</span> (channel)
481 00094         {
482 00095                 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size())
483 00096                 {
484 00097                         <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
485 00098                         {
486 00099                                 <span class="keywordflow">if</span> (i-&gt;channel)
487 00100                                 {
488 00101                                         <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
489 00102                                         {
490 00103                                                 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i);
491 00104                                                 <span class="keywordflow">return</span>;
492 00105                                         }
493 00106                                 }
494 00107                         }
495 00108                 }
496 00109         }
497 00110 }
498 </pre></div>    </td>
499   </tr>
500 </table>
501 <hr><h2>Member Data Documentation</h2>
502 <a name="o7" doxytag="userrec::awaymsg"></a><p>
503 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
504   <tr>
505     <td class="mdRow">
506       <table cellpadding="0" cellspacing="0" border="0">
507         <tr>
508           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o7">userrec::awaymsg</a>[512]
509       </table>
510     </td>
511   </tr>
512 </table>
513 <table cellspacing=5 cellpadding=0 border=0>
514   <tr>
515     <td>
516       &nbsp;
517     </td>
518     <td>
519
520 <p>
521 The user's away message. 
522 <p>
523 If this string is empty, the user is not marked as away.
524 <p>
525 Definition at line <a class="el" href="users_8h-source.html#l00132">132</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
526 <p>
527 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
528   </tr>
529 </table>
530 <a name="o5" doxytag="userrec::chans"></a><p>
531 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
532   <tr>
533     <td class="mdRow">
534       <table cellpadding="0" cellspacing="0" border="0">
535         <tr>
536           <td class="md" nowrap valign="top"> <a class="el" href="classucrec.html">ucrec</a> <a class="el" href="classuserrec.html#o5">userrec::chans</a>[MAXCHANS]
537       </table>
538     </td>
539   </tr>
540 </table>
541 <table cellspacing=5 cellpadding=0 border=0>
542   <tr>
543     <td>
544       &nbsp;
545     </td>
546     <td>
547
548 <p>
549
550 <p>
551 Definition at line <a class="el" href="users_8h-source.html#l00123">123</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
552 <p>
553 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
554   </tr>
555 </table>
556 <a name="o2" doxytag="userrec::dhost"></a><p>
557 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
558   <tr>
559     <td class="mdRow">
560       <table cellpadding="0" cellspacing="0" border="0">
561         <tr>
562           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o2">userrec::dhost</a>[256]
563       </table>
564     </td>
565   </tr>
566 </table>
567 <table cellspacing=5 cellpadding=0 border=0>
568   <tr>
569     <td>
570       &nbsp;
571     </td>
572     <td>
573
574 <p>
575 The host displayed to non-opers (used for cloaking etc). 
576 <p>
577 This usually matches the value of <a class="el" href="classconnection.html#o1">userrec::host</a>.
578 <p>
579 Definition at line <a class="el" href="users_8h-source.html#l00111">111</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
580 <p>
581 Referenced by <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
582   </tr>
583 </table>
584 <a name="o12" doxytag="userrec::dns_done"></a><p>
585 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
586   <tr>
587     <td class="mdRow">
588       <table cellpadding="0" cellspacing="0" border="0">
589         <tr>
590           <td class="md" nowrap valign="top"> bool <a class="el" href="classuserrec.html#o12">userrec::dns_done</a>
591       </table>
592     </td>
593   </tr>
594 </table>
595 <table cellspacing=5 cellpadding=0 border=0>
596   <tr>
597     <td>
598       &nbsp;
599     </td>
600     <td>
601
602 <p>
603 True when <a class="el" href="classDNS.html">DNS</a> lookups are completed. 
604 <p>
605
606 <p>
607 Definition at line <a class="el" href="users_8h-source.html#l00160">160</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
608 <p>
609 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
610   </tr>
611 </table>
612 <a name="o9" doxytag="userrec::flood"></a><p>
613 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
614   <tr>
615     <td class="mdRow">
616       <table cellpadding="0" cellspacing="0" border="0">
617         <tr>
618           <td class="md" nowrap valign="top"> int <a class="el" href="classuserrec.html#o9">userrec::flood</a>
619       </table>
620     </td>
621   </tr>
622 </table>
623 <table cellspacing=5 cellpadding=0 border=0>
624   <tr>
625     <td>
626       &nbsp;
627     </td>
628     <td>
629
630 <p>
631 Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood. 
632 <p>
633
634 <p>
635 Definition at line <a class="el" href="users_8h-source.html#l00143">143</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
636 <p>
637 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
638   </tr>
639 </table>
640 <a name="o3" doxytag="userrec::fullname"></a><p>
641 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
642   <tr>
643     <td class="mdRow">
644       <table cellpadding="0" cellspacing="0" border="0">
645         <tr>
646           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o3">userrec::fullname</a>[128]
647       </table>
648     </td>
649   </tr>
650 </table>
651 <table cellspacing=5 cellpadding=0 border=0>
652   <tr>
653     <td>
654       &nbsp;
655     </td>
656     <td>
657
658 <p>
659 The users full name. 
660 <p>
661
662 <p>
663 Definition at line <a class="el" href="users_8h-source.html#l00115">115</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
664 <p>
665 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
666   </tr>
667 </table>
668 <a name="o1" doxytag="userrec::ident"></a><p>
669 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
670   <tr>
671     <td class="mdRow">
672       <table cellpadding="0" cellspacing="0" border="0">
673         <tr>
674           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o1">userrec::ident</a>[64]
675       </table>
676     </td>
677   </tr>
678 </table>
679 <table cellspacing=5 cellpadding=0 border=0>
680   <tr>
681     <td>
682       &nbsp;
683     </td>
684     <td>
685
686 <p>
687 The users ident reply. 
688 <p>
689
690 <p>
691 Definition at line <a class="el" href="users_8h-source.html#l00106">106</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
692 <p>
693 Referenced by <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00063">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
694   </tr>
695 </table>
696 <a name="r0" doxytag="userrec::invites"></a><p>
697 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
698   <tr>
699     <td class="mdRow">
700       <table cellpadding="0" cellspacing="0" border="0">
701         <tr>
702           <td class="md" nowrap valign="top"> <a class="el" href="users_8h.html#a6">InvitedList</a> <a class="el" href="classuserrec.html#r0">userrec::invites</a><code> [private]</code>
703       </table>
704     </td>
705   </tr>
706 </table>
707 <table cellspacing=5 cellpadding=0 border=0>
708   <tr>
709     <td>
710       &nbsp;
711     </td>
712     <td>
713
714 <p>
715 A list of channels the user has a pending invite to. 
716 <p>
717
718 <p>
719 Definition at line <a class="el" href="users_8h-source.html#l00095">95</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
720 <p>
721 Referenced by <a class="el" href="users_8cpp-source.html#l00083">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00069">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00090">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
722   </tr>
723 </table>
724 <a name="o4" doxytag="userrec::modes"></a><p>
725 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
726   <tr>
727     <td class="mdRow">
728       <table cellpadding="0" cellspacing="0" border="0">
729         <tr>
730           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o4">userrec::modes</a>[MAXBUF]
731       </table>
732     </td>
733   </tr>
734 </table>
735 <table cellspacing=5 cellpadding=0 border=0>
736   <tr>
737     <td>
738       &nbsp;
739     </td>
740     <td>
741
742 <p>
743 The user's mode string. 
744 <p>
745 This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit.
746 <p>
747 Definition at line <a class="el" href="users_8h-source.html#l00121">121</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
748 <p>
749 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
750   </tr>
751 </table>
752 <a name="o0" doxytag="userrec::nick"></a><p>
753 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
754   <tr>
755     <td class="mdRow">
756       <table cellpadding="0" cellspacing="0" border="0">
757         <tr>
758           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o0">userrec::nick</a>[NICKMAX]
759       </table>
760     </td>
761   </tr>
762 </table>
763 <table cellspacing=5 cellpadding=0 border=0>
764   <tr>
765     <td>
766       &nbsp;
767     </td>
768     <td>
769
770 <p>
771 The users nickname. 
772 <p>
773 An invalid nickname indicates an unregistered connection prior to the NICK command.
774 <p>
775 Definition at line <a class="el" href="users_8h-source.html#l00102">102</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
776 <p>
777 Referenced by <a class="el" href="modules_8cpp-source.html#l00673">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00063">GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00396">Server::QuitUser()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
778   </tr>
779 </table>
780 <a name="o11" doxytag="userrec::oper"></a><p>
781 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
782   <tr>
783     <td class="mdRow">
784       <table cellpadding="0" cellspacing="0" border="0">
785         <tr>
786           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o11">userrec::oper</a>[NICKMAX]
787       </table>
788     </td>
789   </tr>
790 </table>
791 <table cellspacing=5 cellpadding=0 border=0>
792   <tr>
793     <td>
794       &nbsp;
795     </td>
796     <td>
797
798 <p>
799 The oper type they logged in as, if they are an oper. 
800 <p>
801 This is used to check permissions in operclasses, so that we can say 'yay' or 'nay' to any commands they issue. The value of this is the value of a valid 'type name=' tag.
802 <p>
803 Definition at line <a class="el" href="users_8h-source.html#l00156">156</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
804 <p>
805 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
806   </tr>
807 </table>
808 <a name="o8" doxytag="userrec::result"></a><p>
809 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
810   <tr>
811     <td class="mdRow">
812       <table cellpadding="0" cellspacing="0" border="0">
813         <tr>
814           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o8">userrec::result</a>[256]
815       </table>
816     </td>
817   </tr>
818 </table>
819 <table cellspacing=5 cellpadding=0 border=0>
820   <tr>
821     <td>
822       &nbsp;
823     </td>
824     <td>
825
826 <p>
827 Stores the result of the last GetFullHost or GetRealHost call. 
828 <p>
829 You may use this to increase the speed of use of this class.
830 <p>
831 Definition at line <a class="el" href="users_8h-source.html#l00137">137</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
832 <p>
833 Referenced by <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00063">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
834   </tr>
835 </table>
836 <a name="o6" doxytag="userrec::server"></a><p>
837 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
838   <tr>
839     <td class="mdRow">
840       <table cellpadding="0" cellspacing="0" border="0">
841         <tr>
842           <td class="md" nowrap valign="top"> char <a class="el" href="classuserrec.html#o6">userrec::server</a>[256]
843       </table>
844     </td>
845   </tr>
846 </table>
847 <table cellspacing=5 cellpadding=0 border=0>
848   <tr>
849     <td>
850       &nbsp;
851     </td>
852     <td>
853
854 <p>
855 The server the user is connected to. 
856 <p>
857
858 <p>
859 Definition at line <a class="el" href="users_8h-source.html#l00127">127</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
860 <p>
861 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
862   </tr>
863 </table>
864 <a name="o10" doxytag="userrec::timeout"></a><p>
865 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
866   <tr>
867     <td class="mdRow">
868       <table cellpadding="0" cellspacing="0" border="0">
869         <tr>
870           <td class="md" nowrap valign="top"> unsigned long <a class="el" href="classuserrec.html#o10">userrec::timeout</a>
871       </table>
872     </td>
873   </tr>
874 </table>
875 <table cellspacing=5 cellpadding=0 border=0>
876   <tr>
877     <td>
878       &nbsp;
879     </td>
880     <td>
881
882 <p>
883 Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected. 
884 <p>
885
886 <p>
887 Definition at line <a class="el" href="users_8h-source.html#l00149">149</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
888 <p>
889 Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.    </td>
890   </tr>
891 </table>
892 <hr>The documentation for this class was generated from the following files:<ul>
893 <li><a class="el" href="users_8h-source.html">users.h</a><li><a class="el" href="users_8cpp-source.html">users.cpp</a></ul>
894 <hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
895 <a href="http://www.doxygen.org/index.html">
896 <img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
897 </a>1.3.3 </small></address>
898 </body>
899 </html>