</head><body>
<!-- Generated by Doxygen 1.4.4-20050815 -->
<div class="qindex"><a class="qindex" href="main.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a></div>
-<h1>ServerConfig Class Reference</h1><!-- doxytag: class="ServerConfig" --><!-- doxytag: inherits="classbase" --><code>#include <<a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>></code>
+<h1>ServerConfig Class Reference</h1><!-- doxytag: class="ServerConfig" --><!-- doxytag: inherits="classbase" -->This class holds the bulk of the runtime configuration for the ircd.
+<a href="#_details">More...</a>
+<p>
+<code>#include <<a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>></code>
<p>
Inheritance diagram for ServerConfig:<p><center><img src="classServerConfig__inherit__graph.gif" border="0" usemap="#ServerConfig__inherit__map" alt="Inheritance graph"></center>
<map name="ServerConfig__inherit__map">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ServerConfig:<p><center><img src="classServerConfig__coll__graph.gif" border="0" usemap="#ServerConfig__coll__map" alt="Collaboration graph"></center>
<map name="ServerConfig__coll__map">
-<area href="classclassbase.html" shape="rect" coords="38,11,118,37" alt="">
+<area href="classclassbase.html" shape="rect" coords="40,11,120,37" alt="">
</map>
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classServerConfig-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ClearStack_28_29">ClearStack</a> ()</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Clears the include stack in preperation for a <a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read()</a> call. <a href="#ClearStack_28_29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read</a> (bool bail, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Read the entire configuration into memory and initialize this class. <a href="#Read_28bool_20bail_2C_20userrec_20_2Auser_29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a> (const char *filename, std::stringstream *target, std::stringstream *errorstream)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a> (char *tag, char *var, int index, char *result, std::stringstream *config)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a> (std::stringstream *config, const char *tag, int index)</td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a> (int port)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29">AddIOHook</a> (int port, <a class="el" href="classModule.html">Module</a> *iomod)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DelIOHook_28int_20port_29">DelIOHook</a> (int port)</td></tr>
+
<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Holds the server name of the local server as defined by the administrator. <a href="#ServerName_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a> [MAXBUF]</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Holds the description of the local server as defined by the administrator. <a href="#ServerDesc_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AdminName_5BMAXBUF_5D">AdminName</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Holds the admin's name, for output in the /ADMIN command. <a href="#AdminName_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">AdminEmail</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Holds the email address of the admin, for output in the /ADMIN command. <a href="#AdminEmail_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">AdminNick</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Holds the admin's nickname, for output in the /ADMIN command. <a href="#AdminNick_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#diepass_5BMAXBUF_5D">diepass</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The admin-configured /DIE password. <a href="#diepass_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#restartpass_5BMAXBUF_5D">restartpass</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The admin-configured /RESTART password. <a href="#restartpass_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#motd_5BMAXBUF_5D">motd</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The pathname and filename of the message of the day file, as defined by the administrator. <a href="#motd_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#rules_5BMAXBUF_5D">rules</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The pathname and filename of the rules file, as defined by the administrator. <a href="#rules_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#PrefixQuit_5BMAXBUF_5D">PrefixQuit</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The quit prefix in use, or an empty string. <a href="#PrefixQuit_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DieValue_5BMAXBUF_5D">DieValue</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The last string found within a <die> tag, or an empty string. <a href="#DieValue_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DNSServer_5BMAXBUF_5D">DNSServer</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="classDNS.html">DNS</a> server to use for <a class="el" href="classDNS.html">DNS</a> queries. <a href="#DNSServer_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DisabledCommands_5BMAXBUF_5D">DisabledCommands</a> [MAXBUF]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This variable contains a space-seperated list of commands which are disabled by the administrator of the server for non-opers. <a href="#DisabledCommands_5BMAXBUF_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ModPath_5B_31_30_32_34_5D">ModPath</a> [1024]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The full path to the modules directory. <a href="#ModPath_5B_31_30_32_34_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#MyExecutable_5B_31_30_32_34_5D">MyExecutable</a> [1024]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The full pathname to the executable, as given in argv[0] when the program starts. <a href="#MyExecutable_5B_31_30_32_34_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#log_5Ffile">log_file</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The file handle of the logfile. <a href="#log_5Ffile"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#nofork">nofork</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">If this value is true, the owner of the server specified -nofork on the command line, causing the daemon to stay in the foreground. <a href="#nofork"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#unlimitcore">unlimitcore</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">If this value is true, the owner of the server has chosen to unlimit the coredump size to as large a value as his account settings will allow. <a href="#unlimitcore"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AllowHalfop">AllowHalfop</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">If this value is true, halfops have been enabled in the configuration file. <a href="#AllowHalfop"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The number of seconds the <a class="el" href="classDNS.html">DNS</a> subsystem will wait before timing out any request. <a href="#dns_5Ftimeout"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#NetBufferSize">NetBufferSize</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The size of the read() buffer in the user handling code, used to read data into a user's recvQ. <a href="#NetBufferSize"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#MaxConn">MaxConn</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The value to be used for listen() backlogs as default. <a href="#MaxConn"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#SoftLimit">SoftLimit</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The soft limit value assigned to the irc server. <a href="#SoftLimit"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#MaxWhoResults">MaxWhoResults</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The maximum number of /WHO results allowed in any single /WHO command. <a href="#MaxWhoResults"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#debugging">debugging</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">True if the DEBUG loglevel is selected. <a href="#debugging"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#LogLevel">LogLevel</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The loglevel in use by the IRC server. <a href="#LogLevel"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DieDelay">DieDelay</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">How many seconds to wait before exiting the program when /DIE is correctly issued. <a href="#DieDelay"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">addrs</a> [MAXBUF][255]</td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="modules_8h.html#file_5Fcache">file_cache</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#MOTD">MOTD</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of IP addresses the server is listening on. <a href="#addrs_5BMAXBUF_5D_5B_32_35_35_5D"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#MOTD">MOTD</a></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="modules_8h.html#file_5Fcache">file_cache</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#RULES">RULES</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The MOTD file, cached in a file_cache type. <a href="#MOTD"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#RULES">RULES</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The RULES file, cached in a file_cache type. <a href="#RULES"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#PID_5B_31_30_32_34_5D">PID</a> [1024]</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The full pathname and filename of the PID file as defined in the configuration. <a href="#PID_5B_31_30_32_34_5D"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::stringstream </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#config_5Ff">config_f</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The parsed configuration file as a stringstream. <a href="#config_5Ff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="users_8h.html#ClassVector">ClassVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#Classes">Classes</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">The connect classes in use by the IRC server. <a href="#Classes"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector< <a class="el" href="namespaceirc.html#string">std::string</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#module_5Fnames">module_names</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of module names (names only, no paths) which are currently loaded by the server. <a href="#module_5Fnames"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ports_5B_32_35_35_5D">ports</a> [255]</td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of ports which the server is listening on. <a href="#ports_5B_32_35_35_5D"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">std::map< int, <a class="el" href="classModule.html">Module</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#IOHookModule">IOHookModule</a></td></tr>
+
+<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of ports claimed by IO Modules. <a href="#IOHookModule"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29">fgets_safe</a> (char *buffer, size_t maxsize, FILE *&file)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Used by the config file subsystem to safely read a C-style string without dependency upon any certain style of linefeed, e.g. <a href="#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29">ConfProcess</a> (char *buffer, long linenumber, std::stringstream *errorstream, bool &error, <a class="el" href="namespaceirc.html#string">std::string</a> filename)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This private method processes one line of configutation, appending errors to errorstream and setting error if an error has occured. <a href="#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector< <a class="el" href="namespaceirc.html#string">std::string</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#include_5Fstack">include_stack</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">This variable holds the names of all files included from the main one. <a href="#include_5Fstack"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
-
+This class holds the bulk of the runtime configuration for the ircd.
+<p>
+It allows for reading new config values, accessing configuration files, and storage of the configuration data needed to run the ircd, such as the servername, connect classes, /ADMIN data, MOTDs and filenames etc.
<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00034">34</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00040">40</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.<hr><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" name="ServerConfig_28_29"></a><!-- doxytag: member="ServerConfig::ServerConfig" ref="ServerConfig_28_29" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
</tr>
</table>
<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29"></a><!-- doxytag: member="ServerConfig::AddIOHook" ref="AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29" args="(int port, Module *iomod)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">bool ServerConfig::AddIOHook </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">int </td>
+ <td class="mdname" nowrap> <em>port</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="classModule.html">Module</a> * </td>
+ <td class="mdname" nowrap> <em>iomod</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">) </td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
<a class="anchor" name="ClearStack_28_29"></a><!-- doxytag: member="ServerConfig::ClearStack" ref="ClearStack_28_29" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<td>
<p>
+Clears the include stack in preperation for a <a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read()</a> call.
+<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00734">ConfigReader::ConfigReader()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00735">ConfigReader::ConfigReader()</a>. </td>
</tr>
</table>
<a class="anchor" name="ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29"></a><!-- doxytag: member="ServerConfig::ConfProcess" ref="ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29" args="(char *buffer, long linenumber, std::stringstream *errorstream, bool &error, std::string filename)" --><p>
</td>
<td>
+<p>
+This private method processes one line of configutation, appending errors to errorstream and setting error if an error has occured.
<p>
</td>
</tr>
<p>
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00144">userrec::HasPermission()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00165">userrec::HasPermission()</a>. </td>
</tr>
</table>
<a class="anchor" name="ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29"></a><!-- doxytag: member="ServerConfig::ConfValueEnum" ref="ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29" args="(char *tag, std::stringstream *config)" --><p>
</td>
<td>
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="DelIOHook_28int_20port_29"></a><!-- doxytag: member="ServerConfig::DelIOHook" ref="DelIOHook_28int_20port_29" args="(int port)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">bool ServerConfig::DelIOHook </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">int </td>
+ <td class="mdname1" valign="top" nowrap> <em>port</em> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
<p>
</td>
</tr>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00866">ConfigReader::Enumerate()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00867">ConfigReader::Enumerate()</a>. </td>
</tr>
</table>
<a class="anchor" name="EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29"></a><!-- doxytag: member="ServerConfig::EnumValues" ref="EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29" args="(std::stringstream *config, const char *tag, int index)" --><p>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00871">ConfigReader::EnumerateValues()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00872">ConfigReader::EnumerateValues()</a>. </td>
</tr>
</table>
<a class="anchor" name="fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29"></a><!-- doxytag: member="ServerConfig::fgets_safe" ref="fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29" args="(char *buffer, size_t maxsize, FILE *&file)" --><p>
<td>
<p>
+Used by the config file subsystem to safely read a C-style string without dependency upon any certain style of linefeed, e.g.
+<p>
+it can read both windows and UNIX style linefeeds transparently. </td>
+ </tr>
+</table>
+<a class="anchor" name="GetIOHook_28int_20port_29"></a><!-- doxytag: member="ServerConfig::GetIOHook" ref="GetIOHook_28int_20port_29" args="(int port)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="classModule.html">Module</a>* ServerConfig::GetIOHook </td>
+ <td class="md" valign="top">( </td>
+ <td class="md" nowrap valign="top">int </td>
+ <td class="mdname1" valign="top" nowrap> <em>port</em> </td>
+ <td class="md" valign="top"> ) </td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
</td>
</tr>
</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, and <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>. </td>
+ </tr>
+</table>
<a class="anchor" name="LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29"></a><!-- doxytag: member="ServerConfig::LoadConf" ref="LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29" args="(const char *filename, std::stringstream *target, std::stringstream *errorstream)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00734">ConfigReader::ConfigReader()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00735">ConfigReader::ConfigReader()</a>. </td>
</tr>
</table>
<a class="anchor" name="Read_28bool_20bail_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="ServerConfig::Read" ref="Read_28bool_20bail_2C_20userrec_20_2Auser_29" args="(bool bail, userrec *user)" --><p>
<td>
<p>
-
+Read the entire configuration into memory and initialize this class.
+<p>
+All other methods should be used only by the core.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00326">Server::RehashServer()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00317">Server::RehashServer()</a>. </td>
</tr>
</table>
<a class="anchor" name="ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29"></a><!-- doxytag: member="ServerConfig::ReadConf" ref="ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29" args="(std::stringstream *config_f, const char *tag, const char *var, int index, char *result)" --><p>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00780">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00797">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00764">ConfigReader::ReadValue()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00781">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00798">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00765">ConfigReader::ReadValue()</a>. </td>
</tr>
</table>
<hr><h2>Member Data Documentation</h2>
<td>
<p>
+A list of IP addresses the server is listening on.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00070">70</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00217">217</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="AdminEmail_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::AdminEmail" ref="AdminEmail_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+Holds the email address of the admin, for output in the /ADMIN command.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00046">46</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00090">90</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00548">Server::GetAdmin()</a>. </td>
</tr>
</table>
<a class="anchor" name="AdminName_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::AdminName" ref="AdminName_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+Holds the admin's name, for output in the /ADMIN command.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00045">45</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00085">85</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00548">Server::GetAdmin()</a>. </td>
</tr>
</table>
<a class="anchor" name="AdminNick_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::AdminNick" ref="AdminNick_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+Holds the admin's nickname, for output in the /ADMIN command.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00047">47</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00095">95</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00548">Server::GetAdmin()</a>. </td>
</tr>
</table>
<a class="anchor" name="AllowHalfop"></a><!-- doxytag: member="ServerConfig::AllowHalfop" ref="AllowHalfop" args="" --><p>
<td>
<p>
+If this value is true, halfops have been enabled in the configuration file.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00061">61</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00172">172</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="Classes"></a><!-- doxytag: member="ServerConfig::Classes" ref="Classes" args="" --><p>
<td>
<p>
+The connect classes in use by the IRC server.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00075">75</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00243">243</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>. </td>
</tr>
</table>
<a class="anchor" name="config_5Ff"></a><!-- doxytag: member="ServerConfig::config_f" ref="config_5Ff" args="" --><p>
<td>
<p>
-
+The parsed configuration file as a stringstream.
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00074">74</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+You should pass this to any configuration methods of this class, and not access it directly. It is recommended that modules use <a class="el" href="classConfigReader.html">ConfigReader</a> instead which provides a simpler abstraction of configuration files.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00144">userrec::HasPermission()</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00239">239</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="users_8cpp-source.html#l00165">userrec::HasPermission()</a>. </td>
</tr>
</table>
<a class="anchor" name="debugging"></a><!-- doxytag: member="ServerConfig::debugging" ref="debugging" args="" --><p>
<td>
<p>
+True if the DEBUG loglevel is selected.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00067">67</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00203">203</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="DieDelay"></a><!-- doxytag: member="ServerConfig::DieDelay" ref="DieDelay" args="" --><p>
<td>
<p>
+How many seconds to wait before exiting the program when /DIE is correctly issued.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00069">69</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00212">212</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="diepass_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::diepass" ref="diepass_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+The admin-configured /DIE password.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00048">48</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00099">99</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="DieValue_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::DieValue" ref="DieValue_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+The last string found within a <die> tag, or an empty string.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00053">53</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00122">122</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="DisabledCommands_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::DisabledCommands" ref="DisabledCommands_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+This variable contains a space-seperated list of commands which are disabled by the administrator of the server for non-opers.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00055">55</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00132">132</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="dns_5Ftimeout"></a><!-- doxytag: member="ServerConfig::dns_timeout" ref="dns_5Ftimeout" args="" --><p>
<td>
<p>
+The number of seconds the <a class="el" href="classDNS.html">DNS</a> subsystem will wait before timing out any request.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00062">62</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00177">177</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>. </td>
</tr>
</table>
<a class="anchor" name="DNSServer_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::DNSServer" ref="DNSServer_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+The <a class="el" href="classDNS.html">DNS</a> server to use for <a class="el" href="classDNS.html">DNS</a> queries.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00054">54</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00126">126</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="include_5Fstack"></a><!-- doxytag: member="ServerConfig::include_stack" ref="include_5Fstack" args="" --><p>
<td>
<p>
+This variable holds the names of all files included from the main one.
+<p>
+This is used to make sure that no files are recursively included.
+<p>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00048">48</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="IOHookModule"></a><!-- doxytag: member="ServerConfig::IOHookModule" ref="IOHookModule" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">std::map<int,<a class="el" href="classModule.html">Module</a>*> <a class="el" href="classServerConfig.html#IOHookModule">ServerConfig::IOHookModule</a> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+
+ </td>
+ <td>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00037">37</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+A list of ports claimed by IO Modules.
+<p>
+
+<p>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00256">256</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="log_5Ffile"></a><!-- doxytag: member="ServerConfig::log_file" ref="log_5Ffile" args="" --><p>
<td>
<p>
-
+The file handle of the logfile.
+<p>
+If this value is NULL, the log file is not open, probably due to a permissions error on startup (this should not happen in normal operation!).
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00058">58</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00152">152</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="LogLevel"></a><!-- doxytag: member="ServerConfig::LogLevel" ref="LogLevel" args="" --><p>
<td>
<p>
+The loglevel in use by the IRC server.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00068">68</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00207">207</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="MaxConn"></a><!-- doxytag: member="ServerConfig::MaxConn" ref="MaxConn" args="" --><p>
<td>
<p>
+The value to be used for listen() backlogs as default.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00064">64</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00188">188</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="MaxWhoResults"></a><!-- doxytag: member="ServerConfig::MaxWhoResults" ref="MaxWhoResults" args="" --><p>
<td>
<p>
+The maximum number of /WHO results allowed in any single /WHO command.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00066">66</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00199">199</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="ModPath_5B_31_30_32_34_5D"></a><!-- doxytag: member="ServerConfig::ModPath" ref="ModPath_5B_31_30_32_34_5D" args="[1024]" --><p>
<td>
<p>
-
+The full path to the modules directory.
+<p>
+This is either set at compile time, or overridden in the configuration file via the <options> tag.
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00056">56</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00139">139</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="module_5Fnames"></a><!-- doxytag: member="ServerConfig::module_names" ref="module_5Fnames" args="" --><p>
<td>
<p>
+A list of module names (names only, no paths) which are currently loaded by the server.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00076">76</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00248">248</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00722">Server::FindModule()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00723">Server::FindModule()</a>. </td>
</tr>
</table>
<a class="anchor" name="MOTD"></a><!-- doxytag: member="ServerConfig::MOTD" ref="MOTD" args="" --><p>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"><a class="el" href="modules_8h.html#file_5Fcache">file_cache</a> <a class="el" href="classServerConfig.html#MOTD">ServerConfig::MOTD</a> </td>
+ <td class="md" nowrap valign="top"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> <a class="el" href="classServerConfig.html#MOTD">ServerConfig::MOTD</a> </td>
</tr>
</table>
</td>
<td>
<p>
+The MOTD file, cached in a file_cache type.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00071">71</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00221">221</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="motd_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::motd" ref="motd_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+The pathname and filename of the message of the day file, as defined by the administrator.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00050">50</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00108">108</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="MyExecutable_5B_31_30_32_34_5D"></a><!-- doxytag: member="ServerConfig::MyExecutable" ref="MyExecutable_5B_31_30_32_34_5D" args="[1024]" --><p>
<td>
<p>
+The full pathname to the executable, as given in argv[0] when the program starts.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00057">57</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00144">144</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="NetBufferSize"></a><!-- doxytag: member="ServerConfig::NetBufferSize" ref="NetBufferSize" args="" --><p>
<td>
<p>
+The size of the read() buffer in the user handling code, used to read data into a user's recvQ.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00063">63</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00183">183</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="Network_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::Network" ref="Network_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00043">43</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00075">75</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00538">Server::GetNetworkName()</a>. </td>
</tr>
</table>
<a class="anchor" name="nofork"></a><!-- doxytag: member="ServerConfig::nofork" ref="nofork" args="" --><p>
<td>
<p>
+If this value is true, the owner of the server specified -nofork on the command line, causing the daemon to stay in the foreground.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00059">59</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00159">159</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="PID_5B_31_30_32_34_5D"></a><!-- doxytag: member="ServerConfig::PID" ref="PID_5B_31_30_32_34_5D" args="[1024]" --><p>
<td>
<p>
+The full pathname and filename of the PID file as defined in the configuration.
+<p>
+
+<p>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00230">230</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="ports_5B_32_35_35_5D"></a><!-- doxytag: member="ServerConfig::ports" ref="ports_5B_32_35_35_5D" args="[255]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int <a class="el" href="classServerConfig.html#ports_5B_32_35_35_5D">ServerConfig::ports</a>[255] </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+
+ </td>
+ <td>
+
+<p>
+A list of ports which the server is listening on.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00073">73</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00252">252</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="PrefixQuit_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::PrefixQuit" ref="PrefixQuit_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+The quit prefix in use, or an empty string.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00052">52</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00117">117</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="restartpass_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::restartpass" ref="restartpass_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+The admin-configured /RESTART password.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00049">49</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00103">103</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="RULES"></a><!-- doxytag: member="ServerConfig::RULES" ref="RULES" args="" --><p>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
- <td class="md" nowrap valign="top"><a class="el" href="modules_8h.html#file_5Fcache">file_cache</a> <a class="el" href="classServerConfig.html#RULES">ServerConfig::RULES</a> </td>
+ <td class="md" nowrap valign="top"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> <a class="el" href="classServerConfig.html#RULES">ServerConfig::RULES</a> </td>
</tr>
</table>
</td>
<td>
<p>
+The RULES file, cached in a file_cache type.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00072">72</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00225">225</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="rules_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::rules" ref="rules_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+The pathname and filename of the rules file, as defined by the administrator.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00051">51</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00113">113</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<a class="anchor" name="ServerDesc_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::ServerDesc" ref="ServerDesc_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+Holds the description of the local server as defined by the administrator.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00044">44</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00080">80</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00543">Server::GetServerDescription()</a>. </td>
</tr>
</table>
<a class="anchor" name="ServerName_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::ServerName" ref="ServerName_5BMAXBUF_5D" args="[MAXBUF]" --><p>
<td>
<p>
+Holds the server name of the local server as defined by the administrator.
+<p>
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00042">42</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00069">69</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00036">userrec::userrec()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="modules_8cpp-source.html#l00533">Server::GetServerName()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
</tr>
</table>
<a class="anchor" name="SoftLimit"></a><!-- doxytag: member="ServerConfig::SoftLimit" ref="SoftLimit" args="" --><p>
<td>
<p>
-
+The soft limit value assigned to the irc server.
+<p>
+The IRC server will not allow more than this number of local users.
+<p>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00194">194</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00065">65</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>. </td>
</tr>
</table>
<a class="anchor" name="unlimitcore"></a><!-- doxytag: member="ServerConfig::unlimitcore" ref="unlimitcore" args="" --><p>
<td>
<p>
-
+If this value is true, the owner of the server has chosen to unlimit the coredump size to as large a value as his account settings will allow.
+<p>
+This is often used when debugging.
<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00060">60</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
+Definition at line <a class="el" href="inspircd__io_8h-source.html#l00167">167</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 14:49:34 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>