X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Finspircd.h;h=db30ca7cbd700c616df51e54e1d24617bf12a936;hb=6b43da7511ca875b64e58b84f72dd89485c0e7fd;hp=fd2255046cf1bb94dab3126f2011c5b623b3ca25;hpb=1383dba43e463f292aea094d01f62f355946049d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/inspircd.h b/include/inspircd.h index fd2255046..db30ca7cb 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -54,22 +54,14 @@ #define MAXSOCKS 64 #define MAXCOMMAND 32 -/* -flags for use with WriteMode +// crucial defines +#define ETIREDGERBILS EAGAIN -#define WM_AND 1 -#define WM_OR 2 - -flags for use with OnUserPreMessage and OnUserPreNotice - -#define TYPE_USER 1 -#define TYPE_CHANNEL 2 -#define TYPE_SERVER 3 - -#define IS_LOCAL(x) (x->fd > -1) -#define IS_REMOTE(x) (x->fd < 0) -#define IS_MODULE_CREATED(x) (x->fd == FD_MAGIC_NUMBER) -*/ +// This define is used in place of strcmp when we +// want to check if a char* string contains only one +// letter. Pretty fast, its just two compares and an +// addition. +#define IS_SINGLE(x,y) ( (*x == y) && (*(x+1) == 0) ) class serverstats { @@ -105,6 +97,7 @@ class InspIRCd void erase_module(int j); void BuildISupport(); void MoveTo(std::string modulename,int slot); + bool expire_run; public: time_t startup_time; @@ -121,7 +114,10 @@ class InspIRCd bool UnloadModule(const char* filename); void MoveToLast(std::string modulename); void MoveToFirst(std::string modulename); + void MoveAfter(std::string modulename, std::string after); + void MoveBefore(std::string modulename, std::string before); InspIRCd(int argc, char** argv); + void DoOneIteration(bool process_module_sockets); int Run(); }; @@ -129,5 +125,6 @@ class InspIRCd /* userrec optimization stuff */ void AddServerName(std::string servername); const char* FindServerNamePtr(std::string servername); +bool FindServerName(std::string servername); #endif