]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd.h
extern time_t TIME -> InspIRCd::Time()
[user/henk/code/inspircd.git] / include / inspircd.h
index b2ed4da20240900a3fca00357fa54f8c71067f96..3e30293107c4587ed799fc42f36d8b6004cb9a8d 100644 (file)
@@ -102,6 +102,16 @@ class InspIRCd : public classbase
        void DoSocketTimeouts(time_t TIME);
        void DoBackgroundUserStuff(time_t TIME);
 
+       bool AllModulesReportReady(userrec* user);
+
+       int ModCount;
+       char LogFileName[MAXBUF];
+
+       featurelist Features;
+
+       time_t TIME;
+       time_t OLDTIME;
+
  public:
        time_t startup_time;
        ModeParser* ModeGrok;
@@ -115,8 +125,23 @@ class InspIRCd : public classbase
        user_hash clientlist;
        chan_hash chanlist;
        std::vector<userrec*> local_users;
+       std::vector<userrec*> all_opers;
        DNS* Res;
        TimerManager* Timers;
+       command_table cmdlist;
+
+       ModuleList modules;
+       FactoryList factory;
+
+       time_t Time();
+
+       int GetModuleCount();
+
+       Module* FindModule(const std::string &name);
+
+       int BindPorts(bool bail);
+       bool HasPort(int port, char* addr);
+       bool BindSocket(int sockfd, insp_sockaddr client, insp_sockaddr server, int port, char* addr);
 
        void AddServerName(const std::string &servername);
        const char* FindServerNamePtr(const std::string &servername);
@@ -133,6 +158,11 @@ class InspIRCd : public classbase
        chanrec* FindChan(const std::string &chan);
        chanrec* FindChan(const char* chan);
 
+       void LoadAllModules();
+       void CheckDie();
+       void CheckRoot();
+       void OpenLog(char** argv, int argc);
+
        bool UserToPseudo(userrec* user, const std::string &message);
        bool PseudoToUser(userrec* alive, userrec* zombie, const std::string &message);
 
@@ -140,6 +170,12 @@ class InspIRCd : public classbase
        void ServerPrivmsgAll(char* text, ...);
        void WriteMode(const char* modes, int flags, const char* text, ...);
 
+       bool IsChannel(const char *chname);
+
+       static void Error(int status);
+       static void Rehash(int status);
+       static void Exit(int status);
+
        int usercnt();
        int registered_usercount();
        int usercount_invisible();
@@ -212,6 +248,64 @@ class InspIRCd : public classbase
        bool IsNick(const char* n);
        bool IsIdent(const char* n);
 
+        userrec* FindDescriptor(int socket);
+
+        bool AddMode(ModeHandler* mh, const unsigned char modechar);
+
+        bool AddModeWatcher(ModeWatcher* mw);
+
+        bool DelModeWatcher(ModeWatcher* mw);
+
+        bool AddResolver(Resolver* r);
+
+        void AddCommand(command_t *f);
+
+        void SendMode(const char **parameters, int pcnt, userrec *user);
+
+        bool MatchText(const std::string &sliteral, const std::string &spattern);
+
+        bool CallCommandHandler(const std::string &commandname, const char** parameters, int pcnt, userrec* user);
+
+        bool IsValidModuleCommand(const std::string &commandname, int pcnt, userrec* user);
+
+        bool IsUlined(const std::string &server);
+
+        void AddGLine(long duration, const std::string &source, const std::string &reason, const std::string &hostmask);
+
+        void AddQLine(long duration, const std::string &source, const std::string &reason, const std::string &nickname);
+
+        void AddZLine(long duration, const std::string &source, const std::string &reason, const std::string &ipaddr);
+
+        void AddKLine(long duration, const std::string &source, const std::string &reason, const std::string &hostmask);
+
+        void AddELine(long duration, const std::string &source, const std::string &reason, const std::string &hostmask);
+
+        bool DelGLine(const std::string &hostmask);
+
+        bool DelQLine(const std::string &nickname);
+
+        bool DelZLine(const std::string &ipaddr);
+
+        bool DelKLine(const std::string &hostmask);
+
+        bool DelELine(const std::string &hostmask);
+
+        long CalcDuration(const std::string &duration);
+
+        bool IsValidMask(const std::string &mask);
+
+        void AddSocket(InspSocket* sock);
+
+        void RemoveSocket(InspSocket* sock);
+
+        void DelSocket(InspSocket* sock);
+
+        void RehashServer();
+
+        chanrec* GetChannelIndex(long index);
+
+        void DumpText(userrec* User, const std::string &LinePrefix, stringstream &TextStream);
+
        std::string GetRevision();
        std::string GetVersionString();
        void WritePID(const std::string &filename);
@@ -225,7 +319,4 @@ class InspIRCd : public classbase
        int Run();
 };
 
-/* Miscellaneous stuff here, moved from inspircd_io.h */
-void Exit(int status);
-
 #endif