]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/configreader.h
Change std::pair<bool,std::string> to neater typedef "ModePair"
[user/henk/code/inspircd.git] / include / configreader.h
index 63836056a077aee5de56b77fba6fb46f8265885c..c6775bc298e3983e094f2abb96f8310b754aadc7 100644 (file)
@@ -5,7 +5,7 @@
  *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
  *                       E-mail:
  *                <brain@chatspike.net>
- *               <Craig@chatspike.net>
+ *                <Craig@chatspike.net>
  *                <omster@gmail.com>
  *     
  * Written by Craig Edwards, Craig McLure, and others.
@@ -32,7 +32,8 @@ typedef bool (*MultiNotify)(const char*);
 
 enum ConfigDataType { DT_NOTHING, DT_INTEGER, DT_CHARPTR, DT_BOOLEAN };
 
-struct InitialConfig {
+struct InitialConfig
+{
        char* tag;
        char* value;
        void* val;
@@ -40,7 +41,8 @@ struct InitialConfig {
        Validator validation_function;
 };
 
-struct MultiConfig {
+struct MultiConfig
+{
        const char* tag;
        char* items[12];
        int datatype[12];
@@ -54,7 +56,7 @@ struct MultiConfig {
  * and storage of the configuration data needed to run the ircd, such as
  * the servername, connect classes, /ADMIN data, MOTDs and filenames etc.
  */
-class ServerConfig : public classbase
+class ServerConfig : public Extensible
 {
   private:
        /** This variable holds the names of all
@@ -214,18 +216,18 @@ class ServerConfig : public classbase
         * handling code, used to read data into a user's
         * recvQ.
         */
-        int NetBufferSize;
+       int NetBufferSize;
 
        /** The value to be used for listen() backlogs
         * as default.
         */
-        int MaxConn;
+       int MaxConn;
 
        /** The soft limit value assigned to the irc server.
         * The IRC server will not allow more than this
         * number of local users.
         */
-        unsigned int SoftLimit;
+       unsigned int SoftLimit;
 
        /** Maximum number of targets for a multi target command
         * such as PRIVMSG or KICK
@@ -235,20 +237,20 @@ class ServerConfig : public classbase
        /** The maximum number of /WHO results allowed
         * in any single /WHO command.
         */
-        int MaxWhoResults;
+       int MaxWhoResults;
 
        /** True if the DEBUG loglevel is selected.
         */
-        int debugging;
+       int debugging;
 
        /** The loglevel in use by the IRC server
         */
-        int LogLevel;
+       int LogLevel;
 
        /** How many seconds to wait before exiting
         * the program when /DIE is correctly issued.
         */
-        int DieDelay;
+       int DieDelay;
 
        /** True if we're going to hide netsplits as *.net *.split for non-opers
         */
@@ -271,7 +273,7 @@ class ServerConfig : public classbase
        /** A list of IP addresses the server is listening
         * on.
         */
-        char addrs[MAXBUF][255];
+       char addrs[MAXBUF][255];
 
        /** The MOTD file, cached in a file_cache type.
         */
@@ -299,6 +301,10 @@ class ServerConfig : public classbase
         */
        int ports[255];
 
+       /** A list of the file descriptors for the listening client ports
+        */
+       int openSockfd[MAX_DESCRIPTORS];
+
        /** Boolean sets of which modules implement which functions
         */
        char implement_lists[255][255];
@@ -338,6 +344,10 @@ class ServerConfig : public classbase
         */
        std::map<std::string,int> maxbans;
 
+       /** If set to true, no user DNS lookups are to be performed
+        */
+       bool NoUserDns;
+
        ServerConfig();
 
        /** Clears the include stack in preperation for
@@ -384,4 +394,6 @@ class ServerConfig : public classbase
        bool DelIOHook(int port);
 };
 
+bool InitializeDisabledCommands(const char* data, InspIRCd* ServerInstance);
+
 #endif