summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2004-04-03 15:46:53 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2004-04-03 15:46:53 +0000
commitabdb186046bcdd83aefbc4171a00bd1ad7ec963c (patch)
tree8fad649a8a767a12e19c0eef85d78d5f4ef04618
parent8a1923c253a798f0823cc87d3cfdef012c533871 (diff)
Added support for module-defined chanmodes with no parameters
Fixed minor typo in example conf Added new stylesheet and docs git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@362 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--docs/module-doc/annotated.html4
-rw-r--r--docs/module-doc/base_8h-source.html4
-rw-r--r--docs/module-doc/base_8h.html4
-rw-r--r--docs/module-doc/channels_8cpp-source.html42
-rw-r--r--docs/module-doc/channels_8cpp.html4
-rw-r--r--docs/module-doc/channels_8h-source.html6
-rw-r--r--docs/module-doc/channels_8h.html4
-rw-r--r--docs/module-doc/classAdmin-members.html4
-rw-r--r--docs/module-doc/classAdmin.html16
-rw-r--r--docs/module-doc/classBanItem-members.html4
-rw-r--r--docs/module-doc/classBanItem.html4
-rw-r--r--docs/module-doc/classConfigReader-members.html4
-rw-r--r--docs/module-doc/classConfigReader.html62
-rw-r--r--docs/module-doc/classConnectClass-members.html4
-rw-r--r--docs/module-doc/classConnectClass.html4
-rw-r--r--docs/module-doc/classExemptItem-members.html4
-rw-r--r--docs/module-doc/classExemptItem.html4
-rw-r--r--docs/module-doc/classExtMode-members.html4
-rw-r--r--docs/module-doc/classExtMode.html4
-rw-r--r--docs/module-doc/classFileReader-members.html4
-rw-r--r--docs/module-doc/classFileReader.html102
-rw-r--r--docs/module-doc/classHostItem-members.html4
-rw-r--r--docs/module-doc/classHostItem.html4
-rw-r--r--docs/module-doc/classInviteItem-members.html4
-rw-r--r--docs/module-doc/classInviteItem.html4
-rw-r--r--docs/module-doc/classInvited-members.html4
-rw-r--r--docs/module-doc/classInvited.html4
-rw-r--r--docs/module-doc/classModule-members.html9
-rw-r--r--docs/module-doc/classModule.html188
-rw-r--r--docs/module-doc/classModuleFactory-members.html4
-rw-r--r--docs/module-doc/classModuleFactory.html14
-rw-r--r--docs/module-doc/classServer-members.html4
-rw-r--r--docs/module-doc/classServer.html221
-rw-r--r--docs/module-doc/classVersion-members.html4
-rw-r--r--docs/module-doc/classVersion.html18
-rw-r--r--docs/module-doc/classchanrec-members.html4
-rw-r--r--docs/module-doc/classchanrec.html44
-rw-r--r--docs/module-doc/classclassbase-members.html4
-rw-r--r--docs/module-doc/classclassbase.html4
-rw-r--r--docs/module-doc/classcommand__t-members.html4
-rw-r--r--docs/module-doc/classcommand__t.html4
-rw-r--r--docs/module-doc/classconnection-members.html4
-rw-r--r--docs/module-doc/classconnection.html4
-rw-r--r--docs/module-doc/classes.html4
-rw-r--r--docs/module-doc/classpacket-members.html4
-rw-r--r--docs/module-doc/classpacket.html4
-rw-r--r--docs/module-doc/classserverrec-members.html4
-rw-r--r--docs/module-doc/classserverrec.html4
-rw-r--r--docs/module-doc/classucrec-members.html4
-rw-r--r--docs/module-doc/classucrec.html4
-rw-r--r--docs/module-doc/classuserrec-members.html4
-rw-r--r--docs/module-doc/classuserrec.html4
-rw-r--r--docs/module-doc/connection_8h-source.html4
-rw-r--r--docs/module-doc/connection_8h.html4
-rw-r--r--docs/module-doc/ctables_8h-source.html4
-rw-r--r--docs/module-doc/ctables_8h.html4
-rw-r--r--docs/module-doc/doxygen.css49
-rw-r--r--docs/module-doc/doxygen.pngbin2351 -> 2912 bytes
-rw-r--r--docs/module-doc/files.html4
-rw-r--r--docs/module-doc/functions.html25
-rw-r--r--docs/module-doc/globals.html28
-rw-r--r--docs/module-doc/graph_legend.html4
-rw-r--r--docs/module-doc/hierarchy.html4
-rw-r--r--docs/module-doc/inherits.html4
-rw-r--r--docs/module-doc/main.html4
-rw-r--r--docs/module-doc/modules_8cpp-source.html533
-rw-r--r--docs/module-doc/modules_8cpp.html111
-rw-r--r--docs/module-doc/modules_8h-source.html273
-rw-r--r--docs/module-doc/modules_8h.html75
-rw-r--r--docs/module-doc/servers_8cpp-source.html4
-rw-r--r--docs/module-doc/servers_8cpp.html4
-rw-r--r--docs/module-doc/servers_8h-source.html4
-rw-r--r--docs/module-doc/servers_8h.html4
-rw-r--r--docs/module-doc/tree.html2
-rw-r--r--docs/module-doc/users_8cpp-source.html4
-rw-r--r--docs/module-doc/users_8cpp.html4
-rw-r--r--docs/module-doc/users_8h-source.html4
-rw-r--r--docs/module-doc/users_8h.html4
-rw-r--r--include/channels.h4
-rw-r--r--include/inspircd.h4
-rw-r--r--include/modules.h35
-rw-r--r--src/InspIRCd.layout60
-rw-r--r--src/channels.cpp22
-rw-r--r--src/inspircd.cpp90
-rw-r--r--src/modules.cpp15
-rw-r--r--src/modules/m_testcommand.cpp25
86 files changed, 1288 insertions, 1017 deletions
diff --git a/docs/module-doc/annotated.html b/docs/module-doc/annotated.html
index 28a333ab4..e983ceb9a 100644
--- a/docs/module-doc/annotated.html
+++ b/docs/module-doc/annotated.html
@@ -1,7 +1,7 @@
<!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>Annotated Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -30,7 +30,7 @@
<tr><td class="indexkey"><a class="el" href="classuserrec.html">userrec</a></td><td class="indexvalue">Holds all information about a user This class stores all information about a user connected to the irc server</td></tr>
<tr><td class="indexkey"><a class="el" href="classVersion.html">Version</a></td><td class="indexvalue">Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module</td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/base_8h-source.html b/docs/module-doc/base_8h-source.html
index 3a48f7173..a5b2eef50 100644
--- a/docs/module-doc/base_8h-source.html
+++ b/docs/module-doc/base_8h-source.html
@@ -1,7 +1,7 @@
<!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>base.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -29,7 +29,7 @@
00028
00029 <span class="preprocessor">#endif</span>
00030 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/base_8h.html b/docs/module-doc/base_8h.html
index 90def5e5c..eac9f9bae 100644
--- a/docs/module-doc/base_8h.html
+++ b/docs/module-doc/base_8h.html
@@ -1,7 +1,7 @@
<!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>base.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -34,7 +34,7 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classclassbase.html">classbase</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The base class for all inspircd classes.</em> <a href="classclassbase.html#_details">More...</a><em></em></font><br><br></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:06 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html
index 6962adf43..0ad69366d 100644
--- a/docs/module-doc/channels_8cpp-source.html
+++ b/docs/module-doc/channels_8cpp-source.html
@@ -1,7 +1,7 @@
<!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>channels.cpp Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -24,15 +24,37 @@
00016
<a name="l00017"></a><a class="code" href="classchanrec.html#a0">00017</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">chanrec::SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on)
00018 {
-00019 }
-00020
-<a name="l00021"></a><a class="code" href="classchanrec.html#a1">00021</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
-00022 {
-00023 }
-00024
-00025
-00026
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
+00019 <span class="keywordflow">if</span> (mode_on) {
+00020 <span class="keywordtype">char</span> m[3];
+00021 m[0] = mode;
+00022 m[1] = <span class="charliteral">'\0'</span>;
+00023 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
+00024 {
+00025 strncat(custom_modes,m,MAXMODES);
+00026 }
+00027 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
+00028 }
+00029 <span class="keywordflow">else</span> {
+00030 <span class="keywordtype">char</span> temp[MAXMODES];
+00031 <span class="keywordtype">int</span> count = 0;
+00032 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q &lt; strlen(custom_modes); q++) {
+00033 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
+00034 temp[count++] = mode;
+00035 }
+00036 }
+00037 temp[count] = <span class="charliteral">'\0'</span>;
+00038 strncpy(custom_modes,temp,MAXMODES);
+00039 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
+00040 }
+00041 }
+00042
+<a name="l00043"></a><a class="code" href="classchanrec.html#a1">00043</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
+00044 {
+00045 }
+00046
+00047
+00048
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/channels_8cpp.html b/docs/module-doc/channels_8cpp.html
index ecc0f640a..557c5a021 100644
--- a/docs/module-doc/channels_8cpp.html
+++ b/docs/module-doc/channels_8cpp.html
@@ -1,7 +1,7 @@
<!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>channels.cpp File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -22,7 +22,7 @@ Include dependency graph for channels.cpp:<p><center><img src="channels_8cpp__in
<a href="channels_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:06 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:04 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/channels_8h-source.html b/docs/module-doc/channels_8h-source.html
index 231883d3c..a91e1ac98 100644
--- a/docs/module-doc/channels_8h-source.html
+++ b/docs/module-doc/channels_8h-source.html
@@ -1,7 +1,7 @@
<!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>channels.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -83,7 +83,7 @@
<a name="l00130"></a><a class="code" href="classchanrec.html#m13">00130</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#m13">c_private</a>;
00131
<a name="l00134"></a><a class="code" href="classchanrec.html#m14">00134</a> <a class="code" href="channels_8h.html#a5">BanList</a> <a class="code" href="classchanrec.html#m14">bans</a>;
-00135
+00135
00138 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a0">SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on);
00139
00142 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#a1">SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on);
@@ -115,7 +115,7 @@
00181
00182 <span class="preprocessor">#endif</span>
00183 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/channels_8h.html b/docs/module-doc/channels_8h.html
index a4bbc4047..c68dc1bfa 100644
--- a/docs/module-doc/channels_8h.html
+++ b/docs/module-doc/channels_8h.html
@@ -1,7 +1,7 @@
<!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>channels.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -255,7 +255,7 @@ Holds a complete invite list.
Definition at line <a class="el" href="channels_8h-source.html#l00064">64</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:06 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:04 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classAdmin-members.html b/docs/module-doc/classAdmin-members.html
index 7f58c1f11..3019adbd4 100644
--- a/docs/module-doc/classAdmin-members.html
+++ b/docs/module-doc/classAdmin-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -14,7 +14,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classAdmin.html#m0">Name</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classAdmin.html#m2">Nick</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classAdmin.html b/docs/module-doc/classAdmin.html
index bd6139f5c..062a52a09 100644
--- a/docs/module-doc/classAdmin.html
+++ b/docs/module-doc/classAdmin.html
@@ -1,7 +1,7 @@
<!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>Admin class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -35,7 +35,7 @@ It is constructed by class <a class="el" href="classServer.html">Server</a>, and
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00060">60</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00078">78</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Admin::Admin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -79,9 +79,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00060">60</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00086">86</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00091">91</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00086 : <a class="code" href="classAdmin.html#m0">Name</a>(name), <a class="code" href="classAdmin.html#m1">Email</a>(email), <a class="code" href="classAdmin.html#m2">Nick</a>(nick) { };
+<div class="fragment"><pre>00091 : <a class="code" href="classAdmin.html#m0">Name</a>(name), <a class="code" href="classAdmin.html#m1">Email</a>(email), <a class="code" href="classAdmin.html#m2">Nick</a>(nick) { };
</pre></div> </td>
</tr>
</table>
@@ -107,7 +107,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00086">86</a> o
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00063">63</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00081">81</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m0" doxytag="Admin::Name"></a><p>
@@ -131,7 +131,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00063">63</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00063">63</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00081">81</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m2" doxytag="Admin::Nick"></a><p>
@@ -155,12 +155,12 @@ Definition at line <a class="el" href="modules_8h-source.html#l00063">63</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00063">63</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00081">81</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classBanItem-members.html b/docs/module-doc/classBanItem-members.html
index ca7dbaea3..a1e49d34b 100644
--- a/docs/module-doc/classBanItem-members.html
+++ b/docs/module-doc/classBanItem-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classBanItem.html b/docs/module-doc/classBanItem.html
index 3e7251f93..23950eb26 100644
--- a/docs/module-doc/classBanItem.html
+++ b/docs/module-doc/classBanItem.html
@@ -1,7 +1,7 @@
<!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>BanItem class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00033">33</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:11 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:09 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classConfigReader-members.html b/docs/module-doc/classConfigReader-members.html
index b73cabe35..62785b854 100644
--- a/docs/module-doc/classConfigReader-members.html
+++ b/docs/module-doc/classConfigReader-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -17,7 +17,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#a5">Verify</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConfigReader.html#a2">~ConfigReader</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:13 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classConfigReader.html b/docs/module-doc/classConfigReader.html
index 05df29c0a..5d18c102f 100644
--- a/docs/module-doc/classConfigReader.html
+++ b/docs/module-doc/classConfigReader.html
@@ -1,7 +1,7 @@
<!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>ConfigReader class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -45,7 +45,7 @@ It may either be instantiated with one parameter or none. Constructing the class
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00322">322</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00357">357</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="ConfigReader::ConfigReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -75,13 +75,13 @@ Default constructor.
<p>
This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00229">229</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00236">236</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00327">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
<p>
-<div class="fragment"><pre>00230 {
-00231 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00232 }
+<div class="fragment"><pre>00237 {
+00238 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
+00239 }
</pre></div> </td>
</tr>
</table>
@@ -115,9 +115,9 @@ Overloaded constructor.
<p>
This constructor initialises the ConfigReader class to read a user-specified config file
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00240">240</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00247">247</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00240 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
+<div class="fragment"><pre>00247 : <a class="code" href="classConfigReader.html#n0">fname</a>(filename) { };
</pre></div> </td>
</tr>
</table>
@@ -150,10 +150,10 @@ Default destructor.
<p>
This method destroys the ConfigReader class.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00235">235</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00242">242</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00236 {
-00237 }
+<div class="fragment"><pre>00243 {
+00244 }
</pre></div> </td>
</tr>
</table>
@@ -188,13 +188,13 @@ Counts the number of times a given tag appears in the config file.
<p>
This method counts the number of times a tag appears in a config file, for use where there are several tags of the same kind, e.g. with opers and connect types. It can be used with the index value of <a class="el" href="classConfigReader.html#a3">ConfigReader::ReadValue</a> to loop through all copies of a multiple instance tag.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00250">250</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00257">257</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00327">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
<p>
-<div class="fragment"><pre>00251 {
-00252 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00253 }
+<div class="fragment"><pre>00258 {
+00259 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
+00260 }
</pre></div> </td>
</tr>
</table>
@@ -243,15 +243,15 @@ Retrieves a value from the config file.
<p>
This method retrieves a value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00242">242</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00249">249</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00327">fname</a>.
+References <a class="el" href="modules_8h-source.html#l00362">fname</a>.
<p>
-<div class="fragment"><pre>00243 {
-00244 <span class="keywordtype">char</span> val[MAXBUF];
-00245 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00246 <span class="keywordflow">return</span> val;
-00247 }
+<div class="fragment"><pre>00250 {
+00251 <span class="keywordtype">char</span> val[MAXBUF];
+00252 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
+00253 <span class="keywordflow">return</span> val;
+00254 }
</pre></div> </td>
</tr>
</table>
@@ -284,11 +284,11 @@ Returns true if a config file is valid.
<p>
This method is unimplemented and will always return true.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00256">256</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00263">263</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00257 {
-00258 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00259 }
+<div class="fragment"><pre>00264 {
+00265 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00266 }
</pre></div> </td>
</tr>
</table>
@@ -316,14 +316,14 @@ The filename of the configuration file, as set by the constructor.
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00327">327</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00362">362</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00229">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00250">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00242">ReadValue()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00236">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00257">Enumerate()</a>, and <a class="el" href="modules_8cpp-source.html#l00249">ReadValue()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:13 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classConnectClass-members.html b/docs/module-doc/classConnectClass-members.html
index b0ffaeabb..5b5d44ad6 100644
--- a/docs/module-doc/classConnectClass-members.html
+++ b/docs/module-doc/classConnectClass-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -13,7 +13,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConnectClass.html#m2">pass</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classConnectClass.html#m0">type</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classConnectClass.html b/docs/module-doc/classConnectClass.html
index e78af94d8..b7a746afe 100644
--- a/docs/module-doc/classConnectClass.html
+++ b/docs/module-doc/classConnectClass.html
@@ -1,7 +1,7 @@
<!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>ConnectClass class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -106,7 +106,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00037">37</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classExemptItem-members.html b/docs/module-doc/classExemptItem-members.html
index b328ad237..d6b71ff1f 100644
--- a/docs/module-doc/classExemptItem-members.html
+++ b/docs/module-doc/classExemptItem-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:15 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classExemptItem.html b/docs/module-doc/classExemptItem.html
index 18a11bdb4..6505bbfe4 100644
--- a/docs/module-doc/classExemptItem.html
+++ b/docs/module-doc/classExemptItem.html
@@ -1,7 +1,7 @@
<!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>ExemptItem class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00041">41</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:15 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classExtMode-members.html b/docs/module-doc/classExtMode-members.html
index 6ef192623..3dafbef26 100644
--- a/docs/module-doc/classExtMode-members.html
+++ b/docs/module-doc/classExtMode-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -13,7 +13,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m4">params_when_off</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m3">params_when_on</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classExtMode.html#m1">type</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:15 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classExtMode.html b/docs/module-doc/classExtMode.html
index 92ccd87f3..6ceacba06 100644
--- a/docs/module-doc/classExtMode.html
+++ b/docs/module-doc/classExtMode.html
@@ -1,7 +1,7 @@
<!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>ExtMode class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -203,7 +203,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00021">21</a> o
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:15 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classFileReader-members.html b/docs/module-doc/classFileReader-members.html
index 7e360bc2d..5446891c7 100644
--- a/docs/module-doc/classFileReader-members.html
+++ b/docs/module-doc/classFileReader-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -18,7 +18,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classFileReader.html#a3">LoadFile</a>(std::string filename)</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classFileReader.html#a2">~FileReader</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:16 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classFileReader.html b/docs/module-doc/classFileReader.html
index 75ff67749..b44d63b9b 100644
--- a/docs/module-doc/classFileReader.html
+++ b/docs/module-doc/classFileReader.html
@@ -1,7 +1,7 @@
<!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>FileReader class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -36,7 +36,7 @@ Inheritance diagram for FileReader:<p><center><img src="classFileReader__inherit
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#a6">FileSize</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the size of the file in lines.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
-<tr><td nowrap align=right valign=top><a class="el" href="modules_8h.html#a9">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#o0">fc</a></td></tr>
+<tr><td nowrap align=right valign=top><a class="el" href="modules_8h.html#a10">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html#o0">fc</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Caches a text file into memory and can be used to retrieve lines from it.
@@ -45,7 +45,7 @@ This class contains methods for read-only manipulation of a text file in memory.
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00367">367</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00402">402</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="FileReader::FileReader"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -75,10 +75,10 @@ Default constructor.
<p>
This method does not load any file into memory, you must use the LoadFile method after constructing the class this way.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00269">269</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00276">276</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00270 {
-00271 }
+<div class="fragment"><pre>00277 {
+00278 }
</pre></div> </td>
</tr>
</table>
@@ -112,15 +112,15 @@ Secondary constructor.
<p>
This method initialises the class with a file loaded into it ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00262">262</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00269">269</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+References <a class="el" href="modules_8h-source.html#l00404">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
<p>
-<div class="fragment"><pre>00263 {
-00264 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
-00265 readfile(c,filename.c_str());
-00266 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
-00267 }
+<div class="fragment"><pre>00270 {
+00271 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00272 readfile(c,filename.c_str());
+00273 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00274 }
</pre></div> </td>
</tr>
</table>
@@ -153,10 +153,10 @@ Default destructor.
<p>
This deletes the memory allocated to the file.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00281">281</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00288">288</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00282 {
-00283 }
+<div class="fragment"><pre>00289 {
+00290 }
</pre></div> </td>
</tr>
</table>
@@ -190,20 +190,20 @@ Retrieve one line from the file.
<p>
This method retrieves one line from the text file. If an empty non-NULL string is returned, the index was out of bounds, or the line had no data on it.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00285">285</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00292">292</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
<p>
-<div class="fragment"><pre>00286 {
-00287 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00288 {
-00289 <span class="keywordflow">return</span>(false);
-00290 }
-00291 <span class="keywordflow">else</span>
-00292 {
-00293 <span class="keywordflow">return</span>(true);
-00294 }
-00295 }
+<div class="fragment"><pre>00293 {
+00294 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
+00295 {
+00296 <span class="keywordflow">return</span>(false);
+00297 }
+00298 <span class="keywordflow">else</span>
+00299 {
+00300 <span class="keywordflow">return</span>(true);
+00301 }
+00302 }
</pre></div> </td>
</tr>
</table>
@@ -236,13 +236,13 @@ Returns the size of the file in lines.
<p>
This method returns the number of lines in the read file. If it is 0, no lines have been read into memory, either because the file is empty or it does not exist, or cannot be opened due to permission problems.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00304">304</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00311">311</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
<p>
-<div class="fragment"><pre>00305 {
-00306 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
-00307 }
+<div class="fragment"><pre>00312 {
+00313 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00314 }
</pre></div> </td>
</tr>
</table>
@@ -274,15 +274,15 @@ References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00297">297</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00304">304</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00369">fc</a>.
+References <a class="el" href="modules_8h-source.html#l00404">fc</a>.
<p>
-<div class="fragment"><pre>00298 {
-00299 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00300 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00301 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
-00302 }
+<div class="fragment"><pre>00305 {
+00306 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
+00307 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00308 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
+00309 }
</pre></div> </td>
</tr>
</table>
@@ -316,15 +316,15 @@ Used to load a file.
<p>
This method loads a file into the class ready for GetLine and and other methods to be called. If the file could not be loaded, <a class="el" href="classFileReader.html#a6">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00273">273</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00280">280</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
+References <a class="el" href="modules_8h-source.html#l00404">fc</a>, and <a class="el" href="modules_8h-source.html#l00029">file_cache</a>.
<p>
-<div class="fragment"><pre>00274 {
-00275 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
-00276 readfile(c,filename.c_str());
-00277 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
-00278 }
+<div class="fragment"><pre>00281 {
+00282 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00283 readfile(c,filename.c_str());
+00284 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00285 }
</pre></div> </td>
</tr>
</table>
@@ -335,7 +335,7 @@ References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a cla
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> <a class="el" href="modules_8h.html#a9">file_cache</a> FileReader::fc<code> [private]</code>
+ <td class="md" nowrap valign="top"> <a class="el" href="modules_8h.html#a10">file_cache</a> FileReader::fc<code> [private]</code>
</table>
</td>
</tr>
@@ -350,14 +350,14 @@ References <a class="el" href="modules_8h-source.html#l00369">fc</a>, and <a cla
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00369">369</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00404">404</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00285">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00262">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00304">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00297">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00273">LoadFile()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00292">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00269">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00311">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00304">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00280">LoadFile()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:16 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classHostItem-members.html b/docs/module-doc/classHostItem-members.html
index 6675c9141..258e571c1 100644
--- a/docs/module-doc/classHostItem-members.html
+++ b/docs/module-doc/classHostItem-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:16 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classHostItem.html b/docs/module-doc/classHostItem.html
index 13741aad6..6eb77b03f 100644
--- a/docs/module-doc/classHostItem.html
+++ b/docs/module-doc/classHostItem.html
@@ -1,7 +1,7 @@
<!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>HostItem class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -181,7 +181,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00020">20</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:16 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:14 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classInviteItem-members.html b/docs/module-doc/classInviteItem-members.html
index 8a849f9a8..d778e54ea 100644
--- a/docs/module-doc/classInviteItem-members.html
+++ b/docs/module-doc/classInviteItem-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#m0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classInviteItem.html b/docs/module-doc/classInviteItem.html
index e67ff1aab..b4914ae85 100644
--- a/docs/module-doc/classInviteItem.html
+++ b/docs/module-doc/classInviteItem.html
@@ -1,7 +1,7 @@
<!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>InviteItem class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -31,7 +31,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00049">49</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classInvited-members.html b/docs/module-doc/classInvited-members.html
index b75a208c4..f6bed4ba1 100644
--- a/docs/module-doc/classInvited-members.html
+++ b/docs/module-doc/classInvited-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -11,7 +11,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classInvited.html#m0">channel</a></td><td><a class="el" href="classInvited.html">Invited</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:15 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classInvited.html b/docs/module-doc/classInvited.html
index 66630dea1..0ce610b4f 100644
--- a/docs/module-doc/classInvited.html
+++ b/docs/module-doc/classInvited.html
@@ -1,7 +1,7 @@
<!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>Invited class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -58,7 +58,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00063">userrec::Invite
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:17 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:15 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classModule-members.html b/docs/module-doc/classModule-members.html
index 4104ef1e2..8bb51c762 100644
--- a/docs/module-doc/classModule-members.html
+++ b/docs/module-doc/classModule-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -11,9 +11,10 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a2">GetVersion</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a0">Module</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a8">Module::OnPacketReceive</a>(char *p)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
- <tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a7">Module::OnPacketTransmit</a>(char *p)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a12">Module::OnUserPreJoin</a>(userrec *user, chanrec *chan, char *cname)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a11">OnExtendedMode</a>(userrec *user, chanrec *chan, char modechar, int type, bool mode_on, string_list &amp;params)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a8">OnPacketReceive</a>(char *p)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
+ <tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a7">OnPacketTransmit</a>(char *p)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a9">OnRehash</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a10">OnServerRaw</a>(std::string &amp;raw, bool inbound)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a3">OnUserConnect</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
@@ -22,7 +23,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a4">OnUserQuit</a>(userrec *user)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModule.html#a1">~Module</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:18 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classModule.html b/docs/module-doc/classModule.html
index 03cd1ca52..2a212a72e 100644
--- a/docs/module-doc/classModule.html
+++ b/docs/module-doc/classModule.html
@@ -1,7 +1,7 @@
<!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>Module class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -36,16 +36,18 @@ Inheritance diagram for Module:<p><center><img src="classModule__inherit__graph.
<tr><td>&nbsp;</td><td><font size=-1><em>Called when a user joins a channel.</em> <a href="#a5"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a6">OnUserPart</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called when a user parts a channel.</em> <a href="#a6"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a7">Module::OnPacketTransmit</a> (char *p)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a7">OnPacketTransmit</a> (char *p)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called before a packet is transmitted across the irc network between two irc servers.</em> <a href="#a7"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a8">Module::OnPacketReceive</a> (char *p)</td></tr>
+<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a8">OnPacketReceive</a> (char *p)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called after a packet is received from another irc server.</em> <a href="#a8"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a9">OnRehash</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called on rehash.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a10">OnServerRaw</a> (std::string &amp;raw, bool inbound)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called when a raw command is transmitted or received.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a11">OnExtendedMode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, char modechar, int type, bool mode_on, <a class="el" href="modules_8h.html#a10">string_list</a> &amp;params)</td></tr>
+<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a11">OnExtendedMode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, char modechar, int type, bool mode_on, <a class="el" href="modules_8h.html#a11">string_list</a> &amp;params)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Called whenever an extended mode is to be processed.</em> <a href="#a11"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>virtual int&nbsp;</td><td valign=bottom><a class="el" href="classModule.html#a12">Module::OnUserPreJoin</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, char *cname)</td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Called whenever a user is about to join a channel, before any processing is done.</em> <a href="#a12"></a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Base class for all InspIRCd modules This class is the base class for InspIRCd modules.
@@ -54,7 +56,7 @@ All modules must inherit from this class, its methods will be called when irc se
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00072">72</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00090">90</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Module::Module"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -84,9 +86,9 @@ Default constructor creates a module class.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00088">88</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00093">93</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00088 { }
+<div class="fragment"><pre>00093 { }
</pre></div> </td>
</tr>
</table>
@@ -119,9 +121,9 @@ Default destructor destroys a module class.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00089">89</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00094">94</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00089 { }
+<div class="fragment"><pre>00094 { }
</pre></div> </td>
</tr>
</table>
@@ -155,55 +157,39 @@ Returns the version number of a Module.
<p>
The method should return a <a class="el" href="classVersion.html">Version</a> object with its version information assigned via <a class="el" href="classVersion.html#a0">Version::Version</a>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00099">99</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00105">105</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00099 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
+<div class="fragment"><pre>00105 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
</pre></div> </td>
</tr>
</table>
-<a name="a8" doxytag="Module::Module::OnPacketReceive"></a><p>
+<a name="a12" doxytag="Module::Module::OnUserPreJoin"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> virtual void Module::Module::OnPacketReceive </td>
+ <td class="md" nowrap valign="top"> virtual int Module::Module::OnUserPreJoin </td>
<td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
- <td class="md" valign="top">)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>user</em>, </td>
</tr>
-
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called after a packet is received from another irc server.
-<p>
-The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called immediately after the packet is received but before any other operations with the core of the ircd. </td>
- </tr>
-</table>
-<a name="a7" doxytag="Module::Module::OnPacketTransmit"></a><p>
-<table width="100%" cellpadding="2" cellspacing="0" border="0">
- <tr>
- <td class="md">
- <table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> virtual void Module::Module::OnPacketTransmit </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
- <td class="md" valign="top">)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>chan</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap>&nbsp; <em>cname</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [virtual]</code></td>
</tr>
</table>
@@ -218,9 +204,11 @@ The packet is represented as a char*, as it should be regarded as a buffer, and
<td>
<p>
-Called before a packet is transmitted across the irc network between two irc servers.
+Called whenever a user is about to join a channel, before any processing is done.
<p>
-The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called before ANY other operations within the ircd core program. </td>
+Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to mimic +b, +k, +l etc.<p>
+IMPORTANT NOTE!<p>
+If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc. </td>
</tr>
</table>
<a name="a11" doxytag="Module::OnExtendedMode"></a><p>
@@ -261,7 +249,7 @@ The packet is represented as a char*, as it should be regarded as a buffer, and
<tr>
<td></td>
<td></td>
- <td class="md" nowrap><a class="el" href="modules_8h.html#a10">string_list</a> &amp;&nbsp;</td>
+ <td class="md" nowrap><a class="el" href="modules_8h.html#a11">string_list</a> &amp;&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>params</em></td>
</tr>
<tr>
@@ -286,9 +274,81 @@ Called whenever an extended mode is to be processed.
<p>
The type parameter is MT_SERVER, MT_CLIENT or MT_CHANNEL, dependent on where the mode is being changed. mode_on is set when the mode is being set, in which case params contains a list of parameters for the mode as strings. If mode_on is false, the mode is being removed, and parameters may contain the parameters for the mode, dependent on wether they were defined when a mode handler was set up with <a class="el" href="classServer.html#a19">Server::AddExtendedMode</a> If the mode is not a channel mode, chanrec* chan is null, and should not be read from or written to.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00098">98</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00104">104</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00098 { }
+<div class="fragment"><pre>00104 { }
+</pre></div> </td>
+ </tr>
+</table>
+<a name="a8" doxytag="Module::OnPacketReceive"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void Module::OnPacketReceive </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called after a packet is received from another irc server.
+<p>
+The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called immediately after the packet is received but before any other operations with the core of the ircd.
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00100">100</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00100 { }
+</pre></div> </td>
+ </tr>
+</table>
+<a name="a7" doxytag="Module::OnPacketTransmit"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void Module::OnPacketTransmit </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; <em>p</em> </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap><code> [virtual]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Called before a packet is transmitted across the irc network between two irc servers.
+<p>
+The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called before ANY other operations within the ircd core program.
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00099">99</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00099 { }
</pre></div> </td>
</tr>
</table>
@@ -321,9 +381,9 @@ Called on rehash.
<p>
This method is called prior to a /REHASH or when a SIGHUP is received from the operating system. You should use it to reload any files so that your module keeps in step with the rest of the application.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00096">96</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00101">101</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00096 { }
+<div class="fragment"><pre>00101 { }
</pre></div> </td>
</tr>
</table>
@@ -366,9 +426,9 @@ Called when a raw command is transmitted or received.
<p>
This method is the lowest level of handler available to a module. It will be called with raw data which is passing through a connected socket. If you wish, you may munge this data by changing the string parameter "raw". If you do this, after your function exits it will immediately be cut down to 510 characters plus a carriage return and linefeed.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00097">97</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00102">102</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00097 { }
+<div class="fragment"><pre>00102 { }
</pre></div> </td>
</tr>
</table>
@@ -402,9 +462,9 @@ Called when a user connects.
<p>
The details of the connecting user are available to you in the parameter userrec *user
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00090">90</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00095">95</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00090 { }
+<div class="fragment"><pre>00095 { }
</pre></div> </td>
</tr>
</table>
@@ -447,9 +507,9 @@ Called when a user joins a channel.
<p>
The details of the joining user are available to you in the parameter userrec *user, and the details of the channel they have joined is available in the variable chanrec *channel
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00092">92</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00097">97</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00092 { }
+<div class="fragment"><pre>00097 { }
</pre></div> </td>
</tr>
</table>
@@ -492,9 +552,9 @@ Called when a user parts a channel.
<p>
The details of the leaving user are available to you in the parameter userrec *user, and the details of the channel they have left is available in the variable chanrec *channel
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00093">93</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00098">98</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00093 { }
+<div class="fragment"><pre>00098 { }
</pre></div> </td>
</tr>
</table>
@@ -528,15 +588,15 @@ Called when a user quits.
<p>
The details of the exiting user are available to you in the parameter userrec *user
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00091">91</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00096">96</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00091 { }
+<div class="fragment"><pre>00096 { }
</pre></div> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:18 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:16 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classModuleFactory-members.html b/docs/module-doc/classModuleFactory-members.html
index 88cb9d978..c978d4158 100644
--- a/docs/module-doc/classModuleFactory-members.html
+++ b/docs/module-doc/classModuleFactory-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -13,7 +13,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModuleFactory.html#a0">ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classModuleFactory.html#a1">~ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:18 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classModuleFactory.html b/docs/module-doc/classModuleFactory.html
index 655426e1a..95eeb5b0d 100644
--- a/docs/module-doc/classModuleFactory.html
+++ b/docs/module-doc/classModuleFactory.html
@@ -1,7 +1,7 @@
<!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>ModuleFactory class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -34,7 +34,7 @@ This is to allow for modules to create many different variants of <a class="el"
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00413">413</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00448">448</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="ModuleFactory::ModuleFactory"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -62,9 +62,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00413">413</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00416">416</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00451">451</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-<div class="fragment"><pre>00416 { }
+<div class="fragment"><pre>00451 { }
</pre></div> </td>
</tr>
</table>
@@ -95,9 +95,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00416">416</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00417">417</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l00452">452</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-<div class="fragment"><pre>00417 { }
+<div class="fragment"><pre>00452 { }
</pre></div> </td>
</tr>
</table>
@@ -134,7 +134,7 @@ Your inherited class of ModuleFactory must return a pointer to your <a class="el
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:18 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classServer-members.html b/docs/module-doc/classServer-members.html
index ae6cf04e4..c1233c02a 100644
--- a/docs/module-doc/classServer-members.html
+++ b/docs/module-doc/classServer-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -32,7 +32,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a0">Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classServer.html#a1">~Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:19 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:18 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classServer.html b/docs/module-doc/classServer.html
index 1565c1d30..aaef1907f 100644
--- a/docs/module-doc/classServer.html
+++ b/docs/module-doc/classServer.html
@@ -1,7 +1,7 @@
<!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>Server class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -74,7 +74,7 @@ All modules should instantiate at least one copy of this class, and use its memb
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00165">165</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00196">196</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Server::Server"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -104,10 +104,10 @@ Default constructor.
<p>
Creates a Server object.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00105">105</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00111">111</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00106 {
-00107 }
+<div class="fragment"><pre>00112 {
+00113 }
</pre></div> </td>
</tr>
</table>
@@ -140,10 +140,10 @@ Default destructor.
<p>
Destroys a Server object.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00109">109</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00115">115</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00110 {
-00111 }
+<div class="fragment"><pre>00116 {
+00117 }
</pre></div> </td>
</tr>
</table>
@@ -201,13 +201,13 @@ This allows modules to add extra commands into the command table. You must place
typedef void (handlerfunc) (char**, int, userrec*); ... void handle_kill(char **parameters, int pcnt, userrec *user)<p>
When the command is typed, the parameters will be placed into the parameters array (similar to argv) and the parameter count will be placed into pcnt (similar to argv). There will never be any less parameters than the 'minparams' value you specified when creating the command. The *user parameter is the class of the user which caused the command to trigger, who will always have the flag you specified in 'flags' when creating the initial command. For example to create an oper only command create the commands with flags='o'.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00123">123</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00129">129</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h.html#a12">createcommand()</a>.
+References <a class="el" href="modules_8h.html#a13">createcommand()</a>.
<p>
-<div class="fragment"><pre>00124 {
-00125 <a class="code" href="modules_8h.html#a12">createcommand</a>(cmd,f,flags,minparams);
-00126 }
+<div class="fragment"><pre>00130 {
+00131 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
+00132 }
</pre></div> </td>
</tr>
</table>
@@ -268,10 +268,13 @@ Adds an extended mode letter which is parsed by a module This allows modules to
<p>
+x for hostcloak. the "type" parameter is either MT_CHANNEL, MT_CLIENT, or MT_SERVER, to indicate wether the mode is a channel mode, a client mode, or a server mode. default_on is true if the mode is to be applied to default connections. params_when_on is the number of modes to expect when the mode is turned on (for type MT_CHANNEL only), e.g. with mode +b, this would have a value of 1. the params_when_off value has a similar value to params_when_on, except it indicates the number of parameters to expect when the mode is disabled. Modes which act in a similar way to channel mode +l (e.g. require a parameter to enable, but not to disable) should use this parameter. The function returns false if the mode is unavailable, and will not attempt to allocate another character, as this will confuse users. This also means that as only one module can claim a specific mode character, the core does not need to keep track of which modules own which modes, which speeds up operation of the server. In this version, a mode can have at most one parameter, attempting to use more parameters will have undefined effects.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00224">224</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00230">230</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00225 {
-00226 }
+References <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>.
+<p>
+<div class="fragment"><pre>00231 {
+00232 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(modechar,type,default_on,params_when_on,params_when_off);
+00233 }
</pre></div> </td>
</tr>
</table>
@@ -314,11 +317,11 @@ Attempts to look up a user's privilages on a channel.
<p>
This function will return a string containing either @, , +, or an empty string, representing the user's privilages upon the channel you specify.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00202">202</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00208">208</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00203 {
-00204 <span class="keywordflow">return</span> cmode(User,Chan);
-00205 }
+<div class="fragment"><pre>00209 {
+00210 <span class="keywordflow">return</span> cmode(User,Chan);
+00211 }
</pre></div> </td>
</tr>
</table>
@@ -361,11 +364,11 @@ Returns true if two users share a common channel.
<p>
This method is used internally by the NICK and QUIT commands, and the <a class="el" href="classServer.html#a10">Server::SendCommon</a> method.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00165">165</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00171">171</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00166 {
-00167 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00168 }
+<div class="fragment"><pre>00172 {
+00173 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
+00174 }
</pre></div> </td>
</tr>
</table>
@@ -399,11 +402,11 @@ Attempts to look up a channel and return a pointer to it.
<p>
This function will return NULL if the channel does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00197">197</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00203">203</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00198 {
-00199 <span class="keywordflow">return</span> FindChan(channel.c_str());
-00200 }
+<div class="fragment"><pre>00204 {
+00205 <span class="keywordflow">return</span> FindChan(channel.c_str());
+00206 }
</pre></div> </td>
</tr>
</table>
@@ -437,11 +440,11 @@ Attempts to look up a nick and return a pointer to it.
<p>
This function will return NULL if the nick does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00192">192</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00198">198</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00193 {
-00194 <span class="keywordflow">return</span> Find(nick);
-00195 }
+<div class="fragment"><pre>00199 {
+00200 <span class="keywordflow">return</span> Find(nick);
+00201 }
</pre></div> </td>
</tr>
</table>
@@ -474,11 +477,11 @@ Returns the information of the server as returned by the /ADMIN command.
<p>
See the <a class="el" href="classAdmin.html">Admin</a> class for further information of the return value. The members <a class="el" href="classAdmin.html#m2">Admin::Nick</a>, <a class="el" href="classAdmin.html#m1">Admin::Email</a> and <a class="el" href="classAdmin.html#m0">Admin::Name</a> contain the information for the server where the module is loaded.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00217">217</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00223">223</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00218 {
-00219 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00220 }
+<div class="fragment"><pre>00224 {
+00225 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
+00226 }
</pre></div> </td>
</tr>
</table>
@@ -511,11 +514,11 @@ Returns the network name, global to all linked servers.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00212">212</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00218">218</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00213 {
-00214 <span class="keywordflow">return</span> getnetworkname();
-00215 }
+<div class="fragment"><pre>00219 {
+00220 <span class="keywordflow">return</span> getnetworkname();
+00221 }
</pre></div> </td>
</tr>
</table>
@@ -548,11 +551,11 @@ Returns the server name of the server where the module is loaded.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00207">207</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00213">213</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00208 {
-00209 <span class="keywordflow">return</span> getservername();
-00210 }
+<div class="fragment"><pre>00214 {
+00215 <span class="keywordflow">return</span> getservername();
+00216 }
</pre></div> </td>
</tr>
</table>
@@ -586,11 +589,11 @@ Returns true if a nick is valid.
<p>
Nicks for unregistered connections will return false.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00187">187</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00193">193</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00188 {
-00189 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00190 }
+<div class="fragment"><pre>00194 {
+00195 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
+00196 }
</pre></div> </td>
</tr>
</table>
@@ -633,11 +636,11 @@ Writes a log string.
<p>
This method writes a line of text to the log. If the level given is lower than the level given in the configuration, this command has no effect.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00118">118</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00124">124</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00119 {
-00120 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
-00121 }
+<div class="fragment"><pre>00125 {
+00126 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+00127 }
</pre></div> </td>
</tr>
</table>
@@ -680,11 +683,11 @@ Sends a line of text down a TCP/IP socket.
<p>
This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00133">133</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00139">139</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00134 {
-00135 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00136 }
+<div class="fragment"><pre>00140 {
+00141 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00142 }
</pre></div> </td>
</tr>
</table>
@@ -739,18 +742,18 @@ Sends text from a user to a channel (mulicast).
<p>
This method writes a line of text to a channel, with the given user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in MODE (see RFC 1459).
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00153">153</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00154 {
-00155 <span class="keywordflow">if</span> (IncludeSender)
-00156 {
-00157 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00158 }
-00159 <span class="keywordflow">else</span>
-00160 {
-00161 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00162 }
-00163 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00159">159</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00160 {
+00161 <span class="keywordflow">if</span> (IncludeSender)
+00162 {
+00163 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00164 }
+00165 <span class="keywordflow">else</span>
+00166 {
+00167 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00168 }
+00169 }
</pre></div> </td>
</tr>
</table>
@@ -799,18 +802,18 @@ Sends text from a user to one or more channels (mulicast).
<p>
This method writes a line of text to all users which share a common channel with a given user, with the user's nick/ident/host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in NICK (see RFC 1459). Otherwise, it is only sent to the other recipients, as seen in QUIT.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00170">170</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-<div class="fragment"><pre>00171 {
-00172 <span class="keywordflow">if</span> (IncludeSender)
-00173 {
-00174 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00175 }
-00176 <span class="keywordflow">else</span>
-00177 {
-00178 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00179 }
-00180 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00176">176</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+<div class="fragment"><pre>00177 {
+00178 <span class="keywordflow">if</span> (IncludeSender)
+00179 {
+00180 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00181 }
+00182 <span class="keywordflow">else</span>
+00183 {
+00184 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00185 }
+00186 }
</pre></div> </td>
</tr>
</table>
@@ -859,11 +862,11 @@ Sends text from a user to a socket.
<p>
This method writes a line of text to an established socket, with the given user's nick/ident /host combination prepended, as used in PRIVSG etc commands (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00143">143</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00149">149</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00144 {
-00145 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00146 }
+<div class="fragment"><pre>00150 {
+00151 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00152 }
</pre></div> </td>
</tr>
</table>
@@ -912,16 +915,20 @@ Sends a servermode.
<p>
you must format the parameters array with the target, modes and parameters for those modes.<p>
For example:<p>
-char modes[3][MAXBUF]; modes[0] = ChannelName; modes[1] = "+o"; modes[2] = user-&gt;nick; Srv-&gt;SendMode(modes,3,user);<p>
+char *modes[3];<p>
+modes[0] = ChannelName;<p>
+modes[1] = "+o";<p>
+modes[2] = user-&gt;nick;<p>
+Srv-&gt;SendMode(modes,3,user);<p>
The modes will originate from the server where the command was issued, however responses (e.g. numerics) will be sent to the user you provide as the third parameter. You must be sure to get the number of parameters correct in the pcnt parameter otherwise you could leave your server in an unstable state!
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00128">128</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00134">134</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h.html#a13">server_mode()</a>.
+References <a class="el" href="modules_8h.html#a14">server_mode()</a>.
<p>
-<div class="fragment"><pre>00129 {
-00130 <a class="code" href="modules_8h.html#a13">server_mode</a>(parameters,pcnt,user);
-00131 }
+<div class="fragment"><pre>00135 {
+00136 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
+00137 }
</pre></div> </td>
</tr>
</table>
@@ -955,11 +962,11 @@ Sends text to all opers.
<p>
This method sends a server notice to all opers with the usermode +s.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00113">113</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00119">119</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00114 {
-00115 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00116 }
+<div class="fragment"><pre>00120 {
+00121 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
+00122 }
</pre></div> </td>
</tr>
</table>
@@ -1002,11 +1009,11 @@ Sends text from the server to a socket.
<p>
This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00138">138</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00144">144</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00139 {
-00140 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00141 }
+<div class="fragment"><pre>00145 {
+00146 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00147 }
</pre></div> </td>
</tr>
</table>
@@ -1055,11 +1062,11 @@ Sends text from a user to another user.
<p>
This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00148">148</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00154">154</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00149 {
-00150 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00151 }
+<div class="fragment"><pre>00155 {
+00156 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+00157 }
</pre></div> </td>
</tr>
</table>
@@ -1102,17 +1109,17 @@ Sends a WALLOPS message.
<p>
This method writes a WALLOPS message to all users with the +w flag, originating from the specified user.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00182">182</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00188">188</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00183 {
-00184 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00185 }
+<div class="fragment"><pre>00189 {
+00190 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00191 }
</pre></div> </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:19 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:18 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classVersion-members.html b/docs/module-doc/classVersion-members.html
index 6b490c924..f333cebec 100644
--- a/docs/module-doc/classVersion-members.html
+++ b/docs/module-doc/classVersion-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -15,7 +15,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classVersion.html#m2">Revision</a></td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classVersion.html#a0">Version</a>(int major, int minor, int revision, int build)</td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classVersion.html b/docs/module-doc/classVersion.html
index 3590bb48a..3bebaa346 100644
--- a/docs/module-doc/classVersion.html
+++ b/docs/module-doc/classVersion.html
@@ -1,7 +1,7 @@
<!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>Version class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -36,7 +36,7 @@ A class of type Version is returned by the GetVersion method of the <a class="el
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00048">48</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l00066">66</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Version::Version"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -86,9 +86,9 @@ Definition at line <a class="el" href="modules_8h-source.html#l00048">48</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00082">82</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00087">87</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-<div class="fragment"><pre>00082 : <a class="code" href="classVersion.html#m0">Major</a>(major), <a class="code" href="classVersion.html#m1">Minor</a>(minor), <a class="code" href="classVersion.html#m2">Revision</a>(revision), <a class="code" href="classVersion.html#m3">Build</a>(build) { };
+<div class="fragment"><pre>00087 : <a class="code" href="classVersion.html#m0">Major</a>(major), <a class="code" href="classVersion.html#m1">Minor</a>(minor), <a class="code" href="classVersion.html#m2">Revision</a>(revision), <a class="code" href="classVersion.html#m3">Build</a>(build) { };
</pre></div> </td>
</tr>
</table>
@@ -114,7 +114,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00082">82</a> o
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m0" doxytag="Version::Major"></a><p>
@@ -138,7 +138,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m1" doxytag="Version::Minor"></a><p>
@@ -162,7 +162,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a name="m2" doxytag="Version::Revision"></a><p>
@@ -186,12 +186,12 @@ Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00051">51</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00069">69</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classchanrec-members.html b/docs/module-doc/classchanrec-members.html
index 267ff8c66..99d6f2a62 100644
--- a/docs/module-doc/classchanrec-members.html
+++ b/docs/module-doc/classchanrec-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -29,7 +29,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#m4">topicset</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classchanrec.html#a3">~chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td><code> [inline, virtual]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:12 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classchanrec.html b/docs/module-doc/classchanrec.html
index 24f19b02d..7d4a1a061 100644
--- a/docs/module-doc/classchanrec.html
+++ b/docs/module-doc/classchanrec.html
@@ -1,7 +1,7 @@
<!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>chanrec class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -25,7 +25,7 @@ Inheritance diagram for chanrec:<p><center><img src="classchanrec__inherit__grap
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a0">SetCustomMode</a> (char mode, bool mode_on)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets or unsets a custom mode in the channels info.</em> <a href="#a0"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a1">SetCustomModeParam</a> (char mode, char *parameter, bool mode_on)</td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Sets or unsets the parameterrs for a custom mode in a channels info.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Sets or unsets the parameters for a custom mode in a channels info.</em> <a href="#a1"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a2">chanrec</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Creates a channel record and initialises it with default values.</em> <a href="#a2"></a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classchanrec.html#a3">~chanrec</a> ()</td></tr>
@@ -189,8 +189,32 @@ Sets or unsets a custom mode in the channels info.
<p>
Definition at line <a class="el" href="channels_8cpp-source.html#l00017">17</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
+References <a class="el" href="channels_8h-source.html#l00079">custom_modes</a>.
+<p>
<div class="fragment"><pre>00018 {
-00019 }
+00019 <span class="keywordflow">if</span> (mode_on) {
+00020 <span class="keywordtype">char</span> m[3];
+00021 m[0] = mode;
+00022 m[1] = <span class="charliteral">'\0'</span>;
+00023 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
+00024 {
+00025 strncat(custom_modes,m,MAXMODES);
+00026 }
+00027 log(DEBUG,<span class="stringliteral">"Custom mode %c set"</span>,mode);
+00028 }
+00029 <span class="keywordflow">else</span> {
+00030 <span class="keywordtype">char</span> temp[MAXMODES];
+00031 <span class="keywordtype">int</span> count = 0;
+00032 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q = 0; q &lt; strlen(custom_modes); q++) {
+00033 <span class="keywordflow">if</span> (<a class="code" href="classchanrec.html#m1">custom_modes</a>[q] != mode) {
+00034 temp[count++] = mode;
+00035 }
+00036 }
+00037 temp[count] = <span class="charliteral">'\0'</span>;
+00038 strncpy(custom_modes,temp,MAXMODES);
+00039 log(DEBUG,<span class="stringliteral">"Custom mode %c removed"</span>,mode);
+00040 }
+00041 }
</pre></div> </td>
</tr>
</table>
@@ -235,14 +259,14 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00017">17</a>
<td>
<p>
-Sets or unsets the parameterrs for a custom mode in a channels info.
+Sets or unsets the parameters for a custom mode in a channels info.
<p>
<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00021">21</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
+Definition at line <a class="el" href="channels_8cpp-source.html#l00043">43</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
-<div class="fragment"><pre>00022 {
-00023 }
+<div class="fragment"><pre>00044 {
+00045 }
</pre></div> </td>
</tr>
</table>
@@ -352,7 +376,9 @@ Custom modes for the channel.
<p>
Plugins may use this field in any way they see fit.
<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00079">79</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
+Definition at line <a class="el" href="channels_8h-source.html#l00079">79</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
+<p>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00017">SetCustomMode()</a>. </td>
</tr>
</table>
<a name="m10" doxytag="chanrec::inviteonly"></a><p>
@@ -657,7 +683,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00006">chanrec()</a
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a><li><a class="el" href="channels_8cpp-source.html">channels.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:12 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classclassbase-members.html b/docs/module-doc/classclassbase-members.html
index f20e71c0d..8c26d059c 100644
--- a/docs/module-doc/classclassbase-members.html
+++ b/docs/module-doc/classclassbase-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -10,7 +10,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#m0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:12 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classclassbase.html b/docs/module-doc/classclassbase.html
index e2ebc99b6..dadfb15cf 100644
--- a/docs/module-doc/classclassbase.html
+++ b/docs/module-doc/classclassbase.html
@@ -1,7 +1,7 @@
<!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>classbase class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -143,7 +143,7 @@ Definition at line <a class="el" href="base_8h-source.html#l00020">20</a> of fil
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:12 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classcommand__t-members.html b/docs/module-doc/classcommand__t-members.html
index 217d770cb..6d731e94c 100644
--- a/docs/module-doc/classcommand__t-members.html
+++ b/docs/module-doc/classcommand__t-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -16,7 +16,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classcommand__t.html#m5">total_bytes</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classcommand__t.html#m4">use_count</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:13 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classcommand__t.html b/docs/module-doc/classcommand__t.html
index 16a0eb2a7..9feeedc86 100644
--- a/docs/module-doc/classcommand__t.html
+++ b/docs/module-doc/classcommand__t.html
@@ -1,7 +1,7 @@
<!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>command_t class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -199,7 +199,7 @@ Definition at line <a class="el" href="ctables_8h-source.html#l00044">44</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ctables_8h-source.html">ctables.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:13 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:11 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classconnection-members.html b/docs/module-doc/classconnection-members.html
index 3a3215eb6..9034c80ee 100644
--- a/docs/module-doc/classconnection-members.html
+++ b/docs/module-doc/classconnection-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -36,7 +36,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#m13">signon</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classconnection.html#a3">TerminateLink</a>(char *targethost)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:13 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html
index fa20d0de9..d7f0d18af 100644
--- a/docs/module-doc/classconnection.html
+++ b/docs/module-doc/classconnection.html
@@ -1,7 +1,7 @@
<!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>connection class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -837,7 +837,7 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec::se
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:14 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:12 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classes.html b/docs/module-doc/classes.html
index 8d5d31cfb..0c69f8654 100644
--- a/docs/module-doc/classes.html
+++ b/docs/module-doc/classes.html
@@ -1,7 +1,7 @@
<!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>Alphabetical index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -19,7 +19,7 @@
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classpacket.html">packet</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExemptItem.html">ExemptItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInvited.html">Invited</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td></tr></table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
+</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td></tr></table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classpacket-members.html b/docs/module-doc/classpacket-members.html
index 16a51e49b..de169854f 100644
--- a/docs/module-doc/classpacket-members.html
+++ b/docs/module-doc/classpacket-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -16,7 +16,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classpacket.html#m2">type</a></td><td><a class="el" href="classpacket.html">packet</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classpacket.html#a1">~packet</a>()</td><td><a class="el" href="classpacket.html">packet</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:19 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classpacket.html b/docs/module-doc/classpacket.html
index 9c711d440..334b62848 100644
--- a/docs/module-doc/classpacket.html
+++ b/docs/module-doc/classpacket.html
@@ -1,7 +1,7 @@
<!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>packet class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -183,7 +183,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00031">31</a>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:19 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:17 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classserverrec-members.html b/docs/module-doc/classserverrec-members.html
index bcb8887ea..a707c987d 100644
--- a/docs/module-doc/classserverrec-members.html
+++ b/docs/module-doc/classserverrec-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -47,7 +47,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classserverrec.html#m6">version</a></td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classserverrec.html#a2">~serverrec</a>()</td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:20 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:19 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classserverrec.html b/docs/module-doc/classserverrec.html
index 16e397ea5..9a1fc4840 100644
--- a/docs/module-doc/classserverrec.html
+++ b/docs/module-doc/classserverrec.html
@@ -1,7 +1,7 @@
<!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>serverrec class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -422,7 +422,7 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00012">serverrec()</
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="servers_8h-source.html">servers.h</a><li><a class="el" href="servers_8cpp-source.html">servers.cpp</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:20 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:18 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classucrec-members.html b/docs/module-doc/classucrec-members.html
index c9cecc769..508bf7553 100644
--- a/docs/module-doc/classucrec-members.html
+++ b/docs/module-doc/classucrec-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -14,7 +14,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classucrec.html#a0">ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classucrec.html#a1">~ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:21 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:19 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classucrec.html b/docs/module-doc/classucrec.html
index 2fe8b87b2..83a48a5d5 100644
--- a/docs/module-doc/classucrec.html
+++ b/docs/module-doc/classucrec.html
@@ -1,7 +1,7 @@
<!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>ucrec class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -162,7 +162,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00171">171</a> o
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:21 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:19 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classuserrec-members.html b/docs/module-doc/classuserrec-members.html
index a8c34d8a3..d2b4a5418 100644
--- a/docs/module-doc/classuserrec-members.html
+++ b/docs/module-doc/classuserrec-members.html
@@ -1,7 +1,7 @@
<!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>Member List</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -53,7 +53,7 @@
<tr bgcolor="#f0f0f0"><td><a class="el" href="classuserrec.html#a0">userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr bgcolor="#f0f0f0"><td><a class="el" href="classuserrec.html#a1">~userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:21 2004 for InspIRCd by
+</table><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/classuserrec.html b/docs/module-doc/classuserrec.html
index 274b7f424..1f317aa54 100644
--- a/docs/module-doc/classuserrec.html
+++ b/docs/module-doc/classuserrec.html
@@ -1,7 +1,7 @@
<!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>userrec class Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -643,7 +643,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00096">96</a> of fi
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<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>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:21 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/connection_8h-source.html b/docs/module-doc/connection_8h-source.html
index 6870d921a..8b5d831b8 100644
--- a/docs/module-doc/connection_8h-source.html
+++ b/docs/module-doc/connection_8h-source.html
@@ -1,7 +1,7 @@
<!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>connection.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -79,7 +79,7 @@
00071
00072 <span class="preprocessor">#endif</span>
00073 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/connection_8h.html b/docs/module-doc/connection_8h.html
index 2d36150ee..9d6e24875 100644
--- a/docs/module-doc/connection_8h.html
+++ b/docs/module-doc/connection_8h.html
@@ -1,7 +1,7 @@
<!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>connection.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -142,7 +142,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00020">20</a>
Definition at line <a class="el" href="connection_8h-source.html#l00022">22</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:07 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:05 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/ctables_8h-source.html b/docs/module-doc/ctables_8h-source.html
index fb9209ab9..820b3abe9 100644
--- a/docs/module-doc/ctables_8h-source.html
+++ b/docs/module-doc/ctables_8h-source.html
@@ -1,7 +1,7 @@
<!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>ctables.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -43,7 +43,7 @@
00049
00050 <span class="preprocessor">#endif</span>
00051 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/ctables_8h.html b/docs/module-doc/ctables_8h.html
index 9fca91ba8..31c2baba0 100644
--- a/docs/module-doc/ctables_8h.html
+++ b/docs/module-doc/ctables_8h.html
@@ -1,7 +1,7 @@
<!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>ctables.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -57,7 +57,7 @@ This graph shows which files directly or indirectly include this file:<p><center
Definition at line <a class="el" href="ctables_8h-source.html#l00023">23</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:07 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:05 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/doxygen.css b/docs/module-doc/doxygen.css
deleted file mode 100644
index 8cb8b2e5b..000000000
--- a/docs/module-doc/doxygen.css
+++ /dev/null
@@ -1,49 +0,0 @@
-H1 { text-align: center; }
-CAPTION { font-weight: bold }
-A.qindex {}
-A.qindexRef {}
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code { text-decoration: none; font-weight: normal; color: #4444ee }
-A.codeRef { font-weight: normal; color: #4444ee }
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
-DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-TD.md { background-color: #f2f2ff; font-weight: bold; }
-TD.mdname1 { background-color: #f2f2ff; font-weight: bold; color: #602020; }
-TD.mdname { background-color: #f2f2ff; font-weight: bold; color: #602020; width: 600px; }
-DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
-BODY { background: white; color: black }
-TD.indexkey {
- background-color: #eeeeff;
- font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px
-}
-TD.indexvalue {
- background-color: #eeeeff;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px
-}
-span.keyword { color: #008000 }
-span.keywordtype { color: #604020 }
-span.keywordflow { color: #e08000 }
-span.comment { color: #800000 }
-span.preprocessor { color: #806020 }
-span.stringliteral { color: #002080 }
-span.charliteral { color: #008080 }
diff --git a/docs/module-doc/doxygen.png b/docs/module-doc/doxygen.png
index 5bb475e23..0fbfb1359 100644
--- a/docs/module-doc/doxygen.png
+++ b/docs/module-doc/doxygen.png
Binary files differ
diff --git a/docs/module-doc/files.html b/docs/module-doc/files.html
index 4fbe6cb8a..cbe10a377 100644
--- a/docs/module-doc/files.html
+++ b/docs/module-doc/files.html
@@ -1,7 +1,7 @@
<!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>File Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -19,7 +19,7 @@
<tr><td class="indexkey"><a class="el" href="users_8cpp.html">users.cpp</a> <a href="users_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="users_8h.html">users.h</a> <a href="users_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/functions.html b/docs/module-doc/functions.html
index 9cc059f3c..54f891acb 100644
--- a/docs/module-doc/functions.html
+++ b/docs/module-doc/functions.html
@@ -1,7 +1,7 @@
<!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>Compound Member Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -127,15 +127,14 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classExtMode.html#m0">ExtMode</a><li>moderated
: <a class="el" href="classchanrec.html#m11">chanrec</a><li>modes
: <a class="el" href="classuserrec.html#m4">userrec</a><li>Module()
-: <a class="el" href="classModule.html#a0">Module</a><li>Module::OnPacketReceive()
-: <a class="el" href="classModule.html#a8">Module</a><li>Module::OnPacketTransmit()
-: <a class="el" href="classModule.html#a7">Module</a><li>ModuleFactory()
+: <a class="el" href="classModule.html#a0">Module</a><li>Module::OnUserPreJoin()
+: <a class="el" href="classModule.html#a12">Module</a><li>ModuleFactory()
: <a class="el" href="classModuleFactory.html#a0">ModuleFactory</a></ul>
<h3><a name="index_n">- n -</a>
</h3><ul>
-<li>Name
-: <a class="el" href="classAdmin.html#m0">Admin</a><li>name
-: <a class="el" href="classserverrec.html#m0">serverrec</a>, <a class="el" href="classchanrec.html#m0">chanrec</a><li>nick
+<li>name
+: <a class="el" href="classserverrec.html#m0">serverrec</a>, <a class="el" href="classchanrec.html#m0">chanrec</a><li>Name
+: <a class="el" href="classAdmin.html#m0">Admin</a><li>nick
: <a class="el" href="classuserrec.html#m0">userrec</a><li>Nick
: <a class="el" href="classAdmin.html#m2">Admin</a><li>noexternal
: <a class="el" href="classchanrec.html#m9">chanrec</a><li>nping
@@ -143,7 +142,9 @@ Here is a list of all class members with links to the classes they belong to:<h3
<h3><a name="index_o">- o -</a>
</h3><ul>
<li>OnExtendedMode()
-: <a class="el" href="classModule.html#a11">Module</a><li>OnRehash()
+: <a class="el" href="classModule.html#a11">Module</a><li>OnPacketReceive()
+: <a class="el" href="classModule.html#a8">Module</a><li>OnPacketTransmit()
+: <a class="el" href="classModule.html#a7">Module</a><li>OnRehash()
: <a class="el" href="classModule.html#a9">Module</a><li>OnServerRaw()
: <a class="el" href="classModule.html#a10">Module</a><li>OnUserConnect()
: <a class="el" href="classModule.html#a3">Module</a><li>OnUserJoin()
@@ -184,9 +185,9 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classServer.html#a5">Server</a><li>SendSYN()
: <a class="el" href="classconnection.html#a6">connection</a><li>SendTo()
: <a class="el" href="classServer.html#a7">Server</a><li>SendWallops()
-: <a class="el" href="classServer.html#a11">Server</a><li>server
-: <a class="el" href="classuserrec.html#m6">userrec</a><li>Server()
-: <a class="el" href="classServer.html#a0">Server</a><li>serverrec()
+: <a class="el" href="classServer.html#a11">Server</a><li>Server()
+: <a class="el" href="classServer.html#a0">Server</a><li>server
+: <a class="el" href="classuserrec.html#m6">userrec</a><li>serverrec()
: <a class="el" href="classserverrec.html#a1">serverrec</a><li>set_by
: <a class="el" href="classHostItem.html#m1">HostItem</a><li>set_time
: <a class="el" href="classHostItem.html#m0">HostItem</a><li>setby
@@ -233,7 +234,7 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classserverrec.html#a2">serverrec</a><li>~ucrec()
: <a class="el" href="classucrec.html#a1">ucrec</a><li>~userrec()
: <a class="el" href="classuserrec.html#a1">userrec</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/globals.html b/docs/module-doc/globals.html
index 5918121fa..4adba81a8 100644
--- a/docs/module-doc/globals.html
+++ b/docs/module-doc/globals.html
@@ -1,20 +1,16 @@
<!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>File Member Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
<a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>InspIRCd File Members</h1><center>
-<a href="#index_a">a</a>&nbsp;|&nbsp;<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_l">l</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_v">v</a></center>
+<a href="#index_b">b</a>&nbsp;|&nbsp;<a href="#index_c">c</a>&nbsp;|&nbsp;<a href="#index_d">d</a>&nbsp;|&nbsp;<a href="#index_e">e</a>&nbsp;|&nbsp;<a href="#index_f">f</a>&nbsp;|&nbsp;<a href="#index_h">h</a>&nbsp;|&nbsp;<a href="#index_i">i</a>&nbsp;|&nbsp;<a href="#index_l">l</a>&nbsp;|&nbsp;<a href="#index_m">m</a>&nbsp;|&nbsp;<a href="#index_n">n</a>&nbsp;|&nbsp;<a href="#index_p">p</a>&nbsp;|&nbsp;<a href="#index_s">s</a>&nbsp;|&nbsp;<a href="#index_u">u</a>&nbsp;|&nbsp;<a href="#index_v">v</a></center>
<p>
-Here is a list of all file members with links to the files they belong to:<h3><a name="index_a">- a -</a>
-</h3><ul>
-<li>AddExtendedMode()
-: <a class="el" href="modules_8cpp.html#a7">modules.cpp</a></ul>
-<h3><a name="index_b">- b -</a>
+Here is a list of all file members with links to the files they belong to:<h3><a name="index_b">- b -</a>
</h3><ul>
<li>BanList
: <a class="el" href="channels_8h.html#a5">channels.h</a></ul>
@@ -24,12 +20,13 @@ Here is a list of all file members with links to the files they belong to:<h3><a
: <a class="el" href="users_8h.html#a4">users.h</a><li>CC_DENY
: <a class="el" href="users_8h.html#a5">users.h</a><li>ClassVector
: <a class="el" href="users_8h.html#a7">users.h</a><li>createcommand()
-: <a class="el" href="modules_8h.html#a12">modules.h</a></ul>
+: <a class="el" href="modules_8h.html#a13">modules.h</a></ul>
<h3><a name="index_d">- d -</a>
</h3><ul>
<li>DEBUG
: <a class="el" href="modules_8h.html#a0">modules.h</a><li>DEFAULT
-: <a class="el" href="modules_8h.html#a2">modules.h</a></ul>
+: <a class="el" href="modules_8h.html#a2">modules.h</a><li>DoAddExtendedMode()
+: <a class="el" href="modules_8cpp.html#a7">modules.cpp</a></ul>
<h3><a name="index_e">- e -</a>
</h3><ul>
<li>EMode
@@ -41,8 +38,9 @@ Here is a list of all file members with links to the files they belong to:<h3><a
</h3><ul>
<li>factory()
: <a class="el" href="modules_8cpp.html#a9">modules.cpp</a><li>file_cache
-: <a class="el" href="modules_8h.html#a9">modules.h</a><li>FOREACH_MOD
-: <a class="el" href="modules_8h.html#a8">modules.h</a></ul>
+: <a class="el" href="modules_8h.html#a10">modules.h</a><li>FOREACH_MOD
+: <a class="el" href="modules_8h.html#a8">modules.h</a><li>FOREACH_RESULT
+: <a class="el" href="modules_8h.html#a9">modules.h</a></ul>
<h3><a name="index_h">- h -</a>
</h3><ul>
<li>handlerfunc
@@ -52,7 +50,7 @@ Here is a list of all file members with links to the files they belong to:<h3><a
<li>InvitedList
: <a class="el" href="users_8h.html#a6">users.h</a><li>InviteList
: <a class="el" href="channels_8h.html#a7">channels.h</a><li>ircd_module
-: <a class="el" href="modules_8h.html#a11">modules.h</a></ul>
+: <a class="el" href="modules_8h.html#a12">modules.h</a></ul>
<h3><a name="index_l">- l -</a>
</h3><ul>
<li>LINK_ACTIVE
@@ -83,13 +81,13 @@ Here is a list of all file members with links to the files they belong to:<h3><a
<h3><a name="index_s">- s -</a>
</h3><ul>
<li>server_mode()
-: <a class="el" href="modules_8h.html#a13">modules.h</a><li>SPARSE
+: <a class="el" href="modules_8h.html#a14">modules.h</a><li>SPARSE
: <a class="el" href="modules_8h.html#a3">modules.h</a><li>STATUS_HOP
: <a class="el" href="users_8h.html#a1">users.h</a><li>STATUS_NORMAL
: <a class="el" href="users_8h.html#a3">users.h</a><li>STATUS_OP
: <a class="el" href="users_8h.html#a0">users.h</a><li>STATUS_VOICE
: <a class="el" href="users_8h.html#a2">users.h</a><li>string_list
-: <a class="el" href="modules_8h.html#a10">modules.h</a></ul>
+: <a class="el" href="modules_8h.html#a11">modules.h</a></ul>
<h3><a name="index_u">- u -</a>
</h3><ul>
<li>UCMODE_FOUNDER
@@ -102,7 +100,7 @@ Here is a list of all file members with links to the files they belong to:<h3><a
</h3><ul>
<li>VERBOSE
: <a class="el" href="modules_8h.html#a1">modules.h</a></ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/graph_legend.html b/docs/module-doc/graph_legend.html
index f3845fc80..f34cbc22e 100644
--- a/docs/module-doc/graph_legend.html
+++ b/docs/module-doc/graph_legend.html
@@ -1,7 +1,7 @@
<!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>Graph Legend</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -69,7 +69,7 @@ A purple dashed arrow is used if a class is contained or used by another class.
<li>
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
</ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:20 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/hierarchy.html b/docs/module-doc/hierarchy.html
index 0b466e918..4963a7754 100644
--- a/docs/module-doc/hierarchy.html
+++ b/docs/module-doc/hierarchy.html
@@ -1,7 +1,7 @@
<!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>Hierarchical Index</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -38,7 +38,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
</ul>
<li><a class="el" href="classExtMode.html">ExtMode</a>
</ul>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/inherits.html b/docs/module-doc/inherits.html
index c841b60dd..0b3d5b02f 100644
--- a/docs/module-doc/inherits.html
+++ b/docs/module-doc/inherits.html
@@ -1,7 +1,7 @@
<!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>Graphical Class Hierarchy</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -38,7 +38,7 @@
<area href="classExtMode.html" shape="rect" coords="19,5,77,26" alt="">
</map></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:22 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:21 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/main.html b/docs/module-doc/main.html
index 9efc7e37b..e14b524c5 100644
--- a/docs/module-doc/main.html
+++ b/docs/module-doc/main.html
@@ -1,14 +1,14 @@
<!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>Main Page</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
<a class="qindex" href="main.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="classes.html">Alphabetical List</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center>
<hr><h1>InspIRCd Documentation</h1>
<p>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html
index 7e31fec1d..2f2b820a9 100644
--- a/docs/module-doc/modules_8cpp-source.html
+++ b/docs/module-doc/modules_8cpp-source.html
@@ -1,7 +1,7 @@
<!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>modules.cpp Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -41,287 +41,294 @@
00033 <span class="comment">// returns true if an extended mode character is in use</span>
<a name="l00034"></a><a class="code" href="modules_8cpp.html#a4">00034</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
00035 {
-00036 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00037 {
-00038 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00039 {
-00040 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00041 }
-00042 }
-00043 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00044 }
-00045
-00046 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
-<a name="l00047"></a><a class="code" href="modules_8cpp.html#a5">00047</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a5">ModeDefinedOn</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
-00048 {
-00049 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00050 {
-00051 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00052 {
-00053 <span class="keywordflow">return</span> i-&gt;params_when_on;
-00054 }
-00055 }
-00056 <span class="keywordflow">return</span> 0;
-00057 }
-00058
-00059 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
-<a name="l00060"></a><a class="code" href="modules_8cpp.html#a6">00060</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a6">ModeDefinedOff</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
-00061 {
-00062 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00063 {
-00064 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00065 {
-00066 <span class="keywordflow">return</span> i-&gt;params_when_off;
-00067 }
-00068 }
-00069 <span class="keywordflow">return</span> 0;
-00070 }
-00071
-00072 <span class="comment">// returns true if an extended mode character is in use</span>
-<a name="l00073"></a><a class="code" href="modules_8cpp.html#a7">00073</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a7">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_on, <span class="keywordtype">int</span> params_off)
-00074 {
-00075 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back( <a class="code" href="classExtMode.html">ExtMode</a> (modechar,type,default_on,params_on,params_off));
-00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00077 }
-00078
-00079
-00080 <span class="comment">// version is a simple class for holding a modules version number</span>
-00081
-<a name="l00082"></a><a class="code" href="classVersion.html#a0">00082</a> <a class="code" href="classVersion.html#a0">Version::Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
+00036 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00037 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00038 {
+00039 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
+00040 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00041 {
+00042 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00043 }
+00044 }
+00045 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00046 }
+00047
+00048 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
+<a name="l00049"></a><a class="code" href="modules_8cpp.html#a5">00049</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a5">ModeDefinedOn</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
+00050 {
+00051 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00052 {
+00053 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00054 {
+00055 <span class="keywordflow">return</span> i-&gt;params_when_on;
+00056 }
+00057 }
+00058 <span class="keywordflow">return</span> 0;
+00059 }
+00060
+00061 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
+<a name="l00062"></a><a class="code" href="modules_8cpp.html#a6">00062</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a6">ModeDefinedOff</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type)
+00063 {
+00064 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00065 {
+00066 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00067 {
+00068 <span class="keywordflow">return</span> i-&gt;params_when_off;
+00069 }
+00070 }
+00071 <span class="keywordflow">return</span> 0;
+00072 }
+00073
+00074 <span class="comment">// returns true if an extended mode character is in use</span>
+<a name="l00075"></a><a class="code" href="modules_8cpp.html#a7">00075</a> <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_on, <span class="keywordtype">int</span> params_off)
+00076 {
+00077 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
+00078 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00079 }
+00080 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,default_on,params_on,params_off));
+00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00082 }
00083
-00084 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
-00085
-<a name="l00086"></a><a class="code" href="classAdmin.html#a0">00086</a> <a class="code" href="classAdmin.html#a0">Admin::Admin</a>(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { };
-00087
-<a name="l00088"></a><a class="code" href="classModule.html#a0">00088</a> <a class="code" href="classModule.html#a0">Module::Module</a>() { }
-<a name="l00089"></a><a class="code" href="classModule.html#a1">00089</a> <a class="code" href="classModule.html#a1">Module::~Module</a>() { }
-<a name="l00090"></a><a class="code" href="classModule.html#a3">00090</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">Module::OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
-<a name="l00091"></a><a class="code" href="classModule.html#a4">00091</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">Module::OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
-<a name="l00092"></a><a class="code" href="classModule.html#a5">00092</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">Module::OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
-<a name="l00093"></a><a class="code" href="classModule.html#a6">00093</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">Module::OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
-00094 <span class="keywordtype">void</span> Module::OnPacketTransmit(<span class="keywordtype">char</span> *p) { }
-00095 <span class="keywordtype">void</span> Module::OnPacketReceive(<span class="keywordtype">char</span> *p) { }
-<a name="l00096"></a><a class="code" href="classModule.html#a9">00096</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">Module::OnRehash</a>() { }
-<a name="l00097"></a><a class="code" href="classModule.html#a10">00097</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">Module::OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound) { }
-<a name="l00098"></a><a class="code" href="classModule.html#a11">00098</a> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">Module::OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params) { }
-<a name="l00099"></a><a class="code" href="classModule.html#a2">00099</a> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">Module::GetVersion</a>() { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
-00100
-00101 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
-00102 <span class="comment">// exports in the core</span>
-00103 <span class="comment">//</span>
-00104
-<a name="l00105"></a><a class="code" href="classServer.html#a0">00105</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
-00106 {
-00107 }
-00108
-<a name="l00109"></a><a class="code" href="classServer.html#a1">00109</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
-00110 {
-00111 }
-00112
-<a name="l00113"></a><a class="code" href="classServer.html#a2">00113</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
-00114 {
-00115 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
-00116 }
-00117
-<a name="l00118"></a><a class="code" href="classServer.html#a3">00118</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Server::Log</a>(<span class="keywordtype">int</span> level, std::string s)
-00119 {
-00120 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
-00121 }
-00122
-<a name="l00123"></a><a class="code" href="classServer.html#a20">00123</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams)
-00124 {
-00125 <a class="code" href="modules_8h.html#a12">createcommand</a>(cmd,f,flags,minparams);
-00126 }
-00127
-<a name="l00128"></a><a class="code" href="classServer.html#a21">00128</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
-00129 {
-00130 <a class="code" href="modules_8h.html#a13">server_mode</a>(parameters,pcnt,user);
-00131 }
-00132
-<a name="l00133"></a><a class="code" href="classServer.html#a4">00133</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Server::Send</a>(<span class="keywordtype">int</span> Socket, std::string s)
-00134 {
-00135 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00136 }
-00137
-<a name="l00138"></a><a class="code" href="classServer.html#a5">00138</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">Server::SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s)
-00139 {
-00140 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-00141 }
-00142
-<a name="l00143"></a><a class="code" href="classServer.html#a6">00143</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">Server::SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s)
-00144 {
-00145 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00146 }
-00147
-<a name="l00148"></a><a class="code" href="classServer.html#a7">00148</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">Server::SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s)
-00149 {
-00150 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
-00151 }
-00152
-<a name="l00153"></a><a class="code" href="classServer.html#a8">00153</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">Server::SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender)
-00154 {
-00155 <span class="keywordflow">if</span> (IncludeSender)
-00156 {
-00157 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00158 }
-00159 <span class="keywordflow">else</span>
-00160 {
-00161 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-00162 }
-00163 }
-00164
-<a name="l00165"></a><a class="code" href="classServer.html#a9">00165</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">Server::CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2)
-00166 {
-00167 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
-00168 }
-00169
-<a name="l00170"></a><a class="code" href="classServer.html#a10">00170</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">Server::SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender)
-00171 {
-00172 <span class="keywordflow">if</span> (IncludeSender)
-00173 {
-00174 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00175 }
-00176 <span class="keywordflow">else</span>
-00177 {
-00178 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00179 }
-00180 }
-00181
-<a name="l00182"></a><a class="code" href="classServer.html#a11">00182</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">Server::SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text)
-00183 {
-00184 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
-00185 }
-00186
-<a name="l00187"></a><a class="code" href="classServer.html#a12">00187</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
-00188 {
-00189 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
-00190 }
-00191
-<a name="l00192"></a><a class="code" href="classServer.html#a13">00192</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
-00193 {
-00194 <span class="keywordflow">return</span> Find(nick);
-00195 }
-00196
-<a name="l00197"></a><a class="code" href="classServer.html#a14">00197</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
-00198 {
-00199 <span class="keywordflow">return</span> FindChan(channel.c_str());
-00200 }
-00201
-<a name="l00202"></a><a class="code" href="classServer.html#a15">00202</a> std::string <a class="code" href="classServer.html#a15">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
-00203 {
-00204 <span class="keywordflow">return</span> cmode(User,Chan);
-00205 }
-00206
-<a name="l00207"></a><a class="code" href="classServer.html#a16">00207</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
-00208 {
-00209 <span class="keywordflow">return</span> getservername();
-00210 }
-00211
-<a name="l00212"></a><a class="code" href="classServer.html#a17">00212</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
-00213 {
-00214 <span class="keywordflow">return</span> getnetworkname();
-00215 }
-00216
-<a name="l00217"></a><a class="code" href="classServer.html#a18">00217</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
-00218 {
-00219 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
-00220 }
-00221
+00084
+00085 <span class="comment">// version is a simple class for holding a modules version number</span>
+00086
+<a name="l00087"></a><a class="code" href="classVersion.html#a0">00087</a> <a class="code" href="classVersion.html#a0">Version::Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build) : Major(major), Minor(minor), Revision(revision), Build(build) { };
+00088
+00089 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
+00090
+<a name="l00091"></a><a class="code" href="classAdmin.html#a0">00091</a> <a class="code" href="classAdmin.html#a0">Admin::Admin</a>(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { };
+00092
+<a name="l00093"></a><a class="code" href="classModule.html#a0">00093</a> <a class="code" href="classModule.html#a0">Module::Module</a>() { }
+<a name="l00094"></a><a class="code" href="classModule.html#a1">00094</a> <a class="code" href="classModule.html#a1">Module::~Module</a>() { }
+<a name="l00095"></a><a class="code" href="classModule.html#a3">00095</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">Module::OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
+<a name="l00096"></a><a class="code" href="classModule.html#a4">00096</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">Module::OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
+<a name="l00097"></a><a class="code" href="classModule.html#a5">00097</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">Module::OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
+<a name="l00098"></a><a class="code" href="classModule.html#a6">00098</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">Module::OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
+<a name="l00099"></a><a class="code" href="classModule.html#a7">00099</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">Module::OnPacketTransmit</a>(<span class="keywordtype">char</span> *p) { }
+<a name="l00100"></a><a class="code" href="classModule.html#a8">00100</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">Module::OnPacketReceive</a>(<span class="keywordtype">char</span> *p) { }
+<a name="l00101"></a><a class="code" href="classModule.html#a9">00101</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">Module::OnRehash</a>() { }
+<a name="l00102"></a><a class="code" href="classModule.html#a10">00102</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">Module::OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound) { }
+00103 <span class="keywordtype">int</span> Module::OnUserPreJoin(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span>* cname) { <span class="keywordflow">return</span> 0; }
+<a name="l00104"></a><a class="code" href="classModule.html#a11">00104</a> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">Module::OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params) { }
+<a name="l00105"></a><a class="code" href="classModule.html#a2">00105</a> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">Module::GetVersion</a>() { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0); }
+00106
+00107 <span class="comment">// server is a wrapper class that provides methods to all of the C-style</span>
+00108 <span class="comment">// exports in the core</span>
+00109 <span class="comment">//</span>
+00110
+<a name="l00111"></a><a class="code" href="classServer.html#a0">00111</a> <a class="code" href="classServer.html#a0">Server::Server</a>()
+00112 {
+00113 }
+00114
+<a name="l00115"></a><a class="code" href="classServer.html#a1">00115</a> <a class="code" href="classServer.html#a1">Server::~Server</a>()
+00116 {
+00117 }
+00118
+<a name="l00119"></a><a class="code" href="classServer.html#a2">00119</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">Server::SendOpers</a>(std::string s)
+00120 {
+00121 WriteOpers(<span class="stringliteral">"%s"</span>,s.c_str());
+00122 }
+00123
+<a name="l00124"></a><a class="code" href="classServer.html#a3">00124</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Server::Log</a>(<span class="keywordtype">int</span> level, std::string s)
+00125 {
+00126 log(level,<span class="stringliteral">"%s"</span>,s.c_str());
+00127 }
+00128
+<a name="l00129"></a><a class="code" href="classServer.html#a20">00129</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams)
+00130 {
+00131 <a class="code" href="modules_8h.html#a13">createcommand</a>(cmd,f,flags,minparams);
+00132 }
+00133
+<a name="l00134"></a><a class="code" href="classServer.html#a21">00134</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
+00135 {
+00136 <a class="code" href="modules_8h.html#a14">server_mode</a>(parameters,pcnt,user);
+00137 }
+00138
+<a name="l00139"></a><a class="code" href="classServer.html#a4">00139</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Server::Send</a>(<span class="keywordtype">int</span> Socket, std::string s)
+00140 {
+00141 Write(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00142 }
+00143
+<a name="l00144"></a><a class="code" href="classServer.html#a5">00144</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">Server::SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s)
+00145 {
+00146 WriteServ(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+00147 }
+00148
+<a name="l00149"></a><a class="code" href="classServer.html#a6">00149</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">Server::SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s)
+00150 {
+00151 WriteFrom(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00152 }
+00153
+<a name="l00154"></a><a class="code" href="classServer.html#a7">00154</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">Server::SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s)
+00155 {
+00156 WriteTo(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+00157 }
+00158
+<a name="l00159"></a><a class="code" href="classServer.html#a8">00159</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">Server::SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender)
+00160 {
+00161 <span class="keywordflow">if</span> (IncludeSender)
+00162 {
+00163 WriteChannel(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00164 }
+00165 <span class="keywordflow">else</span>
+00166 {
+00167 ChanExceptSender(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+00168 }
+00169 }
+00170
+<a name="l00171"></a><a class="code" href="classServer.html#a9">00171</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">Server::CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2)
+00172 {
+00173 <span class="keywordflow">return</span> (common_channels(u1,u2) != 0);
+00174 }
+00175
+<a name="l00176"></a><a class="code" href="classServer.html#a10">00176</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">Server::SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender)
+00177 {
+00178 <span class="keywordflow">if</span> (IncludeSender)
+00179 {
+00180 WriteCommon(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00181 }
+00182 <span class="keywordflow">else</span>
+00183 {
+00184 WriteCommonExcept(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00185 }
+00186 }
+00187
+<a name="l00188"></a><a class="code" href="classServer.html#a11">00188</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">Server::SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text)
+00189 {
+00190 WriteWallOps(User,<span class="stringliteral">"%s"</span>,text.c_str());
+00191 }
+00192
+<a name="l00193"></a><a class="code" href="classServer.html#a12">00193</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">Server::IsNick</a>(std::string nick)
+00194 {
+00195 <span class="keywordflow">return</span> (isnick(nick.c_str()) != 0);
+00196 }
+00197
+<a name="l00198"></a><a class="code" href="classServer.html#a13">00198</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">Server::FindNick</a>(std::string nick)
+00199 {
+00200 <span class="keywordflow">return</span> Find(nick);
+00201 }
+00202
+<a name="l00203"></a><a class="code" href="classServer.html#a14">00203</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">Server::FindChannel</a>(std::string channel)
+00204 {
+00205 <span class="keywordflow">return</span> FindChan(channel.c_str());
+00206 }
+00207
+<a name="l00208"></a><a class="code" href="classServer.html#a15">00208</a> std::string <a class="code" href="classServer.html#a15">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
+00209 {
+00210 <span class="keywordflow">return</span> cmode(User,Chan);
+00211 }
+00212
+<a name="l00213"></a><a class="code" href="classServer.html#a16">00213</a> std::string <a class="code" href="classServer.html#a16">Server::GetServerName</a>()
+00214 {
+00215 <span class="keywordflow">return</span> getservername();
+00216 }
+00217
+<a name="l00218"></a><a class="code" href="classServer.html#a17">00218</a> std::string <a class="code" href="classServer.html#a17">Server::GetNetworkName</a>()
+00219 {
+00220 <span class="keywordflow">return</span> getnetworkname();
+00221 }
00222
-00223
-<a name="l00224"></a><a class="code" href="classServer.html#a19">00224</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">Server::AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off)
-00225 {
+<a name="l00223"></a><a class="code" href="classServer.html#a18">00223</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">Server::GetAdmin</a>()
+00224 {
+00225 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(getadminname(),getadminemail(),getadminnick());
00226 }
00227
00228
-<a name="l00229"></a><a class="code" href="classConfigReader.html#a0">00229</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
-00230 {
-00231 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
-00232 }
-00233
+00229
+<a name="l00230"></a><a class="code" href="classServer.html#a19">00230</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">Server::AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off)
+00231 {
+00232 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#a7">DoAddExtendedMode</a>(modechar,type,default_on,params_when_on,params_when_off);
+00233 }
00234
-<a name="l00235"></a><a class="code" href="classConfigReader.html#a2">00235</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
-00236 {
-00237 }
-00238
-00239
-<a name="l00240"></a><a class="code" href="classConfigReader.html#a1">00240</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
+00235
+<a name="l00236"></a><a class="code" href="classConfigReader.html#a0">00236</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>()
+00237 {
+00238 <a class="code" href="classConfigReader.html#n0">fname</a> = CONFIG_FILE;
+00239 }
+00240
00241
-<a name="l00242"></a><a class="code" href="classConfigReader.html#a3">00242</a> std::string <a class="code" href="classConfigReader.html#a3">ConfigReader::ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index)
+<a name="l00242"></a><a class="code" href="classConfigReader.html#a2">00242</a> <a class="code" href="classConfigReader.html#a2">ConfigReader::~ConfigReader</a>()
00243 {
-00244 <span class="keywordtype">char</span> val[MAXBUF];
-00245 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
-00246 <span class="keywordflow">return</span> val;
-00247 }
+00244 }
+00245
+00246
+<a name="l00247"></a><a class="code" href="classConfigReader.html#a1">00247</a> <a class="code" href="classConfigReader.html#a0">ConfigReader::ConfigReader</a>(std::string filename) : fname(filename) { };
00248
-00249
-<a name="l00250"></a><a class="code" href="classConfigReader.html#a4">00250</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
-00251 {
-00252 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
-00253 }
-00254
+<a name="l00249"></a><a class="code" href="classConfigReader.html#a3">00249</a> std::string <a class="code" href="classConfigReader.html#a3">ConfigReader::ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index)
+00250 {
+00251 <span class="keywordtype">char</span> val[MAXBUF];
+00252 ReadConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str(),name.c_str(),index,val);
+00253 <span class="keywordflow">return</span> val;
+00254 }
00255
-<a name="l00256"></a><a class="code" href="classConfigReader.html#a5">00256</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
-00257 {
-00258 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00259 }
-00260
+00256
+<a name="l00257"></a><a class="code" href="classConfigReader.html#a4">00257</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">ConfigReader::Enumerate</a>(std::string tag)
+00258 {
+00259 <span class="keywordflow">return</span> EnumConf(<a class="code" href="classConfigReader.html#n0">fname</a>.c_str(),tag.c_str());
+00260 }
00261
-<a name="l00262"></a><a class="code" href="classFileReader.html#a1">00262</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
-00263 {
-00264 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
-00265 readfile(c,filename.c_str());
-00266 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
-00267 }
+00262
+<a name="l00263"></a><a class="code" href="classConfigReader.html#a5">00263</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">ConfigReader::Verify</a>()
+00264 {
+00265 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00266 }
+00267
00268
-<a name="l00269"></a><a class="code" href="classFileReader.html#a0">00269</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
+<a name="l00269"></a><a class="code" href="classFileReader.html#a1">00269</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>(std::string filename)
00270 {
-00271 }
-00272
-<a name="l00273"></a><a class="code" href="classFileReader.html#a3">00273</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
-00274 {
-00275 <a class="code" href="modules_8h.html#a9">file_cache</a> c;
-00276 readfile(c,filename.c_str());
-00277 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00271 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00272 readfile(c,filename.c_str());
+00273 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00274 }
+00275
+<a name="l00276"></a><a class="code" href="classFileReader.html#a0">00276</a> <a class="code" href="classFileReader.html#a0">FileReader::FileReader</a>()
+00277 {
00278 }
00279
-00280
-<a name="l00281"></a><a class="code" href="classFileReader.html#a2">00281</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
-00282 {
-00283 }
-00284
-<a name="l00285"></a><a class="code" href="classFileReader.html#a4">00285</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
-00286 {
-00287 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
-00288 {
-00289 <span class="keywordflow">return</span>(false);
-00290 }
-00291 <span class="keywordflow">else</span>
-00292 {
-00293 <span class="keywordflow">return</span>(true);
-00294 }
-00295 }
-00296
-<a name="l00297"></a><a class="code" href="classFileReader.html#a5">00297</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
-00298 {
-00299 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
-00300 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-00301 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
+<a name="l00280"></a><a class="code" href="classFileReader.html#a3">00280</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">FileReader::LoadFile</a>(std::string filename)
+00281 {
+00282 <a class="code" href="modules_8h.html#a10">file_cache</a> c;
+00283 readfile(c,filename.c_str());
+00284 this-&gt;<a class="code" href="classFileReader.html#o0">fc</a> = c;
+00285 }
+00286
+00287
+<a name="l00288"></a><a class="code" href="classFileReader.html#a2">00288</a> <a class="code" href="classFileReader.html#a2">FileReader::~FileReader</a>()
+00289 {
+00290 }
+00291
+<a name="l00292"></a><a class="code" href="classFileReader.html#a4">00292</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">FileReader::Exists</a>()
+00293 {
+00294 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#o0">fc</a>.size() == 0)
+00295 {
+00296 <span class="keywordflow">return</span>(false);
+00297 }
+00298 <span class="keywordflow">else</span>
+00299 {
+00300 <span class="keywordflow">return</span>(true);
+00301 }
00302 }
00303
-<a name="l00304"></a><a class="code" href="classFileReader.html#a6">00304</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
+<a name="l00304"></a><a class="code" href="classFileReader.html#a5">00304</a> std::string <a class="code" href="classFileReader.html#a5">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
00305 {
-00306 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
-00307 }
-00308
-00309
-00310 std::vector&lt;Module*&gt; <a class="code" href="modules_8cpp.html#a8">modules</a>(255);
-00311 std::vector&lt;ircd_module*&gt; <a class="code" href="modules_8cpp.html#a9">factory</a>(255);
-00312
-<a name="l00313"></a><a class="code" href="modules_8cpp.html#a3">00313</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a> = -1;
-00314
+00306 <span class="keywordflow">if</span> ((x&lt;0) || (x&gt;<a class="code" href="classFileReader.html#o0">fc</a>.size()))
+00307 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+00308 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>[x];
+00309 }
+00310
+<a name="l00311"></a><a class="code" href="classFileReader.html#a6">00311</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileReader::FileSize</a>()
+00312 {
+00313 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#o0">fc</a>.size();
+00314 }
00315
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+00316
+00317 std::vector&lt;Module*&gt; <a class="code" href="modules_8cpp.html#a8">modules</a>(255);
+00318 std::vector&lt;ircd_module*&gt; <a class="code" href="modules_8cpp.html#a9">factory</a>(255);
+00319
+<a name="l00320"></a><a class="code" href="modules_8cpp.html#a3">00320</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a> = -1;
+00321
+00322
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:02 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/modules_8cpp.html b/docs/module-doc/modules_8cpp.html
index a02456293..4bd2c143c 100644
--- a/docs/module-doc/modules_8cpp.html
+++ b/docs/module-doc/modules_8cpp.html
@@ -1,7 +1,7 @@
<!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>modules.cpp File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -31,11 +31,11 @@ Include dependency graph for modules.cpp:<p><center><img src="modules_8cpp__incl
<tr><td nowrap align=right valign=top>typedef ExtModeList::iterator&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a1">ExtModeListIter</a></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a4">ModeDefined</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a5">ModeDefinedOn</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a6">ModeDefinedOff</a> (char modechar, int type)</td></tr>
-<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a7">AddExtendedMode</a> (char modechar, int type, bool default_on, int params_on, int params_off)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a5">ModeDefinedOn</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a6">ModeDefinedOff</a> (char modechar, int type)</td></tr>
+<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a7">DoAddExtendedMode</a> (char modechar, int type, bool default_on, int params_on, int params_off)</td></tr>
<tr><td nowrap align=right valign=top>std::vector&lt; <a class="el" href="classModule.html">Module</a> * &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a8">modules</a> (255)</td></tr>
-<tr><td nowrap align=right valign=top>std::vector&lt; <a class="el" href="modules_8h.html#a11">ircd_module</a> * &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">factory</a> (255)</td></tr>
+<tr><td nowrap align=right valign=top>std::vector&lt; <a class="el" href="modules_8h.html#a12">ircd_module</a> * &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a9">factory</a> (255)</td></tr>
<tr><td colspan=2><br><h2>Variables</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="modules_8cpp.html#a0">ExtModeList</a>&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a2">EMode</a></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="modules_8cpp.html#a3">MODCOUNT</a> = -1</td></tr>
@@ -88,17 +88,17 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00028">28</a> o
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00029">29</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00060">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00047">ModeDefinedOn()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00062">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOn()</a>. </td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
-<a name="a7" doxytag="modules.cpp::AddExtendedMode"></a><p>
+<a name="a7" doxytag="modules.cpp::DoAddExtendedMode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool AddExtendedMode </td>
+ <td class="md" nowrap valign="top"> bool DoAddExtendedMode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>modechar</em>, </td>
@@ -147,14 +147,19 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00073">73</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00075">75</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>.
+References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>.
<p>
-<div class="fragment"><pre>00074 {
-00075 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back( <a class="code" href="classExtMode.html">ExtMode</a> (modechar,type,default_on,params_on,params_off));
-00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00077 }
+Referenced by <a class="el" href="modules_8cpp-source.html#l00230">Server::AddExtendedMode()</a>.
+<p>
+<div class="fragment"><pre>00076 {
+00077 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#a4">ModeDefined</a>(modechar,type)) {
+00078 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00079 }
+00080 <a class="code" href="modules_8cpp.html#a2">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,default_on,params_on,params_off));
+00081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00082 }
</pre></div> </td>
</tr>
</table>
@@ -164,7 +169,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>.
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="modules_8h.html#a11">ircd_module</a>*&gt; factory </td>
+ <td class="md" nowrap valign="top"> std::vector&lt;<a class="el" href="modules_8h.html#a12">ircd_module</a>*&gt; factory </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">255&nbsp;</td>
<td class="mdname1" valign="top" nowrap>&nbsp; </td>
@@ -228,16 +233,20 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00034">34</a> o
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>.
+<p>
<div class="fragment"><pre>00035 {
-00036 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00037 {
-00038 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00039 {
-00040 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00041 }
-00042 }
-00043 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00044 }
+00036 log(DEBUG,<span class="stringliteral">"Size of extmodes vector is %d"</span>,<a class="code" href="modules_8cpp.html#a2">EMode</a>.size());
+00037 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00038 {
+00039 log(DEBUG,<span class="stringliteral">"i-&gt;modechar==%c, modechar=%c, i-&gt;type=%d, type=%d"</span>,i-&gt;modechar,modechar,i-&gt;type,type);
+00040 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00041 {
+00042 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00043 }
+00044 }
+00045 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00046 }
</pre></div> </td>
</tr>
</table>
@@ -247,7 +256,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool ModeDefinedOff </td>
+ <td class="md" nowrap valign="top"> int ModeDefinedOff </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>modechar</em>, </td>
@@ -278,20 +287,20 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00060">60</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00062">62</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
-<div class="fragment"><pre>00061 {
-00062 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00063 {
-00064 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00065 {
-00066 <span class="keywordflow">return</span> i-&gt;params_when_off;
-00067 }
-00068 }
-00069 <span class="keywordflow">return</span> 0;
-00070 }
+<div class="fragment"><pre>00063 {
+00064 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00065 {
+00066 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00067 {
+00068 <span class="keywordflow">return</span> i-&gt;params_when_off;
+00069 }
+00070 }
+00071 <span class="keywordflow">return</span> 0;
+00072 }
</pre></div> </td>
</tr>
</table>
@@ -301,7 +310,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> bool ModeDefinedOn </td>
+ <td class="md" nowrap valign="top"> int ModeDefinedOn </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">char&nbsp;</td>
<td class="mdname" nowrap>&nbsp; <em>modechar</em>, </td>
@@ -332,20 +341,20 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00047">47</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00049">49</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00029">ExtModeListIter</a>.
<p>
-<div class="fragment"><pre>00048 {
-00049 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
-00050 {
-00051 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-00052 {
-00053 <span class="keywordflow">return</span> i-&gt;params_when_on;
-00054 }
-00055 }
-00056 <span class="keywordflow">return</span> 0;
-00057 }
+<div class="fragment"><pre>00050 {
+00051 <span class="keywordflow">for</span> (<a class="code" href="modules_8cpp.html#a1">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#a2">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#a2">EMode</a>.end(); i++)
+00052 {
+00053 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
+00054 {
+00055 <span class="keywordflow">return</span> i-&gt;params_when_on;
+00056 }
+00057 }
+00058 <span class="keywordflow">return</span> 0;
+00059 }
</pre></div> </td>
</tr>
</table>
@@ -402,7 +411,7 @@ References <a class="el" href="modules_8cpp-source.html#l00031">EMode</a>, and <
<p>
Definition at line <a class="el" href="modules_8cpp-source.html#l00031">31</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00073">AddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00060">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00047">ModeDefinedOn()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00075">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00034">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00062">ModeDefinedOff()</a>, and <a class="el" href="modules_8cpp-source.html#l00049">ModeDefinedOn()</a>. </td>
</tr>
</table>
<a name="a3" doxytag="modules.cpp::MODCOUNT"></a><p>
@@ -426,10 +435,10 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00073">AddExtendedMo
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00313">313</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00320">320</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:06 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html
index f872917ec..e1848aeb4 100644
--- a/docs/module-doc/modules_8h-source.html
+++ b/docs/module-doc/modules_8h-source.html
@@ -1,7 +1,7 @@
<!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>modules.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -32,8 +32,8 @@
00024 <span class="preprocessor">#include &lt;string&gt;</span>
00025 <span class="preprocessor">#include &lt;deque&gt;</span>
00026
-<a name="l00029"></a><a class="code" href="modules_8h.html#a9">00029</a> <span class="keyword">typedef</span> std::deque&lt;std::string&gt; <a class="code" href="modules_8h.html#a9">file_cache</a>;
-<a name="l00030"></a><a class="code" href="modules_8h.html#a10">00030</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a9">file_cache</a> <a class="code" href="modules_8h.html#a10">string_list</a>;
+<a name="l00029"></a><a class="code" href="modules_8h.html#a10">00029</a> <span class="keyword">typedef</span> std::deque&lt;std::string&gt; <a class="code" href="modules_8h.html#a10">file_cache</a>;
+<a name="l00030"></a><a class="code" href="modules_8h.html#a11">00030</a> <span class="keyword">typedef</span> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="modules_8h.html#a11">string_list</a>;
00031
00032 <span class="comment">// This #define allows us to call a method in all</span>
00033 <span class="comment">// loaded modules in a readable simple way, e.g.:</span>
@@ -41,131 +41,150 @@
00035
<a name="l00036"></a><a class="code" href="modules_8h.html#a8">00036</a> <span class="preprocessor">#define FOREACH_MOD for (int i = 0; i &lt;= MODCOUNT; i++) modules[i]-&gt;</span>
00037 <span class="preprocessor"></span>
-00038 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a12">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
-00039 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a13">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-00040
-00041 <span class="comment">// class Version holds the version information of a Module, returned</span>
-00042 <span class="comment">// by Module::GetVersion (thanks RD)</span>
+00038 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span>
+00039 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span>
+00040 <span class="comment">// and any modules after are ignored.</span>
+00041
+00042 <span class="comment">// *********************************************************************************************</span>
00043
-<a name="l00048"></a><a class="code" href="classVersion.html">00048</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00049 {
-00050 <span class="keyword">public</span>:
-<a name="l00051"></a><a class="code" href="classVersion.html#m2">00051</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#m0">Major</a>, <a class="code" href="classVersion.html#m1">Minor</a>, <a class="code" href="classVersion.html#m2">Revision</a>, <a class="code" href="classVersion.html#m3">Build</a>;
-00052 <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build);
-00053 };
-00054
-<a name="l00060"></a><a class="code" href="classAdmin.html">00060</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00061 {
-00062 <span class="keyword">public</span>:
-<a name="l00063"></a><a class="code" href="classAdmin.html#m2">00063</a> <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#m0">Name</a>, <a class="code" href="classAdmin.html#m1">Email</a>, <a class="code" href="classAdmin.html#m2">Nick</a>;
-00064 <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick);
-00065 };
-00066
-<a name="l00072"></a><a class="code" href="classModule.html">00072</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00073 {
-00074 <span class="keyword">public</span>:
-00075
-00079 <a class="code" href="classModule.html#a0">Module</a>();
-00080
-00084 <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
-00085
-00090 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
-00091
-00095 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00096
-00100 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-00101
-00106 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-00107
-00112 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-00113
-00120 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">Module::OnPacketTransmit</a>(<span class="keywordtype">char</span> *p);
-00121
-00129 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">Module::OnPacketReceive</a>(<span class="keywordtype">char</span> *p);
-00130
-00136 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>();
-00137
-00144 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound);
-00145
-00154 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params);
-00155
-00156
-00157 };
-00158
-00159
-<a name="l00165"></a><a class="code" href="classServer.html">00165</a> <span class="keyword">class </span><a class="code" href="classServer.html">Server</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00166 {
-00167 <span class="keyword">public</span>:
-00171 <a class="code" href="classServer.html#a0">Server</a>();
-00175 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
-00176
-00180 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
-00185 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Log</a>(<span class="keywordtype">int</span> level, std::string s);
-00190 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Send</a>(<span class="keywordtype">int</span> Socket, std::string s);
-00195 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s);
-00200 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s);
-00205 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s);
-00212 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender);
-00217 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
-00225 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender);
-00230 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text);
-00231
-00235 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
-00239 <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">FindNick</a>(std::string nick);
-00243 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">FindChannel</a>(std::string channel);
-00248 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a15">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
-00251 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">GetServerName</a>();
-00254 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetNetworkName</a>();
-00260 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">GetAdmin</a>();
-00278 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
-00279
-00294 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
-00295
-00313 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-00314 };
-00315
-<a name="l00322"></a><a class="code" href="classConfigReader.html">00322</a> <span class="keyword">class </span><a class="code" href="classConfigReader.html">ConfigReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00323 {
-00324 <span class="keyword">protected</span>:
-<a name="l00327"></a><a class="code" href="classConfigReader.html#n0">00327</a> std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
-00328 <span class="keyword">public</span>:
-00333 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
-00337 <span class="comment"></span> <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(std::string filename); <span class="comment">// read a module-specific config</span>
-00341 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
-00346 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
-00353 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
-00357 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
-00358 };
-00359
-00360
-00361
-<a name="l00367"></a><a class="code" href="classFileReader.html">00367</a> <span class="keyword">class </span><a class="code" href="classFileReader.html">FileReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00368 {
-<a name="l00369"></a><a class="code" href="classFileReader.html#o0">00369</a> <a class="code" href="modules_8h.html#a9">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
-00370 <span class="keyword">public</span>:
-00375 <a class="code" href="classFileReader.html#a0">FileReader</a>();
-00381 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
-00385 <a class="code" href="classFileReader.html#a2">~FileReader</a>();
-00391 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
-00396 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
-00397 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
-00403 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
-00404 };
-00405
-00406
-<a name="l00413"></a><a class="code" href="classModuleFactory.html">00413</a> <span class="keyword">class </span><a class="code" href="classModuleFactory.html">ModuleFactory</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-00414 {
-00415 <span class="keyword">public</span>:
-<a name="l00416"></a><a class="code" href="classModuleFactory.html#a0">00416</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
-<a name="l00417"></a><a class="code" href="classModuleFactory.html#a1">00417</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
-00422 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
-00423 };
-00424
-00425
-<a name="l00426"></a><a class="code" href="modules_8h.html#a11">00426</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a11">ircd_module</a>;
-00427
-00428 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+<a name="l00044"></a><a class="code" href="modules_8h.html#a9">00044</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span>
+00045 <span class="preprocessor"> for (int i = 0; i &lt;= MODCOUNT; i++) { \</span>
+00046 <span class="preprocessor"> int res = modules[i]-&gt;x ; \</span>
+00047 <span class="preprocessor"> if (res) { \</span>
+00048 <span class="preprocessor"> MOD_RESULT = res; \</span>
+00049 <span class="preprocessor"> break; \</span>
+00050 <span class="preprocessor"> } \</span>
+00051 <span class="preprocessor"> } \</span>
+00052 <span class="preprocessor"> } </span>
+00053 <span class="preprocessor"></span>
+00054 <span class="comment">// *********************************************************************************************</span>
+00055
+00056 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a13">createcommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
+00057 <span class="keyword">extern</span> <span class="keywordtype">void</span> <a class="code" href="modules_8h.html#a14">server_mode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+00058
+00059 <span class="comment">// class Version holds the version information of a Module, returned</span>
+00060 <span class="comment">// by Module::GetVersion (thanks RD)</span>
+00061
+<a name="l00066"></a><a class="code" href="classVersion.html">00066</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00067 {
+00068 <span class="keyword">public</span>:
+<a name="l00069"></a><a class="code" href="classVersion.html#m2">00069</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#m0">Major</a>, <a class="code" href="classVersion.html#m1">Minor</a>, <a class="code" href="classVersion.html#m2">Revision</a>, <a class="code" href="classVersion.html#m3">Build</a>;
+00070 <a class="code" href="classVersion.html#a0">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build);
+00071 };
+00072
+<a name="l00078"></a><a class="code" href="classAdmin.html">00078</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00079 {
+00080 <span class="keyword">public</span>:
+<a name="l00081"></a><a class="code" href="classAdmin.html#m2">00081</a> <span class="keyword">const</span> std::string <a class="code" href="classAdmin.html#m0">Name</a>, <a class="code" href="classAdmin.html#m1">Email</a>, <a class="code" href="classAdmin.html#m2">Nick</a>;
+00082 <a class="code" href="classAdmin.html#a0">Admin</a>(std::string name, std::string email, std::string nick);
+00083 };
+00084
+<a name="l00090"></a><a class="code" href="classModule.html">00090</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00091 {
+00092 <span class="keyword">public</span>:
+00093
+00097 <a class="code" href="classModule.html#a0">Module</a>();
+00098
+00102 <span class="keyword">virtual</span> <a class="code" href="classModule.html#a1">~Module</a>();
+00103
+00108 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#a2">GetVersion</a>();
+00109
+00113 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a3">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00114
+00118 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a4">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+00119
+00124 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a5">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
+00125
+00130 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a6">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
+00131
+00138 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a7">OnPacketTransmit</a>(<span class="keywordtype">char</span> *p);
+00139
+00147 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a8">OnPacketReceive</a>(<span class="keywordtype">char</span> *p);
+00148
+00154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a9">OnRehash</a>();
+00155
+00162 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#a10">OnServerRaw</a>(std::string &amp;raw, <span class="keywordtype">bool</span> inbound);
+00163
+00172 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#a11">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, string_list &amp;params);
+00173
+00186 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#a12">Module::OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span>* cname);
+00187
+00188 };
+00189
+00190
+<a name="l00196"></a><a class="code" href="classServer.html">00196</a> <span class="keyword">class </span><a class="code" href="classServer.html">Server</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00197 {
+00198 <span class="keyword">public</span>:
+00202 <a class="code" href="classServer.html#a0">Server</a>();
+00206 <span class="keyword">virtual</span> <a class="code" href="classServer.html#a1">~Server</a>();
+00207
+00211 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a2">SendOpers</a>(std::string s);
+00216 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a3">Log</a>(<span class="keywordtype">int</span> level, std::string s);
+00221 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a4">Send</a>(<span class="keywordtype">int</span> Socket, std::string s);
+00226 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a5">SendServ</a>(<span class="keywordtype">int</span> Socket, std::string s);
+00231 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a6">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, std::string s);
+00236 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a7">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, std::string s);
+00243 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a8">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, std::string s,<span class="keywordtype">bool</span> IncludeSender);
+00248 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a9">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
+00256 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a10">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text,<span class="keywordtype">bool</span> IncludeSender);
+00261 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a11">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, std::string text);
+00262
+00266 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a12">IsNick</a>(std::string nick);
+00270 <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#a13">FindNick</a>(std::string nick);
+00274 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#a14">FindChannel</a>(std::string channel);
+00279 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a15">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
+00282 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a16">GetServerName</a>();
+00285 <span class="keyword">virtual</span> std::string <a class="code" href="classServer.html#a17">GetNetworkName</a>();
+00291 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#a18">GetAdmin</a>();
+00309 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#a19">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> default_on, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
+00310
+00325 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a20">AddCommand</a>(<span class="keywordtype">char</span>* cmd, handlerfunc f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams);
+00326
+00348 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#a21">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+00349 };
+00350
+<a name="l00357"></a><a class="code" href="classConfigReader.html">00357</a> <span class="keyword">class </span><a class="code" href="classConfigReader.html">ConfigReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00358 {
+00359 <span class="keyword">protected</span>:
+<a name="l00362"></a><a class="code" href="classConfigReader.html#n0">00362</a> std::string <a class="code" href="classConfigReader.html#n0">fname</a>;
+00363 <span class="keyword">public</span>:
+00368 <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
+00372 <span class="comment"></span> <a class="code" href="classConfigReader.html#a0">ConfigReader</a>(std::string filename); <span class="comment">// read a module-specific config</span>
+00376 <span class="comment"></span> <a class="code" href="classConfigReader.html#a2">~ConfigReader</a>();
+00381 std::string <a class="code" href="classConfigReader.html#a3">ReadValue</a>(std::string tag, std::string name, <span class="keywordtype">int</span> index);
+00388 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#a4">Enumerate</a>(std::string tag);
+00392 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#a5">Verify</a>();
+00393 };
+00394
+00395
+00396
+<a name="l00402"></a><a class="code" href="classFileReader.html">00402</a> <span class="keyword">class </span><a class="code" href="classFileReader.html">FileReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00403 {
+<a name="l00404"></a><a class="code" href="classFileReader.html#o0">00404</a> <a class="code" href="modules_8h.html#a10">file_cache</a> <a class="code" href="classFileReader.html#o0">fc</a>;
+00405 <span class="keyword">public</span>:
+00410 <a class="code" href="classFileReader.html#a0">FileReader</a>();
+00416 <a class="code" href="classFileReader.html#a0">FileReader</a>(std::string filename);
+00420 <a class="code" href="classFileReader.html#a2">~FileReader</a>();
+00426 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#a3">LoadFile</a>(std::string filename);
+00431 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#a4">Exists</a>();
+00432 std::string <a class="code" href="classFileReader.html#a5">GetLine</a>(<span class="keywordtype">int</span> x);
+00438 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#a6">FileSize</a>();
+00439 };
+00440
+00441
+<a name="l00448"></a><a class="code" href="classModuleFactory.html">00448</a> <span class="keyword">class </span><a class="code" href="classModuleFactory.html">ModuleFactory</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+00449 {
+00450 <span class="keyword">public</span>:
+<a name="l00451"></a><a class="code" href="classModuleFactory.html#a0">00451</a> <a class="code" href="classModuleFactory.html#a0">ModuleFactory</a>() { }
+<a name="l00452"></a><a class="code" href="classModuleFactory.html#a1">00452</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#a1">~ModuleFactory</a>() { }
+00457 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#a2">CreateModule</a>() = 0;
+00458 };
+00459
+00460
+<a name="l00461"></a><a class="code" href="modules_8h.html#a12">00461</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a12">ircd_module</a>;
+00462
+00463 <span class="preprocessor">#endif</span>
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/modules_8h.html b/docs/module-doc/modules_8h.html
index 95111c43d..a194ef74d 100644
--- a/docs/module-doc/modules_8h.html
+++ b/docs/module-doc/modules_8h.html
@@ -1,7 +1,7 @@
<!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>modules.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -53,14 +53,15 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a6">MT_CLIENT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a7">MT_SERVER</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a8">FOREACH_MOD</a>&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt;= <a class="el" href="modules_8cpp.html#a3">MODCOUNT</a>; i++) modules[i]-&gt;</td></tr>
+<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a9">FOREACH_RESULT</a>(x)</td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
-<tr><td nowrap align=right valign=top>typedef std::deque&lt; std::string &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a9">file_cache</a></td></tr>
-<tr><td>&nbsp;</td><td><font size=-1><em>Low level definition of a <a class="el" href="classFileReader.html">FileReader</a> classes file cache area.</em> <a href="#a9"></a><em></em></font><br><br></td></tr>
-<tr><td nowrap align=right valign=top>typedef <a class="el" href="modules_8h.html#a9">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a10">string_list</a></td></tr>
-<tr><td nowrap align=right valign=top>typedef DLLFactory&lt; <a class="el" href="classModuleFactory.html">ModuleFactory</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a11">ircd_module</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef std::deque&lt; std::string &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a10">file_cache</a></td></tr>
+<tr><td>&nbsp;</td><td><font size=-1><em>Low level definition of a <a class="el" href="classFileReader.html">FileReader</a> classes file cache area.</em> <a href="#a10"></a><em></em></font><br><br></td></tr>
+<tr><td nowrap align=right valign=top>typedef <a class="el" href="modules_8h.html#a10">file_cache</a>&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a11">string_list</a></td></tr>
+<tr><td nowrap align=right valign=top>typedef DLLFactory&lt; <a class="el" href="classModuleFactory.html">ModuleFactory</a> &gt;&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a12">ircd_module</a></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
-<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a12">createcommand</a> (char *cmd, <a class="el" href="ctables_8h.html#a0">handlerfunc</a> f, char flags, int minparams)</td></tr>
-<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a13">server_mode</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a13">createcommand</a> (char *cmd, <a class="el" href="ctables_8h.html#a0">handlerfunc</a> f, char flags, int minparams)</td></tr>
+<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a14">server_mode</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
</table>
<hr><h2>Define Documentation</h2>
<a name="a0" doxytag="modules.h::DEBUG"></a><p>
@@ -135,6 +136,44 @@ Definition at line <a class="el" href="modules_8h-source.html#l00013">13</a> of
Definition at line <a class="el" href="modules_8h-source.html#l00036">36</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
+<a name="a9" doxytag="modules.h::FOREACH_RESULT"></a><p>
+<table width="100%" cellpadding="2" cellspacing="0" border="0">
+ <tr>
+ <td class="md">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> #define FOREACH_RESULT</td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">x&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap>&nbsp; </td>
+ <td class="md" valign="top">)&nbsp;</td>
+ <td class="md" nowrap>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b>Value:</b><div class="fragment"><pre>{ MOD_RESULT = 0; \
+ <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= <a class="code" href="modules_8cpp.html#a3">MODCOUNT</a>; i++) { \
+ <span class="keywordtype">int</span> res = <a class="code" href="modules_8cpp.html#a8">modules</a>[i]-&gt;x ; \
+ <span class="keywordflow">if</span> (res) { \
+ MOD_RESULT = res; \
+ <span class="keywordflow">break</span>; \
+ } \
+ } \
+ }
+</pre></div>
+<p>
+Definition at line <a class="el" href="modules_8h-source.html#l00044">44</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+ </tr>
+</table>
<a name="a5" doxytag="modules.h::MT_CHANNEL"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
@@ -280,7 +319,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00012">12</a> of
</tr>
</table>
<hr><h2>Typedef Documentation</h2>
-<a name="a9" doxytag="modules.h::file_cache"></a><p>
+<a name="a10" doxytag="modules.h::file_cache"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -305,10 +344,10 @@ Low level definition of a <a class="el" href="classFileReader.html">FileReader</
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00029">29</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00262">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00273">FileReader::LoadFile()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00269">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00280">FileReader::LoadFile()</a>. </td>
</tr>
</table>
-<a name="a11" doxytag="modules.h::ircd_module"></a><p>
+<a name="a12" doxytag="modules.h::ircd_module"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -329,16 +368,16 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00262">FileReader::F
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00426">426</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l00461">461</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
-<a name="a10" doxytag="modules.h::string_list"></a><p>
+<a name="a11" doxytag="modules.h::string_list"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"> typedef <a class="el" href="modules_8h.html#a9">file_cache</a> string_list
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="modules_8h.html#a10">file_cache</a> string_list
</table>
</td>
</tr>
@@ -357,7 +396,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00030">30</a> of
</tr>
</table>
<hr><h2>Function Documentation</h2>
-<a name="a12" doxytag="modules.h::createcommand"></a><p>
+<a name="a13" doxytag="modules.h::createcommand"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -406,10 +445,10 @@ Definition at line <a class="el" href="modules_8h-source.html#l00030">30</a> of
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00123">Server::AddCommand()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00129">Server::AddCommand()</a>. </td>
</tr>
</table>
-<a name="a13" doxytag="modules.h::server_mode"></a><p>
+<a name="a14" doxytag="modules.h::server_mode"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
<tr>
<td class="md">
@@ -452,10 +491,10 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00123">Server::AddCo
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00128">Server::SendMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00134">Server::SendMode()</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:08 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:06 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/servers_8cpp-source.html b/docs/module-doc/servers_8cpp-source.html
index e44eb231c..a3b882abf 100644
--- a/docs/module-doc/servers_8cpp-source.html
+++ b/docs/module-doc/servers_8cpp-source.html
@@ -1,7 +1,7 @@
<!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>servers.cpp Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -46,7 +46,7 @@
00038 <a class="code" href="classconnection.html#m1">fd</a> = 0;
00039 }
00040
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/servers_8cpp.html b/docs/module-doc/servers_8cpp.html
index bc54fba26..9a91a9926 100644
--- a/docs/module-doc/servers_8cpp.html
+++ b/docs/module-doc/servers_8cpp.html
@@ -1,7 +1,7 @@
<!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>servers.cpp File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -23,7 +23,7 @@ Include dependency graph for servers.cpp:<p><center><img src="servers_8cpp__incl
<a href="servers_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:09 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:07 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/servers_8h-source.html b/docs/module-doc/servers_8h-source.html
index 07ed40b5c..2417a11fa 100644
--- a/docs/module-doc/servers_8h-source.html
+++ b/docs/module-doc/servers_8h-source.html
@@ -1,7 +1,7 @@
<!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>servers.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -44,7 +44,7 @@
00060
00061 <span class="preprocessor">#endif</span>
00062 <span class="preprocessor"></span>
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/servers_8h.html b/docs/module-doc/servers_8h.html
index 7abb78c1e..b82e96586 100644
--- a/docs/module-doc/servers_8h.html
+++ b/docs/module-doc/servers_8h.html
@@ -1,7 +1,7 @@
<!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>servers.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -82,7 +82,7 @@ Definition at line <a class="el" href="servers_8h-source.html#l00014">14</a> of
Definition at line <a class="el" href="servers_8h-source.html#l00015">15</a> of file <a class="el" href="servers_8h-source.html">servers.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:09 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:07 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/tree.html b/docs/module-doc/tree.html
index 5537b7116..64faf1dcf 100644
--- a/docs/module-doc/tree.html
+++ b/docs/module-doc/tree.html
@@ -3,7 +3,7 @@
<meta http-equiv="Content-Type" content="text/xhtml; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="en" />
- <link rel="stylesheet" href="doxygen.css">
+ <link rel="stylesheet" href="inspircd.css">
<title>Test</title>
<style type="text/css">
<!--
diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html
index 2f77486da..692328224 100644
--- a/docs/module-doc/users_8cpp-source.html
+++ b/docs/module-doc/users_8cpp-source.html
@@ -1,7 +1,7 @@
<!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>users.cpp Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -88,7 +88,7 @@
00080 }
00081 }
00082 }
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/users_8cpp.html b/docs/module-doc/users_8cpp.html
index 096e34fe2..8368c0d9a 100644
--- a/docs/module-doc/users_8cpp.html
+++ b/docs/module-doc/users_8cpp.html
@@ -1,7 +1,7 @@
<!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>users.cpp File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -25,7 +25,7 @@ Include dependency graph for users.cpp:<p><center><img src="users_8cpp__incl.gif
<a href="users_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/users_8h-source.html b/docs/module-doc/users_8h-source.html
index abea07d3a..9edbfa2da 100644
--- a/docs/module-doc/users_8h-source.html
+++ b/docs/module-doc/users_8h-source.html
@@ -1,7 +1,7 @@
<!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>users.h Source File</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -92,7 +92,7 @@
00140
00141
00142 <span class="preprocessor">#endif</span>
-</pre></div><hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:05 2004 for InspIRCd by
+</pre></div><hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:03 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/docs/module-doc/users_8h.html b/docs/module-doc/users_8h.html
index f833fa2f1..6e0f0e5e8 100644
--- a/docs/module-doc/users_8h.html
+++ b/docs/module-doc/users_8h.html
@@ -1,7 +1,7 @@
<!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>users.h File Reference</title>
-<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="inspircd.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3-rc3 -->
<center>
@@ -245,7 +245,7 @@ Holds a complete list of all channels to which a user has been invited and has n
Definition at line <a class="el" href="users_8h-source.html#l00044">44</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
-<hr><address style="align: right;"><small>Generated on Fri Apr 2 14:46:10 2004 for InspIRCd by
+<hr><address style="align: right;"><small>Generated on Sat Apr 3 16:36:08 2004 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0
width=110 height=53></a>1.3-rc3 </small></address>
diff --git a/include/channels.h b/include/channels.h
index b60ee6cad..9f97c3b8b 100644
--- a/include/channels.h
+++ b/include/channels.h
@@ -132,12 +132,12 @@ class chanrec : public classbase
/** The list of all bans set on the channel.
*/
BanList bans;
-
+
/** Sets or unsets a custom mode in the channels info
*/
void SetCustomMode(char mode,bool mode_on);
- /** Sets or unsets the parameterrs for a custom mode in a channels info
+ /** Sets or unsets the parameters for a custom mode in a channels info
*/
void SetCustomModeParam(char mode,char* parameter,bool mode_on);
diff --git a/include/inspircd.h b/include/inspircd.h
index e1d75f712..9bd570c92 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -80,5 +80,5 @@ std::string getadminemail();
std::string getadminnick();
void readfile(file_cache &F, const char* fname);
bool ModeDefined(char c, int i);
-bool ModeDefinedOn(char c, int i);
-bool ModeDefinedOff(char c, int i);
+int ModeDefinedOn(char c, int i);
+int ModeDefinedOff(char c, int i);
diff --git a/include/modules.h b/include/modules.h
index e9f750693..74d7800d3 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -35,6 +35,24 @@ typedef file_cache string_list;
#define FOREACH_MOD for (int i = 0; i <= MODCOUNT; i++) modules[i]->
+// This define is similar to the one above but returns a result in MOD_RESULT.
+// The first module to return a nonzero result is the value to be accepted,
+// and any modules after are ignored.
+
+// *********************************************************************************************
+
+#define FOREACH_RESULT(x) { MOD_RESULT = 0; \
+ for (int i = 0; i <= MODCOUNT; i++) { \
+ int res = modules[i]->x ; \
+ if (res) { \
+ MOD_RESULT = res; \
+ break; \
+ } \
+ } \
+ }
+
+// *********************************************************************************************
+
extern void createcommand(char* cmd, handlerfunc f, char flags, int minparams);
extern void server_mode(char **parameters, int pcnt, userrec *user);
@@ -117,7 +135,7 @@ class Module : public classbase
* digital signatures and anything else you may want to add. This should be regarded as a pre-processor
* and will be called before ANY other operations within the ircd core program.
*/
- virtual void Module::OnPacketTransmit(char *p);
+ virtual void OnPacketTransmit(char *p);
/** Called after a packet is received from another irc server.
* The packet is represented as a char*, as it should be regarded as a buffer, and not a string.
@@ -126,7 +144,7 @@ class Module : public classbase
* and will be called immediately after the packet is received but before any other operations with the
* core of the ircd.
*/
- virtual void Module::OnPacketReceive(char *p);
+ virtual void OnPacketReceive(char *p);
/** Called on rehash.
* This method is called prior to a /REHASH or when a SIGHUP is received from the operating
@@ -153,6 +171,19 @@ class Module : public classbase
*/
virtual bool OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params);
+ /** Called whenever a user is about to join a channel, before any processing is done.
+ * Returning any nonzero value from this function stops the process immediately, causing no
+ * output to be sent to the user by the core. If you do this you must produce your own numerics,
+ * notices etc. This is useful for modules which may want to mimic +b, +k, +l etc.
+ *
+ * IMPORTANT NOTE!
+ *
+ * If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel
+ * record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of
+ * processing on the actual channel record at this point, however the channel NAME will still be passed in
+ * char* cname, so that you could for example implement a channel blacklist or whitelist, etc.
+ */
+ virtual int Module::OnUserPreJoin(userrec* user, chanrec* chan, char* cname);
};
diff --git a/src/InspIRCd.layout b/src/InspIRCd.layout
index b762b7480..48ccce82f 100644
--- a/src/InspIRCd.layout
+++ b/src/InspIRCd.layout
@@ -1,9 +1,9 @@
[Editors]
Focused=1
-Order=7,3,2,0,6,5,4,25,24,-1,1
+Order=7,3,2,6,25,24,-1,1,4,5
[Editor_0]
-Open=1
+Open=0
Top=0
CursorCol=1
CursorRow=1
@@ -13,10 +13,10 @@ LeftChar=1
[Editor_1]
Open=1
Top=1
-CursorCol=14
-CursorRow=2883
-TopLine=2857
-LeftChar=1
+CursorCol=16
+CursorRow=2043
+TopLine=1993
+LeftChar=19
[Editor_2]
Open=1
@@ -37,9 +37,9 @@ LeftChar=1
[Editor_4]
Open=1
Top=0
-CursorCol=14
-CursorRow=128
-TopLine=77
+CursorCol=9
+CursorRow=232
+TopLine=198
LeftChar=1
[Editor_5]
@@ -83,7 +83,7 @@ TopLine=1
LeftChar=1
[Editor_10]
-Open=0
+Open=1
Top=0
CursorCol=1
CursorRow=1
@@ -99,11 +99,11 @@ TopLine=1
LeftChar=1
[Editor_12]
-Open=0
+Open=1
Top=0
-CursorCol=1
-CursorRow=142
-TopLine=120
+CursorCol=17
+CursorRow=79
+TopLine=69
LeftChar=1
[Editor_13]
@@ -115,7 +115,7 @@ TopLine=20
LeftChar=1
[Editor_14]
-Open=1
+Open=0
Top=0
CursorCol=1
CursorRow=23
@@ -123,7 +123,7 @@ TopLine=1
LeftChar=1
[Editor_15]
-Open=1
+Open=0
Top=0
CursorCol=1
CursorRow=1
@@ -131,7 +131,7 @@ TopLine=1
LeftChar=1
[Editor_16]
-Open=1
+Open=0
Top=0
CursorCol=21
CursorRow=22
@@ -141,9 +141,9 @@ LeftChar=1
[Editor_17]
Open=1
Top=0
-CursorCol=1
-CursorRow=1
-TopLine=1
+CursorCol=4
+CursorRow=84
+TopLine=27
LeftChar=1
[Editor_18]
@@ -155,7 +155,7 @@ TopLine=1
LeftChar=1
[Editor_19]
-Open=0
+Open=1
Top=0
CursorCol=1
CursorRow=1
@@ -165,10 +165,10 @@ LeftChar=1
[Editor_20]
Open=1
Top=0
-CursorCol=4
-CursorRow=308
-TopLine=285
-LeftChar=1
+CursorCol=2
+CursorRow=172
+TopLine=129
+LeftChar=2
[Editor_21]
Open=0
@@ -204,14 +204,14 @@ LeftChar=1
[Editor_25]
Open=1
Top=0
-CursorCol=2
-CursorRow=22
+CursorCol=1
+CursorRow=37
TopLine=1
LeftChar=1
[Editor_26]
Open=1
Top=0
-CursorCol=19
-CursorRow=51
-TopLine=28
+CursorCol=1
+CursorRow=71
+TopLine=32
LeftChar=1
diff --git a/src/channels.cpp b/src/channels.cpp
index 1d1b3edbe..afa748f08 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -16,6 +16,28 @@ chanrec::chanrec()
void chanrec::SetCustomMode(char mode,bool mode_on)
{
+ if (mode_on) {
+ char m[3];
+ m[0] = mode;
+ m[1] = '\0';
+ if (!strchr(this->custom_modes,mode))
+ {
+ strncat(custom_modes,m,MAXMODES);
+ }
+ log(DEBUG,"Custom mode %c set",mode);
+ }
+ else {
+ char temp[MAXMODES];
+ int count = 0;
+ for (int q = 0; q < strlen(custom_modes); q++) {
+ if (custom_modes[q] != mode) {
+ temp[count++] = mode;
+ }
+ }
+ temp[count] = '\0';
+ strncpy(custom_modes,temp,MAXMODES);
+ log(DEBUG,"Custom mode %c removed",mode);
+ }
}
void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on)
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 444287834..a515ab212 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -854,10 +854,12 @@ char* cmode(userrec *user, chanrec *chan)
}
char scratch[MAXMODES];
+char sparam[MAXMODES];
char* chanmodes(chanrec *chan)
{
strcpy(scratch,"");
+ strcpy(sparam,"");
if (chan->noexternal)
{
strcat(scratch,"n");
@@ -892,16 +894,22 @@ char* chanmodes(chanrec *chan)
}
if (strcmp(chan->key,""))
{
- strcat(scratch," ");
- strcat(scratch,chan->key);
+ strcat(sparam,chan->key);
}
if (chan->limit)
{
char foo[24];
sprintf(foo," %d",chan->limit);
- strcat(scratch,foo);
+ strcat(sparam,foo);
}
- log(DEBUG,"chanmodes: %s %s",chan->name,scratch);
+ if (strlen(chan->custom_modes))
+ {
+ // TODO: Tack on mode parameters here -
+ // IN ORDER OF CUSTOM_MODES!
+ strncat(scratch,chan->custom_modes,MAXMODES);
+ }
+ log(DEBUG,"chanmodes: %s %s%s",chan->name,scratch,sparam);
+ strncat(scratch,sparam,MAXMODES);
return scratch;
}
@@ -1037,6 +1045,9 @@ chanrec* add_channel(userrec *user, char* cname, char* key)
int i = 0;
chanrec* Ptr;
int created = 0;
+
+ // we MUST declare this wherever we use FOREACH_RESULT
+ int MOD_RESULT = 0;
if ((!cname) || (!user))
{
@@ -1053,9 +1064,15 @@ chanrec* add_channel(userrec *user, char* cname, char* key)
{
return NULL; // already on the channel!
}
-
+
+
if (!FindChan(cname))
{
+ FOREACH_RESULT(OnUserPreJoin(user,NULL,cname));
+ if (MOD_RESULT) {
+ return NULL;
+ }
+
/* create a new one */
log(DEBUG,"add_channel: creating: %s",cname);
{
@@ -1082,6 +1099,11 @@ chanrec* add_channel(userrec *user, char* cname, char* key)
Ptr = FindChan(cname);
if (Ptr)
{
+ FOREACH_RESULT(OnUserPreJoin(user,Ptr,cname));
+ if (MOD_RESULT) {
+ return NULL;
+ }
+
log(DEBUG,"add_channel: joining to: %s",Ptr->name);
if (strcmp(Ptr->key,""))
{
@@ -1984,34 +2006,58 @@ void process_modes(char **parameters,userrec* user,chanrec *chan,int status, int
break;
default:
+ log(DEBUG,"Preprocessing custom mode %c",modechar);
string_list p;
p.clear();
- if (ModeDefined(modelist[ptr],MT_CHANNEL))
+ if (((!strchr(chan->custom_modes,modechar)) && (!mdir)) || ((strchr(chan->custom_modes,modechar)) && (mdir)))
{
- if ((ModeDefinedOn(modelist[ptr],MT_CHANNEL)>0) && (mdir))
+ log(DEBUG,"Mode %c isnt set on %s but trying to remove!",modechar,chan->name);
+ break;
+ }
+ if (ModeDefined(modechar,MT_CHANNEL))
+ {
+ log(DEBUG,"A module has claimed this mode");
+ if ((ModeDefinedOn(modechar,MT_CHANNEL)>0) && (mdir))
{
- p.push_back(parameters[param]);
+ p.push_back(parameters[param]);
}
- if ((ModeDefinedOff(modelist[ptr],MT_CHANNEL)>0) && (!mdir))
+ if ((ModeDefinedOff(modechar,MT_CHANNEL)>0) && (!mdir))
{
- p.push_back(parameters[param]);
+ p.push_back(parameters[param]);
}
- for (int i = 0; i <= MODCOUNT; i++)
+ bool handled = false;
+ for (int i = 0; i <= MODCOUNT; i++)
{
- if (modules[i]->OnExtendedMode(user,chan,modechar,MT_CHANNEL,mdir,p))
+ if (!handled)
{
- char app[] = {modechar, 0};
- strcat(outlist, app);
- chan->SetCustomMode(modelist[ptr],mdir);
- // include parameters in output if mode has them
- if ((ModeDefinedOn(modelist[ptr],MT_CHANNEL)>0) || (ModeDefinedOff(modelist[ptr],MT_CHANNEL)>0))
+ if (modules[i]->OnExtendedMode(user,chan,modechar,MT_CHANNEL,mdir,p))
{
- chan->SetCustomModeParam(modelist[ptr],parameters[param],mdir);
- strcpy(outpars[pc++],parameters[param++]);
- }
- }
+ log(DEBUG,"OnExtendedMode returned nonzero for a module");
+ char app[] = {modechar, 0};
+ if (ptr>0)
+ {
+ if ((modelist[ptr-1] == '+') || (modelist[ptr-1] == '-'))
+ {
+ strcat(outlist, app);
+ }
+ else if (!strchr(outlist,modechar))
+ {
+ strcat(outlist, app);
+ }
+ }
+ chan->SetCustomMode(modechar,mdir);
+ // include parameters in output if mode has them
+ if ((ModeDefinedOn(modechar,MT_CHANNEL)>0) || (ModeDefinedOff(modechar,MT_CHANNEL)>0))
+ {
+ chan->SetCustomModeParam(modelist[ptr],parameters[param],mdir);
+ strcpy(outpars[pc++],parameters[param++]);
+ }
+ // break, because only one module can handle the mode.
+ handled = true;
+ }
+ }
+ }
}
- }
break;
}
diff --git a/src/modules.cpp b/src/modules.cpp
index f65f8b1bd..fe4b69315 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -33,8 +33,10 @@ ExtModeList EMode;
// returns true if an extended mode character is in use
bool ModeDefined(char modechar, int type)
{
+ log(DEBUG,"Size of extmodes vector is %d",EMode.size());
for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
{
+ log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
if ((i->modechar == modechar) && (i->type == type))
{
return true;
@@ -44,7 +46,7 @@ bool ModeDefined(char modechar, int type)
}
// returns number of parameters for a custom mode when it is switched on
-bool ModeDefinedOn(char modechar, int type)
+int ModeDefinedOn(char modechar, int type)
{
for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
{
@@ -57,7 +59,7 @@ bool ModeDefinedOn(char modechar, int type)
}
// returns number of parameters for a custom mode when it is switched on
-bool ModeDefinedOff(char modechar, int type)
+int ModeDefinedOff(char modechar, int type)
{
for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
{
@@ -70,9 +72,12 @@ bool ModeDefinedOff(char modechar, int type)
}
// returns true if an extended mode character is in use
-bool AddExtendedMode(char modechar, int type, bool default_on, int params_on, int params_off)
+bool DoAddExtendedMode(char modechar, int type, bool default_on, int params_on, int params_off)
{
- EMode.push_back( ExtMode (modechar,type,default_on,params_on,params_off));
+ if (ModeDefined(modechar,type)) {
+ return false;
+ }
+ EMode.push_back(ExtMode(modechar,type,default_on,params_on,params_off));
return true;
}
@@ -95,6 +100,7 @@ void Module::OnPacketTransmit(char *p) { }
void Module::OnPacketReceive(char *p) { }
void Module::OnRehash() { }
void Module::OnServerRaw(std::string &raw, bool inbound) { }
+int Module::OnUserPreJoin(userrec* user, chanrec* chan, char* cname) { return 0; }
bool Module::OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params) { }
Version Module::GetVersion() { return Version(1,0,0,0); }
@@ -223,6 +229,7 @@ Admin Server::GetAdmin()
bool Server::AddExtendedMode(char modechar, int type, bool default_on, int params_when_on, int params_when_off)
{
+ return DoAddExtendedMode(modechar,type,default_on,params_when_on,params_when_off);
}
diff --git a/src/modules/m_testcommand.cpp b/src/modules/m_testcommand.cpp
index ad7afbc97..3b6b646a9 100644
--- a/src/modules/m_testcommand.cpp
+++ b/src/modules/m_testcommand.cpp
@@ -53,6 +53,31 @@ class ModuleTestCommand : public Module
// anyone can issue the command, and the
// command takes only one parameter.
Srv->AddCommand("WOOT",handle_woot,0,1);
+
+ // Add a mode +Z for channels with no parameters
+ Srv->AddExtendedMode('Z',MT_CHANNEL,false,0,0);
+ }
+
+ virtual bool OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params)
+ {
+ if (modechar != 'Z') {
+ // this mode isn't ours, we have to bail and return 0 to not handle it.
+ Srv->Log(DEBUG,"Extended mode event triggered, but this is not a mode i've claimed!");
+ return 0;
+ }
+
+
+ // TODO: Add checking here - should bail with 0 value if the mode is already on or off
+ if (mode_on) {
+ Srv->Log(DEBUG,"Custom mode is being added to channel");
+ }
+ else {
+ Srv->Log(DEBUG,"Custom mode is being taken from a channel");
+ }
+ Srv->Log(DEBUG,chan->name);
+
+ // must return 1 to handle the mode!
+ return 1;
}
virtual ~ModuleTestCommand()