<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>InspIRCd: users.h Source File</title> <link href="inspircd.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.3 --> <div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div> <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> 00002 <span class="comment"> * | Inspire Internet Relay Chat Daemon |</span> 00003 <span class="comment"> * +------------------------------------+</span> 00004 <span class="comment"> *</span> 00005 <span class="comment"> * Inspire is copyright (C) 2002-2004 ChatSpike-Dev.</span> 00006 <span class="comment"> * E-mail:</span> 00007 <span class="comment"> * <brain@chatspike.net></span> 00008 <span class="comment"> * <Craig@chatspike.net></span> 00009 <span class="comment"> * </span> 00010 <span class="comment"> * Written by Craig Edwards, Craig McLure, and others.</span> 00011 <span class="comment"> * This program is free but copyrighted software; see</span> 00012 <span class="comment"> * the file COPYING for details.</span> 00013 <span class="comment"> *</span> 00014 <span class="comment"> * ---------------------------------------------------</span> 00015 <span class="comment"> */</span> 00016 00017 <span class="preprocessor">#include "inspircd_config.h"</span> 00018 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span> 00019 <span class="preprocessor">#include "<a class="code" href="connection_8h.html">connection.h</a>"</span> 00020 <span class="preprocessor">#include "inspstring.h"</span> 00021 <span class="preprocessor">#include <string></span> 00022 00023 <span class="preprocessor">#ifndef __USERS_H__ </span> 00024 <span class="preprocessor"></span><span class="preprocessor">#define __USERS_H__ </span> 00025 <span class="preprocessor"></span> <a name="l00026"></a><a class="code" href="users_8h.html#a0">00026</a> <span class="preprocessor">#define STATUS_OP 4</span> <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> <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> <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> 00030 <span class="preprocessor"></span> <a name="l00031"></a><a class="code" href="users_8h.html#a4">00031</a> <span class="preprocessor">#define CC_ALLOW 0</span> <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> 00033 <span class="preprocessor"></span> <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> 00037 { 00038 <span class="keyword">public</span>: <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]; 00040 }; 00041 00042 <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> 00046 { 00047 <span class="keyword">public</span>: <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>; <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>; <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>; <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]; <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>; <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]; 00066 <a name="l00067"></a><a class="code" href="classConnectClass.html#a0">00067</a> <a class="code" href="classConnectClass.html#a0">ConnectClass</a>() 00068 { 00069 <a class="code" href="classConnectClass.html#o1">registration_timeout</a> = 0; 00070 <a class="code" href="classConnectClass.html#o2">flood</a> = 0; 00071 <a class="code" href="classConnectClass.html#o4">pingtime</a> = 0; 00072 strlcpy(<a class="code" href="classConnectClass.html#o3">host</a>,<span class="stringliteral">""</span>,MAXBUF); 00073 strlcpy(<a class="code" href="classConnectClass.html#o5">pass</a>,<span class="stringliteral">""</span>,MAXBUF); 00074 } 00075 }; 00076 <a name="l00079"></a><a class="code" href="users_8h.html#a6">00079</a> <span class="keyword">typedef</span> std::vector<Invited> <a class="code" href="users_8h.html#a6">InvitedList</a>; 00080 00081 00082 <a name="l00085"></a><a class="code" href="users_8h.html#a7">00085</a> <span class="keyword">typedef</span> std::vector<ConnectClass> <a class="code" href="users_8h.html#a7">ClassVector</a>; 00086 <a name="l00093"></a><a class="code" href="classuserrec.html">00093</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> 00094 { 00095 <span class="keyword">private</span>: 00096 <a name="l00099"></a><a class="code" href="classuserrec.html#r0">00099</a> <a class="code" href="users_8h.html#a6">InvitedList</a> <a class="code" href="classuserrec.html#r0">invites</a>; 00100 <span class="keyword">public</span>: 00101 <a name="l00106"></a><a class="code" href="classuserrec.html#o0">00106</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o0">nick</a>[NICKMAX]; 00107 <a name="l00110"></a><a class="code" href="classuserrec.html#o1">00110</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o1">ident</a>[64]; 00111 <a name="l00115"></a><a class="code" href="classuserrec.html#o2">00115</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o2">dhost</a>[256]; 00116 <a name="l00119"></a><a class="code" href="classuserrec.html#o3">00119</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o3">fullname</a>[128]; 00120 <a name="l00125"></a><a class="code" href="classuserrec.html#o4">00125</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o4">modes</a>[MAXBUF]; 00126 <a name="l00127"></a><a class="code" href="classuserrec.html#o5">00127</a> <a class="code" href="classucrec.html">ucrec</a> <a class="code" href="classuserrec.html#o5">chans</a>[MAXCHANS]; 00128 <a name="l00131"></a><a class="code" href="classuserrec.html#o6">00131</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o6">server</a>[256]; 00132 <a name="l00136"></a><a class="code" href="classuserrec.html#o7">00136</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o7">awaymsg</a>[512]; 00137 <a name="l00141"></a><a class="code" href="classuserrec.html#o8">00141</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o8">result</a>[256]; 00142 <a name="l00147"></a><a class="code" href="classuserrec.html#o9">00147</a> <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#o9">flood</a>; 00148 <a name="l00153"></a><a class="code" href="classuserrec.html#o10">00153</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o10">timeout</a>; 00154 <a name="l00160"></a><a class="code" href="classuserrec.html#o11">00160</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o11">oper</a>[NICKMAX]; 00161 <a name="l00164"></a><a class="code" href="classuserrec.html#o12">00164</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#o12">dns_done</a>; 00165 <a name="l00168"></a><a class="code" href="classuserrec.html#o13">00168</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#o13">pingmax</a>; 00169 <a name="l00174"></a><a class="code" href="classuserrec.html#o14">00174</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o14">password</a>[MAXBUF]; 00175 00176 <a class="code" href="classuserrec.html#a0">userrec</a>(); 00177 <a name="l00178"></a><a class="code" href="classuserrec.html#a1">00178</a> <span class="keyword">virtual</span> <a class="code" href="classuserrec.html#a1">~userrec</a>() { } 00179 00184 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">GetFullHost</a>(); 00185 00191 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">GetFullRealHost</a>(); 00192 00195 <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); 00196 00199 <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); 00200 00205 <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); 00206 00211 <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">HasPermission</a>(<span class="keywordtype">char</span>* command); 00212 00213 }; 00214 00215 00216 <span class="preprocessor">#endif</span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Apr 26 17:11:44 2005 for InspIRCd by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.3 </small></address> </body> </html>