]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd_io.h
Changed from std::map to hash_map
[user/henk/code/inspircd.git] / include / inspircd_io.h
index 58c018c258733fb43f06e620fc41e10eeb0b673f..5319f8c59e26deba15ca853100b1d81d0b9ea88c 100644 (file)
@@ -22,6 +22,7 @@
 #include <vector>
 #include "inspircd.h"
 #include "globals.h"
+#include "modules.h"
 
 /** Flags for use with log()
  */
@@ -246,6 +247,22 @@ class ServerConfig : public classbase
         */
        std::vector<std::string> module_names;
 
+       /** A list of ports which the server is listening on
+        */
+       int ports[255];
+
+       /** Boolean sets of which modules implement which functions
+        */
+       char implement_lists[255][255];
+
+       /** Global implementation list
+        */
+       char global_implementation[255];
+
+       /** A list of ports claimed by IO Modules
+        */
+       std::map<int,Module*> IOHookModule;
+
        ServerConfig();
 
        /** Clears the include stack in preperation for
@@ -265,6 +282,9 @@ class ServerConfig : public classbase
        int ConfValueEnum(char* tag,std::stringstream *config);
        int EnumConf(std::stringstream *config_f,const char* tag);
        int EnumValues(std::stringstream *config, const char* tag, int index);
+       Module* GetIOHook(int port);
+       bool AddIOHook(int port, Module* iomod);
+       bool DelIOHook(int port);
 };