<!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="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="namespaces.html">Namespace List</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>modules.h File Reference</h1><code>#include "dynamic.h"</code><br>
<code>#include "<a class="el" href="base_8h-source.html">base.h</a>"</code><br>
<code>#include "<a class="el" href="ctables_8h-source.html">ctables.h</a>"</code><br>
<code>#include &lt;string&gt;</code><br>
<code>#include &lt;deque&gt;</code><br>
<code>#include &lt;sstream&gt;</code><br>

<p>
Include dependency graph for modules.h:<p><center><img src="modules_8h__incl.gif" border="0" usemap="#modules.h_map" alt="Include dependency graph"></center>
<map name="modules.h_map">
<area href="base_8h.html" shape="rect" coords="91,86,139,107" alt="">
<area href="ctables_8h.html" shape="rect" coords="151,155,212,176" alt="">
</map>

<p>
This graph shows which files directly or indirectly include this file:<p><center><img src="modules_8h__dep__incl.gif" border="0" usemap="#modules.hdep_map" alt="Included by dependency graph"></center>
<map name="modules.hdep_map">
<area href="modules_8cpp.html" shape="rect" coords="7,16,89,37" alt="">
</map>

<p>
<a href="modules_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classAdmin.html">Admin</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Holds /ADMIN data This class contains the admin details of the local server.</em> <a href="classAdmin.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classConfigReader.html">ConfigReader</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file.</em> <a href="classConfigReader.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classFileReader.html">FileReader</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Caches a text file into memory and can be used to retrieve lines from it.</em> <a href="classFileReader.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classModule.html">Module</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Base class for all InspIRCd modules This class is the base class for InspIRCd modules.</em> <a href="classModule.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classModuleFactory.html">ModuleFactory</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Instantiates classes inherited from <a class="el" href="classModule.html">Module</a> This class creates a class inherited from type <a class="el" href="classModule.html">Module</a>, using new.</em> <a href="classModuleFactory.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classServer.html">Server</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers.</em> <a href="classServer.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classVersion.html">Version</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module.</em> <a href="classVersion.html#_details">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a0">DEBUG</a>&nbsp;&nbsp;&nbsp;10</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a1">VERBOSE</a>&nbsp;&nbsp;&nbsp;20</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a2">DEFAULT</a>&nbsp;&nbsp;&nbsp;30</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a3">SPARSE</a>&nbsp;&nbsp;&nbsp;40</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a4">NONE</a>&nbsp;&nbsp;&nbsp;50</td></tr>
<tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="modules_8h.html#a5">MT_CHANNEL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<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#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#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>
<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 DEBUG&nbsp;&nbsp;&nbsp;10
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00011">11</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<a name="a2" doxytag="modules.h::DEFAULT"></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 DEFAULT&nbsp;&nbsp;&nbsp;30
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00013">13</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<a name="a8" doxytag="modules.h::FOREACH_MOD"></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_MOD&nbsp;&nbsp;&nbsp;for (int i = 0; i &lt;= <a class="el" href="modules_8cpp.html#a3">MODCOUNT</a>; i++) modules[i]-&gt;
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00038">38</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#a9">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#l00046">46</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>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define MT_CHANNEL&nbsp;&nbsp;&nbsp;1
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00017">17</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<a name="a6" doxytag="modules.h::MT_CLIENT"></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 MT_CLIENT&nbsp;&nbsp;&nbsp;2
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00018">18</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#l00308">Server::AddExtendedMode()</a>.    </td>
  </tr>
</table>
<a name="a7" doxytag="modules.h::MT_SERVER"></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 MT_SERVER&nbsp;&nbsp;&nbsp;3
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00019">19</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#l00308">Server::AddExtendedMode()</a>.    </td>
  </tr>
</table>
<a name="a4" doxytag="modules.h::NONE"></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 NONE&nbsp;&nbsp;&nbsp;50
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00015">15</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<a name="a3" doxytag="modules.h::SPARSE"></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 SPARSE&nbsp;&nbsp;&nbsp;40
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00014">14</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<a name="a1" doxytag="modules.h::VERBOSE"></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 VERBOSE&nbsp;&nbsp;&nbsp;20
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00012">12</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a name="a10" doxytag="modules.h::file_cache"></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 std::deque&lt;std::string&gt; file_cache
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Low level definition of a <a class="el" href="classFileReader.html">FileReader</a> classes file cache area.
<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00030">30</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#l00378">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00389">FileReader::LoadFile()</a>.    </td>
  </tr>
</table>
<a name="a12" doxytag="modules.h::ircd_module"></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 DLLFactory&lt;<a class="el" href="classModuleFactory.html">ModuleFactory</a>&gt; ircd_module
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00625">625</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<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#a10">file_cache</a> string_list
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Definition at line <a class="el" href="modules_8h-source.html#l00031">31</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.    </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a name="a13" doxytag="modules.h::createcommand"></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 createcommand </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>cmd</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="ctables_8h.html#a0">handlerfunc</a>&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>f</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>char&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>flags</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>minparams</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Referenced by <a class="el" href="modules_8cpp-source.html#l00188">Server::AddCommand()</a>.    </td>
  </tr>
</table>
<a name="a14" doxytag="modules.h::server_mode"></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 server_mode </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">char **&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>parameters</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>int&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>pcnt</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>user</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>

<p>
Referenced by <a class="el" href="modules_8cpp-source.html#l00193">Server::SendMode()</a>.    </td>
  </tr>
</table>
<hr><address style="align: right;"><small>Generated on Sat Apr 17 13:33:48 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>
</body>
</html>