From: brain Date: Mon, 19 Dec 2005 18:32:09 +0000 (+0000) Subject: Design flaw my ass. X-Git-Tag: v2.0.23~9494 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=f62de63955ff77e800360eb140f108b5d2c6c075;p=user%2Fhenk%2Fcode%2Finspircd.git Design flaw my ass. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2580 e03df62e-2008-0410-955e-edbf42e46eb7 --- diff --git a/docs/module-doc/aes_8h-source.html b/docs/module-doc/aes_8h-source.html deleted file mode 100644 index df4455eef..000000000 --- a/docs/module-doc/aes_8h-source.html +++ /dev/null @@ -1,142 +0,0 @@ - - -InspIRCd: aes.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

aes.h

Go to the documentation of this file.
00001 #ifndef __AES_H__
-00002 #define __AES_H__
-00003 
-00004 #include <cstring>
-00005 
-00006 using namespace std;
-00007 
-00010 class AES
-00011 {
-00012 public:
-00013         enum { ECB=0, CBC=1, CFB=2 };
-00014 
-00015 private:
-00016         enum { DEFAULT_BLOCK_SIZE=16 };
-00017         enum { MAX_BLOCK_SIZE=32, MAX_ROUNDS=14, MAX_KC=8, MAX_BC=8 };
-00018 
-00019         static int Mul(int a, int b)
-00020         {
-00021                 return (a != 0 && b != 0) ? sm_alog[(sm_log[a & 0xFF] + sm_log[b & 0xFF]) % 255] : 0;
-00022         }
-00023 
-00026         static int Mul4(int a, char b[])
-00027         {
-00028                 if(a == 0)
-00029                         return 0;
-00030                 a = sm_log[a & 0xFF];
-00031                 int a0 = (b[0] != 0) ? sm_alog[(a + sm_log[b[0] & 0xFF]) % 255] & 0xFF : 0;
-00032                 int a1 = (b[1] != 0) ? sm_alog[(a + sm_log[b[1] & 0xFF]) % 255] & 0xFF : 0;
-00033                 int a2 = (b[2] != 0) ? sm_alog[(a + sm_log[b[2] & 0xFF]) % 255] & 0xFF : 0;
-00034                 int a3 = (b[3] != 0) ? sm_alog[(a + sm_log[b[3] & 0xFF]) % 255] & 0xFF : 0;
-00035                 return a0 << 24 | a1 << 16 | a2 << 8 | a3;
-00036         }
-00037 
-00038 public:
-00039         AES();
-00040 
-00041         virtual ~AES();
-00042 
-00050         void MakeKey(char const* key, char const* chain, int keylength=DEFAULT_BLOCK_SIZE, int blockSize=DEFAULT_BLOCK_SIZE);
-00051 
-00052 private:
-00055         void Xor(char* buff, char const* chain)
-00056         {
-00057                 if(false==m_bKeyInit)
-00058                         return;
-00059                 for(int i=0; i<m_blockSize; i++)
-00060                         *(buff++) ^= *(chain++);        
-00061         }
-00062 
-00067         void DefEncryptBlock(char const* in, char* result);
-00068 
-00073         void DefDecryptBlock(char const* in, char* result);
-00074 
-00075 public:
-00080         void EncryptBlock(char const* in, char* result);
-00081         
-00086         void DecryptBlock(char const* in, char* result);
-00087 
-00094         void Encrypt(char const* in, char* result, size_t n, int iMode=ECB);
-00095         
-00102         void Decrypt(char const* in, char* result, size_t n, int iMode=ECB);
-00103 
-00106         int GetKeyLength()
-00107         {
-00108                 if(false==m_bKeyInit)
-00109                         return 0;
-00110                 return m_keylength;
-00111         }
-00112 
-00115         int GetBlockSize()
-00116         {
-00117                 if(false==m_bKeyInit)
-00118                         return 0;
-00119                 return m_blockSize;
-00120         }
-00121         
-00124         int GetRounds()
-00125         {
-00126                 if(false==m_bKeyInit)
-00127                         return 0;
-00128                 return m_iROUNDS;
-00129         }
-00130 
-00133         void ResetChain()
-00134         {
-00135                 memcpy(m_chain, m_chain0, m_blockSize);
-00136         }
-00137 
-00138 public:
-00141         static char const* sm_chain0;
-00142 
-00143 private:
-00144         static const int sm_alog[256];
-00145         static const int sm_log[256];
-00146         static const char sm_S[256];
-00147         static const char sm_Si[256];
-00148         static const int sm_T1[256];
-00149         static const int sm_T2[256];
-00150         static const int sm_T3[256];
-00151         static const int sm_T4[256];
-00152         static const int sm_T5[256];
-00153         static const int sm_T6[256];
-00154         static const int sm_T7[256];
-00155         static const int sm_T8[256];
-00156         static const int sm_U1[256];
-00157         static const int sm_U2[256];
-00158         static const int sm_U3[256];
-00159         static const int sm_U4[256];
-00160         static const char sm_rcon[30];
-00161         static const int sm_shifts[3][4][2];
-00164         bool m_bKeyInit;
-00167         int m_Ke[MAX_ROUNDS+1][MAX_BC];
-00170         int m_Kd[MAX_ROUNDS+1][MAX_BC];
-00173         int m_keylength;
-00176         int     m_blockSize;
-00179         int m_iROUNDS;
-00182         char m_chain0[MAX_BLOCK_SIZE];
-00183         char m_chain[MAX_BLOCK_SIZE];
-00186         int tk[MAX_KC];
-00187         int a[MAX_BC];
-00188         int t[MAX_BC];
-00189 };
-00190 
-00191 #endif
-00192 
-00199 void to64frombits(unsigned char *out, const unsigned char *in, int inlen);
-00206 int from64tobits(char *out, const char *in, int maxlen);
-00207 
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/aes_8h.html b/docs/module-doc/aes_8h.html deleted file mode 100644 index 4bf1fc7ea..000000000 --- a/docs/module-doc/aes_8h.html +++ /dev/null @@ -1,133 +0,0 @@ - - -InspIRCd: aes.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

aes.h File Reference

#include <cstring>
- -

-Include dependency graph for aes.h:

- -

-Go to the source code of this file. - - - - - - - - - - - - -

Classes

class  AES
 The AES class is a utility class for use in modules and the core for encryption of data. More...

Functions

void to64frombits (unsigned char *out, const unsigned char *in, int inlen)
 Convert from binary to base64.
int from64tobits (char *out, const char *in, int maxlen)
 Convert from base64 to binary Output Input Size of output buffer.
-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int from64tobits char *  out,
const char *  in,
int  maxlen
-
- - - - - -
-   - - -

-Convert from base64 to binary Output Input Size of output buffer. -

-

Returns:
Number of bytes actually converted
-
-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void to64frombits unsigned char *  out,
const unsigned char *  in,
int  inlen
-
- - - - - -
-   - - -

-Convert from binary to base64. -

-

Parameters:
- - - - -
out Output
in Input
inlen Number of bytes in input buffer
-
-
-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/aes_8h__incl.map b/docs/module-doc/aes_8h__incl.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/aes_8h__incl.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/aes_8h__incl.md5 b/docs/module-doc/aes_8h__incl.md5 deleted file mode 100644 index 763f9a789..000000000 --- a/docs/module-doc/aes_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -757d940097e33843502a3704b6517705 \ No newline at end of file diff --git a/docs/module-doc/annotated.html b/docs/module-doc/annotated.html deleted file mode 100644 index bbafcd5b2..000000000 --- a/docs/module-doc/annotated.html +++ /dev/null @@ -1,65 +0,0 @@ - - -InspIRCd: Class List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Class List

Here are the classes, structs, unions and interfaces with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AdminHolds /ADMIN data This class contains the admin details of the local server
AESUtility class for use in modules and the core for encryption of data
BanItemA subclass of HostItem designed to hold channel bans (+b)
BoolSetBoolSet is a utility class designed to hold eight bools in a bitmask
chanrecHolds all relevent information for a channel
char_traits
classbaseThe base class for all inspircd classes
cmd_mode
command_tA structure that defines a command
ConfigReaderAllows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file
ConnectClassHolds information relevent to <connect allow> and <connect deny> tags in the config file
connectionPlease note: classes serverrec and userrec both inherit from class connection
CullItemHolds a user and their quitmessage, and is used internally by the CullList class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed
CullListCan be used by modules, and is used by the core, to compile large lists of users in preperation to quitting them all at once
DNSAllows fast nonblocking resolution of hostnames and ip addresses
dns_ip4list
ELine
EventUnicast message directed at all modules
ExemptItemA subclass of HostItem designed to hold channel exempts (+e)
ExtensibleClass Extensible is the parent class of many classes such as userrec and chanrec
ExtModeHolds an extended mode's details
FileReaderCaches a text file into memory and can be used to retrieve lines from it
GLineGLine class
nspace::hash< in_addr >
nspace::hash< string >
HostItemHolds an entry for a ban list, exemption list, or invite list
irc::InAddr_HashCompThis class returns true if two in_addr structs match
InspIRCd
InspSocketInspSocket is an extendable socket class which modules can use for TCP socket support
InvitedHolds a channel name to which a user has been invited
InviteItemA subclass of HostItem designed to hold channel invites (+I)
irc::irc_char_traitsThe irc_char_traits class is used for RFC-style comparison of strings
KLineKLine class
ModeParameterHolds a custom parameter to a module-defined channel mode e.g
ModeParser
ModuleBase class for all InspIRCd modules This class is the base class for InspIRCd modules
ModuleFactoryInstantiates classes inherited from Module This class creates a class inherited from type Module, using new
ModuleMessageBase class of Request and Event This class is used to represent a basic data structure which is passed between modules for safe inter-module communications
QLineQLine class
RequestUnicast message directed at a given module
ServerAllows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers
ServerConfigThis class holds the bulk of the runtime configuration for the ircd
serverstats
SocketEngineThe actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin
irc::StrHashCompThis class returns true if two strings match
ucrecHolds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class
userrecHolds all information about a user This class stores all information about a user connected to the irc server
VersionHolds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module
WhoWasUserA lightweight userrec used by WHOWAS
XLineXLine is the base class for ban lines such as G lines and K lines
ZLineZLine class
-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/base_8h-source.html b/docs/module-doc/base_8h-source.html deleted file mode 100644 index 36081deda..000000000 --- a/docs/module-doc/base_8h-source.html +++ /dev/null @@ -1,95 +0,0 @@ - - -InspIRCd: base.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

base.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __BASE_H__ 
-00018 #define __BASE_H__ 
-00019 
-00020 #include "inspircd_config.h" 
-00021 #include <time.h>
-00022 #include <map>
-00023 #include <deque>
-00024 #include <string>
-00025 
-00026 typedef void* VoidPointer;
-00027  
-00030 class classbase
-00031 {
-00032  public:
-00035         time_t age;
-00036 
-00040         classbase() { age = time(NULL); }
-00041         ~classbase() { }
-00042 };
-00043 
-00051 class Extensible : public classbase
-00052 {
-00055         std::map<std::string,char*> Extension_Items;
-00056         
-00057 public:
-00058 
-00070         bool Extend(std::string key, char* p);
-00071 
-00081         bool Shrink(std::string key);
-00082         
-00089         char* GetExt(std::string key);
-00090 
-00097         void GetExtList(std::deque<std::string> &list);
-00098 };
-00099 
-00104 class BoolSet
-00105 {
-00106         char bits;
-00107 
-00108  public:
-00109 
-00112         BoolSet();
-00113 
-00116         BoolSet(char bitmask);
-00117 
-00122         void Set(int number);
-00123 
-00130         bool Get(int number);
-00131 
-00136         void Unset(int number);
-00137 
-00142         void Invert(int number);
-00143 
-00146         bool operator==(BoolSet other);
-00147 
-00150         BoolSet operator|(BoolSet other);
-00151         
-00154         BoolSet operator&(BoolSet other);
-00155 
-00158         bool operator=(BoolSet other);
-00159 };
-00160 
-00161 
-00162 #endif
-00163 
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/base_8h.html b/docs/module-doc/base_8h.html deleted file mode 100644 index 0f9bf0013..000000000 --- a/docs/module-doc/base_8h.html +++ /dev/null @@ -1,74 +0,0 @@ - - -InspIRCd: base.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

base.h File Reference

#include "inspircd_config.h"
-#include <time.h>
-#include <map>
-#include <deque>
-#include <string>
- -

-Include dependency graph for base.h:

- -

-This graph shows which files directly or indirectly include this file:

- - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - -

Classes

class  classbase
 The base class for all inspircd classes. More...
class  Extensible
 class Extensible is the parent class of many classes such as userrec and chanrec. More...
class  BoolSet
 BoolSet is a utility class designed to hold eight bools in a bitmask. More...

Typedefs

typedef void * VoidPointer
-


Typedef Documentation

-

- - - - -
- - - - -
typedef void* VoidPointer
-
- - - - - -
-   - - -

- -

-Definition at line 26 of file base.h.

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/base_8h__dep__incl.gif b/docs/module-doc/base_8h__dep__incl.gif deleted file mode 100644 index b13fbb74d..000000000 Binary files a/docs/module-doc/base_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/base_8h__dep__incl.map b/docs/module-doc/base_8h__dep__incl.map deleted file mode 100644 index f4ecb8aca..000000000 --- a/docs/module-doc/base_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $channels_8h-source.html 123,7 208,33 -rect $connection_8h-source.html 116,57 215,84 -rect $modules_8h-source.html 124,108 207,135 diff --git a/docs/module-doc/base_8h__dep__incl.md5 b/docs/module-doc/base_8h__dep__incl.md5 deleted file mode 100644 index ca5585f51..000000000 --- a/docs/module-doc/base_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ee5adf3802b7f876813a7157861bd8af \ No newline at end of file diff --git a/docs/module-doc/base_8h__incl.gif b/docs/module-doc/base_8h__incl.gif deleted file mode 100644 index 3f882f006..000000000 Binary files a/docs/module-doc/base_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/base_8h__incl.map b/docs/module-doc/base_8h__incl.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/base_8h__incl.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/base_8h__incl.md5 b/docs/module-doc/base_8h__incl.md5 deleted file mode 100644 index 008189a10..000000000 --- a/docs/module-doc/base_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6c8bdf0cad8e094c4c6082bc5e0b8386 \ No newline at end of file diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html deleted file mode 100644 index 41388ca5d..000000000 --- a/docs/module-doc/channels_8cpp-source.html +++ /dev/null @@ -1,559 +0,0 @@ - - -InspIRCd: channels.cpp Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

channels.cpp

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 using namespace std;
-00018 
-00019 #include "inspircd_config.h"
-00020 #include "inspircd.h"
-00021 #include "inspircd_io.h"
-00022 #include <unistd.h>
-00023 #include <sys/errno.h>
-00024 #include <sys/ioctl.h>
-00025 #include <sys/utsname.h>
-00026 #include <time.h>
-00027 #include <string>
-00028 #ifdef GCC3
-00029 #include <ext/hash_map>
-00030 #else
-00031 #include <hash_map>
-00032 #endif
-00033 #include <map>
-00034 #include <sstream>
-00035 #include <vector>
-00036 #include <deque>
-00037 #include "users.h"
-00038 #include "ctables.h"
-00039 #include "globals.h"
-00040 #include "modules.h"
-00041 #include "dynamic.h"
-00042 #include "commands.h"
-00043 #include "wildcard.h"
-00044 #include "message.h"
-00045 #include "mode.h"
-00046 #include "xline.h"
-00047 #include "inspstring.h"
-00048 #include "helperfuncs.h"
-00049 #include "typedefs.h"
-00050 
-00051 #ifdef GCC3
-00052 #define nspace __gnu_cxx
-00053 #else
-00054 #define nspace std
-00055 #endif
-00056 
-00057 extern ServerConfig* Config;
-00058 
-00059 extern int MODCOUNT;
-00060 extern std::vector<Module*> modules;
-00061 extern std::vector<ircd_module*> factory;
-00062 extern int WHOWAS_STALE;
-00063 extern int WHOWAS_MAX;
-00064 extern time_t TIME;
-00065 extern chan_hash chanlist;
-00066 
-00067 using namespace std;
-00068 
-00069 std::vector<ModeParameter> custom_mode_params;
-00070 
-00071 chanrec* ForceChan(chanrec* Ptr,ucrec &a,userrec* user, int created);
-00072 
-00073 chanrec::chanrec()
-00074 {
-00075         strcpy(name,"");
-00076         strcpy(custom_modes,"");
-00077         strcpy(topic,"");
-00078         strcpy(setby,"");
-00079         strcpy(key,"");
-00080         created = topicset = limit = 0;
-00081         binarymodes = 0;
-00082         internal_userlist.clear();
-00083 }
-00084 
-00085 void chanrec::SetCustomMode(char mode,bool mode_on)
-00086 {
-00087         if (mode_on) {
-00088                 static char m[3];
-00089                 m[0] = mode;
-00090                 m[1] = '\0';
-00091                 if (!strchr(this->custom_modes,mode))
-00092                 {
-00093                         strlcat(custom_modes,m,MAXMODES);
-00094                 }
-00095                 log(DEBUG,"Custom mode %c set",mode);
-00096         }
-00097         else {
-00098 
-00099                 std::string a = this->custom_modes;
-00100                 int pos = a.find(mode);
-00101                 a.erase(pos,1);
-00102                 strncpy(this->custom_modes,a.c_str(),MAXMODES);
-00103 
-00104                 log(DEBUG,"Custom mode %c removed: modelist='%s'",mode,this->custom_modes);
-00105                 this->SetCustomModeParam(mode,"",false);
-00106         }
-00107 }
-00108 
-00109 
-00110 void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on)
-00111 {
-00112 
-00113         log(DEBUG,"SetCustomModeParam called");
-00114         ModeParameter M;
-00115         M.mode = mode;
-00116         strlcpy(M.channel,this->name,CHANMAX);
-00117         strlcpy(M.parameter,parameter,MAXBUF);
-00118         if (mode_on)
-00119         {
-00120                 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter);
-00121                 custom_mode_params.push_back(M);
-00122         }
-00123         else
-00124         {
-00125                 if (custom_mode_params.size())
-00126                 {
-00127                         for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
-00128                         {
-00129                                 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
-00130                                 {
-00131                                         log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter);
-00132                                         custom_mode_params.erase(i);
-00133                                         return;
-00134                                 }
-00135                         }
-00136                 }
-00137                 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!");
-00138         }
-00139 }
-00140 
-00141 bool chanrec::IsCustomModeSet(char mode)
-00142 {
-00143         return (strchr(this->custom_modes,mode));
-00144 }
-00145 
-00146 std::string chanrec::GetModeParameter(char mode)
-00147 {
-00148         if (custom_mode_params.size())
-00149         {
-00150                 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
-00151                 {
-00152                         if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
-00153                         {
-00154                                 return i->parameter;
-00155                         }
-00156                 }
-00157         }
-00158         return "";
-00159 }
-00160 
-00161 long chanrec::GetUserCounter()
-00162 {
-00163         return (this->internal_userlist.size());
-00164 }
-00165 
-00166 void chanrec::AddUser(char* castuser)
-00167 {
-00168         internal_userlist.push_back(castuser);
-00169         log(DEBUG,"Added casted user to channel's internal list");
-00170 }
-00171 
-00172 void chanrec::DelUser(char* castuser)
-00173 {
-00174         for (std::vector<char*>::iterator a = internal_userlist.begin(); a < internal_userlist.end(); a++)
-00175         {
-00176                 if (*a == castuser)
-00177                 {
-00178                         log(DEBUG,"Removed casted user from channel's internal list");
-00179                         internal_userlist.erase(a);
-00180                         return;
-00181                 }
-00182         }
-00183         log(DEBUG,"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!",name);
-00184 }
-00185 
-00186 std::vector<char*> *chanrec::GetUsers()
-00187 {
-00188         return &internal_userlist;
-00189 }
-00190 
-00191 /* add a channel to a user, creating the record for it if needed and linking
-00192  * it to the user record */
-00193 
-00194 chanrec* add_channel(userrec *user, const char* cn, const char* key, bool override)
-00195 {
-00196         if ((!user) || (!cn))
-00197         {
-00198                 log(DEFAULT,"*** BUG *** add_channel was given an invalid parameter");
-00199                 return 0;
-00200         }
-00201 
-00202         int created = 0;
-00203         char cname[MAXBUF];
-00204         int MOD_RESULT = 0;
-00205         strncpy(cname,cn,CHANMAX);
-00206 
-00207         log(DEBUG,"add_channel: %s %s",user->nick,cname);
-00208 
-00209         chanrec* Ptr = FindChan(cname);
-00210 
-00211         if (!Ptr)
-00212         {
-00213                 if (user->fd > -1)
-00214                 {
-00215                         MOD_RESULT = 0;
-00216                         FOREACH_RESULT(OnUserPreJoin(user,NULL,cname));
-00217                         if (MOD_RESULT == 1)
-00218                                 return NULL;
-00219                 }
-00220                 /* create a new one */
-00221                 chanlist[cname] = new chanrec();
-00222                 strlcpy(chanlist[cname]->name, cname,CHANMAX);
-00223                 chanlist[cname]->binarymodes = CM_TOPICLOCK | CM_NOEXTERNAL;
-00224                 chanlist[cname]->created = TIME;
-00225                 strcpy(chanlist[cname]->topic, "");
-00226                 strncpy(chanlist[cname]->setby, user->nick,NICKMAX);
-00227                 chanlist[cname]->topicset = 0;
-00228                 Ptr = chanlist[cname];
-00229                 log(DEBUG,"add_channel: created: %s",cname);
-00230                 /* set created to 2 to indicate user
-00231                  * is the first in the channel
-00232                  * and should be given ops */
-00233                 created = 2;
-00234         }
-00235         else
-00236         {
-00237                 /* Already on the channel */
-00238                 if (has_channel(user,Ptr))
-00239                         return NULL;
-00240 
-00241                 // remote users are allowed us to bypass channel modes
-00242                 // and bans (used by servers)
-00243                 if (user->fd > -1)
-00244                 {
-00245                         MOD_RESULT = 0;
-00246                         FOREACH_RESULT(OnUserPreJoin(user,Ptr,cname));
-00247                         if (MOD_RESULT == 1)
-00248                         {
-00249                                 return NULL;
-00250                         }
-00251                         else
-00252                         {
-00253                                 if (*Ptr->key)
-00254                                 {
-00255                                         MOD_RESULT = 0;
-00256                                         FOREACH_RESULT(OnCheckKey(user, Ptr, key ? key : ""));
-00257                                         if (!MOD_RESULT)
-00258                                         {
-00259                                                 if (!key)
-00260                                                 {
-00261                                                         log(DEBUG,"add_channel: no key given in JOIN");
-00262                                                         WriteServ(user->fd,"475 %s %s :Cannot join channel (Requires key)",user->nick, Ptr->name);
-00263                                                         return NULL;
-00264                                                 }
-00265                                                 else
-00266                                                 {
-00267                                                         if (strcasecmp(key,Ptr->key))
-00268                                                         {
-00269                                                                 log(DEBUG,"add_channel: bad key given in JOIN");
-00270                                                                 WriteServ(user->fd,"475 %s %s :Cannot join channel (Incorrect key)",user->nick, Ptr->name);
-00271                                                                 return NULL;
-00272                                                         }
-00273                                                 }
-00274                                         }
-00275                                 }
-00276                                 if (Ptr->binarymodes & CM_INVITEONLY)
-00277                                 {
-00278                                         MOD_RESULT = 0;
-00279                                         irc::string xname(Ptr->name);
-00280                                         FOREACH_RESULT(OnCheckInvite(user, Ptr));
-00281                                         if (!MOD_RESULT)
-00282                                         {
-00283                                                 log(DEBUG,"add_channel: channel is +i");
-00284                                                 if (user->IsInvited(xname))
-00285                                                 {
-00286                                                         /* user was invited to channel */
-00287                                                         /* there may be an optional channel NOTICE here */
-00288                                                 }
-00289                                                 else
-00290                                                 {
-00291                                                         WriteServ(user->fd,"473 %s %s :Cannot join channel (Invite only)",user->nick, Ptr->name);
-00292                                                         return NULL;
-00293                                                 }
-00294                                         }
-00295                                         user->RemoveInvite(xname);
-00296                                 }
-00297                                 if (Ptr->limit)
-00298                                 {
-00299                                         MOD_RESULT = 0;
-00300                                         FOREACH_RESULT(OnCheckLimit(user, Ptr));
-00301                                         if (!MOD_RESULT)
-00302                                         {
-00303                                                 if (usercount(Ptr) >= Ptr->limit)
-00304                                                 {
-00305                                                         WriteServ(user->fd,"471 %s %s :Cannot join channel (Channel is full)",user->nick, Ptr->name);
-00306                                                         return NULL;
-00307                                                 }
-00308                                         }
-00309                                 }
-00310                                 if (Ptr->bans.size())
-00311                                 {
-00312                                         log(DEBUG,"add_channel: about to walk banlist");
-00313                                         MOD_RESULT = 0;
-00314                                         FOREACH_RESULT(OnCheckBan(user, Ptr));
-00315                                         if (!MOD_RESULT)
-00316                                         {
-00317                                                 for (BanList::iterator i = Ptr->bans.begin(); i != Ptr->bans.end(); i++)
-00318                                                 {
-00319                                                         if (match(user->GetFullHost(),i->data))
-00320                                                         {
-00321                                                                 WriteServ(user->fd,"474 %s %s :Cannot join channel (You're banned)",user->nick, Ptr->name);
-00322                                                                 return NULL;
-00323                                                         }
-00324                                                 }
-00325                                         }
-00326                                 }
-00327                         }
-00328                 }
-00329                 else
-00330                 {
-00331                         log(DEBUG,"Overridden checks");
-00332                 }
-00333                 created = 1;
-00334         }
-00335 
-00336         log(DEBUG,"Passed channel checks");
-00337 
-00338         for (unsigned int index =0; index < user->chans.size(); index++)
-00339         {
-00340                 if (user->chans[index].channel == NULL)
-00341                 {
-00342                         return ForceChan(Ptr,user->chans[index],user,created);
-00343                 }
-00344         }
-00345         /* XXX: If the user is an oper here, we can just extend their user->chans vector by one
-00346          * and put the channel in here. Same for remote users which are not bound by
-00347          * the channel limits. Otherwise, nope, youre boned.
-00348          */
-00349         if (user->fd < 0)
-00350         {
-00351                 ucrec a;
-00352                 chanrec* c = ForceChan(Ptr,a,user,created);
-00353                 user->chans.push_back(a);
-00354                 return c;
-00355         }
-00356         else if (strchr(user->modes,'o'))
-00357         {
-00358                 /* Oper allows extension up to the OPERMAXCHANS value */
-00359                 if (user->chans.size() < OPERMAXCHANS)
-00360                 {
-00361                         ucrec a;
-00362                         chanrec* c = ForceChan(Ptr,a,user,created);
-00363                         user->chans.push_back(a);
-00364                         return c;
-00365                 }
-00366         }
-00367         log(DEBUG,"add_channel: user channel max exceeded: %s %s",user->nick,cname);
-00368         WriteServ(user->fd,"405 %s %s :You are on too many channels",user->nick, cname);
-00369         return NULL;
-00370 }
-00371 
-00372 chanrec* ForceChan(chanrec* Ptr,ucrec &a,userrec* user, int created)
-00373 {
-00374         if (created == 2)
-00375         {
-00376                 /* first user in is given ops */
-00377                 a.uc_modes = UCMODE_OP;
-00378         }
-00379         else
-00380         {
-00381                 a.uc_modes = 0;
-00382         }
-00383         a.channel = Ptr;
-00384         Ptr->AddUser((char*)user);
-00385         WriteChannel(Ptr,user,"JOIN :%s",Ptr->name);
-00386         log(DEBUG,"Sent JOIN to client");
-00387         if (Ptr->topicset)
-00388         {
-00389                 WriteServ(user->fd,"332 %s %s :%s", user->nick, Ptr->name, Ptr->topic);
-00390                 WriteServ(user->fd,"333 %s %s %s %lu", user->nick, Ptr->name, Ptr->setby, (unsigned long)Ptr->topicset);
-00391         }
-00392         userlist(user,Ptr);
-00393         WriteServ(user->fd,"366 %s %s :End of /NAMES list.", user->nick, Ptr->name);
-00394         FOREACH_MOD OnUserJoin(user,Ptr);
-00395         return Ptr;
-00396 }
-00397 
-00398 /* remove a channel from a users record, and remove the record from memory
-00399  * if the channel has become empty */
-00400 
-00401 chanrec* del_channel(userrec *user, const char* cname, const char* reason, bool local)
-00402 {
-00403         if ((!user) || (!cname))
-00404         {
-00405                 log(DEFAULT,"*** BUG *** del_channel was given an invalid parameter");
-00406                 return NULL;
-00407         }
-00408 
-00409         chanrec* Ptr = FindChan(cname);
-00410 
-00411         if (!Ptr)
-00412                 return NULL;
-00413 
-00414         FOREACH_MOD OnUserPart(user,Ptr);
-00415         log(DEBUG,"del_channel: removing: %s %s",user->nick,Ptr->name);
-00416 
-00417         for (unsigned int i =0; i < user->chans.size(); i++)
-00418         {
-00419                 /* zap it from the channel list of the user */
-00420                 if (user->chans[i].channel == Ptr)
-00421                 {
-00422                         if (reason)
-00423                         {
-00424                                 WriteChannel(Ptr,user,"PART %s :%s",Ptr->name, reason);
-00425                         }
-00426                         else
-00427                         {
-00428                                 WriteChannel(Ptr,user,"PART :%s",Ptr->name);
-00429                         }
-00430                         user->chans[i].uc_modes = 0;
-00431                         user->chans[i].channel = NULL;
-00432                         log(DEBUG,"del_channel: unlinked: %s %s",user->nick,Ptr->name);
-00433                         break;
-00434                 }
-00435         }
-00436 
-00437         Ptr->DelUser((char*)user);
-00438 
-00439         /* if there are no users left on the channel */
-00440         if (!usercount(Ptr))
-00441         {
-00442                 chan_hash::iterator iter = chanlist.find(Ptr->name);
-00443 
-00444                 log(DEBUG,"del_channel: destroying channel: %s",Ptr->name);
-00445 
-00446                 /* kill the record */
-00447                 if (iter != chanlist.end())
-00448                 {
-00449                         log(DEBUG,"del_channel: destroyed: %s",Ptr->name);
-00450                         delete Ptr;
-00451                         chanlist.erase(iter);
-00452                 }
-00453         }
-00454 
-00455         return NULL;
-00456 }
-00457 
-00458 
-00459 void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason)
-00460 {
-00461         if ((!src) || (!user) || (!Ptr) || (!reason))
-00462         {
-00463                 log(DEFAULT,"*** BUG *** kick_channel was given an invalid parameter");
-00464                 return;
-00465         }
-00466 
-00467         if ((!Ptr) || (!user) || (!src))
-00468         {
-00469                 return;
-00470         }
-00471 
-00472         log(DEBUG,"kick_channel: removing: %s %s %s",user->nick,Ptr->name,src->nick);
-00473 
-00474         if (!has_channel(user,Ptr))
-00475         {
-00476                 WriteServ(src->fd,"441 %s %s %s :They are not on that channel",src->nick, user->nick, Ptr->name);
-00477                 return;
-00478         }
-00479 
-00480         int MOD_RESULT = 0;
-00481         FOREACH_RESULT(OnAccessCheck(src,user,Ptr,AC_KICK));
-00482         if ((MOD_RESULT == ACR_DENY) && (!is_uline(src->server)))
-00483                 return;
-00484 
-00485         if ((MOD_RESULT == ACR_DEFAULT) || (!is_uline(src->server)))
-00486         {
-00487                 if ((cstatus(src,Ptr) < STATUS_HOP) || (cstatus(src,Ptr) < cstatus(user,Ptr)))
-00488                 {
-00489                         if (cstatus(src,Ptr) == STATUS_HOP)
-00490                         {
-00491                                 WriteServ(src->fd,"482 %s %s :You must be a channel operator",src->nick, Ptr->name);
-00492                         }
-00493                         else
-00494                         {
-00495                                 WriteServ(src->fd,"482 %s %s :You must be at least a half-operator to change modes on this channel",src->nick, Ptr->name);
-00496                         }
-00497 
-00498                         return;
-00499                 }
-00500         }
-00501 
-00502         if (!is_uline(src->server))
-00503         {
-00504                 MOD_RESULT = 0;
-00505                 FOREACH_RESULT(OnUserPreKick(src,user,Ptr,reason));
-00506                 if (MOD_RESULT)
-00507                         return;
-00508         }
-00509 
-00510         FOREACH_MOD OnUserKick(src,user,Ptr,reason);
-00511 
-00512         for (unsigned int i =0; i < user->chans.size(); i++)
-00513         {
-00514                 /* zap it from the channel list of the user */
-00515                 if (user->chans[i].channel)
-00516                 if (!strcasecmp(user->chans[i].channel->name,Ptr->name))
-00517                 {
-00518                         WriteChannel(Ptr,src,"KICK %s %s :%s",Ptr->name, user->nick, reason);
-00519                         user->chans[i].uc_modes = 0;
-00520                         user->chans[i].channel = NULL;
-00521                         log(DEBUG,"del_channel: unlinked: %s %s",user->nick,Ptr->name);
-00522                         break;
-00523                 }
-00524         }
-00525 
-00526         Ptr->DelUser((char*)user);
-00527 
-00528         /* if there are no users left on the channel */
-00529         if (!usercount(Ptr))
-00530         {
-00531                 chan_hash::iterator iter = chanlist.find(Ptr->name);
-00532 
-00533                 log(DEBUG,"del_channel: destroying channel: %s",Ptr->name);
-00534 
-00535                 /* kill the record */
-00536                 if (iter != chanlist.end())
-00537                 {
-00538                         log(DEBUG,"del_channel: destroyed: %s",Ptr->name);
-00539                         delete Ptr;
-00540                         chanlist.erase(iter);
-00541                 }
-00542         }
-00543 }
-00544 
-00545 
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/channels_8cpp.html b/docs/module-doc/channels_8cpp.html deleted file mode 100644 index 07bcaf0e7..000000000 --- a/docs/module-doc/channels_8cpp.html +++ /dev/null @@ -1,914 +0,0 @@ - - -InspIRCd: channels.cpp File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

channels.cpp File Reference

#include "inspircd_config.h"
-#include "inspircd.h"
-#include "inspircd_io.h"
-#include <unistd.h>
-#include <sys/errno.h>
-#include <sys/ioctl.h>
-#include <sys/utsname.h>
-#include <time.h>
-#include <string>
-#include <hash_map>
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
-#include "users.h"
-#include "ctables.h"
-#include "globals.h"
-#include "modules.h"
-#include "dynamic.h"
-#include "commands.h"
-#include "wildcard.h"
-#include "message.h"
-#include "mode.h"
-#include "xline.h"
-#include "inspstring.h"
-#include "helperfuncs.h"
-#include "typedefs.h"
- -

-Include dependency graph for channels.cpp:

- - - - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Namespaces

namespace  std

Defines

#define nspace   std

Functions

chanrecForceChan (chanrec *Ptr, ucrec &a, userrec *user, int created)
chanrecadd_channel (userrec *user, const char *cn, const char *key, bool override)
chanrecdel_channel (userrec *user, const char *cname, const char *reason, bool local)
void kick_channel (userrec *src, userrec *user, chanrec *Ptr, char *reason)

Variables

ServerConfigConfig
int MODCOUNT = -1
std::vector< Module * > modules
std::vector< ircd_module * > factory
int WHOWAS_STALE
int WHOWAS_MAX
time_t TIME
chan_hash chanlist
std::vector< ModeParametercustom_mode_params
-


Define Documentation

-

- - - - -
- - - - -
#define nspace   std
-
- - - - - -
-   - - -

- -

-Definition at line 54 of file channels.cpp.

-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
chanrec* add_channel userrec user,
const char *  cn,
const char *  key,
bool  override
-
- - - - - -
-   - - -

- -

-Definition at line 194 of file channels.cpp. -

-References chanrec::bans, chanrec::binarymodes, chanlist, userrec::chans, CM_INVITEONLY, CM_NOEXTERNAL, CM_TOPICLOCK, DEBUG, DEFAULT, connection::fd, FindChan(), ForceChan(), FOREACH_RESULT, userrec::GetFullHost(), has_channel(), userrec::IsInvited(), chanrec::key, chanrec::limit, log(), userrec::modes, chanrec::name, userrec::nick, userrec::RemoveInvite(), TIME, and WriteServ(). -

-Referenced by Server::JoinUserToChannel().

00195 {
-00196         if ((!user) || (!cn))
-00197         {
-00198                 log(DEFAULT,"*** BUG *** add_channel was given an invalid parameter");
-00199                 return 0;
-00200         }
-00201 
-00202         int created = 0;
-00203         char cname[MAXBUF];
-00204         int MOD_RESULT = 0;
-00205         strncpy(cname,cn,CHANMAX);
-00206 
-00207         log(DEBUG,"add_channel: %s %s",user->nick,cname);
-00208 
-00209         chanrec* Ptr = FindChan(cname);
-00210 
-00211         if (!Ptr)
-00212         {
-00213                 if (user->fd > -1)
-00214                 {
-00215                         MOD_RESULT = 0;
-00216                         FOREACH_RESULT(OnUserPreJoin(user,NULL,cname));
-00217                         if (MOD_RESULT == 1)
-00218                                 return NULL;
-00219                 }
-00220                 /* create a new one */
-00221                 chanlist[cname] = new chanrec();
-00222                 strlcpy(chanlist[cname]->name, cname,CHANMAX);
-00223                 chanlist[cname]->binarymodes = CM_TOPICLOCK | CM_NOEXTERNAL;
-00224                 chanlist[cname]->created = TIME;
-00225                 strcpy(chanlist[cname]->topic, "");
-00226                 strncpy(chanlist[cname]->setby, user->nick,NICKMAX);
-00227                 chanlist[cname]->topicset = 0;
-00228                 Ptr = chanlist[cname];
-00229                 log(DEBUG,"add_channel: created: %s",cname);
-00230                 /* set created to 2 to indicate user
-00231                  * is the first in the channel
-00232                  * and should be given ops */
-00233                 created = 2;
-00234         }
-00235         else
-00236         {
-00237                 /* Already on the channel */
-00238                 if (has_channel(user,Ptr))
-00239                         return NULL;
-00240 
-00241                 // remote users are allowed us to bypass channel modes
-00242                 // and bans (used by servers)
-00243                 if (user->fd > -1)
-00244                 {
-00245                         MOD_RESULT = 0;
-00246                         FOREACH_RESULT(OnUserPreJoin(user,Ptr,cname));
-00247                         if (MOD_RESULT == 1)
-00248                         {
-00249                                 return NULL;
-00250                         }
-00251                         else
-00252                         {
-00253                                 if (*Ptr->key)
-00254                                 {
-00255                                         MOD_RESULT = 0;
-00256                                         FOREACH_RESULT(OnCheckKey(user, Ptr, key ? key : ""));
-00257                                         if (!MOD_RESULT)
-00258                                         {
-00259                                                 if (!key)
-00260                                                 {
-00261                                                         log(DEBUG,"add_channel: no key given in JOIN");
-00262                                                         WriteServ(user->fd,"475 %s %s :Cannot join channel (Requires key)",user->nick, Ptr->name);
-00263                                                         return NULL;
-00264                                                 }
-00265                                                 else
-00266                                                 {
-00267                                                         if (strcasecmp(key,Ptr->key))
-00268                                                         {
-00269                                                                 log(DEBUG,"add_channel: bad key given in JOIN");
-00270                                                                 WriteServ(user->fd,"475 %s %s :Cannot join channel (Incorrect key)",user->nick, Ptr->name);
-00271                                                                 return NULL;
-00272                                                         }
-00273                                                 }
-00274                                         }
-00275                                 }
-00276                                 if (Ptr->binarymodes & CM_INVITEONLY)
-00277                                 {
-00278                                         MOD_RESULT = 0;
-00279                                         irc::string xname(Ptr->name);
-00280                                         FOREACH_RESULT(OnCheckInvite(user, Ptr));
-00281                                         if (!MOD_RESULT)
-00282                                         {
-00283                                                 log(DEBUG,"add_channel: channel is +i");
-00284                                                 if (user->IsInvited(xname))
-00285                                                 {
-00286                                                         /* user was invited to channel */
-00287                                                         /* there may be an optional channel NOTICE here */
-00288                                                 }
-00289                                                 else
-00290                                                 {
-00291                                                         WriteServ(user->fd,"473 %s %s :Cannot join channel (Invite only)",user->nick, Ptr->name);
-00292                                                         return NULL;
-00293                                                 }
-00294                                         }
-00295                                         user->RemoveInvite(xname);
-00296                                 }
-00297                                 if (Ptr->limit)
-00298                                 {
-00299                                         MOD_RESULT = 0;
-00300                                         FOREACH_RESULT(OnCheckLimit(user, Ptr));
-00301                                         if (!MOD_RESULT)
-00302                                         {
-00303                                                 if (usercount(Ptr) >= Ptr->limit)
-00304                                                 {
-00305                                                         WriteServ(user->fd,"471 %s %s :Cannot join channel (Channel is full)",user->nick, Ptr->name);
-00306                                                         return NULL;
-00307                                                 }
-00308                                         }
-00309                                 }
-00310                                 if (Ptr->bans.size())
-00311                                 {
-00312                                         log(DEBUG,"add_channel: about to walk banlist");
-00313                                         MOD_RESULT = 0;
-00314                                         FOREACH_RESULT(OnCheckBan(user, Ptr));
-00315                                         if (!MOD_RESULT)
-00316                                         {
-00317                                                 for (BanList::iterator i = Ptr->bans.begin(); i != Ptr->bans.end(); i++)
-00318                                                 {
-00319                                                         if (match(user->GetFullHost(),i->data))
-00320                                                         {
-00321                                                                 WriteServ(user->fd,"474 %s %s :Cannot join channel (You're banned)",user->nick, Ptr->name);
-00322                                                                 return NULL;
-00323                                                         }
-00324                                                 }
-00325                                         }
-00326                                 }
-00327                         }
-00328                 }
-00329                 else
-00330                 {
-00331                         log(DEBUG,"Overridden checks");
-00332                 }
-00333                 created = 1;
-00334         }
-00335 
-00336         log(DEBUG,"Passed channel checks");
-00337 
-00338         for (unsigned int index =0; index < user->chans.size(); index++)
-00339         {
-00340                 if (user->chans[index].channel == NULL)
-00341                 {
-00342                         return ForceChan(Ptr,user->chans[index],user,created);
-00343                 }
-00344         }
-00345         /* XXX: If the user is an oper here, we can just extend their user->chans vector by one
-00346          * and put the channel in here. Same for remote users which are not bound by
-00347          * the channel limits. Otherwise, nope, youre boned.
-00348          */
-00349         if (user->fd < 0)
-00350         {
-00351                 ucrec a;
-00352                 chanrec* c = ForceChan(Ptr,a,user,created);
-00353                 user->chans.push_back(a);
-00354                 return c;
-00355         }
-00356         else if (strchr(user->modes,'o'))
-00357         {
-00358                 /* Oper allows extension up to the OPERMAXCHANS value */
-00359                 if (user->chans.size() < OPERMAXCHANS)
-00360                 {
-00361                         ucrec a;
-00362                         chanrec* c = ForceChan(Ptr,a,user,created);
-00363                         user->chans.push_back(a);
-00364                         return c;
-00365                 }
-00366         }
-00367         log(DEBUG,"add_channel: user channel max exceeded: %s %s",user->nick,cname);
-00368         WriteServ(user->fd,"405 %s %s :You are on too many channels",user->nick, cname);
-00369         return NULL;
-00370 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
chanrec* del_channel userrec user,
const char *  cname,
const char *  reason,
bool  local
-
- - - - - -
-   - - -

- -

-Definition at line 401 of file channels.cpp. -

-References chanlist, userrec::chans, DEBUG, DEFAULT, chanrec::DelUser(), FindChan(), FOREACH_MOD, log(), chanrec::name, userrec::nick, and WriteChannel(). -

-Referenced by Server::PartUserFromChannel().

00402 {
-00403         if ((!user) || (!cname))
-00404         {
-00405                 log(DEFAULT,"*** BUG *** del_channel was given an invalid parameter");
-00406                 return NULL;
-00407         }
-00408 
-00409         chanrec* Ptr = FindChan(cname);
-00410 
-00411         if (!Ptr)
-00412                 return NULL;
-00413 
-00414         FOREACH_MOD OnUserPart(user,Ptr);
-00415         log(DEBUG,"del_channel: removing: %s %s",user->nick,Ptr->name);
-00416 
-00417         for (unsigned int i =0; i < user->chans.size(); i++)
-00418         {
-00419                 /* zap it from the channel list of the user */
-00420                 if (user->chans[i].channel == Ptr)
-00421                 {
-00422                         if (reason)
-00423                         {
-00424                                 WriteChannel(Ptr,user,"PART %s :%s",Ptr->name, reason);
-00425                         }
-00426                         else
-00427                         {
-00428                                 WriteChannel(Ptr,user,"PART :%s",Ptr->name);
-00429                         }
-00430                         user->chans[i].uc_modes = 0;
-00431                         user->chans[i].channel = NULL;
-00432                         log(DEBUG,"del_channel: unlinked: %s %s",user->nick,Ptr->name);
-00433                         break;
-00434                 }
-00435         }
-00436 
-00437         Ptr->DelUser((char*)user);
-00438 
-00439         /* if there are no users left on the channel */
-00440         if (!usercount(Ptr))
-00441         {
-00442                 chan_hash::iterator iter = chanlist.find(Ptr->name);
-00443 
-00444                 log(DEBUG,"del_channel: destroying channel: %s",Ptr->name);
-00445 
-00446                 /* kill the record */
-00447                 if (iter != chanlist.end())
-00448                 {
-00449                         log(DEBUG,"del_channel: destroyed: %s",Ptr->name);
-00450                         delete Ptr;
-00451                         chanlist.erase(iter);
-00452                 }
-00453         }
-00454 
-00455         return NULL;
-00456 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
chanrec * ForceChan chanrec Ptr,
ucrec a,
userrec user,
int  created
-
- - - - - -
-   - - -

- -

-Definition at line 372 of file channels.cpp. -

-References chanrec::AddUser(), ucrec::channel, DEBUG, FOREACH_MOD, log(), chanrec::name, chanrec::setby, chanrec::topic, chanrec::topicset, ucrec::uc_modes, UCMODE_OP, WriteChannel(), and WriteServ(). -

-Referenced by add_channel().

00373 {
-00374         if (created == 2)
-00375         {
-00376                 /* first user in is given ops */
-00377                 a.uc_modes = UCMODE_OP;
-00378         }
-00379         else
-00380         {
-00381                 a.uc_modes = 0;
-00382         }
-00383         a.channel = Ptr;
-00384         Ptr->AddUser((char*)user);
-00385         WriteChannel(Ptr,user,"JOIN :%s",Ptr->name);
-00386         log(DEBUG,"Sent JOIN to client");
-00387         if (Ptr->topicset)
-00388         {
-00389                 WriteServ(user->fd,"332 %s %s :%s", user->nick, Ptr->name, Ptr->topic);
-00390                 WriteServ(user->fd,"333 %s %s %s %lu", user->nick, Ptr->name, Ptr->setby, (unsigned long)Ptr->topicset);
-00391         }
-00392         userlist(user,Ptr);
-00393         WriteServ(user->fd,"366 %s %s :End of /NAMES list.", user->nick, Ptr->name);
-00394         FOREACH_MOD OnUserJoin(user,Ptr);
-00395         return Ptr;
-00396 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void kick_channel userrec src,
userrec user,
chanrec Ptr,
char *  reason
-
- - - - - -
-   - - -

- -

-Definition at line 459 of file channels.cpp. -

-References AC_KICK, ACR_DEFAULT, ACR_DENY, chanlist, userrec::chans, cstatus(), DEBUG, DEFAULT, chanrec::DelUser(), connection::fd, FOREACH_MOD, FOREACH_RESULT, has_channel(), is_uline(), log(), chanrec::name, userrec::nick, userrec::server, STATUS_HOP, WriteChannel(), and WriteServ().

00460 {
-00461         if ((!src) || (!user) || (!Ptr) || (!reason))
-00462         {
-00463                 log(DEFAULT,"*** BUG *** kick_channel was given an invalid parameter");
-00464                 return;
-00465         }
-00466 
-00467         if ((!Ptr) || (!user) || (!src))
-00468         {
-00469                 return;
-00470         }
-00471 
-00472         log(DEBUG,"kick_channel: removing: %s %s %s",user->nick,Ptr->name,src->nick);
-00473 
-00474         if (!has_channel(user,Ptr))
-00475         {
-00476                 WriteServ(src->fd,"441 %s %s %s :They are not on that channel",src->nick, user->nick, Ptr->name);
-00477                 return;
-00478         }
-00479 
-00480         int MOD_RESULT = 0;
-00481         FOREACH_RESULT(OnAccessCheck(src,user,Ptr,AC_KICK));
-00482         if ((MOD_RESULT == ACR_DENY) && (!is_uline(src->server)))
-00483                 return;
-00484 
-00485         if ((MOD_RESULT == ACR_DEFAULT) || (!is_uline(src->server)))
-00486         {
-00487                 if ((cstatus(src,Ptr) < STATUS_HOP) || (cstatus(src,Ptr) < cstatus(user,Ptr)))
-00488                 {
-00489                         if (cstatus(src,Ptr) == STATUS_HOP)
-00490                         {
-00491                                 WriteServ(src->fd,"482 %s %s :You must be a channel operator",src->nick, Ptr->name);
-00492                         }
-00493                         else
-00494                         {
-00495                                 WriteServ(src->fd,"482 %s %s :You must be at least a half-operator to change modes on this channel",src->nick, Ptr->name);
-00496                         }
-00497 
-00498                         return;
-00499                 }
-00500         }
-00501 
-00502         if (!is_uline(src->server))
-00503         {
-00504                 MOD_RESULT = 0;
-00505                 FOREACH_RESULT(OnUserPreKick(src,user,Ptr,reason));
-00506                 if (MOD_RESULT)
-00507                         return;
-00508         }
-00509 
-00510         FOREACH_MOD OnUserKick(src,user,Ptr,reason);
-00511 
-00512         for (unsigned int i =0; i < user->chans.size(); i++)
-00513         {
-00514                 /* zap it from the channel list of the user */
-00515                 if (user->chans[i].channel)
-00516                 if (!strcasecmp(user->chans[i].channel->name,Ptr->name))
-00517                 {
-00518                         WriteChannel(Ptr,src,"KICK %s %s :%s",Ptr->name, user->nick, reason);
-00519                         user->chans[i].uc_modes = 0;
-00520                         user->chans[i].channel = NULL;
-00521                         log(DEBUG,"del_channel: unlinked: %s %s",user->nick,Ptr->name);
-00522                         break;
-00523                 }
-00524         }
-00525 
-00526         Ptr->DelUser((char*)user);
-00527 
-00528         /* if there are no users left on the channel */
-00529         if (!usercount(Ptr))
-00530         {
-00531                 chan_hash::iterator iter = chanlist.find(Ptr->name);
-00532 
-00533                 log(DEBUG,"del_channel: destroying channel: %s",Ptr->name);
-00534 
-00535                 /* kill the record */
-00536                 if (iter != chanlist.end())
-00537                 {
-00538                         log(DEBUG,"del_channel: destroyed: %s",Ptr->name);
-00539                         delete Ptr;
-00540                         chanlist.erase(iter);
-00541                 }
-00542         }
-00543 }
-
-

-

-


Variable Documentation

-

- - - - -
- - - - -
chan_hash chanlist
-
- - - - - -
-   - - -

- -

-Referenced by add_channel(), del_channel(), and kick_channel().

-

- - - - -
- - - - -
ServerConfig* Config
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
std::vector<ModeParameter> custom_mode_params
-
- - - - - -
-   - - -

- -

-Definition at line 69 of file channels.cpp. -

-Referenced by chanrec::GetModeParameter(), and chanrec::SetCustomModeParam().

-

- - - - -
- - - - -
std::vector<ircd_module*> factory
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
int MODCOUNT = -1
-
- - - - - -
-   - - -

- -

-Definition at line 934 of file modules.cpp. -

-Referenced by Server::FindModule().

-

- - - - -
- - - - -
std::vector<Module*> modules
-
- - - - - -
-   - - -

- -

-Referenced by Server::FindModule().

-

- - - - -
- - - - -
time_t TIME
-
- - - - - -
-   - - -

- -

-Referenced by add_channel(), AddClient(), AddWhoWas(), FullConnectUser(), and userrec::userrec().

-

- - - - -
- - - - -
int WHOWAS_MAX
-
- - - - - -
-   - - -

- -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
int WHOWAS_STALE
-
- - - - - -
-   - - -

- -

-Referenced by AddWhoWas().

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/channels_8cpp__incl.gif b/docs/module-doc/channels_8cpp__incl.gif deleted file mode 100644 index 863abc3e5..000000000 Binary files a/docs/module-doc/channels_8cpp__incl.gif and /dev/null differ diff --git a/docs/module-doc/channels_8cpp__incl.map b/docs/module-doc/channels_8cpp__incl.map deleted file mode 100644 index 820326c3c..000000000 --- a/docs/module-doc/channels_8cpp__incl.map +++ /dev/null @@ -1,12 +0,0 @@ -base referer -rect $inspircd_8h-source.html 313,817 393,844 -rect $inspircd__io_8h-source.html 443,919 539,945 -rect $globals_8h-source.html 600,615 675,641 -rect $users_8h-source.html 745,817 809,844 -rect $modules_8h-source.html 596,437 679,464 -rect $ctables_8h-source.html 740,412 815,439 -rect $mode_8h-source.html 604,919 671,945 -rect $commands_8h-source.html 588,1223 687,1249 -rect $message_8h-source.html 595,1273 680,1300 -rect $xline_8h-source.html 607,1172 668,1199 -rect $typedefs_8h-source.html 168,463 253,489 diff --git a/docs/module-doc/channels_8cpp__incl.md5 b/docs/module-doc/channels_8cpp__incl.md5 deleted file mode 100644 index 880c16373..000000000 --- a/docs/module-doc/channels_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -693bc7a6b868d635e208e839a3f75bab \ No newline at end of file diff --git a/docs/module-doc/channels_8h-source.html b/docs/module-doc/channels_8h-source.html deleted file mode 100644 index 395e22c66..000000000 --- a/docs/module-doc/channels_8h-source.html +++ /dev/null @@ -1,161 +0,0 @@ - - -InspIRCd: channels.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

channels.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #include "inspircd_config.h"
-00018 #include "base.h"
-00019 #include <time.h>
-00020 #include <vector>
-00021 #include <string>
-00022 
-00023 #ifndef __CHANNELS_H__
-00024 #define __CHANNELS_H__
-00025 
-00026 #define CM_TOPICLOCK 1
-00027 #define CM_NOEXTERNAL 2
-00028 #define CM_INVITEONLY 4
-00029 #define CM_MODERATED 8
-00030 #define CM_SECRET 16
-00031 #define CM_PRIVATE 32
-00032 
-00033 class userrec;
-00034 
-00038 class HostItem : public classbase
-00039 {
-00040  public:
-00041         time_t set_time;
-00042         char set_by[NICKMAX];
-00043         char data[MAXBUF];
-00044 
-00045         HostItem() { /* stub */ }
-00046         virtual ~HostItem() { /* stub */ }
-00047 };
-00048 
-00049 // banlist is inherited from HostList mainly for readability
-00050 // reasons only
-00051 
-00054 class BanItem : public HostItem
-00055 {
-00056 };
-00057 
-00058 // same with this...
-00059 
-00062 class ExemptItem : public HostItem
-00063 {
-00064 };
-00065 
-00066 // and this...
-00067 
-00070 class InviteItem : public HostItem
-00071 {
-00072 };
-00073 
-00074 
-00079 class ModeParameter : public classbase
-00080 {
-00081  public:
-00082         char mode;
-00083         char parameter[MAXBUF];
-00084         char channel[CHANMAX];
-00085 };
-00086 
-00089 typedef std::vector<BanItem>    BanList;
-00090 
-00093 typedef std::vector<ExemptItem> ExemptList;
-00094 
-00097 typedef std::vector<InviteItem> InviteList;
-00098 
-00103 class chanrec : public Extensible
-00104 {
-00105  public:
-00108         char name[CHANMAX]; /* channel name */
-00112         char custom_modes[MAXMODES];     /* modes handled by modules */
-00113 
-00117         std::vector<char*> internal_userlist;
-00118         
-00122         char topic[MAXBUF];
-00125         time_t created;
-00129         time_t topicset;
-00133         char setby[NICKMAX];
-00134 
-00138         short int limit;
-00139         
-00143         char key[32];
-00144         
-00147         char binarymodes;
-00148         
-00151         BanList bans;
-00152         
-00157         void SetCustomMode(char mode,bool mode_on);
-00158 
-00164         void SetCustomModeParam(char mode,char* parameter,bool mode_on);
-00165  
-00170         bool IsCustomModeSet(char mode);
-00171 
-00182         std::string GetModeParameter(char mode);
-00183 
-00191         long GetUserCounter();
-00192 
-00200         void AddUser(char* castuser);
-00201 
-00209         void DelUser(char* castuser);
-00210 
-00220         std::vector<char*> *GetUsers();
-00221 
-00224         chanrec();
-00225 
-00226         virtual ~chanrec() { /* stub */ }
-00227 };
-00228 
-00229 /* used to hold a channel and a users modes on that channel, e.g. +v, +h, +o
-00230  * needs to come AFTER struct chanrec */
-00231 
-00232 #define UCMODE_OP      1
-00233 #define UCMODE_VOICE   2
-00234 #define UCMODE_HOP     4
-00235 #define UCMODE_PROTECT 8
-00236 #define UCMODE_FOUNDER 16
-00237  
-00243 class ucrec : public classbase
-00244 {
-00245  public:
-00249         char uc_modes;
-00250         
-00254         chanrec *channel;
-00255 
-00256         ucrec() { /* stub */ }
-00257         virtual ~ucrec() { /* stub */ }
-00258 };
-00259 
-00260 chanrec* add_channel(userrec *user, const char* cn, const char* key, bool override);
-00261 chanrec* del_channel(userrec *user, const char* cname, const char* reason, bool local);
-00262 void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason);
-00263 
-00264 #endif
-00265 
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/channels_8h.html b/docs/module-doc/channels_8h.html deleted file mode 100644 index 2fcef2201..000000000 --- a/docs/module-doc/channels_8h.html +++ /dev/null @@ -1,958 +0,0 @@ - - -InspIRCd: channels.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

channels.h File Reference

#include "inspircd_config.h"
-#include "base.h"
-#include <time.h>
-#include <vector>
-#include <string>
- -

-Include dependency graph for channels.h:

- - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  HostItem
 Holds an entry for a ban list, exemption list, or invite list. More...
class  BanItem
 A subclass of HostItem designed to hold channel bans (+b). More...
class  ExemptItem
 A subclass of HostItem designed to hold channel exempts (+e). More...
class  InviteItem
 A subclass of HostItem designed to hold channel invites (+I). More...
class  ModeParameter
 Holds a custom parameter to a module-defined channel mode e.g. More...
class  chanrec
 Holds all relevent information for a channel. More...
class  ucrec
 Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class. More...

Defines

#define CM_TOPICLOCK   1
#define CM_NOEXTERNAL   2
#define CM_INVITEONLY   4
#define CM_MODERATED   8
#define CM_SECRET   16
#define CM_PRIVATE   32
#define UCMODE_OP   1
#define UCMODE_VOICE   2
#define UCMODE_HOP   4
#define UCMODE_PROTECT   8
#define UCMODE_FOUNDER   16

Typedefs

typedef std::vector< BanItemBanList
 Holds a complete ban list.
typedef std::vector< ExemptItemExemptList
 Holds a complete exempt list.
typedef std::vector< InviteItemInviteList
 Holds a complete invite list.

Functions

chanrecadd_channel (userrec *user, const char *cn, const char *key, bool override)
chanrecdel_channel (userrec *user, const char *cname, const char *reason, bool local)
void kick_channel (userrec *src, userrec *user, chanrec *Ptr, char *reason)
-


Define Documentation

-

- - - - -
- - - - -
#define CM_INVITEONLY   4
-
- - - - - -
-   - - -

- -

-Definition at line 28 of file channels.h. -

-Referenced by add_channel().

-

- - - - -
- - - - -
#define CM_MODERATED   8
-
- - - - - -
-   - - -

- -

-Definition at line 29 of file channels.h.

-

- - - - -
- - - - -
#define CM_NOEXTERNAL   2
-
- - - - - -
-   - - -

- -

-Definition at line 27 of file channels.h. -

-Referenced by add_channel().

-

- - - - -
- - - - -
#define CM_PRIVATE   32
-
- - - - - -
-   - - -

- -

-Definition at line 31 of file channels.h.

-

- - - - -
- - - - -
#define CM_SECRET   16
-
- - - - - -
-   - - -

- -

-Definition at line 30 of file channels.h.

-

- - - - -
- - - - -
#define CM_TOPICLOCK   1
-
- - - - - -
-   - - -

- -

-Definition at line 26 of file channels.h. -

-Referenced by add_channel().

-

- - - - -
- - - - -
#define UCMODE_FOUNDER   16
-
- - - - - -
-   - - -

- -

-Definition at line 236 of file channels.h.

-

- - - - -
- - - - -
#define UCMODE_HOP   4
-
- - - - - -
-   - - -

- -

-Definition at line 234 of file channels.h.

-

- - - - -
- - - - -
#define UCMODE_OP   1
-
- - - - - -
-   - - -

- -

-Definition at line 232 of file channels.h. -

-Referenced by ForceChan().

-

- - - - -
- - - - -
#define UCMODE_PROTECT   8
-
- - - - - -
-   - - -

- -

-Definition at line 235 of file channels.h.

-

- - - - -
- - - - -
#define UCMODE_VOICE   2
-
- - - - - -
-   - - -

- -

-Definition at line 233 of file channels.h.

-


Typedef Documentation

-

- - - - -
- - - - -
typedef std::vector<BanItem> BanList
-
- - - - - -
-   - - -

-Holds a complete ban list. -

- -

-Definition at line 89 of file channels.h.

-

- - - - -
- - - - -
typedef std::vector<ExemptItem> ExemptList
-
- - - - - -
-   - - -

-Holds a complete exempt list. -

- -

-Definition at line 93 of file channels.h.

-

- - - - -
- - - - -
typedef std::vector<InviteItem> InviteList
-
- - - - - -
-   - - -

-Holds a complete invite list. -

- -

-Definition at line 97 of file channels.h.

-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
chanrec* add_channel userrec user,
const char *  cn,
const char *  key,
bool  override
-
- - - - - -
-   - - -

- -

-Definition at line 194 of file channels.cpp. -

-References chanrec::bans, chanrec::binarymodes, chanlist, userrec::chans, CM_INVITEONLY, CM_NOEXTERNAL, CM_TOPICLOCK, DEBUG, DEFAULT, connection::fd, FindChan(), ForceChan(), FOREACH_RESULT, userrec::GetFullHost(), has_channel(), userrec::IsInvited(), chanrec::key, chanrec::limit, log(), userrec::modes, chanrec::name, userrec::nick, userrec::RemoveInvite(), TIME, and WriteServ(). -

-Referenced by Server::JoinUserToChannel().

00195 {
-00196         if ((!user) || (!cn))
-00197         {
-00198                 log(DEFAULT,"*** BUG *** add_channel was given an invalid parameter");
-00199                 return 0;
-00200         }
-00201 
-00202         int created = 0;
-00203         char cname[MAXBUF];
-00204         int MOD_RESULT = 0;
-00205         strncpy(cname,cn,CHANMAX);
-00206 
-00207         log(DEBUG,"add_channel: %s %s",user->nick,cname);
-00208 
-00209         chanrec* Ptr = FindChan(cname);
-00210 
-00211         if (!Ptr)
-00212         {
-00213                 if (user->fd > -1)
-00214                 {
-00215                         MOD_RESULT = 0;
-00216                         FOREACH_RESULT(OnUserPreJoin(user,NULL,cname));
-00217                         if (MOD_RESULT == 1)
-00218                                 return NULL;
-00219                 }
-00220                 /* create a new one */
-00221                 chanlist[cname] = new chanrec();
-00222                 strlcpy(chanlist[cname]->name, cname,CHANMAX);
-00223                 chanlist[cname]->binarymodes = CM_TOPICLOCK | CM_NOEXTERNAL;
-00224                 chanlist[cname]->created = TIME;
-00225                 strcpy(chanlist[cname]->topic, "");
-00226                 strncpy(chanlist[cname]->setby, user->nick,NICKMAX);
-00227                 chanlist[cname]->topicset = 0;
-00228                 Ptr = chanlist[cname];
-00229                 log(DEBUG,"add_channel: created: %s",cname);
-00230                 /* set created to 2 to indicate user
-00231                  * is the first in the channel
-00232                  * and should be given ops */
-00233                 created = 2;
-00234         }
-00235         else
-00236         {
-00237                 /* Already on the channel */
-00238                 if (has_channel(user,Ptr))
-00239                         return NULL;
-00240 
-00241                 // remote users are allowed us to bypass channel modes
-00242                 // and bans (used by servers)
-00243                 if (user->fd > -1)
-00244                 {
-00245                         MOD_RESULT = 0;
-00246                         FOREACH_RESULT(OnUserPreJoin(user,Ptr,cname));
-00247                         if (MOD_RESULT == 1)
-00248                         {
-00249                                 return NULL;
-00250                         }
-00251                         else
-00252                         {
-00253                                 if (*Ptr->key)
-00254                                 {
-00255                                         MOD_RESULT = 0;
-00256                                         FOREACH_RESULT(OnCheckKey(user, Ptr, key ? key : ""));
-00257                                         if (!MOD_RESULT)
-00258                                         {
-00259                                                 if (!key)
-00260                                                 {
-00261                                                         log(DEBUG,"add_channel: no key given in JOIN");
-00262                                                         WriteServ(user->fd,"475 %s %s :Cannot join channel (Requires key)",user->nick, Ptr->name);
-00263                                                         return NULL;
-00264                                                 }
-00265                                                 else
-00266                                                 {
-00267                                                         if (strcasecmp(key,Ptr->key))
-00268                                                         {
-00269                                                                 log(DEBUG,"add_channel: bad key given in JOIN");
-00270                                                                 WriteServ(user->fd,"475 %s %s :Cannot join channel (Incorrect key)",user->nick, Ptr->name);
-00271                                                                 return NULL;
-00272                                                         }
-00273                                                 }
-00274                                         }
-00275                                 }
-00276                                 if (Ptr->binarymodes & CM_INVITEONLY)
-00277                                 {
-00278                                         MOD_RESULT = 0;
-00279                                         irc::string xname(Ptr->name);
-00280                                         FOREACH_RESULT(OnCheckInvite(user, Ptr));
-00281                                         if (!MOD_RESULT)
-00282                                         {
-00283                                                 log(DEBUG,"add_channel: channel is +i");
-00284                                                 if (user->IsInvited(xname))
-00285                                                 {
-00286                                                         /* user was invited to channel */
-00287                                                         /* there may be an optional channel NOTICE here */
-00288                                                 }
-00289                                                 else
-00290                                                 {
-00291                                                         WriteServ(user->fd,"473 %s %s :Cannot join channel (Invite only)",user->nick, Ptr->name);
-00292                                                         return NULL;
-00293                                                 }
-00294                                         }
-00295                                         user->RemoveInvite(xname);
-00296                                 }
-00297                                 if (Ptr->limit)
-00298                                 {
-00299                                         MOD_RESULT = 0;
-00300                                         FOREACH_RESULT(OnCheckLimit(user, Ptr));
-00301                                         if (!MOD_RESULT)
-00302                                         {
-00303                                                 if (usercount(Ptr) >= Ptr->limit)
-00304                                                 {
-00305                                                         WriteServ(user->fd,"471 %s %s :Cannot join channel (Channel is full)",user->nick, Ptr->name);
-00306                                                         return NULL;
-00307                                                 }
-00308                                         }
-00309                                 }
-00310                                 if (Ptr->bans.size())
-00311                                 {
-00312                                         log(DEBUG,"add_channel: about to walk banlist");
-00313                                         MOD_RESULT = 0;
-00314                                         FOREACH_RESULT(OnCheckBan(user, Ptr));
-00315                                         if (!MOD_RESULT)
-00316                                         {
-00317                                                 for (BanList::iterator i = Ptr->bans.begin(); i != Ptr->bans.end(); i++)
-00318                                                 {
-00319                                                         if (match(user->GetFullHost(),i->data))
-00320                                                         {
-00321                                                                 WriteServ(user->fd,"474 %s %s :Cannot join channel (You're banned)",user->nick, Ptr->name);
-00322                                                                 return NULL;
-00323                                                         }
-00324                                                 }
-00325                                         }
-00326                                 }
-00327                         }
-00328                 }
-00329                 else
-00330                 {
-00331                         log(DEBUG,"Overridden checks");
-00332                 }
-00333                 created = 1;
-00334         }
-00335 
-00336         log(DEBUG,"Passed channel checks");
-00337 
-00338         for (unsigned int index =0; index < user->chans.size(); index++)
-00339         {
-00340                 if (user->chans[index].channel == NULL)
-00341                 {
-00342                         return ForceChan(Ptr,user->chans[index],user,created);
-00343                 }
-00344         }
-00345         /* XXX: If the user is an oper here, we can just extend their user->chans vector by one
-00346          * and put the channel in here. Same for remote users which are not bound by
-00347          * the channel limits. Otherwise, nope, youre boned.
-00348          */
-00349         if (user->fd < 0)
-00350         {
-00351                 ucrec a;
-00352                 chanrec* c = ForceChan(Ptr,a,user,created);
-00353                 user->chans.push_back(a);
-00354                 return c;
-00355         }
-00356         else if (strchr(user->modes,'o'))
-00357         {
-00358                 /* Oper allows extension up to the OPERMAXCHANS value */
-00359                 if (user->chans.size() < OPERMAXCHANS)
-00360                 {
-00361                         ucrec a;
-00362                         chanrec* c = ForceChan(Ptr,a,user,created);
-00363                         user->chans.push_back(a);
-00364                         return c;
-00365                 }
-00366         }
-00367         log(DEBUG,"add_channel: user channel max exceeded: %s %s",user->nick,cname);
-00368         WriteServ(user->fd,"405 %s %s :You are on too many channels",user->nick, cname);
-00369         return NULL;
-00370 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
chanrec* del_channel userrec user,
const char *  cname,
const char *  reason,
bool  local
-
- - - - - -
-   - - -

- -

-Definition at line 401 of file channels.cpp. -

-References chanlist, userrec::chans, DEBUG, DEFAULT, chanrec::DelUser(), FindChan(), FOREACH_MOD, log(), chanrec::name, userrec::nick, and WriteChannel(). -

-Referenced by Server::PartUserFromChannel().

00402 {
-00403         if ((!user) || (!cname))
-00404         {
-00405                 log(DEFAULT,"*** BUG *** del_channel was given an invalid parameter");
-00406                 return NULL;
-00407         }
-00408 
-00409         chanrec* Ptr = FindChan(cname);
-00410 
-00411         if (!Ptr)
-00412                 return NULL;
-00413 
-00414         FOREACH_MOD OnUserPart(user,Ptr);
-00415         log(DEBUG,"del_channel: removing: %s %s",user->nick,Ptr->name);
-00416 
-00417         for (unsigned int i =0; i < user->chans.size(); i++)
-00418         {
-00419                 /* zap it from the channel list of the user */
-00420                 if (user->chans[i].channel == Ptr)
-00421                 {
-00422                         if (reason)
-00423                         {
-00424                                 WriteChannel(Ptr,user,"PART %s :%s",Ptr->name, reason);
-00425                         }
-00426                         else
-00427                         {
-00428                                 WriteChannel(Ptr,user,"PART :%s",Ptr->name);
-00429                         }
-00430                         user->chans[i].uc_modes = 0;
-00431                         user->chans[i].channel = NULL;
-00432                         log(DEBUG,"del_channel: unlinked: %s %s",user->nick,Ptr->name);
-00433                         break;
-00434                 }
-00435         }
-00436 
-00437         Ptr->DelUser((char*)user);
-00438 
-00439         /* if there are no users left on the channel */
-00440         if (!usercount(Ptr))
-00441         {
-00442                 chan_hash::iterator iter = chanlist.find(Ptr->name);
-00443 
-00444                 log(DEBUG,"del_channel: destroying channel: %s",Ptr->name);
-00445 
-00446                 /* kill the record */
-00447                 if (iter != chanlist.end())
-00448                 {
-00449                         log(DEBUG,"del_channel: destroyed: %s",Ptr->name);
-00450                         delete Ptr;
-00451                         chanlist.erase(iter);
-00452                 }
-00453         }
-00454 
-00455         return NULL;
-00456 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void kick_channel userrec src,
userrec user,
chanrec Ptr,
char *  reason
-
- - - - - -
-   - - -

- -

-Definition at line 459 of file channels.cpp. -

-References AC_KICK, ACR_DEFAULT, ACR_DENY, chanlist, userrec::chans, cstatus(), DEBUG, DEFAULT, chanrec::DelUser(), connection::fd, FOREACH_MOD, FOREACH_RESULT, has_channel(), is_uline(), log(), chanrec::name, userrec::nick, userrec::server, STATUS_HOP, WriteChannel(), and WriteServ().

00460 {
-00461         if ((!src) || (!user) || (!Ptr) || (!reason))
-00462         {
-00463                 log(DEFAULT,"*** BUG *** kick_channel was given an invalid parameter");
-00464                 return;
-00465         }
-00466 
-00467         if ((!Ptr) || (!user) || (!src))
-00468         {
-00469                 return;
-00470         }
-00471 
-00472         log(DEBUG,"kick_channel: removing: %s %s %s",user->nick,Ptr->name,src->nick);
-00473 
-00474         if (!has_channel(user,Ptr))
-00475         {
-00476                 WriteServ(src->fd,"441 %s %s %s :They are not on that channel",src->nick, user->nick, Ptr->name);
-00477                 return;
-00478         }
-00479 
-00480         int MOD_RESULT = 0;
-00481         FOREACH_RESULT(OnAccessCheck(src,user,Ptr,AC_KICK));
-00482         if ((MOD_RESULT == ACR_DENY) && (!is_uline(src->server)))
-00483                 return;
-00484 
-00485         if ((MOD_RESULT == ACR_DEFAULT) || (!is_uline(src->server)))
-00486         {
-00487                 if ((cstatus(src,Ptr) < STATUS_HOP) || (cstatus(src,Ptr) < cstatus(user,Ptr)))
-00488                 {
-00489                         if (cstatus(src,Ptr) == STATUS_HOP)
-00490                         {
-00491                                 WriteServ(src->fd,"482 %s %s :You must be a channel operator",src->nick, Ptr->name);
-00492                         }
-00493                         else
-00494                         {
-00495                                 WriteServ(src->fd,"482 %s %s :You must be at least a half-operator to change modes on this channel",src->nick, Ptr->name);
-00496                         }
-00497 
-00498                         return;
-00499                 }
-00500         }
-00501 
-00502         if (!is_uline(src->server))
-00503         {
-00504                 MOD_RESULT = 0;
-00505                 FOREACH_RESULT(OnUserPreKick(src,user,Ptr,reason));
-00506                 if (MOD_RESULT)
-00507                         return;
-00508         }
-00509 
-00510         FOREACH_MOD OnUserKick(src,user,Ptr,reason);
-00511 
-00512         for (unsigned int i =0; i < user->chans.size(); i++)
-00513         {
-00514                 /* zap it from the channel list of the user */
-00515                 if (user->chans[i].channel)
-00516                 if (!strcasecmp(user->chans[i].channel->name,Ptr->name))
-00517                 {
-00518                         WriteChannel(Ptr,src,"KICK %s %s :%s",Ptr->name, user->nick, reason);
-00519                         user->chans[i].uc_modes = 0;
-00520                         user->chans[i].channel = NULL;
-00521                         log(DEBUG,"del_channel: unlinked: %s %s",user->nick,Ptr->name);
-00522                         break;
-00523                 }
-00524         }
-00525 
-00526         Ptr->DelUser((char*)user);
-00527 
-00528         /* if there are no users left on the channel */
-00529         if (!usercount(Ptr))
-00530         {
-00531                 chan_hash::iterator iter = chanlist.find(Ptr->name);
-00532 
-00533                 log(DEBUG,"del_channel: destroying channel: %s",Ptr->name);
-00534 
-00535                 /* kill the record */
-00536                 if (iter != chanlist.end())
-00537                 {
-00538                         log(DEBUG,"del_channel: destroyed: %s",Ptr->name);
-00539                         delete Ptr;
-00540                         chanlist.erase(iter);
-00541                 }
-00542         }
-00543 }
-
-

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/channels_8h__dep__incl.gif b/docs/module-doc/channels_8h__dep__incl.gif deleted file mode 100644 index 5760f5fb0..000000000 Binary files a/docs/module-doc/channels_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/channels_8h__dep__incl.map b/docs/module-doc/channels_8h__dep__incl.map deleted file mode 100644 index 4c89fda78..000000000 --- a/docs/module-doc/channels_8h__dep__incl.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $users_8cpp-source.html 665,311 745,337 -rect $users_8h-source.html 144,285 208,312 -rect $commands_8h-source.html 257,108 356,135 -rect $cull__list_8h-source.html 268,159 345,185 -rect $globals_8h-source.html 269,209 344,236 -rect $typedefs_8h-source.html 532,260 617,287 -rect $inspircd_8h-source.html 404,361 484,388 -rect $mode_8h-source.html 273,412 340,439 -rect $message_8h-source.html 264,463 349,489 -rect $xline_8h-source.html 276,513 337,540 diff --git a/docs/module-doc/channels_8h__dep__incl.md5 b/docs/module-doc/channels_8h__dep__incl.md5 deleted file mode 100644 index d9289d4a0..000000000 --- a/docs/module-doc/channels_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0f9059d2ac5956aa247c0791f634c13e \ No newline at end of file diff --git a/docs/module-doc/channels_8h__incl.gif b/docs/module-doc/channels_8h__incl.gif deleted file mode 100644 index 2c8fb0983..000000000 Binary files a/docs/module-doc/channels_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/channels_8h__incl.map b/docs/module-doc/channels_8h__incl.map deleted file mode 100644 index ee5bd9558..000000000 --- a/docs/module-doc/channels_8h__incl.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $base_8h-source.html 143,108 204,135 diff --git a/docs/module-doc/channels_8h__incl.md5 b/docs/module-doc/channels_8h__incl.md5 deleted file mode 100644 index 18c79c8c4..000000000 --- a/docs/module-doc/channels_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -2faa87cc7e26d0d2ae6d67b690f5412a \ No newline at end of file diff --git a/docs/module-doc/classAdmin-members.html b/docs/module-doc/classAdmin-members.html deleted file mode 100644 index 21dda6282..000000000 --- a/docs/module-doc/classAdmin-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Admin Member List

This is the complete list of members for Admin, including all inherited members.

- - - - - - - -
Admin(std::string name, std::string email, std::string nick)Admin
ageclassbase
classbase()classbase [inline]
EmailAdmin
NameAdmin
NickAdmin
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classAdmin.html b/docs/module-doc/classAdmin.html deleted file mode 100644 index 58987f64c..000000000 --- a/docs/module-doc/classAdmin.html +++ /dev/null @@ -1,172 +0,0 @@ - - -InspIRCd: Admin Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Admin Class Reference

Holds /ADMIN data This class contains the admin details of the local server. -More... -

-#include <modules.h> -

-Inheritance diagram for Admin:

Inheritance graph
- - - -
[legend]
Collaboration diagram for Admin:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - -

Public Member Functions

 Admin (std::string name, std::string email, std::string nick)

Public Attributes

const std::string Name
const std::string Email
const std::string Nick
-

Detailed Description

-Holds /ADMIN data This class contains the admin details of the local server. -

-It is constructed by class Server, and has three read-only values, Name, Email and Nick that contain the specified values for the server where the module is running. -

- -

-Definition at line 143 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
Admin::Admin std::string  name,
std::string  email,
std::string  nick
-
- - - - - -
-   - - -

- -

-Definition at line 162 of file modules.cpp.

00162 : Name(name), Email(email), Nick(nick) { };
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
const std::string Admin::Email
-
- - - - - -
-   - - -

- -

-Definition at line 146 of file modules.h.

-

- - - - -
- - - - -
const std::string Admin::Name
-
- - - - - -
-   - - -

- -

-Definition at line 146 of file modules.h.

-

- - - - -
- - - - -
const std::string Admin::Nick
-
- - - - - -
-   - - -

- -

-Definition at line 146 of file modules.h.

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classAdmin__coll__graph.gif b/docs/module-doc/classAdmin__coll__graph.gif deleted file mode 100644 index 4d6bd25b8..000000000 Binary files a/docs/module-doc/classAdmin__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classAdmin__coll__graph.map b/docs/module-doc/classAdmin__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classAdmin__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classAdmin__coll__graph.md5 b/docs/module-doc/classAdmin__coll__graph.md5 deleted file mode 100644 index 3b4270359..000000000 --- a/docs/module-doc/classAdmin__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fcbd9425e21197cf5397149daaa0139a \ No newline at end of file diff --git a/docs/module-doc/classAdmin__inherit__graph.gif b/docs/module-doc/classAdmin__inherit__graph.gif deleted file mode 100644 index 35c9d8d18..000000000 Binary files a/docs/module-doc/classAdmin__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classAdmin__inherit__graph.map b/docs/module-doc/classAdmin__inherit__graph.map deleted file mode 100644 index 8b1d85be3..000000000 --- a/docs/module-doc/classAdmin__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,7 87,34 diff --git a/docs/module-doc/classAdmin__inherit__graph.md5 b/docs/module-doc/classAdmin__inherit__graph.md5 deleted file mode 100644 index d5ab12e24..000000000 --- a/docs/module-doc/classAdmin__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f2ce1930250eba1618d507c7a89a6c44 \ No newline at end of file diff --git a/docs/module-doc/classBanItem-members.html b/docs/module-doc/classBanItem-members.html deleted file mode 100644 index 5786d1617..000000000 --- a/docs/module-doc/classBanItem-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

BanItem Member List

This is the complete list of members for BanItem, including all inherited members.

- - - - - - - - -
ageclassbase
classbase()classbase [inline]
dataHostItem
HostItem()HostItem [inline]
set_byHostItem
set_timeHostItem
~classbase()classbase [inline]
~HostItem()HostItem [inline, virtual]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classBanItem.html b/docs/module-doc/classBanItem.html deleted file mode 100644 index c515dc405..000000000 --- a/docs/module-doc/classBanItem.html +++ /dev/null @@ -1,37 +0,0 @@ - - -InspIRCd: BanItem Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

BanItem Class Reference

A subclass of HostItem designed to hold channel bans (+b). -More... -

-#include <channels.h> -

-Inheritance diagram for BanItem:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for BanItem:

Collaboration graph
- - - - -
[legend]
List of all members. - -
-

Detailed Description

-A subclass of HostItem designed to hold channel bans (+b). -

- -

-Definition at line 54 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classBanItem__coll__graph.gif b/docs/module-doc/classBanItem__coll__graph.gif deleted file mode 100644 index 8d3f9254b..000000000 Binary files a/docs/module-doc/classBanItem__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classBanItem__coll__graph.map b/docs/module-doc/classBanItem__coll__graph.map deleted file mode 100644 index 84658baf1..000000000 --- a/docs/module-doc/classBanItem__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classHostItem.html 109,204 184,231 -rect $classclassbase.html 107,98 187,124 diff --git a/docs/module-doc/classBanItem__coll__graph.md5 b/docs/module-doc/classBanItem__coll__graph.md5 deleted file mode 100644 index 25fdad153..000000000 --- a/docs/module-doc/classBanItem__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -76872e97aabfd7501a98401b0eb2f0ba \ No newline at end of file diff --git a/docs/module-doc/classBanItem__inherit__graph.gif b/docs/module-doc/classBanItem__inherit__graph.gif deleted file mode 100644 index 5a8bc8e92..000000000 Binary files a/docs/module-doc/classBanItem__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classBanItem__inherit__graph.map b/docs/module-doc/classBanItem__inherit__graph.map deleted file mode 100644 index 6bc1ce88e..000000000 --- a/docs/module-doc/classBanItem__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classHostItem.html 9,81 84,108 -rect $classclassbase.html 7,7 87,33 diff --git a/docs/module-doc/classBanItem__inherit__graph.md5 b/docs/module-doc/classBanItem__inherit__graph.md5 deleted file mode 100644 index c990276bd..000000000 --- a/docs/module-doc/classBanItem__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -592e35411807445bb35f00b94b76a8da \ No newline at end of file diff --git a/docs/module-doc/classBoolSet-members.html b/docs/module-doc/classBoolSet-members.html deleted file mode 100644 index 1e58ba39d..000000000 --- a/docs/module-doc/classBoolSet-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

BoolSet Member List

This is the complete list of members for BoolSet, including all inherited members.

- - - - - - - - - - - -
bitsBoolSet [private]
BoolSet()BoolSet
BoolSet(char bitmask)BoolSet
Get(int number)BoolSet
Invert(int number)BoolSet
operator &(BoolSet other)BoolSet
operator=(BoolSet other)BoolSet
operator==(BoolSet other)BoolSet
operator|(BoolSet other)BoolSet
Set(int number)BoolSet
Unset(int number)BoolSet


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classBoolSet.html b/docs/module-doc/classBoolSet.html deleted file mode 100644 index 61a5de168..000000000 --- a/docs/module-doc/classBoolSet.html +++ /dev/null @@ -1,412 +0,0 @@ - - -InspIRCd: BoolSet Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

BoolSet Class Reference

BoolSet is a utility class designed to hold eight bools in a bitmask. -More... -

-#include <base.h> -

-Collaboration diagram for BoolSet:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 BoolSet ()
 The default constructor initializes the BoolSet to all values unset.
 BoolSet (char bitmask)
 This constructor copies the default bitmask from a char.
void Set (int number)
 The Set method sets one bool in the set.
bool Get (int number)
 The Get method returns the value of one bool in the set.
void Unset (int number)
 The Unset method unsets one value in the set.
void Invert (int number)
 The Unset method inverts (flips) one value in the set.
bool operator== (BoolSet other)
 Compare two BoolSets.
BoolSet operator| (BoolSet other)
 OR two BoolSets together.
BoolSet operator & (BoolSet other)
 AND two BoolSets together.
bool operator= (BoolSet other)
 Assign one BoolSet to another.

Private Attributes

char bits
-

Detailed Description

-BoolSet is a utility class designed to hold eight bools in a bitmask. -

-Use BoolSet::Set and BoolSet::Get to set and get bools in the bitmask, and Unset and Invert for special operations upon them. -

- -

-Definition at line 104 of file base.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
BoolSet::BoolSet  ) 
-
- - - - - -
-   - - -

-The default constructor initializes the BoolSet to all values unset. -

-

-

- - - - -
- - - - - - - - - -
BoolSet::BoolSet char  bitmask  ) 
-
- - - - - -
-   - - -

-This constructor copies the default bitmask from a char. -

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
bool BoolSet::Get int  number  ) 
-
- - - - - -
-   - - -

-The Get method returns the value of one bool in the set. -

-

Parameters:
- - -
number The number of the item to retrieve. This must be between 0 and 7.
-
-
Returns:
True if the item is set, false if it is unset.
-
-

- - - - -
- - - - - - - - - -
void BoolSet::Invert int  number  ) 
-
- - - - - -
-   - - -

-The Unset method inverts (flips) one value in the set. -

-

Parameters:
- - -
number The number of the item to invert. This must be between 0 and 7.
-
-
-

- - - - -
- - - - - - - - - -
BoolSet BoolSet::operator & BoolSet  other  ) 
-
- - - - - -
-   - - -

-AND two BoolSets together. -

-

-

- - - - -
- - - - - - - - - -
bool BoolSet::operator= BoolSet  other  ) 
-
- - - - - -
-   - - -

-Assign one BoolSet to another. -

-

-

- - - - -
- - - - - - - - - -
bool BoolSet::operator== BoolSet  other  ) 
-
- - - - - -
-   - - -

-Compare two BoolSets. -

-

-

- - - - -
- - - - - - - - - -
BoolSet BoolSet::operator| BoolSet  other  ) 
-
- - - - - -
-   - - -

-OR two BoolSets together. -

-

-

- - - - -
- - - - - - - - - -
void BoolSet::Set int  number  ) 
-
- - - - - -
-   - - -

-The Set method sets one bool in the set. -

-

Parameters:
- - -
number The number of the item to set. This must be between 0 and 7.
-
-
-

- - - - -
- - - - - - - - - -
void BoolSet::Unset int  number  ) 
-
- - - - - -
-   - - -

-The Unset method unsets one value in the set. -

-

Parameters:
- - -
number The number of the item to set. This must be between 0 and 7.
-
-
-


Member Data Documentation

-

- - - - -
- - - - -
char BoolSet::bits [private]
-
- - - - - -
-   - - -

- -

-Definition at line 106 of file base.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classBoolSet__coll__graph.gif b/docs/module-doc/classBoolSet__coll__graph.gif deleted file mode 100644 index a430a4a72..000000000 Binary files a/docs/module-doc/classBoolSet__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classBoolSet__coll__graph.map b/docs/module-doc/classBoolSet__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classBoolSet__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classBoolSet__coll__graph.md5 b/docs/module-doc/classBoolSet__coll__graph.md5 deleted file mode 100644 index c861c5189..000000000 --- a/docs/module-doc/classBoolSet__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -88453d18f19c0804f5ae9ad5d18e7152 \ No newline at end of file diff --git a/docs/module-doc/classConfigReader-members.html b/docs/module-doc/classConfigReader-members.html deleted file mode 100644 index c4ee48b10..000000000 --- a/docs/module-doc/classConfigReader-members.html +++ /dev/null @@ -1,31 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ConfigReader Member List

This is the complete list of members for ConfigReader, including all inherited members.

- - - - - - - - - - - - - - - - - - -
ageclassbase
cacheConfigReader [protected]
classbase()classbase [inline]
ConfigReader()ConfigReader
ConfigReader(std::string filename)ConfigReader
DumpErrors(bool bail, userrec *user)ConfigReader
Enumerate(std::string tag)ConfigReader
EnumerateValues(std::string tag, int index)ConfigReader
errorConfigReader [protected]
errorlogConfigReader [protected]
GetError()ConfigReader
readerrorConfigReader [protected]
ReadFlag(std::string tag, std::string name, int index)ConfigReader
ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned)ConfigReader
ReadValue(std::string tag, std::string name, int index)ConfigReader
Verify()ConfigReader
~classbase()classbase [inline]
~ConfigReader()ConfigReader


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classConfigReader.html b/docs/module-doc/classConfigReader.html deleted file mode 100644 index e084841af..000000000 --- a/docs/module-doc/classConfigReader.html +++ /dev/null @@ -1,780 +0,0 @@ - - -InspIRCd: ConfigReader Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ConfigReader Class Reference

Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file. -More... -

-#include <modules.h> -

-Inheritance diagram for ConfigReader:

Inheritance graph
- - - -
[legend]
Collaboration diagram for ConfigReader:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 ConfigReader ()
 Default constructor.
 ConfigReader (std::string filename)
 Overloaded constructor.
 ~ConfigReader ()
 Default destructor.
std::string ReadValue (std::string tag, std::string name, int index)
 Retrieves a value from the config file.
bool ReadFlag (std::string tag, std::string name, int index)
 Retrieves a boolean value from the config file.
long ReadInteger (std::string tag, std::string name, int index, bool needs_unsigned)
 Retrieves an integer value from the config file.
long GetError ()
 Returns the last error to occur.
int Enumerate (std::string tag)
 Counts the number of times a given tag appears in the config file.
bool Verify ()
 Returns true if a config file is valid.
void DumpErrors (bool bail, userrec *user)
 Dumps the list of errors in a config file to an output location.
int EnumerateValues (std::string tag, int index)
 Returns the number of items within a tag.

Protected Attributes

std::stringstream * cache
 The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed).
std::stringstream * errorlog
bool readerror
 Used to store errors.
long error
-

Detailed Description

-Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file. -

-It may either be instantiated with one parameter or none. Constructing the class using one parameter allows you to specify a path to your own configuration file, otherwise, inspircd.conf is read. -

- -

-Definition at line 1550 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
ConfigReader::ConfigReader  ) 
-
- - - - - -
-   - - -

-Default constructor. -

-This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure. -

-Definition at line 735 of file modules.cpp. -

-References cache, ServerConfig::ClearStack(), CONF_FILE_NOT_FOUND, error, errorlog, ServerConfig::LoadConf(), and readerror.

00736 {
-00737         Config->ClearStack();
-00738         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00739         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00740         this->readerror = Config->LoadConf(CONFIG_FILE,this->cache,this->errorlog);
-00741         if (!this->readerror)
-00742                 this->error = CONF_FILE_NOT_FOUND;
-00743 }
-
-

-

-

- - - - -
- - - - - - - - - -
ConfigReader::ConfigReader std::string  filename  ) 
-
- - - - - -
-   - - -

-Overloaded constructor. -

-This constructor initialises the ConfigReader class to read a user-specified config file -

-Definition at line 755 of file modules.cpp. -

-References cache, ServerConfig::ClearStack(), CONF_FILE_NOT_FOUND, error, errorlog, ServerConfig::LoadConf(), and readerror.

00756 {
-00757         Config->ClearStack();
-00758         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00759         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00760         this->readerror = Config->LoadConf(filename.c_str(),this->cache,this->errorlog);
-00761         if (!this->readerror)
-00762                 this->error = CONF_FILE_NOT_FOUND;
-00763 };
-
-

-

-

- - - - -
- - - - - - - - -
ConfigReader::~ConfigReader  ) 
-
- - - - - -
-   - - -

-Default destructor. -

-This method destroys the ConfigReader class. -

-Definition at line 746 of file modules.cpp. -

-References cache, and errorlog.

00747 {
-00748         if (this->cache)
-00749                 delete this->cache;
-00750         if (this->errorlog)
-00751                 delete this->errorlog;
-00752 }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void ConfigReader::DumpErrors bool  bail,
userrec user
-
- - - - - -
-   - - -

-Dumps the list of errors in a config file to an output location. -

-If bail is true, then the program will abort. If bail is false and user points to a valid user record, the error report will be spooled to the given user by means of NOTICE. if bool is false AND user is false, the error report will be spooled to all opers by means of a NOTICE to all opers. -

-Definition at line 834 of file modules.cpp. -

-References errorlog, connection::fd, userrec::nick, WriteOpers(), and WriteServ().

00835 {
-00836         if (bail)
-00837         {
-00838                 printf("There were errors in your configuration:\n%s",errorlog->str().c_str());
-00839                 exit(0);
-00840         }
-00841         else
-00842         {
-00843                 char dataline[1024];
-00844                 if (user)
-00845                 {
-00846                         WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick);
-00847                         while (!errorlog->eof())
-00848                         {
-00849                                 errorlog->getline(dataline,1024);
-00850                                 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline);
-00851                         }
-00852                 }
-00853                 else
-00854                 {
-00855                         WriteOpers("There were errors in the configuration file:",user->nick);
-00856                         while (!errorlog->eof())
-00857                         {
-00858                                 errorlog->getline(dataline,1024);
-00859                                 WriteOpers(dataline);
-00860                         }
-00861                 }
-00862                 return;
-00863         }
-00864 }
-
-

-

-

- - - - -
- - - - - - - - - -
int ConfigReader::Enumerate std::string  tag  ) 
-
- - - - - -
-   - - -

-Counts the number of times a given tag appears in the config file. -

-This method counts the number of times a tag appears in a config file, for use where there are several tags of the same kind, e.g. with opers and connect types. It can be used with the index value of ConfigReader::ReadValue to loop through all copies of a multiple instance tag. -

-Definition at line 867 of file modules.cpp. -

-References cache, and ServerConfig::EnumConf().

00868 {
-00869         return Config->EnumConf(cache,tag.c_str());
-00870 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ConfigReader::EnumerateValues std::string  tag,
int  index
-
- - - - - -
-   - - -

-Returns the number of items within a tag. -

-For example if the tag was <test tag="blah" data="foo"> then this function would return 2. Spaces and newlines both qualify as valid seperators between values. -

-Definition at line 872 of file modules.cpp. -

-References cache, and ServerConfig::EnumValues().

00873 {
-00874         return Config->EnumValues(cache, tag.c_str(), index);
-00875 }
-
-

-

-

- - - - -
- - - - - - - - -
long ConfigReader::GetError  ) 
-
- - - - - -
-   - - -

-Returns the last error to occur. -

-Valid errors can be found by looking in modules.h. Any nonzero value indicates an error condition. A call to GetError() resets the error flag back to 0. -

-Definition at line 827 of file modules.cpp. -

-References error.

00828 {
-00829         long olderr = this->error;
-00830         this->error = 0;
-00831         return olderr;
-00832 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool ConfigReader::ReadFlag std::string  tag,
std::string  name,
int  index
-
- - - - - -
-   - - -

-Retrieves a boolean value from the config file. -

-This method retrieves a boolean value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve. The values "1", "yes" and "true" in the config file count as true to ReadFlag, and any other value counts as false. -

-Definition at line 781 of file modules.cpp. -

-References cache, CONF_VALUE_NOT_FOUND, error, and ServerConfig::ReadConf().

00782 {
-00783         char val[MAXBUF];
-00784         char t[MAXBUF];
-00785         char n[MAXBUF];
-00786         strlcpy(t,tag.c_str(),MAXBUF);
-00787         strlcpy(n,name.c_str(),MAXBUF);
-00788         int res = Config->ReadConf(cache,t,n,index,val);
-00789         if (!res)
-00790         {
-00791                 this->error = CONF_VALUE_NOT_FOUND;
-00792                 return false;
-00793         }
-00794         std::string s = val;
-00795         return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1"));
-00796 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
long ConfigReader::ReadInteger std::string  tag,
std::string  name,
int  index,
bool  needs_unsigned
-
- - - - - -
-   - - -

-Retrieves an integer value from the config file. -

-This method retrieves an integer value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve. Any invalid integer values in the tag will cause the objects error value to be set, and any call to GetError() will return CONF_INVALID_NUMBER to be returned. needs_unsigned is set if the number must be unsigned. If a signed number is placed into a tag which is specified unsigned, 0 will be returned and GetError() will return CONF_NOT_UNSIGNED -

-Definition at line 798 of file modules.cpp. -

-References cache, CONF_NOT_A_NUMBER, CONF_NOT_UNSIGNED, CONF_VALUE_NOT_FOUND, error, and ServerConfig::ReadConf().

00799 {
-00800         char val[MAXBUF];
-00801         char t[MAXBUF];
-00802         char n[MAXBUF];
-00803         strlcpy(t,tag.c_str(),MAXBUF);
-00804         strlcpy(n,name.c_str(),MAXBUF);
-00805         int res = Config->ReadConf(cache,t,n,index,val);
-00806         if (!res)
-00807         {
-00808                 this->error = CONF_VALUE_NOT_FOUND;
-00809                 return 0;
-00810         }
-00811         for (unsigned int i = 0; i < strlen(val); i++)
-00812         {
-00813                 if (!isdigit(val[i]))
-00814                 {
-00815                         this->error = CONF_NOT_A_NUMBER;
-00816                         return 0;
-00817                 }
-00818         }
-00819         if ((needs_unsigned) && (atoi(val)<0))
-00820         {
-00821                 this->error = CONF_NOT_UNSIGNED;
-00822                 return 0;
-00823         }
-00824         return atoi(val);
-00825 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
std::string ConfigReader::ReadValue std::string  tag,
std::string  name,
int  index
-
- - - - - -
-   - - -

-Retrieves a value from the config file. -

-This method retrieves a value from the config file. Where multiple copies of the tag exist in the config file, index indicates which of the values to retrieve. -

-Definition at line 765 of file modules.cpp. -

-References cache, CONF_VALUE_NOT_FOUND, error, and ServerConfig::ReadConf().

00766 {
-00767         char val[MAXBUF];
-00768         char t[MAXBUF];
-00769         char n[MAXBUF];
-00770         strlcpy(t,tag.c_str(),MAXBUF);
-00771         strlcpy(n,name.c_str(),MAXBUF);
-00772         int res = Config->ReadConf(cache,t,n,index,val);
-00773         if (!res)
-00774         {
-00775                 this->error = CONF_VALUE_NOT_FOUND;
-00776                 return "";
-00777         }
-00778         return val;
-00779 }
-
-

-

-

- - - - -
- - - - - - - - -
bool ConfigReader::Verify  ) 
-
- - - - - -
-   - - -

-Returns true if a config file is valid. -

-This method is partially implemented and will only return false if the config file does not exist or could not be opened. -

-Definition at line 877 of file modules.cpp. -

-References readerror.

00878 {
-00879         return this->readerror;
-00880 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
std::stringstream* ConfigReader::cache [protected]
-
- - - - - -
-   - - -

-The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed). -

-It will contain a pointer to the configuration file data with unneeded data (such as comments) stripped from it. -

-Definition at line 1558 of file modules.h. -

-Referenced by ConfigReader(), Enumerate(), EnumerateValues(), ReadFlag(), ReadInteger(), ReadValue(), and ~ConfigReader().

-

- - - - -
- - - - -
long ConfigReader::error [protected]
-
- - - - - -
-   - - -

- -

-Definition at line 1563 of file modules.h. -

-Referenced by ConfigReader(), GetError(), ReadFlag(), ReadInteger(), and ReadValue().

-

- - - - -
- - - - -
std::stringstream* ConfigReader::errorlog [protected]
-
- - - - - -
-   - - -

- -

-Definition at line 1559 of file modules.h. -

-Referenced by ConfigReader(), DumpErrors(), and ~ConfigReader().

-

- - - - -
- - - - -
bool ConfigReader::readerror [protected]
-
- - - - - -
-   - - -

-Used to store errors. -

- -

-Definition at line 1562 of file modules.h. -

-Referenced by ConfigReader(), and Verify().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classConfigReader__coll__graph.gif b/docs/module-doc/classConfigReader__coll__graph.gif deleted file mode 100644 index a40a68c79..000000000 Binary files a/docs/module-doc/classConfigReader__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classConfigReader__coll__graph.map b/docs/module-doc/classConfigReader__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classConfigReader__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classConfigReader__coll__graph.md5 b/docs/module-doc/classConfigReader__coll__graph.md5 deleted file mode 100644 index 533d84fda..000000000 --- a/docs/module-doc/classConfigReader__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c56dd697e22ce3c20fa3cd4bd9a8d674 \ No newline at end of file diff --git a/docs/module-doc/classConfigReader__inherit__graph.gif b/docs/module-doc/classConfigReader__inherit__graph.gif deleted file mode 100644 index 00519120e..000000000 Binary files a/docs/module-doc/classConfigReader__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classConfigReader__inherit__graph.map b/docs/module-doc/classConfigReader__inherit__graph.map deleted file mode 100644 index 2a63d2e6a..000000000 --- a/docs/module-doc/classConfigReader__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 19,7 99,34 diff --git a/docs/module-doc/classConfigReader__inherit__graph.md5 b/docs/module-doc/classConfigReader__inherit__graph.md5 deleted file mode 100644 index 4ca91dca8..000000000 --- a/docs/module-doc/classConfigReader__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d7b98fb3005dcfa23e616ed1d133423e \ No newline at end of file diff --git a/docs/module-doc/classConnectClass-members.html b/docs/module-doc/classConnectClass-members.html deleted file mode 100644 index 3f61ec958..000000000 --- a/docs/module-doc/classConnectClass-members.html +++ /dev/null @@ -1,26 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ConnectClass Member List

This is the complete list of members for ConnectClass, including all inherited members.

- - - - - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
ConnectClass()ConnectClass [inline]
floodConnectClass
hostConnectClass
passConnectClass
pingtimeConnectClass
recvqmaxConnectClass
registration_timeoutConnectClass
sendqmaxConnectClass
thresholdConnectClass
typeConnectClass
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classConnectClass.html b/docs/module-doc/classConnectClass.html deleted file mode 100644 index 799f9b125..000000000 --- a/docs/module-doc/classConnectClass.html +++ /dev/null @@ -1,370 +0,0 @@ - - -InspIRCd: ConnectClass Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ConnectClass Class Reference

Holds information relevent to <connect allow> and <connect deny> tags in the config file. -More... -

-#include <users.h> -

-Inheritance diagram for ConnectClass:

Inheritance graph
- - - -
[legend]
Collaboration diagram for ConnectClass:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 ConnectClass ()

Public Attributes

char type
 Type of line, either CC_ALLOW or CC_DENY.
int registration_timeout
 Max time to register the connection in seconds.
int flood
 Number of lines in buffer before excess flood is triggered.
char host [MAXBUF]
 Host mask for this line.
int pingtime
 Number of seconds between pings for this line.
char pass [MAXBUF]
 (Optional) Password for this line
int threshold
 Threshold value for flood disconnect.
long sendqmax
 Maximum size of sendq for users in this class (bytes).
long recvqmax
 Maximum size of recvq for users in this class (bytes).
-

Detailed Description

-Holds information relevent to <connect allow> and <connect deny> tags in the config file. -

- -

-Definition at line 52 of file users.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
ConnectClass::ConnectClass  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 86 of file users.h. -

-References flood, host, pass, pingtime, recvqmax, registration_timeout, sendqmax, and threshold.

00087         {
-00088                 registration_timeout = 0;
-00089                 flood = 0;
-00090                 pingtime = 0;
-00091                 threshold = 0;
-00092                 sendqmax = 0;
-00093                 recvqmax = 0;
-00094                 strlcpy(host,"",MAXBUF);
-00095                 strlcpy(pass,"",MAXBUF);
-00096         }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
int ConnectClass::flood
-
- - - - - -
-   - - -

-Number of lines in buffer before excess flood is triggered. -

- -

-Definition at line 63 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
char ConnectClass::host[MAXBUF]
-
- - - - - -
-   - - -

-Host mask for this line. -

- -

-Definition at line 66 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
char ConnectClass::pass[MAXBUF]
-
- - - - - -
-   - - -

-(Optional) Password for this line -

- -

-Definition at line 72 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
int ConnectClass::pingtime
-
- - - - - -
-   - - -

-Number of seconds between pings for this line. -

- -

-Definition at line 69 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
long ConnectClass::recvqmax
-
- - - - - -
-   - - -

-Maximum size of recvq for users in this class (bytes). -

- -

-Definition at line 84 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
int ConnectClass::registration_timeout
-
- - - - - -
-   - - -

-Max time to register the connection in seconds. -

- -

-Definition at line 60 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
long ConnectClass::sendqmax
-
- - - - - -
-   - - -

-Maximum size of sendq for users in this class (bytes). -

- -

-Definition at line 80 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
int ConnectClass::threshold
-
- - - - - -
-   - - -

-Threshold value for flood disconnect. -

- -

-Definition at line 76 of file users.h. -

-Referenced by ConnectClass().

-

- - - - -
- - - - -
char ConnectClass::type
-
- - - - - -
-   - - -

-Type of line, either CC_ALLOW or CC_DENY. -

- -

-Definition at line 57 of file users.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classConnectClass__coll__graph.gif b/docs/module-doc/classConnectClass__coll__graph.gif deleted file mode 100644 index f9003df11..000000000 Binary files a/docs/module-doc/classConnectClass__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classConnectClass__coll__graph.map b/docs/module-doc/classConnectClass__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classConnectClass__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classConnectClass__coll__graph.md5 b/docs/module-doc/classConnectClass__coll__graph.md5 deleted file mode 100644 index 386fe62e5..000000000 --- a/docs/module-doc/classConnectClass__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -96da8598edb3fe496b7465ff87b486c8 \ No newline at end of file diff --git a/docs/module-doc/classConnectClass__inherit__graph.gif b/docs/module-doc/classConnectClass__inherit__graph.gif deleted file mode 100644 index 57b5503c1..000000000 Binary files a/docs/module-doc/classConnectClass__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classConnectClass__inherit__graph.map b/docs/module-doc/classConnectClass__inherit__graph.map deleted file mode 100644 index 2a63d2e6a..000000000 --- a/docs/module-doc/classConnectClass__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 19,7 99,34 diff --git a/docs/module-doc/classConnectClass__inherit__graph.md5 b/docs/module-doc/classConnectClass__inherit__graph.md5 deleted file mode 100644 index e034e7874..000000000 --- a/docs/module-doc/classConnectClass__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5d61e64e769d14d08dfe0f37a00b141b \ No newline at end of file diff --git a/docs/module-doc/classCullItem-members.html b/docs/module-doc/classCullItem-members.html deleted file mode 100644 index 121a82366..000000000 --- a/docs/module-doc/classCullItem-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

CullItem Member List

This is the complete list of members for CullItem, including all inherited members.

- - - - - -
CullItem(userrec *u, std::string r)CullItem
GetReason()CullItem
GetUser()CullItem
reasonCullItem [private]
userCullItem [private]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classCullItem.html b/docs/module-doc/classCullItem.html deleted file mode 100644 index 06900037c..000000000 --- a/docs/module-doc/classCullItem.html +++ /dev/null @@ -1,208 +0,0 @@ - - -InspIRCd: CullItem Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

CullItem Class Reference

The CullItem class holds a user and their quitmessage, and is used internally by the CullList class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed. -More... -

-#include <cull_list.h> -

-Collaboration diagram for CullItem:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

 CullItem (userrec *u, std::string r)
 Constrcutor.
userrecGetUser ()
 Returns a pointer to the user.
std::string GetReason ()
 Returns the user's quit reason.

Private Attributes

userrecuser
 Holds a pointer to the user, must be valid and can be a local or remote user.
std::string reason
 Holds the quit reason to use for this user.
-

Detailed Description

-The CullItem class holds a user and their quitmessage, and is used internally by the CullList class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed. -

- -

-Definition at line 36 of file cull_list.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
CullItem::CullItem userrec u,
std::string  r
-
- - - - - -
-   - - -

-Constrcutor. -

-Initializes the CullItem with a user pointer and their quit reason

Parameters:
- - - -
u The user to add
r The quit reason of the added user
-
-
-


Member Function Documentation

-

- - - - -
- - - - - - - - -
std::string CullItem::GetReason  ) 
-
- - - - - -
-   - - -

-Returns the user's quit reason. -

-

-

- - - - -
- - - - - - - - -
userrec* CullItem::GetUser  ) 
-
- - - - - -
-   - - -

-Returns a pointer to the user. -

-

-


Member Data Documentation

-

- - - - -
- - - - -
std::string CullItem::reason [private]
-
- - - - - -
-   - - -

-Holds the quit reason to use for this user. -

- -

-Definition at line 45 of file cull_list.h.

-

- - - - -
- - - - -
userrec* CullItem::user [private]
-
- - - - - -
-   - - -

-Holds a pointer to the user, must be valid and can be a local or remote user. -

- -

-Definition at line 42 of file cull_list.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classCullItem__coll__graph.gif b/docs/module-doc/classCullItem__coll__graph.gif deleted file mode 100644 index 8c1aced31..000000000 Binary files a/docs/module-doc/classCullItem__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classCullItem__coll__graph.map b/docs/module-doc/classCullItem__coll__graph.map deleted file mode 100644 index bda5d1397..000000000 --- a/docs/module-doc/classCullItem__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classuserrec.html 96,129 163,156 diff --git a/docs/module-doc/classCullItem__coll__graph.md5 b/docs/module-doc/classCullItem__coll__graph.md5 deleted file mode 100644 index cff8e7180..000000000 --- a/docs/module-doc/classCullItem__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9d61b45ecc01934af9274355ddb80aeb \ No newline at end of file diff --git a/docs/module-doc/classCullList-members.html b/docs/module-doc/classCullList-members.html deleted file mode 100644 index be4e0bd65..000000000 --- a/docs/module-doc/classCullList-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

CullList Member List

This is the complete list of members for CullList, including all inherited members.

- - - - - -
AddItem(userrec *user, std::string reason)CullList
Apply()CullList
CullList()CullList
exemptCullList [private]
listCullList [private]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classCullList.html b/docs/module-doc/classCullList.html deleted file mode 100644 index f6c40f379..000000000 --- a/docs/module-doc/classCullList.html +++ /dev/null @@ -1,208 +0,0 @@ - - -InspIRCd: CullList Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

CullList Class Reference

The CullList class can be used by modules, and is used by the core, to compile large lists of users in preperation to quitting them all at once. -More... -

-#include <cull_list.h> -

-Collaboration diagram for CullList:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

 CullList ()
 Constructor.
void AddItem (userrec *user, std::string reason)
 Adds a user to the cull list for later removal via QUIT.
int Apply ()
 Applies the cull list, quitting all the users on the list with their quit reasons all at once.

Private Attributes

std::vector< CullItemlist
 Holds a list of users being quit.
std::map< userrec *, int > exempt
 A list of users who have already been placed on the list, as a map for fast reference.
-

Detailed Description

-The CullList class can be used by modules, and is used by the core, to compile large lists of users in preperation to quitting them all at once. -

-This is faster than quitting them within the loop, as the loops become tighter with little or no comparisons within them. The CullList class operates by allowing the programmer to push users onto the list, each with a seperate quit reason, and then, once the list is complete, call a method to flush the list, quitting all the users upon it. A CullList may hold local or remote users, but it may only hold each user once. If you attempt to add the same user twice, then the second attempt will be ignored. -

- -

-Definition at line 75 of file cull_list.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
CullList::CullList  ) 
-
- - - - - -
-   - - -

-Constructor. -

-Clears the CullList::list and CullList::exempt items.

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void CullList::AddItem userrec user,
std::string  reason
-
- - - - - -
-   - - -

-Adds a user to the cull list for later removal via QUIT. -

-

Parameters:
- - - -
user The user to add
reason The quit reason of the user being added
-
-
-

- - - - -
- - - - - - - - -
int CullList::Apply  ) 
-
- - - - - -
-   - - -

-Applies the cull list, quitting all the users on the list with their quit reasons all at once. -

-This is a very fast operation compared to iterating the user list and comparing each one, especially if there are multiple comparisons to be done, or recursion.

Returns:
The number of users removed from IRC.
-
-


Member Data Documentation

-

- - - - -
- - - - -
std::map<userrec*,int> CullList::exempt [private]
-
- - - - - -
-   - - -

-A list of users who have already been placed on the list, as a map for fast reference. -

- -

-Definition at line 87 of file cull_list.h.

-

- - - - -
- - - - -
std::vector<CullItem> CullList::list [private]
-
- - - - - -
-   - - -

-Holds a list of users being quit. -

-See the information for CullItem for more information. -

-Definition at line 82 of file cull_list.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classCullList__coll__graph.gif b/docs/module-doc/classCullList__coll__graph.gif deleted file mode 100644 index 345d611ab..000000000 Binary files a/docs/module-doc/classCullList__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classCullList__coll__graph.map b/docs/module-doc/classCullList__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classCullList__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classCullList__coll__graph.md5 b/docs/module-doc/classCullList__coll__graph.md5 deleted file mode 100644 index 08f5d16b2..000000000 --- a/docs/module-doc/classCullList__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b81df992144d9e553d1d2e340caa3110 \ No newline at end of file diff --git a/docs/module-doc/classDNS-members.html b/docs/module-doc/classDNS-members.html deleted file mode 100644 index 05ef7706b..000000000 --- a/docs/module-doc/classDNS-members.html +++ /dev/null @@ -1,43 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

DNS Member List

This is the complete list of members for DNS, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
binipDNS [private]
DNS()DNS
DNS(std::string dnsserver)DNS
dns_aton4(const char *const ipstring)DNS [private]
dns_aton4_r(const char *const ipstring)DNS [private]
dns_aton4_s(const char *const ipstring, in_addr *const ip)DNS [private]
dns_getip4(const char *const name)DNS [private]
dns_getip4list(const char *const name)DNS [private]
dns_getname4(const in_addr *const ip)DNS [private]
dns_getresult(const int fd)DNS [private]
dns_getresult_r(const int fd)DNS [private]
dns_getresult_s(const int fd, char *const result)DNS [private]
dns_init()DNS [private]
dns_init_2(const char *dnsserver)DNS [private]
dns_ntoa4(const in_addr *const ip)DNS [private]
dns_ntoa4_r(const in_addr *const ip)DNS [private]
dns_ntoa4_s(const in_addr *const ip, char *const result)DNS [private]
ForwardLookup(std::string host)DNS
GetFD()DNS
GetResult()DNS
GetResultIP()DNS
HasResult()DNS
HasResult(int fd)DNS
localbufDNS [private]
myfdDNS [private]
resultDNS [private]
ReverseLookup(std::string ip)DNS
SetNS(std::string dnsserver)DNS
tDNS [private]
~DNS()DNS


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classDNS.html b/docs/module-doc/classDNS.html deleted file mode 100644 index e72369b41..000000000 --- a/docs/module-doc/classDNS.html +++ /dev/null @@ -1,968 +0,0 @@ - - -InspIRCd: DNS Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

DNS Class Reference

The DNS class allows fast nonblocking resolution of hostnames and ip addresses. -More... -

-#include <dns.h> -

-Collaboration diagram for DNS:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 DNS ()
 The default constructor uses dns addresses read from /etc/resolv.conf.
 DNS (std::string dnsserver)
 This constructor accepts a dns server address.
 ~DNS ()
 The destructor frees all used structures.
bool ReverseLookup (std::string ip)
 This method will start the reverse lookup of an ip given in dotted decimal format, e.g.
bool ForwardLookup (std::string host)
 This method will start the forward lookup of a hostname, e.g.
bool HasResult ()
 This method will return true when the lookup is completed.
bool HasResult (int fd)
 This method will return true if the lookup's fd matches the one provided.
std::string GetResult ()
 This method returns the result of your query as a string, depending upon wether you called DNS::ReverseLookup() or DNS::ForwardLookup.
std::string GetResultIP ()
int GetFD ()
 This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g.
void SetNS (std::string dnsserver)

Private Member Functions

void dns_init ()
void dns_init_2 (const char *dnsserver)
in_addr * dns_aton4 (const char *const ipstring)
char * dns_ntoa4 (const in_addr *const ip)
int dns_getip4 (const char *const name)
int dns_getip4list (const char *const name)
int dns_getname4 (const in_addr *const ip)
char * dns_getresult (const int fd)
in_addr * dns_aton4_s (const char *const ipstring, in_addr *const ip)
char * dns_ntoa4_s (const in_addr *const ip, char *const result)
char * dns_getresult_s (const int fd, char *const result)
in_addr * dns_aton4_r (const char *const ipstring)
char * dns_ntoa4_r (const in_addr *const ip)
char * dns_getresult_r (const int fd)

Private Attributes

in_addr * binip
char * result
char localbuf [1024]
int t
int myfd
-

Detailed Description

-The DNS class allows fast nonblocking resolution of hostnames and ip addresses. -

-It is based heavily upon firedns by Ian Gulliver. -

- -

-Definition at line 35 of file dns.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
DNS::DNS  ) 
-
- - - - - -
-   - - -

-The default constructor uses dns addresses read from /etc/resolv.conf. -

-Please note that it will re-read /etc/resolv.conf for each copy of the class you instantiate, causing disk access and slow lookups if you create a lot of them. Consider passing the constructor a server address as a parameter instead.

-

- - - - -
- - - - - - - - - -
DNS::DNS std::string  dnsserver  ) 
-
- - - - - -
-   - - -

-This constructor accepts a dns server address. -

-The address must be in dotted decimal form, e.g. 1.2.3.4.

-

- - - - -
- - - - - - - - -
DNS::~DNS  ) 
-
- - - - - -
-   - - -

-The destructor frees all used structures. -

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
in_addr* DNS::dns_aton4 const char *const   ipstring  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
in_addr* DNS::dns_aton4_r const char *const   ipstring  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
in_addr* DNS::dns_aton4_s const char *const   ipstring,
in_addr *const   ip
[private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int DNS::dns_getip4 const char *const   name  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int DNS::dns_getip4list const char *const   name  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int DNS::dns_getname4 const in_addr *const   ip  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
char* DNS::dns_getresult const int  fd  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
char* DNS::dns_getresult_r const int  fd  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
char* DNS::dns_getresult_s const int  fd,
char *const   result
[private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
void DNS::dns_init  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void DNS::dns_init_2 const char *  dnsserver  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
char* DNS::dns_ntoa4 const in_addr *const   ip  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
char* DNS::dns_ntoa4_r const in_addr *const   ip  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
char* DNS::dns_ntoa4_s const in_addr *const   ip,
char *const   result
[private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool DNS::ForwardLookup std::string  host  ) 
-
- - - - - -
-   - - -

-This method will start the forward lookup of a hostname, e.g. -

-www.inspircd.org, and returns true if the lookup was successfully initiated.

-

- - - - -
- - - - - - - - -
int DNS::GetFD  ) 
-
- - - - - -
-   - - -

-This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. -

-the dns server not responding.

-

- - - - -
- - - - - - - - -
std::string DNS::GetResult  ) 
-
- - - - - -
-   - - -

-This method returns the result of your query as a string, depending upon wether you called DNS::ReverseLookup() or DNS::ForwardLookup. -

-

-

- - - - -
- - - - - - - - -
std::string DNS::GetResultIP  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool DNS::HasResult int  fd  ) 
-
- - - - - -
-   - - -

-This method will return true if the lookup's fd matches the one provided. -

-

-

- - - - -
- - - - - - - - -
bool DNS::HasResult  ) 
-
- - - - - -
-   - - -

-This method will return true when the lookup is completed. -

-It uses poll internally to determine the status of the socket.

-

- - - - -
- - - - - - - - - -
bool DNS::ReverseLookup std::string  ip  ) 
-
- - - - - -
-   - - -

-This method will start the reverse lookup of an ip given in dotted decimal format, e.g. -

-1.2.3.4, and returns true if the lookup was successfully initiated.

-

- - - - -
- - - - - - - - - -
void DNS::SetNS std::string  dnsserver  ) 
-
- - - - - -
-   - - -

-

-


Member Data Documentation

-

- - - - -
- - - - -
in_addr* DNS::binip [private]
-
- - - - - -
-   - - -

- -

-Definition at line 38 of file dns.h.

-

- - - - -
- - - - -
char DNS::localbuf[1024] [private]
-
- - - - - -
-   - - -

- -

-Definition at line 40 of file dns.h.

-

- - - - -
- - - - -
int DNS::myfd [private]
-
- - - - - -
-   - - -

- -

-Definition at line 43 of file dns.h.

-

- - - - -
- - - - -
char* DNS::result [private]
-
- - - - - -
-   - - -

- -

-Definition at line 39 of file dns.h.

-

- - - - -
- - - - -
int DNS::t [private]
-
- - - - - -
-   - - -

- -

-Definition at line 41 of file dns.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classDNS__coll__graph.gif b/docs/module-doc/classDNS__coll__graph.gif deleted file mode 100644 index d1cf9cc49..000000000 Binary files a/docs/module-doc/classDNS__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classDNS__coll__graph.map b/docs/module-doc/classDNS__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classDNS__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classDNS__coll__graph.md5 b/docs/module-doc/classDNS__coll__graph.md5 deleted file mode 100644 index 3b6e88a7e..000000000 --- a/docs/module-doc/classDNS__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0840238510d3cd2b1f0c40a4d86dbdbe \ No newline at end of file diff --git a/docs/module-doc/classELine-members.html b/docs/module-doc/classELine-members.html deleted file mode 100644 index 2797f064f..000000000 --- a/docs/module-doc/classELine-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ELine Member List

This is the complete list of members for ELine, including all inherited members.

- - - - - - - - - -
ageclassbase
classbase()classbase [inline]
durationXLine
hostmaskELine
n_matchesXLine
reasonXLine
set_timeXLine
sourceXLine
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classELine.html b/docs/module-doc/classELine.html deleted file mode 100644 index 10bd07baf..000000000 --- a/docs/module-doc/classELine.html +++ /dev/null @@ -1,66 +0,0 @@ - - -InspIRCd: ELine Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ELine Class Reference

#include <xline.h> -

-Inheritance diagram for ELine:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for ELine:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - -

Public Attributes

char hostmask [200]
 Hostmask (ident) to match against May contain wildcards.
-

Detailed Description

- -

- -

-Definition at line 87 of file xline.h.


Member Data Documentation

-

- - - - -
- - - - -
char ELine::hostmask[200]
-
- - - - - -
-   - - -

-Hostmask (ident) to match against May contain wildcards. -

- -

-Definition at line 93 of file xline.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classELine__coll__graph.gif b/docs/module-doc/classELine__coll__graph.gif deleted file mode 100644 index 2d3cfef6d..000000000 Binary files a/docs/module-doc/classELine__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classELine__coll__graph.map b/docs/module-doc/classELine__coll__graph.map deleted file mode 100644 index 25a1b769a..000000000 --- a/docs/module-doc/classELine__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 165,204 221,231 -rect $classclassbase.html 7,98 87,124 diff --git a/docs/module-doc/classELine__coll__graph.md5 b/docs/module-doc/classELine__coll__graph.md5 deleted file mode 100644 index 6fe0010ee..000000000 --- a/docs/module-doc/classELine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2647247e1a43e5ed62e46a0d90214392 \ No newline at end of file diff --git a/docs/module-doc/classELine__inherit__graph.gif b/docs/module-doc/classELine__inherit__graph.gif deleted file mode 100644 index f5ccb6ae1..000000000 Binary files a/docs/module-doc/classELine__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classELine__inherit__graph.map b/docs/module-doc/classELine__inherit__graph.map deleted file mode 100644 index 37695eb4e..000000000 --- a/docs/module-doc/classELine__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 19,81 75,108 -rect $classclassbase.html 7,7 87,33 diff --git a/docs/module-doc/classELine__inherit__graph.md5 b/docs/module-doc/classELine__inherit__graph.md5 deleted file mode 100644 index ee2337751..000000000 --- a/docs/module-doc/classELine__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -49a9689ad5f9b5a71ec60e80a8964d4d \ No newline at end of file diff --git a/docs/module-doc/classEvent-members.html b/docs/module-doc/classEvent-members.html deleted file mode 100644 index c08bfa3bd..000000000 --- a/docs/module-doc/classEvent-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Event Member List

This is the complete list of members for Event, including all inherited members.

- - - - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
dataEvent [protected]
Event(char *anydata, Module *src, std::string eventid)Event
GetData()Event
GetEventID()Event
GetSource()Event
idEvent [protected]
Send()Event [virtual]
sourceEvent [protected]
~classbase()classbase [inline]
~ModuleMessage()ModuleMessage [inline, virtual]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classEvent.html b/docs/module-doc/classEvent.html deleted file mode 100644 index ab56b1997..000000000 --- a/docs/module-doc/classEvent.html +++ /dev/null @@ -1,361 +0,0 @@ - - -InspIRCd: Event Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Event Class Reference

The Event class is a unicast message directed at all modules. -More... -

-#include <modules.h> -

-Inheritance diagram for Event:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for Event:

Collaboration graph
- - - - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 Event (char *anydata, Module *src, std::string eventid)
 Create a new Event.
char * GetData ()
 Get the Event data.
ModuleGetSource ()
 Get the event Source.
std::string GetEventID ()
 Get the event ID.
char * Send ()
 Send the Event.

Protected Attributes

char * data
 This member holds a pointer to arbitary data set by the emitter of the message.
Modulesource
 This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply.
std::string id
 The event identifier.
-

Detailed Description

-The Event class is a unicast message directed at all modules. -

-When the class is properly instantiated it may be sent to all modules using the Send() method, which will trigger the OnEvent method in all modules passing the object as its parameter. -

- -

-Definition at line 215 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
Event::Event char *  anydata,
Module src,
std::string  eventid
-
- - - - - -
-   - - -

-Create a new Event. -

- -

-Definition at line 193 of file modules.cpp.

00193 : data(anydata), source(src), id(eventid) { };
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - -
char * Event::GetData  ) 
-
- - - - - -
-   - - -

-Get the Event data. -

- -

-Definition at line 195 of file modules.cpp. -

-References data.

00196 {
-00197         return this->data;
-00198 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string Event::GetEventID  ) 
-
- - - - - -
-   - - -

-Get the event ID. -

-Use this to determine the event type for safe casting of the data -

-Definition at line 211 of file modules.cpp. -

-References id.

00212 {
-00213         return this->id;
-00214 }
-
-

-

-

- - - - -
- - - - - - - - -
Module * Event::GetSource  ) 
-
- - - - - -
-   - - -

-Get the event Source. -

- -

-Definition at line 200 of file modules.cpp. -

-References source.

00201 {
-00202         return this->source;
-00203 }
-
-

-

-

- - - - -
- - - - - - - - -
char * Event::Send  )  [virtual]
-
- - - - - -
-   - - -

-Send the Event. -

-The return result of an Event::Send() will always be NULL as no replies are expected. -

-Implements ModuleMessage. -

-Definition at line 205 of file modules.cpp. -

-References FOREACH_MOD.

00206 {
-00207         FOREACH_MOD OnEvent(this);
-00208         return NULL;
-00209 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
char* Event::data [protected]
-
- - - - - -
-   - - -

-This member holds a pointer to arbitary data set by the emitter of the message. -

- -

-Definition at line 220 of file modules.h. -

-Referenced by GetData().

-

- - - - -
- - - - -
std::string Event::id [protected]
-
- - - - - -
-   - - -

-The event identifier. -

-This is arbitary text which should be used to distinguish one type of event from another. -

-Definition at line 229 of file modules.h. -

-Referenced by GetEventID().

-

- - - - -
- - - - -
Module* Event::source [protected]
-
- - - - - -
-   - - -

-This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. -

- -

-Definition at line 224 of file modules.h. -

-Referenced by GetSource().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classEvent__coll__graph.gif b/docs/module-doc/classEvent__coll__graph.gif deleted file mode 100644 index 4c05eadca..000000000 Binary files a/docs/module-doc/classEvent__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classEvent__coll__graph.map b/docs/module-doc/classEvent__coll__graph.map deleted file mode 100644 index 1b4799fbe..000000000 --- a/docs/module-doc/classEvent__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classModuleMessage.html 7,175 127,202 -rect $classclassbase.html 95,98 175,124 -rect $classModule.html 151,175 217,202 diff --git a/docs/module-doc/classEvent__coll__graph.md5 b/docs/module-doc/classEvent__coll__graph.md5 deleted file mode 100644 index 688bac914..000000000 --- a/docs/module-doc/classEvent__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -10d33c04261107a286f69046e8553f44 \ No newline at end of file diff --git a/docs/module-doc/classEvent__inherit__graph.gif b/docs/module-doc/classEvent__inherit__graph.gif deleted file mode 100644 index d0456c9e8..000000000 Binary files a/docs/module-doc/classEvent__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classEvent__inherit__graph.map b/docs/module-doc/classEvent__inherit__graph.map deleted file mode 100644 index f3f281b15..000000000 --- a/docs/module-doc/classEvent__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classModuleMessage.html 7,81 127,108 -rect $classclassbase.html 27,7 107,33 diff --git a/docs/module-doc/classEvent__inherit__graph.md5 b/docs/module-doc/classEvent__inherit__graph.md5 deleted file mode 100644 index 89c521396..000000000 --- a/docs/module-doc/classEvent__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f920774ed43bc66c960d56c584166dc7 \ No newline at end of file diff --git a/docs/module-doc/classExemptItem-members.html b/docs/module-doc/classExemptItem-members.html deleted file mode 100644 index 2922e168e..000000000 --- a/docs/module-doc/classExemptItem-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ExemptItem Member List

This is the complete list of members for ExemptItem, including all inherited members.

- - - - - - - - -
ageclassbase
classbase()classbase [inline]
dataHostItem
HostItem()HostItem [inline]
set_byHostItem
set_timeHostItem
~classbase()classbase [inline]
~HostItem()HostItem [inline, virtual]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classExemptItem.html b/docs/module-doc/classExemptItem.html deleted file mode 100644 index 60a468f82..000000000 --- a/docs/module-doc/classExemptItem.html +++ /dev/null @@ -1,37 +0,0 @@ - - -InspIRCd: ExemptItem Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ExemptItem Class Reference

A subclass of HostItem designed to hold channel exempts (+e). -More... -

-#include <channels.h> -

-Inheritance diagram for ExemptItem:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for ExemptItem:

Collaboration graph
- - - - -
[legend]
List of all members. - -
-

Detailed Description

-A subclass of HostItem designed to hold channel exempts (+e). -

- -

-Definition at line 62 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classExemptItem__coll__graph.gif b/docs/module-doc/classExemptItem__coll__graph.gif deleted file mode 100644 index 2454fa4f7..000000000 Binary files a/docs/module-doc/classExemptItem__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classExemptItem__coll__graph.map b/docs/module-doc/classExemptItem__coll__graph.map deleted file mode 100644 index 84658baf1..000000000 --- a/docs/module-doc/classExemptItem__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classHostItem.html 109,204 184,231 -rect $classclassbase.html 107,98 187,124 diff --git a/docs/module-doc/classExemptItem__coll__graph.md5 b/docs/module-doc/classExemptItem__coll__graph.md5 deleted file mode 100644 index d617a8a38..000000000 --- a/docs/module-doc/classExemptItem__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -25e2b7408d8e26d1fbf18732be3e5256 \ No newline at end of file diff --git a/docs/module-doc/classExemptItem__inherit__graph.gif b/docs/module-doc/classExemptItem__inherit__graph.gif deleted file mode 100644 index de11425e0..000000000 Binary files a/docs/module-doc/classExemptItem__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classExemptItem__inherit__graph.map b/docs/module-doc/classExemptItem__inherit__graph.map deleted file mode 100644 index 2fd89000d..000000000 --- a/docs/module-doc/classExemptItem__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classHostItem.html 16,81 91,108 -rect $classclassbase.html 14,7 94,33 diff --git a/docs/module-doc/classExemptItem__inherit__graph.md5 b/docs/module-doc/classExemptItem__inherit__graph.md5 deleted file mode 100644 index a09b17512..000000000 --- a/docs/module-doc/classExemptItem__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8d830e52922c7fb515e30174811f813c \ No newline at end of file diff --git a/docs/module-doc/classExtMode-members.html b/docs/module-doc/classExtMode-members.html deleted file mode 100644 index 3ceab8c67..000000000 --- a/docs/module-doc/classExtMode-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ExtMode Member List

This is the complete list of members for ExtMode, including all inherited members.

- - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
ExtMode(char mc, int ty, bool oper, int p_on, int p_off)ExtMode [inline]
listExtMode
modecharExtMode
needsoperExtMode
params_when_offExtMode
params_when_onExtMode
typeExtMode
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classExtMode.html b/docs/module-doc/classExtMode.html deleted file mode 100644 index e99ca84f8..000000000 --- a/docs/module-doc/classExtMode.html +++ /dev/null @@ -1,265 +0,0 @@ - - -InspIRCd: ExtMode Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ExtMode Class Reference

Holds an extended mode's details. -More... -

-#include <modules.h> -

-Inheritance diagram for ExtMode:

Inheritance graph
- - - -
[legend]
Collaboration diagram for ExtMode:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - -

Public Member Functions

 ExtMode (char mc, int ty, bool oper, int p_on, int p_off)

Public Attributes

char modechar
int type
bool needsoper
int params_when_on
int params_when_off
bool list
-

Detailed Description

-Holds an extended mode's details. -

-Used internally by modules.cpp -

- -

-Definition at line 254 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ExtMode::ExtMode char  mc,
int  ty,
bool  oper,
int  p_on,
int  p_off
[inline]
-
- - - - - -
-   - - -

- -

-Definition at line 263 of file modules.h.

00263 : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
bool ExtMode::list
-
- - - - - -
-   - - -

- -

-Definition at line 262 of file modules.h.

-

- - - - -
- - - - -
char ExtMode::modechar
-
- - - - - -
-   - - -

- -

-Definition at line 257 of file modules.h.

-

- - - - -
- - - - -
bool ExtMode::needsoper
-
- - - - - -
-   - - -

- -

-Definition at line 259 of file modules.h.

-

- - - - -
- - - - -
int ExtMode::params_when_off
-
- - - - - -
-   - - -

- -

-Definition at line 261 of file modules.h.

-

- - - - -
- - - - -
int ExtMode::params_when_on
-
- - - - - -
-   - - -

- -

-Definition at line 260 of file modules.h.

-

- - - - -
- - - - -
int ExtMode::type
-
- - - - - -
-   - - -

- -

-Definition at line 258 of file modules.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classExtMode__coll__graph.gif b/docs/module-doc/classExtMode__coll__graph.gif deleted file mode 100644 index 183d9ea68..000000000 Binary files a/docs/module-doc/classExtMode__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classExtMode__coll__graph.map b/docs/module-doc/classExtMode__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classExtMode__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classExtMode__coll__graph.md5 b/docs/module-doc/classExtMode__coll__graph.md5 deleted file mode 100644 index 34584682d..000000000 --- a/docs/module-doc/classExtMode__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -aef2bb7129d67057b097a14e7f4fbf44 \ No newline at end of file diff --git a/docs/module-doc/classExtMode__inherit__graph.gif b/docs/module-doc/classExtMode__inherit__graph.gif deleted file mode 100644 index 4efe4abe8..000000000 Binary files a/docs/module-doc/classExtMode__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classExtMode__inherit__graph.map b/docs/module-doc/classExtMode__inherit__graph.map deleted file mode 100644 index 8b1d85be3..000000000 --- a/docs/module-doc/classExtMode__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,7 87,34 diff --git a/docs/module-doc/classExtMode__inherit__graph.md5 b/docs/module-doc/classExtMode__inherit__graph.md5 deleted file mode 100644 index 148e73af3..000000000 --- a/docs/module-doc/classExtMode__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8e2dde6b6b72ead80009841a4a78fc58 \ No newline at end of file diff --git a/docs/module-doc/classExtensible-members.html b/docs/module-doc/classExtensible-members.html deleted file mode 100644 index d174e6dcd..000000000 --- a/docs/module-doc/classExtensible-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Extensible Member List

This is the complete list of members for Extensible, including all inherited members.

- - - - - - - - -
ageclassbase
classbase()classbase [inline]
Extend(std::string key, char *p)Extensible
Extension_ItemsExtensible [private]
GetExt(std::string key)Extensible
GetExtList(std::deque< std::string > &list)Extensible
Shrink(std::string key)Extensible
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classExtensible.html b/docs/module-doc/classExtensible.html deleted file mode 100644 index bbda5d2a9..000000000 --- a/docs/module-doc/classExtensible.html +++ /dev/null @@ -1,242 +0,0 @@ - - -InspIRCd: Extensible Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Extensible Class Reference

class Extensible is the parent class of many classes such as userrec and chanrec. -More... -

-#include <base.h> -

-Inheritance diagram for Extensible:

Inheritance graph
- - - - - - -
[legend]
Collaboration diagram for Extensible:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - -

Public Member Functions

bool Extend (std::string key, char *p)
 Extend an Extensible class.
bool Shrink (std::string key)
 Shrink an Extensible class.
char * GetExt (std::string key)
 Get an extension item.
void GetExtList (std::deque< std::string > &list)
 Get a list of all extension items names.

Private Attributes

std::map< std::string, char * > Extension_Items
 Private data store.
-

Detailed Description

-class Extensible is the parent class of many classes such as userrec and chanrec. -

-class Extensible implements a system which allows modules to 'extend' the class by attaching data within a map associated with the object. In this way modules can store their own custom information within user objects, channel objects and server objects, without breaking other modules (this is more sensible than using a flags variable, and each module defining bits within the flag as 'theirs' as it is less prone to conflict and supports arbitary data storage). -

- -

-Definition at line 51 of file base.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool Extensible::Extend std::string  key,
char *  p
-
- - - - - -
-   - - -

-Extend an Extensible class. -

-

Parameters:
- - - -
key The key parameter is an arbitary string which identifies the extension data
p This parameter is a pointer to any data you wish to associate with the object
-
-You must provide a key to store the data as, and a void* to the data (typedef VoidPointer) The data will be inserted into the map. If the data already exists, you may not insert it twice, Extensible::Extend will return false in this case.

-

Returns:
Returns true on success, false if otherwise
-
-

- - - - -
- - - - - - - - - -
char* Extensible::GetExt std::string  key  ) 
-
- - - - - -
-   - - -

-Get an extension item. -

-

Parameters:
- - -
key The key parameter is an arbitary string which identifies the extension data
-
-
Returns:
If you provide a non-existent key name, the function returns NULL, otherwise a pointer to the item referenced by the key is returned.
-
-

- - - - -
- - - - - - - - - -
void Extensible::GetExtList std::deque< std::string > &  list  ) 
-
- - - - - -
-   - - -

-Get a list of all extension items names. -

-

Parameters:
- - -
list A deque of strings to receive the list
-
-
Returns:
This function writes a list of all extension items stored in this object by name into the given deque and returns void.
-
-

- - - - -
- - - - - - - - - -
bool Extensible::Shrink std::string  key  ) 
-
- - - - - -
-   - - -

-Shrink an Extensible class. -

-

Parameters:
- - -
key The key parameter is an arbitary string which identifies the extension data
-
-You must provide a key name. The given key name will be removed from the classes data. If you provide a nonexistent key (case is important) then the function will return false.

-

Returns:
Returns true on success.
-
-


Member Data Documentation

-

- - - - -
- - - - -
std::map<std::string,char*> Extensible::Extension_Items [private]
-
- - - - - -
-   - - -

-Private data store. -

- -

-Definition at line 55 of file base.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classExtensible__coll__graph.gif b/docs/module-doc/classExtensible__coll__graph.gif deleted file mode 100644 index b109a2213..000000000 Binary files a/docs/module-doc/classExtensible__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classExtensible__coll__graph.map b/docs/module-doc/classExtensible__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classExtensible__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classExtensible__coll__graph.md5 b/docs/module-doc/classExtensible__coll__graph.md5 deleted file mode 100644 index a721606b9..000000000 --- a/docs/module-doc/classExtensible__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4e5783e6b1854663efa1943995dec16d \ No newline at end of file diff --git a/docs/module-doc/classExtensible__inherit__graph.gif b/docs/module-doc/classExtensible__inherit__graph.gif deleted file mode 100644 index cb019563d..000000000 Binary files a/docs/module-doc/classExtensible__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classExtensible__inherit__graph.map b/docs/module-doc/classExtensible__inherit__graph.map deleted file mode 100644 index 739ce8fc6..000000000 --- a/docs/module-doc/classExtensible__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classchanrec.html 7,156 76,183 -rect $classconnection.html 100,156 185,183 -rect $classclassbase.html 52,7 132,33 -rect $classuserrec.html 109,231 176,257 diff --git a/docs/module-doc/classExtensible__inherit__graph.md5 b/docs/module-doc/classExtensible__inherit__graph.md5 deleted file mode 100644 index 461684372..000000000 --- a/docs/module-doc/classExtensible__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4a03bd45cd4754f0edff4e8a3bc20f54 \ No newline at end of file diff --git a/docs/module-doc/classFileReader-members.html b/docs/module-doc/classFileReader-members.html deleted file mode 100644 index a0e276e5b..000000000 --- a/docs/module-doc/classFileReader-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

FileReader Member List

This is the complete list of members for FileReader, including all inherited members.

- - - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
Exists()FileReader
fcFileReader [private]
FileReader()FileReader
FileReader(std::string filename)FileReader
FileSize()FileReader
GetLine(int x)FileReader
LoadFile(std::string filename)FileReader
~classbase()classbase [inline]
~FileReader()FileReader


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classFileReader.html b/docs/module-doc/classFileReader.html deleted file mode 100644 index 552f8fe1c..000000000 --- a/docs/module-doc/classFileReader.html +++ /dev/null @@ -1,368 +0,0 @@ - - -InspIRCd: FileReader Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

FileReader Class Reference

Caches a text file into memory and can be used to retrieve lines from it. -More... -

-#include <modules.h> -

-Inheritance diagram for FileReader:

Inheritance graph
- - - -
[legend]
Collaboration diagram for FileReader:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 FileReader ()
 Default constructor.
 FileReader (std::string filename)
 Secondary constructor.
 ~FileReader ()
 Default destructor.
void LoadFile (std::string filename)
 Used to load a file.
bool Exists ()
 Returns true if the file exists This function will return false if the file could not be opened.
std::string GetLine (int x)
 Retrieve one line from the file.
int FileSize ()
 Returns the size of the file in lines.

Private Attributes

file_cache fc
-

Detailed Description

-Caches a text file into memory and can be used to retrieve lines from it. -

-This class contains methods for read-only manipulation of a text file in memory. Either use the constructor type with one parameter to load a file into memory at construction, or use the LoadFile method to load a file. -

- -

-Definition at line 1639 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
FileReader::FileReader  ) 
-
- - - - - -
-   - - -

-Default constructor. -

-This method does not load any file into memory, you must use the LoadFile method after constructing the class this way. -

-Definition at line 890 of file modules.cpp.

00891 {
-00892 }
-
-

-

-

- - - - -
- - - - - - - - - -
FileReader::FileReader std::string  filename  ) 
-
- - - - - -
-   - - -

-Secondary constructor. -

-This method initialises the class with a file loaded into it ready for GetLine and and other methods to be called. If the file could not be loaded, FileReader::FileSize returns 0. -

-Definition at line 883 of file modules.cpp. -

-References fc, and readfile().

00884 {
-00885         file_cache c;
-00886         readfile(c,filename.c_str());
-00887         this->fc = c;
-00888 }
-
-

-

-

- - - - -
- - - - - - - - -
FileReader::~FileReader  ) 
-
- - - - - -
-   - - -

-Default destructor. -

-This deletes the memory allocated to the file. -

-Definition at line 902 of file modules.cpp.

00903 {
-00904 }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - -
bool FileReader::Exists  ) 
-
- - - - - -
-   - - -

-Returns true if the file exists This function will return false if the file could not be opened. -

- -

-Definition at line 906 of file modules.cpp. -

-References fc.

00907 {
-00908         if (fc.size() == 0)
-00909         {
-00910                 return(false);
-00911         }
-00912         else
-00913         {
-00914                 return(true);
-00915         }
-00916 }
-
-

-

-

- - - - -
- - - - - - - - -
int FileReader::FileSize  ) 
-
- - - - - -
-   - - -

-Returns the size of the file in lines. -

-This method returns the number of lines in the read file. If it is 0, no lines have been read into memory, either because the file is empty or it does not exist, or cannot be opened due to permission problems. -

-Definition at line 925 of file modules.cpp. -

-References fc.

00926 {
-00927         return fc.size();
-00928 }
-
-

-

-

- - - - -
- - - - - - - - - -
std::string FileReader::GetLine int  x  ) 
-
- - - - - -
-   - - -

-Retrieve one line from the file. -

-This method retrieves one line from the text file. If an empty non-NULL string is returned, the index was out of bounds, or the line had no data on it. -

-Definition at line 918 of file modules.cpp. -

-References fc.

00919 {
-00920         if ((x<0) || ((unsigned)x>fc.size()))
-00921                 return "";
-00922         return fc[x];
-00923 }
-
-

-

-

- - - - -
- - - - - - - - - -
void FileReader::LoadFile std::string  filename  ) 
-
- - - - - -
-   - - -

-Used to load a file. -

-This method loads a file into the class ready for GetLine and and other methods to be called. If the file could not be loaded, FileReader::FileSize returns 0. -

-Definition at line 894 of file modules.cpp. -

-References fc, and readfile().

00895 {
-00896         file_cache c;
-00897         readfile(c,filename.c_str());
-00898         this->fc = c;
-00899 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
file_cache FileReader::fc [private]
-
- - - - - -
-   - - -

- -

-Definition at line 1641 of file modules.h. -

-Referenced by Exists(), FileReader(), FileSize(), GetLine(), and LoadFile().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classFileReader__coll__graph.gif b/docs/module-doc/classFileReader__coll__graph.gif deleted file mode 100644 index 3e676a53c..000000000 Binary files a/docs/module-doc/classFileReader__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classFileReader__coll__graph.map b/docs/module-doc/classFileReader__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classFileReader__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classFileReader__coll__graph.md5 b/docs/module-doc/classFileReader__coll__graph.md5 deleted file mode 100644 index 81d85200b..000000000 --- a/docs/module-doc/classFileReader__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -525681b5632176b71e156ebd08f4e76a \ No newline at end of file diff --git a/docs/module-doc/classFileReader__inherit__graph.gif b/docs/module-doc/classFileReader__inherit__graph.gif deleted file mode 100644 index 20ec69338..000000000 Binary files a/docs/module-doc/classFileReader__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classFileReader__inherit__graph.map b/docs/module-doc/classFileReader__inherit__graph.map deleted file mode 100644 index cba11264e..000000000 --- a/docs/module-doc/classFileReader__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 11,7 91,34 diff --git a/docs/module-doc/classFileReader__inherit__graph.md5 b/docs/module-doc/classFileReader__inherit__graph.md5 deleted file mode 100644 index afa514f3d..000000000 --- a/docs/module-doc/classFileReader__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -4fdde72b2259aedfb4389cc3dcdc2c8b \ No newline at end of file diff --git a/docs/module-doc/classGLine-members.html b/docs/module-doc/classGLine-members.html deleted file mode 100644 index 9924b5d66..000000000 --- a/docs/module-doc/classGLine-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

GLine Member List

This is the complete list of members for GLine, including all inherited members.

- - - - - - - - - -
ageclassbase
classbase()classbase [inline]
durationXLine
hostmaskGLine
n_matchesXLine
reasonXLine
set_timeXLine
sourceXLine
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classGLine.html b/docs/module-doc/classGLine.html deleted file mode 100644 index 7556d3ffd..000000000 --- a/docs/module-doc/classGLine.html +++ /dev/null @@ -1,69 +0,0 @@ - - -InspIRCd: GLine Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

GLine Class Reference

GLine class. -More... -

-#include <xline.h> -

-Inheritance diagram for GLine:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for GLine:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - -

Public Attributes

char hostmask [200]
 Hostmask (ident) to match against May contain wildcards.
-

Detailed Description

-GLine class. -

- -

-Definition at line 78 of file xline.h.


Member Data Documentation

-

- - - - -
- - - - -
char GLine::hostmask[200]
-
- - - - - -
-   - - -

-Hostmask (ident) to match against May contain wildcards. -

- -

-Definition at line 84 of file xline.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classGLine__coll__graph.gif b/docs/module-doc/classGLine__coll__graph.gif deleted file mode 100644 index 0bae72027..000000000 Binary files a/docs/module-doc/classGLine__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classGLine__coll__graph.map b/docs/module-doc/classGLine__coll__graph.map deleted file mode 100644 index 25a1b769a..000000000 --- a/docs/module-doc/classGLine__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 165,204 221,231 -rect $classclassbase.html 7,98 87,124 diff --git a/docs/module-doc/classGLine__coll__graph.md5 b/docs/module-doc/classGLine__coll__graph.md5 deleted file mode 100644 index 9c730fc68..000000000 --- a/docs/module-doc/classGLine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -73b6083b7948aa94c2ddb2dcfa75054b \ No newline at end of file diff --git a/docs/module-doc/classGLine__inherit__graph.gif b/docs/module-doc/classGLine__inherit__graph.gif deleted file mode 100644 index c8267bece..000000000 Binary files a/docs/module-doc/classGLine__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classGLine__inherit__graph.map b/docs/module-doc/classGLine__inherit__graph.map deleted file mode 100644 index 37695eb4e..000000000 --- a/docs/module-doc/classGLine__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 19,81 75,108 -rect $classclassbase.html 7,7 87,33 diff --git a/docs/module-doc/classGLine__inherit__graph.md5 b/docs/module-doc/classGLine__inherit__graph.md5 deleted file mode 100644 index 9374a453c..000000000 --- a/docs/module-doc/classGLine__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c561272c254fa5d3e2bec1555b57510b \ No newline at end of file diff --git a/docs/module-doc/classHostItem-members.html b/docs/module-doc/classHostItem-members.html deleted file mode 100644 index 57600aa00..000000000 --- a/docs/module-doc/classHostItem-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

HostItem Member List

This is the complete list of members for HostItem, including all inherited members.

- - - - - - - - -
ageclassbase
classbase()classbase [inline]
dataHostItem
HostItem()HostItem [inline]
set_byHostItem
set_timeHostItem
~classbase()classbase [inline]
~HostItem()HostItem [inline, virtual]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classHostItem.html b/docs/module-doc/classHostItem.html deleted file mode 100644 index 9b4c62baf..000000000 --- a/docs/module-doc/classHostItem.html +++ /dev/null @@ -1,193 +0,0 @@ - - -InspIRCd: HostItem Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

HostItem Class Reference

Holds an entry for a ban list, exemption list, or invite list. -More... -

-#include <channels.h> -

-Inheritance diagram for HostItem:

Inheritance graph
- - - - - - -
[legend]
Collaboration diagram for HostItem:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - -

Public Member Functions

 HostItem ()
virtual ~HostItem ()

Public Attributes

time_t set_time
char set_by [NICKMAX]
char data [MAXBUF]
-

Detailed Description

-Holds an entry for a ban list, exemption list, or invite list. -

-This class contains a single element in a channel list, such as a banlist. -

- -

-Definition at line 38 of file channels.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
HostItem::HostItem  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 45 of file channels.h.

00045 { /* stub */ }
-
-

-

-

- - - - -
- - - - - - - - -
virtual HostItem::~HostItem  )  [inline, virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 46 of file channels.h.

00046 { /* stub */ }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
char HostItem::data[MAXBUF]
-
- - - - - -
-   - - -

- -

-Definition at line 43 of file channels.h.

-

- - - - -
- - - - -
char HostItem::set_by[NICKMAX]
-
- - - - - -
-   - - -

- -

-Definition at line 42 of file channels.h.

-

- - - - -
- - - - -
time_t HostItem::set_time
-
- - - - - -
-   - - -

- -

-Definition at line 41 of file channels.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classHostItem__coll__graph.gif b/docs/module-doc/classHostItem__coll__graph.gif deleted file mode 100644 index 1af3e7c7e..000000000 Binary files a/docs/module-doc/classHostItem__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classHostItem__coll__graph.map b/docs/module-doc/classHostItem__coll__graph.map deleted file mode 100644 index 64f9b3a84..000000000 --- a/docs/module-doc/classHostItem__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 107,97 187,124 diff --git a/docs/module-doc/classHostItem__coll__graph.md5 b/docs/module-doc/classHostItem__coll__graph.md5 deleted file mode 100644 index 1febcee09..000000000 --- a/docs/module-doc/classHostItem__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -78d65e764adb0280a4c5499a21d901f7 \ No newline at end of file diff --git a/docs/module-doc/classHostItem__inherit__graph.gif b/docs/module-doc/classHostItem__inherit__graph.gif deleted file mode 100644 index 9743b6432..000000000 Binary files a/docs/module-doc/classHostItem__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classHostItem__inherit__graph.map b/docs/module-doc/classHostItem__inherit__graph.map deleted file mode 100644 index ad031674c..000000000 --- a/docs/module-doc/classHostItem__inherit__graph.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $classBanItem.html 7,156 79,183 -rect $classExemptItem.html 103,156 196,183 -rect $classInviteItem.html 220,156 300,183 -rect $classclassbase.html 110,7 190,33 diff --git a/docs/module-doc/classHostItem__inherit__graph.md5 b/docs/module-doc/classHostItem__inherit__graph.md5 deleted file mode 100644 index e1ee72a99..000000000 --- a/docs/module-doc/classHostItem__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -8f648f4a23ebaee7a9ac924b7832541e \ No newline at end of file diff --git a/docs/module-doc/classInspIRCd-members.html b/docs/module-doc/classInspIRCd-members.html deleted file mode 100644 index 21710f06a..000000000 --- a/docs/module-doc/classInspIRCd-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Member List

This is the complete list of members for InspIRCd, including all inherited members.

- - - - - - - - - - - - - - - - -
erase_factory(int j)InspIRCd [private]
erase_module(int j)InspIRCd [private]
GetRevision()InspIRCd
GetVersionString()InspIRCd
InspIRCd(int argc, char **argv)InspIRCd
LoadModule(const char *filename)InspIRCd
MakeLowerMap()InspIRCd
ModeGrokInspIRCd
MODERRInspIRCd [private]
ModuleError()InspIRCd
ParserInspIRCd
Run()InspIRCd
SEInspIRCd
startup_timeInspIRCd
statsInspIRCd
UnloadModule(const char *filename)InspIRCd


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInspIRCd.html b/docs/module-doc/classInspIRCd.html deleted file mode 100644 index bac3ef9a7..000000000 --- a/docs/module-doc/classInspIRCd.html +++ /dev/null @@ -1,513 +0,0 @@ - - -InspIRCd: InspIRCd Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Class Reference

#include <inspircd.h> -

-Collaboration diagram for InspIRCd:

Collaboration graph
- - - - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

void MakeLowerMap ()
std::string GetRevision ()
std::string GetVersionString ()
char * ModuleError ()
bool LoadModule (const char *filename)
bool UnloadModule (const char *filename)
 InspIRCd (int argc, char **argv)
int Run ()

Public Attributes

time_t startup_time
ModeParserModeGrok
CommandParser * Parser
SocketEngineSE
serverstatsstats

Private Member Functions

void erase_factory (int j)
void erase_module (int j)

Private Attributes

char MODERR [MAXBUF]
-

Detailed Description

- -

- -

-Definition at line 99 of file inspircd.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
InspIRCd::InspIRCd int  argc,
char **  argv
-
- - - - - -
-   - - -

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void InspIRCd::erase_factory int  j  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void InspIRCd::erase_module int  j  )  [private]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
std::string InspIRCd::GetRevision  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
std::string InspIRCd::GetVersionString  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::GetVersion().

-

- - - - -
- - - - - - - - - -
bool InspIRCd::LoadModule const char *  filename  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
void InspIRCd::MakeLowerMap  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
char* InspIRCd::ModuleError  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
int InspIRCd::Run  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool InspIRCd::UnloadModule const char *  filename  ) 
-
- - - - - -
-   - - -

-

-


Member Data Documentation

-

- - - - -
- - - - -
ModeParser* InspIRCd::ModeGrok
-
- - - - - -
-   - - -

- -

-Definition at line 109 of file inspircd.h. -

-Referenced by Server::SendMode().

-

- - - - -
- - - - -
char InspIRCd::MODERR[MAXBUF] [private]
-
- - - - - -
-   - - -

- -

-Definition at line 103 of file inspircd.h.

-

- - - - -
- - - - -
CommandParser* InspIRCd::Parser
-
- - - - - -
-   - - -

- -

-Definition at line 110 of file inspircd.h. -

-Referenced by Server::AddCommand(), Server::CallCommandHandler(), force_nickchange(), and Server::IsValidModuleCommand().

-

- - - - -
- - - - -
SocketEngine* InspIRCd::SE
-
- - - - - -
-   - - -

- -

-Definition at line 111 of file inspircd.h. -

-Referenced by AddClient(), InspSocket::InspSocket(), kill_link(), kill_link_silent(), InspSocket::Poll(), and Server::UserToPseudo().

-

- - - - -
- - - - -
time_t InspIRCd::startup_time
-
- - - - - -
-   - - -

- -

-Definition at line 108 of file inspircd.h.

-

- - - - -
- - - - -
serverstats* InspIRCd::stats
-
- - - - - -
-   - - -

- -

-Definition at line 112 of file inspircd.h. -

-Referenced by force_nickchange(), and FullConnectUser().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInspIRCd__coll__graph.gif b/docs/module-doc/classInspIRCd__coll__graph.gif deleted file mode 100644 index bc33d87e5..000000000 Binary files a/docs/module-doc/classInspIRCd__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classInspIRCd__coll__graph.map b/docs/module-doc/classInspIRCd__coll__graph.map deleted file mode 100644 index 058bc0d1f..000000000 --- a/docs/module-doc/classInspIRCd__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classSocketEngine.html 22,10 126,36 -rect $classserverstats.html 30,212 118,239 -rect $classModeParser.html 27,263 120,290 diff --git a/docs/module-doc/classInspIRCd__coll__graph.md5 b/docs/module-doc/classInspIRCd__coll__graph.md5 deleted file mode 100644 index f17fcfbb3..000000000 --- a/docs/module-doc/classInspIRCd__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -117342ac51fed621fabeb5e75c73aa1b \ No newline at end of file diff --git a/docs/module-doc/classInspSocket-members.html b/docs/module-doc/classInspSocket-members.html deleted file mode 100644 index 228fd599c..000000000 --- a/docs/module-doc/classInspSocket-members.html +++ /dev/null @@ -1,48 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspSocket Member List

This is the complete list of members for InspSocket, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addrInspSocket [private]
addyInspSocket [private]
BufferInspSocket [private]
clientInspSocket [private]
Close()InspSocket [virtual]
fdInspSocket [private]
FlushWriteBuffer()InspSocket [private]
GetFd()InspSocket
GetIP()InspSocket
GetState()InspSocket
hostInspSocket [private]
ibufInspSocket [private]
InspSocket()InspSocket
InspSocket(int newfd, char *ip)InspSocket
InspSocket(std::string host, int port, bool listening, unsigned long maxtime)InspSocket
IPInspSocket [private]
lengthInspSocket [private]
OnClose()InspSocket [virtual]
OnConnected()InspSocket [virtual]
OnDataReady()InspSocket [virtual]
OnDisconnect()InspSocket [virtual]
OnError(InspSocketError e)InspSocket [virtual]
OnIncomingConnection(int newfd, char *ip)InspSocket [virtual]
OnTimeout()InspSocket [virtual]
Poll()InspSocket
portInspSocket [private]
Read()InspSocket [virtual]
serverInspSocket [private]
SetState(InspSocketState s)InspSocket
stateInspSocket [private]
timeoutInspSocket [private]
Timeout(time_t current)InspSocket
timeout_endInspSocket [private]
Write(std::string data)InspSocket [virtual]
~InspSocket()InspSocket [virtual]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInspSocket.html b/docs/module-doc/classInspSocket.html deleted file mode 100644 index 47533fd3a..000000000 --- a/docs/module-doc/classInspSocket.html +++ /dev/null @@ -1,1547 +0,0 @@ - - -InspIRCd: InspSocket Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspSocket Class Reference

InspSocket is an extendable socket class which modules can use for TCP socket support. -More... -

-#include <socket.h> -

-Collaboration diagram for InspSocket:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 InspSocket ()
 The default constructor does nothing and should not be used.
 InspSocket (int newfd, char *ip)
 This constructor is used to associate an existing connecting with an InspSocket class.
 InspSocket (std::string host, int port, bool listening, unsigned long maxtime)
 This constructor is used to create a new socket, either listening for connections, or an outbound connection to another host.
virtual bool OnConnected ()
 This method is called when an outbound connection on your socket is completed.
virtual void OnError (InspSocketError e)
 This method is called when an error occurs.
virtual int OnDisconnect ()
 When an established connection is terminated, the OnDisconnect method is triggered.
virtual bool OnDataReady ()
 When there is data waiting to be read on a socket, the OnDataReady() method is called.
virtual void OnTimeout ()
 When an outbound connection fails, and the attempt times out, you will receive this event.
virtual void OnClose ()
 Whenever close() is called, OnClose() will be called first.
virtual char * Read ()
 Reads all pending bytes from the socket into a char* array which can be up to 16 kilobytes in length.
std::string GetIP ()
 Returns the IP address associated with this connection, or an empty string if no IP address exists.
bool Timeout (time_t current)
 This function checks if the socket has timed out yet, given the current time in the parameter.
virtual int Write (std::string data)
 Writes a std::string to the socket.
virtual int OnIncomingConnection (int newfd, char *ip)
 If your socket is a listening socket, when a new connection comes in on the socket this method will be called.
void SetState (InspSocketState s)
 Changes the socket's state.
InspSocketState GetState ()
 Returns the current socket state.
bool Poll ()
 Only the core should call this function.
int GetFd ()
 This method returns the socket's file descriptor as assigned by the operating system, or -1 if no descriptor has been assigned.
virtual void Close ()
 This method causes the socket to close, and may also be triggered by other methods such as OnTimeout and OnError.
virtual ~InspSocket ()
 The destructor may implicitly call OnClose(), and will close() and shutdown() the file descriptor used for this socket.

Private Member Functions

void FlushWriteBuffer ()
 Flushes the write buffer.

Private Attributes

int fd
 The file descriptor of this socket.
std::string host
 The hostname connected to.
int port
 The port connected to, or the port this socket is listening on.
InspSocketState state
 The state for this socket, either listening, connecting, connected or error.
sockaddr_in addr
 The host being connected to, in sockaddr form.
in_addr addy
 The host being connected to, in in_addr form.
time_t timeout_end
 When this time is reached, the socket times out if it is in the CONNECTING state.
bool timeout
 This value is true if the socket has timed out.
char ibuf [65535]
 Socket input buffer, used by read().
std::string Buffer
 The output buffer for this socket.
std::string IP
 The IP address being connected to stored in string form for easy retrieval by accessors.
sockaddr_in client
 Client sockaddr structure used by accept().
sockaddr_in server
 Server sockaddr structure used by accept().
socklen_t length
 Used by accept() to indicate the sizes of the sockaddr_in structures.
-

Detailed Description

-InspSocket is an extendable socket class which modules can use for TCP socket support. -

-It is fully integrated into InspIRCds socket loop and attaches its sockets to the core's instance of the SocketEngine class, meaning that any sockets you create have the same power and abilities as a socket created by the core itself. To use InspSocket, you must inherit a class from it, and use the InspSocket constructors to establish connections and bindings. -

- -

-Definition at line 47 of file socket.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
InspSocket::InspSocket  ) 
-
- - - - - -
-   - - -

-The default constructor does nothing and should not be used. -

- -

-Definition at line 45 of file socket.cpp. -

-References I_DISCONNECTED, and state.

00046 {
-00047         this->state = I_DISCONNECTED;
-00048 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
InspSocket::InspSocket int  newfd,
char *  ip
-
- - - - - -
-   - - -

-This constructor is used to associate an existing connecting with an InspSocket class. -

-The given file descriptor must be valid, and when initialized, the InspSocket will be set with the given IP address and placed in CONNECTED state. -

-Definition at line 50 of file socket.cpp. -

-References SocketEngine::AddFd(), fd, I_CONNECTED, IP, InspIRCd::SE, state, and X_ESTAB_MODULE.

00051 {
-00052         this->fd = newfd;
-00053         this->state = I_CONNECTED;
-00054         this->IP = ip;
-00055         ServerInstance->SE->AddFd(this->fd,true,X_ESTAB_MODULE);
-00056         socket_ref[this->fd] = this;
-00057 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
InspSocket::InspSocket std::string  host,
int  port,
bool  listening,
unsigned long  maxtime
-
- - - - - -
-   - - -

-This constructor is used to create a new socket, either listening for connections, or an outbound connection to another host. -

-

Parameters:
- - - - - -
host The hostname to connect to, or bind to
port The port number to connect to, or bind to
listening true to listen on the given host:port pair, or false to connect to them
maxtime Number of seconds to wait, if connecting, before the connection times out and an OnTimeout() event is generated
-
- -

-Definition at line 59 of file socket.cpp. -

-References SocketEngine::AddFd(), addr, addy, BindSocket(), Close(), DEBUG, ERROR, fd, I_CONNECTING, I_ERR_BIND, I_ERR_CONNECT, I_ERR_SOCKET, I_ERROR, I_LISTENING, IP, log(), OnError(), OpenTCPSocket(), InspIRCd::SE, state, timeout, timeout_end, and X_ESTAB_MODULE.

00060 {
-00061         if (listening) {
-00062                 if ((this->fd = OpenTCPSocket()) == ERROR)
-00063                 {
-00064                         this->fd = -1;
-00065                         this->state = I_ERROR;
-00066                         this->OnError(I_ERR_SOCKET);
-00067                         log(DEBUG,"OpenTCPSocket() error");
-00068                         return;
-00069                 }
-00070                 else
-00071                 {
-00072                         if (BindSocket(this->fd,this->client,this->server,port,(char*)host.c_str()) == ERROR)
-00073                         {
-00074                                 this->Close();
-00075                                 this->fd = -1;
-00076                                 this->state = I_ERROR;
-00077                                 this->OnError(I_ERR_BIND);
-00078                                 log(DEBUG,"BindSocket() error %s",strerror(errno));
-00079                                 return;
-00080                         }
-00081                         else
-00082                         {
-00083                                 this->state = I_LISTENING;
-00084                                 ServerInstance->SE->AddFd(this->fd,true,X_ESTAB_MODULE);
-00085                                 socket_ref[this->fd] = this;
-00086                                 log(DEBUG,"New socket now in I_LISTENING state");
-00087                                 return;
-00088                         }
-00089                 }                       
-00090         } else {
-00091                 char* ip;
-00092                 this->host = host;
-00093                 hostent* hoste = gethostbyname(host.c_str());
-00094                 if (!hoste) {
-00095                         ip = (char*)host.c_str();
-00096                 } else {
-00097                         struct in_addr* ia = (in_addr*)hoste->h_addr;
-00098                         ip = inet_ntoa(*ia);
-00099                 }
-00100 
-00101                 this->IP = ip;
-00102 
-00103                 timeout_end = time(NULL)+maxtime;
-00104                 timeout = false;
-00105                 if ((this->fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
-00106                 {
-00107                         this->state = I_ERROR;
-00108                         this->OnError(I_ERR_SOCKET);
-00109                         return;
-00110                 }
-00111                 this->port = port;
-00112                 inet_aton(ip,&addy);
-00113                 addr.sin_family = AF_INET;
-00114                 addr.sin_addr = addy;
-00115                 addr.sin_port = htons(this->port);
-00116 
-00117                 int flags;
-00118                 flags = fcntl(this->fd, F_GETFL, 0);
-00119                 fcntl(this->fd, F_SETFL, flags | O_NONBLOCK);
-00120 
-00121                 if(connect(this->fd, (sockaddr*)&this->addr,sizeof(this->addr)) == -1)
-00122                 {
-00123                         if (errno != EINPROGRESS)
-00124                         {
-00125                                 this->Close();
-00126                                 this->OnError(I_ERR_CONNECT);
-00127                                 this->state = I_ERROR;
-00128                                 return;
-00129                         }
-00130                 }
-00131                 this->state = I_CONNECTING;
-00132                 ServerInstance->SE->AddFd(this->fd,false,X_ESTAB_MODULE);
-00133                 socket_ref[this->fd] = this;
-00134                 return;
-00135         }
-00136 }
-
-

-

-

- - - - -
- - - - - - - - -
InspSocket::~InspSocket  )  [virtual]
-
- - - - - -
-   - - -

-The destructor may implicitly call OnClose(), and will close() and shutdown() the file descriptor used for this socket. -

- -

-Definition at line 271 of file socket.cpp. -

-References Close().

00272 {
-00273         this->Close();
-00274 }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - -
void InspSocket::Close  )  [virtual]
-
- - - - - -
-   - - -

-This method causes the socket to close, and may also be triggered by other methods such as OnTimeout and OnError. -

- -

-Definition at line 138 of file socket.cpp. -

-References fd, and OnClose(). -

-Referenced by InspSocket(), and ~InspSocket().

00139 {
-00140         if (this->fd != -1)
-00141         {
-00142                 this->OnClose();
-00143                 shutdown(this->fd,2);
-00144                 close(this->fd);
-00145                 socket_ref[this->fd] = NULL;
-00146                 this->fd = -1;
-00147         }
-00148 }
-
-

-

-

- - - - -
- - - - - - - - -
void InspSocket::FlushWriteBuffer  )  [private]
-
- - - - - -
-   - - -

-Flushes the write buffer. -

- -

-Definition at line 181 of file socket.cpp. -

-References Buffer. -

-Referenced by Timeout(), and Write().

00182 {
-00183         int result = 0;
-00184         if (this->Buffer.length())
-00185         {
-00186                 result = send(this->fd,this->Buffer.c_str(),this->Buffer.length(),0);
-00187                 if (result > 0)
-00188                 {
-00189                         /* If we wrote some, advance the buffer forwards */
-00190                         char* n = (char*)this->Buffer.c_str();
-00191                         n += result;
-00192                         this->Buffer = n;
-00193                 }
-00194         }
-00195 }
-
-

-

-

- - - - -
- - - - - - - - -
int InspSocket::GetFd  ) 
-
- - - - - -
-   - - -

-This method returns the socket's file descriptor as assigned by the operating system, or -1 if no descriptor has been assigned. -

- -

-Definition at line 258 of file socket.cpp. -

-References fd.

00259 {
-00260         return this->fd;
-00261 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string InspSocket::GetIP  ) 
-
- - - - - -
-   - - -

-Returns the IP address associated with this connection, or an empty string if no IP address exists. -

- -

-Definition at line 150 of file socket.cpp. -

-References IP.

00151 {
-00152         return this->IP;
-00153 }
-
-

-

-

- - - - -
- - - - - - - - -
InspSocketState InspSocket::GetState  ) 
-
- - - - - -
-   - - -

-Returns the current socket state. -

- -

-Definition at line 253 of file socket.cpp. -

-References state.

00254 {
-00255         return this->state;
-00256 }
-
-

-

-

- - - - -
- - - - - - - - -
void InspSocket::OnClose  )  [virtual]
-
- - - - - -
-   - - -

-Whenever close() is called, OnClose() will be called first. -

-Please note that this means OnClose will be called alongside OnError(), OnTimeout(), and Close(), and also when cancelling a listening socket by calling the destructor indirectly. -

-Definition at line 269 of file socket.cpp. -

-Referenced by Close().

00269 { return; }
-
-

-

-

- - - - -
- - - - - - - - -
bool InspSocket::OnConnected  )  [virtual]
-
- - - - - -
-   - - -

-This method is called when an outbound connection on your socket is completed. -

-

Returns:
false to abort the connection, true to continue
- -

-Definition at line 263 of file socket.cpp. -

-Referenced by Poll().

00263 { return true; }
-
-

-

-

- - - - -
- - - - - - - - -
bool InspSocket::OnDataReady  )  [virtual]
-
- - - - - -
-   - - -

-When there is data waiting to be read on a socket, the OnDataReady() method is called. -

-Within this method, you *MUST* call the Read() method to read any pending data. At its lowest level, this event is signalled by the core via the socket engine. If you return false from this function, the core removes your socket from its list and erases it from the socket engine, then calls InspSocket::Close() and deletes it.

Returns:
false to close the socket
- -

-Definition at line 267 of file socket.cpp. -

-Referenced by Poll().

00267 { return true; }
-
-

-

-

- - - - -
- - - - - - - - -
int InspSocket::OnDisconnect  )  [virtual]
-
- - - - - -
-   - - -

-When an established connection is terminated, the OnDisconnect method is triggered. -

- -

-Definition at line 265 of file socket.cpp.

00265 { return 0; }
-
-

-

-

- - - - -
- - - - - - - - - -
void InspSocket::OnError InspSocketError  e  )  [virtual]
-
- - - - - -
-   - - -

-This method is called when an error occurs. -

-A closed socket in itself is not an error, however errors also generate close events.

Parameters:
- - -
e The error type which occured
-
- -

-Definition at line 264 of file socket.cpp. -

-Referenced by InspSocket(), and Timeout().

00264 { return; }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int InspSocket::OnIncomingConnection int  newfd,
char *  ip
[virtual]
-
- - - - - -
-   - - -

-If your socket is a listening socket, when a new connection comes in on the socket this method will be called. -

-Given the new file descriptor in the parameters, and the IP, it is recommended you copy them to a new instance of your socket class, e.g.:

-MySocket* newsocket = new MySocket(newfd,ip);

-Once you have done this, you can then associate the new socket with the core using Server::AddSocket(). -

-Definition at line 266 of file socket.cpp. -

-Referenced by Poll().

00266 { return 0; }
-
-

-

-

- - - - -
- - - - - - - - -
void InspSocket::OnTimeout  )  [virtual]
-
- - - - - -
-   - - -

-When an outbound connection fails, and the attempt times out, you will receive this event. -

-The mthod will trigger once maxtime secons are reached (as given in the constructor) just before the socket's descriptor is closed. -

-Definition at line 268 of file socket.cpp. -

-Referenced by Timeout().

00268 { return; }
-
-

-

-

- - - - -
- - - - - - - - -
bool InspSocket::Poll  ) 
-
- - - - - -
-   - - -

-Only the core should call this function. -

-When called, it is assumed the socket is ready to read data, and the method call routes the event to the various methods of InspSocket for you to handle. This can also cause the socket's state to change. -

-Definition at line 216 of file socket.cpp. -

-References SocketEngine::AddFd(), client, SocketEngine::DelFd(), I_CONNECTED, I_CONNECTING, I_LISTENING, length, OnConnected(), OnDataReady(), OnIncomingConnection(), InspIRCd::SE, SetState(), and X_ESTAB_MODULE.

00217 {
-00218         int incoming = -1;
-00219         
-00220         switch (this->state)
-00221         {
-00222                 case I_CONNECTING:
-00223                         this->SetState(I_CONNECTED);
-00224                         /* Our socket was in write-state, so delete it and re-add it
-00225                          * in read-state.
-00226                          */
-00227                         ServerInstance->SE->DelFd(this->fd);
-00228                         ServerInstance->SE->AddFd(this->fd,true,X_ESTAB_MODULE);
-00229                         return this->OnConnected();
-00230                 break;
-00231                 case I_LISTENING:
-00232                         length = sizeof (client);
-00233                         incoming = accept (this->fd, (sockaddr*)&client,&length);
-00234                         this->OnIncomingConnection(incoming,inet_ntoa(client.sin_addr));
-00235                         return true;
-00236                 break;
-00237                 case I_CONNECTED:
-00238                         return this->OnDataReady();
-00239                 break;
-00240                 default:
-00241                 break;
-00242         }
-00243 
-00244         return true;
-00245 }
-
-

-

-

- - - - -
- - - - - - - - -
char * InspSocket::Read  )  [virtual]
-
- - - - - -
-   - - -

-Reads all pending bytes from the socket into a char* array which can be up to 16 kilobytes in length. -

- -

-Definition at line 155 of file socket.cpp. -

-References DEBUG, ibuf, and log().

00156 {
-00157         int n = recv(this->fd,this->ibuf,sizeof(this->ibuf),0);
-00158         if (n > 0)
-00159         {
-00160                 ibuf[n] = 0;
-00161                 return ibuf;
-00162         }
-00163         else
-00164         {
-00165                 log(DEBUG,"EOF or error on socket");
-00166                 return NULL;
-00167         }
-00168 }
-
-

-

-

- - - - -
- - - - - - - - - -
void InspSocket::SetState InspSocketState  s  ) 
-
- - - - - -
-   - - -

-Changes the socket's state. -

-The core uses this to change socket states, and you should not call it directly. -

-Definition at line 247 of file socket.cpp. -

-References DEBUG, log(), and state. -

-Referenced by Poll().

00248 {
-00249         log(DEBUG,"Socket state change");
-00250         this->state = s;
-00251 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool InspSocket::Timeout time_t  current  ) 
-
- - - - - -
-   - - -

-This function checks if the socket has timed out yet, given the current time in the parameter. -

-

Returns:
true if timed out, false if not timed out
- -

-Definition at line 197 of file socket.cpp. -

-References FlushWriteBuffer(), I_CONNECTING, I_ERR_TIMEOUT, I_ERROR, OnError(), OnTimeout(), state, timeout, and timeout_end.

00198 {
-00199         if ((this->state == I_CONNECTING) && (current > timeout_end))
-00200         {
-00201                 // for non-listening sockets, the timeout can occur
-00202                 // which causes termination of the connection after
-00203                 // the given number of seconds without a successful
-00204                 // connection.
-00205                 this->OnTimeout();
-00206                 this->OnError(I_ERR_TIMEOUT);
-00207                 timeout = true;
-00208                 this->state = I_ERROR;
-00209                 return true;
-00210         }
-00211         if (this->Buffer.length())
-00212                 this->FlushWriteBuffer();
-00213         return false;
-00214 }
-
-

-

-

- - - - -
- - - - - - - - - -
int InspSocket::Write std::string  data  )  [virtual]
-
- - - - - -
-   - - -

-Writes a std::string to the socket. -

-No carriage returns or linefeeds are appended to the string.

Parameters:
- - -
data The data to send
-
- -

-Definition at line 174 of file socket.cpp. -

-References Buffer, and FlushWriteBuffer().

00175 {
-00176         this->Buffer = this->Buffer + data;
-00177         this->FlushWriteBuffer();
-00178         return data.length();
-00179 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
sockaddr_in InspSocket::addr [private]
-
- - - - - -
-   - - -

-The host being connected to, in sockaddr form. -

- -

-Definition at line 78 of file socket.h. -

-Referenced by InspSocket().

-

- - - - -
- - - - -
in_addr InspSocket::addy [private]
-
- - - - - -
-   - - -

-The host being connected to, in in_addr form. -

- -

-Definition at line 84 of file socket.h. -

-Referenced by InspSocket().

-

- - - - -
- - - - -
std::string InspSocket::Buffer [private]
-
- - - - - -
-   - - -

-The output buffer for this socket. -

- -

-Definition at line 111 of file socket.h. -

-Referenced by FlushWriteBuffer(), and Write().

-

- - - - -
- - - - -
sockaddr_in InspSocket::client [private]
-
- - - - - -
-   - - -

-Client sockaddr structure used by accept(). -

- -

-Definition at line 124 of file socket.h. -

-Referenced by Poll().

-

- - - - -
- - - - -
int InspSocket::fd [private]
-
- - - - - -
-   - - -

-The file descriptor of this socket. -

- -

-Definition at line 54 of file socket.h. -

-Referenced by Close(), GetFd(), and InspSocket().

-

- - - - -
- - - - -
std::string InspSocket::host [private]
-
- - - - - -
-   - - -

-The hostname connected to. -

- -

-Definition at line 59 of file socket.h.

-

- - - - -
- - - - -
char InspSocket::ibuf[65535] [private]
-
- - - - - -
-   - - -

-Socket input buffer, used by read(). -

-The class which extends InspSocket is expected to implement an extendable buffer which can grow much larger than 64k, this buffer is just designed to be temporary storage. space. -

-Definition at line 106 of file socket.h. -

-Referenced by Read().

-

- - - - -
- - - - -
std::string InspSocket::IP [private]
-
- - - - - -
-   - - -

-The IP address being connected to stored in string form for easy retrieval by accessors. -

- -

-Definition at line 118 of file socket.h. -

-Referenced by GetIP(), and InspSocket().

-

- - - - -
- - - - -
socklen_t InspSocket::length [private]
-
- - - - - -
-   - - -

-Used by accept() to indicate the sizes of the sockaddr_in structures. -

- -

-Definition at line 136 of file socket.h. -

-Referenced by Poll().

-

- - - - -
- - - - -
int InspSocket::port [private]
-
- - - - - -
-   - - -

-The port connected to, or the port this socket is listening on. -

- -

-Definition at line 65 of file socket.h.

-

- - - - -
- - - - -
sockaddr_in InspSocket::server [private]
-
- - - - - -
-   - - -

-Server sockaddr structure used by accept(). -

- -

-Definition at line 130 of file socket.h.

-

- - - - -
- - - - -
InspSocketState InspSocket::state [private]
-
- - - - - -
-   - - -

-The state for this socket, either listening, connecting, connected or error. -

- -

-Definition at line 72 of file socket.h. -

-Referenced by GetState(), InspSocket(), SetState(), and Timeout().

-

- - - - -
- - - - -
bool InspSocket::timeout [private]
-
- - - - - -
-   - - -

-This value is true if the socket has timed out. -

- -

-Definition at line 97 of file socket.h. -

-Referenced by InspSocket(), and Timeout().

-

- - - - -
- - - - -
time_t InspSocket::timeout_end [private]
-
- - - - - -
-   - - -

-When this time is reached, the socket times out if it is in the CONNECTING state. -

- -

-Definition at line 91 of file socket.h. -

-Referenced by InspSocket(), and Timeout().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInspSocket__coll__graph.gif b/docs/module-doc/classInspSocket__coll__graph.gif deleted file mode 100644 index 6a652aa18..000000000 Binary files a/docs/module-doc/classInspSocket__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classInspSocket__coll__graph.map b/docs/module-doc/classInspSocket__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classInspSocket__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classInspSocket__coll__graph.md5 b/docs/module-doc/classInspSocket__coll__graph.md5 deleted file mode 100644 index 58e1367ba..000000000 --- a/docs/module-doc/classInspSocket__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -51939a33bf707f1bcff03f02bd5b43b3 \ No newline at end of file diff --git a/docs/module-doc/classInviteItem-members.html b/docs/module-doc/classInviteItem-members.html deleted file mode 100644 index 49a217d8e..000000000 --- a/docs/module-doc/classInviteItem-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InviteItem Member List

This is the complete list of members for InviteItem, including all inherited members.

- - - - - - - - -
ageclassbase
classbase()classbase [inline]
dataHostItem
HostItem()HostItem [inline]
set_byHostItem
set_timeHostItem
~classbase()classbase [inline]
~HostItem()HostItem [inline, virtual]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInviteItem.html b/docs/module-doc/classInviteItem.html deleted file mode 100644 index 8d1ce0509..000000000 --- a/docs/module-doc/classInviteItem.html +++ /dev/null @@ -1,37 +0,0 @@ - - -InspIRCd: InviteItem Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InviteItem Class Reference

A subclass of HostItem designed to hold channel invites (+I). -More... -

-#include <channels.h> -

-Inheritance diagram for InviteItem:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for InviteItem:

Collaboration graph
- - - - -
[legend]
List of all members. - -
-

Detailed Description

-A subclass of HostItem designed to hold channel invites (+I). -

- -

-Definition at line 70 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInviteItem__coll__graph.gif b/docs/module-doc/classInviteItem__coll__graph.gif deleted file mode 100644 index 9b4a16b1b..000000000 Binary files a/docs/module-doc/classInviteItem__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classInviteItem__coll__graph.map b/docs/module-doc/classInviteItem__coll__graph.map deleted file mode 100644 index 84658baf1..000000000 --- a/docs/module-doc/classInviteItem__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classHostItem.html 109,204 184,231 -rect $classclassbase.html 107,98 187,124 diff --git a/docs/module-doc/classInviteItem__coll__graph.md5 b/docs/module-doc/classInviteItem__coll__graph.md5 deleted file mode 100644 index 78e3d5cb3..000000000 --- a/docs/module-doc/classInviteItem__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -0e7c9a802bcb31edadf15c0c416fbf00 \ No newline at end of file diff --git a/docs/module-doc/classInviteItem__inherit__graph.gif b/docs/module-doc/classInviteItem__inherit__graph.gif deleted file mode 100644 index aca6cb998..000000000 Binary files a/docs/module-doc/classInviteItem__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classInviteItem__inherit__graph.map b/docs/module-doc/classInviteItem__inherit__graph.map deleted file mode 100644 index 6bc1ce88e..000000000 --- a/docs/module-doc/classInviteItem__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classHostItem.html 9,81 84,108 -rect $classclassbase.html 7,7 87,33 diff --git a/docs/module-doc/classInviteItem__inherit__graph.md5 b/docs/module-doc/classInviteItem__inherit__graph.md5 deleted file mode 100644 index 1637f9a3d..000000000 --- a/docs/module-doc/classInviteItem__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -845b1cfd9fe0eacedda5d0694f8309ad \ No newline at end of file diff --git a/docs/module-doc/classInvited-members.html b/docs/module-doc/classInvited-members.html deleted file mode 100644 index 555d585d0..000000000 --- a/docs/module-doc/classInvited-members.html +++ /dev/null @@ -1,17 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Invited Member List

This is the complete list of members for Invited, including all inherited members.

- - - - -
ageclassbase
channelInvited
classbase()classbase [inline]
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInvited.html b/docs/module-doc/classInvited.html deleted file mode 100644 index 9a225bf44..000000000 --- a/docs/module-doc/classInvited.html +++ /dev/null @@ -1,66 +0,0 @@ - - -InspIRCd: Invited Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Invited Class Reference

Holds a channel name to which a user has been invited. -More... -

-#include <users.h> -

-Inheritance diagram for Invited:

Inheritance graph
- - - -
[legend]
Collaboration diagram for Invited:

Collaboration graph
- - - -
[legend]
List of all members. - - - - -

Public Attributes

irc::string channel
-

Detailed Description

-Holds a channel name to which a user has been invited. -

- -

-Definition at line 43 of file users.h.


Member Data Documentation

-

- - - - -
- - - - -
irc::string Invited::channel
-
- - - - - -
-   - - -

- -

-Definition at line 46 of file users.h. -

-Referenced by userrec::InviteTo().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classInvited__coll__graph.gif b/docs/module-doc/classInvited__coll__graph.gif deleted file mode 100644 index 0f62e84d5..000000000 Binary files a/docs/module-doc/classInvited__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classInvited__coll__graph.map b/docs/module-doc/classInvited__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classInvited__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classInvited__coll__graph.md5 b/docs/module-doc/classInvited__coll__graph.md5 deleted file mode 100644 index 4e56570e2..000000000 --- a/docs/module-doc/classInvited__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -14a980236c753f79990d5ee0b50c1adc \ No newline at end of file diff --git a/docs/module-doc/classInvited__inherit__graph.gif b/docs/module-doc/classInvited__inherit__graph.gif deleted file mode 100644 index b099abe99..000000000 Binary files a/docs/module-doc/classInvited__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classInvited__inherit__graph.map b/docs/module-doc/classInvited__inherit__graph.map deleted file mode 100644 index 8b1d85be3..000000000 --- a/docs/module-doc/classInvited__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,7 87,34 diff --git a/docs/module-doc/classInvited__inherit__graph.md5 b/docs/module-doc/classInvited__inherit__graph.md5 deleted file mode 100644 index 8bd110dab..000000000 --- a/docs/module-doc/classInvited__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -69f699d6bf71b6885ae31ce5e4dff391 \ No newline at end of file diff --git a/docs/module-doc/classKLine-members.html b/docs/module-doc/classKLine-members.html deleted file mode 100644 index adf1306ae..000000000 --- a/docs/module-doc/classKLine-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

KLine Member List

This is the complete list of members for KLine, including all inherited members.

- - - - - - - - - -
ageclassbase
classbase()classbase [inline]
durationXLine
hostmaskKLine
n_matchesXLine
reasonXLine
set_timeXLine
sourceXLine
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classKLine.html b/docs/module-doc/classKLine.html deleted file mode 100644 index 4fa284709..000000000 --- a/docs/module-doc/classKLine.html +++ /dev/null @@ -1,69 +0,0 @@ - - -InspIRCd: KLine Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

KLine Class Reference

KLine class. -More... -

-#include <xline.h> -

-Inheritance diagram for KLine:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for KLine:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - -

Public Attributes

char hostmask [200]
 Hostmask (ident) to match against May contain wildcards.
-

Detailed Description

-KLine class. -

- -

-Definition at line 67 of file xline.h.


Member Data Documentation

-

- - - - -
- - - - -
char KLine::hostmask[200]
-
- - - - - -
-   - - -

-Hostmask (ident) to match against May contain wildcards. -

- -

-Definition at line 73 of file xline.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classKLine__coll__graph.gif b/docs/module-doc/classKLine__coll__graph.gif deleted file mode 100644 index a67d4f0fa..000000000 Binary files a/docs/module-doc/classKLine__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classKLine__coll__graph.map b/docs/module-doc/classKLine__coll__graph.map deleted file mode 100644 index 25a1b769a..000000000 --- a/docs/module-doc/classKLine__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 165,204 221,231 -rect $classclassbase.html 7,98 87,124 diff --git a/docs/module-doc/classKLine__coll__graph.md5 b/docs/module-doc/classKLine__coll__graph.md5 deleted file mode 100644 index fea8aba9c..000000000 --- a/docs/module-doc/classKLine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -81c2c774112a4711078a8057d08806b5 \ No newline at end of file diff --git a/docs/module-doc/classKLine__inherit__graph.gif b/docs/module-doc/classKLine__inherit__graph.gif deleted file mode 100644 index 2085f41fe..000000000 Binary files a/docs/module-doc/classKLine__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classKLine__inherit__graph.map b/docs/module-doc/classKLine__inherit__graph.map deleted file mode 100644 index 37695eb4e..000000000 --- a/docs/module-doc/classKLine__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 19,81 75,108 -rect $classclassbase.html 7,7 87,33 diff --git a/docs/module-doc/classKLine__inherit__graph.md5 b/docs/module-doc/classKLine__inherit__graph.md5 deleted file mode 100644 index cf3a8de14..000000000 --- a/docs/module-doc/classKLine__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b2ae56c0712c9e2b50e2ab3573543b74 \ No newline at end of file diff --git a/docs/module-doc/classModeParameter-members.html b/docs/module-doc/classModeParameter-members.html deleted file mode 100644 index c3638a1ec..000000000 --- a/docs/module-doc/classModeParameter-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ModeParameter Member List

This is the complete list of members for ModeParameter, including all inherited members.

- - - - - - -
ageclassbase
channelModeParameter
classbase()classbase [inline]
modeModeParameter
parameterModeParameter
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModeParameter.html b/docs/module-doc/classModeParameter.html deleted file mode 100644 index a1e22bd1d..000000000 --- a/docs/module-doc/classModeParameter.html +++ /dev/null @@ -1,126 +0,0 @@ - - -InspIRCd: ModeParameter Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ModeParameter Class Reference

Holds a custom parameter to a module-defined channel mode e.g. -More... -

-#include <channels.h> -

-Inheritance diagram for ModeParameter:

Inheritance graph
- - - -
[legend]
Collaboration diagram for ModeParameter:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - -

Public Attributes

char mode
char parameter [MAXBUF]
char channel [CHANMAX]
-

Detailed Description

-Holds a custom parameter to a module-defined channel mode e.g. -

-for +L this would hold the channel name. -

- -

-Definition at line 79 of file channels.h.


Member Data Documentation

-

- - - - -
- - - - -
char ModeParameter::channel[CHANMAX]
-
- - - - - -
-   - - -

- -

-Definition at line 84 of file channels.h. -

-Referenced by chanrec::SetCustomModeParam().

-

- - - - -
- - - - -
char ModeParameter::mode
-
- - - - - -
-   - - -

- -

-Definition at line 82 of file channels.h. -

-Referenced by chanrec::SetCustomModeParam().

-

- - - - -
- - - - -
char ModeParameter::parameter[MAXBUF]
-
- - - - - -
-   - - -

- -

-Definition at line 83 of file channels.h. -

-Referenced by chanrec::SetCustomModeParam().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModeParameter__coll__graph.gif b/docs/module-doc/classModeParameter__coll__graph.gif deleted file mode 100644 index ae0ede4e0..000000000 Binary files a/docs/module-doc/classModeParameter__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModeParameter__coll__graph.map b/docs/module-doc/classModeParameter__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classModeParameter__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classModeParameter__coll__graph.md5 b/docs/module-doc/classModeParameter__coll__graph.md5 deleted file mode 100644 index f32442a8e..000000000 --- a/docs/module-doc/classModeParameter__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -32a9027f3a7ddd405d66343245c392f9 \ No newline at end of file diff --git a/docs/module-doc/classModeParameter__inherit__graph.gif b/docs/module-doc/classModeParameter__inherit__graph.gif deleted file mode 100644 index 0a8009b82..000000000 Binary files a/docs/module-doc/classModeParameter__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModeParameter__inherit__graph.map b/docs/module-doc/classModeParameter__inherit__graph.map deleted file mode 100644 index 152ac9587..000000000 --- a/docs/module-doc/classModeParameter__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 26,7 106,34 diff --git a/docs/module-doc/classModeParameter__inherit__graph.md5 b/docs/module-doc/classModeParameter__inherit__graph.md5 deleted file mode 100644 index 9a26aff0b..000000000 --- a/docs/module-doc/classModeParameter__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -163da5ee51dd2aa809803557093d11a0 \ No newline at end of file diff --git a/docs/module-doc/classModule-members.html b/docs/module-doc/classModule-members.html deleted file mode 100644 index 3b24cd1ea..000000000 --- a/docs/module-doc/classModule-members.html +++ /dev/null @@ -1,96 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Module Member List

This is the complete list of members for Module, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
GetVersion()Module [virtual]
Module(Server *Me)Module
On005Numeric(std::string &output)Module [virtual]
OnAccessCheck(userrec *source, userrec *dest, chanrec *channel, int access_type)Module [virtual]
OnAddBan(userrec *source, chanrec *channel, std::string banmask)Module [virtual]
OnAddELine(long duration, userrec *source, std::string reason, std::string hostmask)Module [virtual]
OnAddGLine(long duration, userrec *source, std::string reason, std::string hostmask)Module [virtual]
OnAddKLine(long duration, userrec *source, std::string reason, std::string hostmask)Module [virtual]
OnAddQLine(long duration, userrec *source, std::string reason, std::string nickmask)Module [virtual]
OnAddZLine(long duration, userrec *source, std::string reason, std::string ipmask)Module [virtual]
OnBackgroundTimer(time_t curtime)Module [virtual]
OnChangeHost(userrec *user, std::string newhost)Module [virtual]
OnChangeLocalUserGECOS(userrec *user, std::string newhost)Module [virtual]
OnChangeLocalUserHost(userrec *user, std::string newhost)Module [virtual]
OnChangeName(userrec *user, std::string gecos)Module [virtual]
OnCheckBan(userrec *user, chanrec *chan)Module [virtual]
OnCheckInvite(userrec *user, chanrec *chan)Module [virtual]
OnCheckKey(userrec *user, chanrec *chan, std::string keygiven)Module [virtual]
OnCheckLimit(userrec *user, chanrec *chan)Module [virtual]
OnCheckReady(userrec *user)Module [virtual]
OnCleanup(int target_type, void *item)Module [virtual]
OnDecodeMetaData(int target_type, void *target, std::string extname, std::string extdata)Module [virtual]
OnDelBan(userrec *source, chanrec *channel, std::string banmask)Module [virtual]
OnDelELine(userrec *source, std::string hostmask)Module [virtual]
OnDelGLine(userrec *source, std::string hostmask)Module [virtual]
OnDelKLine(userrec *source, std::string hostmask)Module [virtual]
OnDelQLine(userrec *source, std::string nickmask)Module [virtual]
OnDelZLine(userrec *source, std::string ipmask)Module [virtual]
OnEvent(Event *event)Module [virtual]
OnExtendedMode(userrec *user, void *target, char modechar, int type, bool mode_on, string_list &params)Module [virtual]
OnGetServerDescription(std::string servername, std::string &description)Module [virtual]
OnGlobalConnect(userrec *user)Module [virtual]
OnGlobalOper(userrec *user)Module [virtual]
OnInfo(userrec *user)Module [virtual]
OnKill(userrec *source, userrec *dest, std::string reason)Module [virtual]
OnLoadModule(Module *mod, std::string name)Module [virtual]
OnLocalTopicChange(userrec *user, chanrec *chan, std::string topic)Module [virtual]
OnMode(userrec *user, void *dest, int target_type, std::string text)Module [virtual]
OnOper(userrec *user, std::string opertype)Module [virtual]
OnOperCompare(std::string password, std::string input)Module [virtual]
OnPostLocalTopicChange(userrec *user, chanrec *chan, std::string topic)Module [virtual]
OnPreCommand(std::string command, char **parameters, int pcnt, userrec *user)Module [virtual]
OnRawMode(userrec *user, chanrec *chan, char mode, std::string param, bool adding, int pcnt)Module [virtual]
OnRawSocketAccept(int fd, std::string ip, int localport)Module [virtual]
OnRawSocketClose(int fd)Module [virtual]
OnRawSocketRead(int fd, char *buffer, unsigned int count, int &readresult)Module [virtual]
OnRawSocketWrite(int fd, char *buffer, int count)Module [virtual]
OnRehash(std::string parameter)Module [virtual]
OnRemoteKill(userrec *source, userrec *dest, std::string reason)Module [virtual]
OnRequest(Request *request)Module [virtual]
OnSendList(userrec *user, chanrec *channel, char mode)Module [virtual]
OnServerRaw(std::string &raw, bool inbound, userrec *user)Module [virtual]
OnStats(char symbol)Module [virtual]
OnSyncChannel(chanrec *chan, Module *proto, void *opaque)Module [virtual]
OnSyncChannelMetaData(chanrec *chan, Module *proto, void *opaque, std::string extname)Module [virtual]
OnSyncUser(userrec *user, Module *proto, void *opaque)Module [virtual]
OnSyncUserMetaData(userrec *user, Module *proto, void *opaque, std::string extname)Module [virtual]
OnUnloadModule(Module *mod, std::string name)Module [virtual]
OnUserConnect(userrec *user)Module [virtual]
OnUserDisconnect(userrec *user)Module [virtual]
OnUserInvite(userrec *source, userrec *dest, chanrec *channel)Module [virtual]
OnUserJoin(userrec *user, chanrec *channel)Module [virtual]
OnUserKick(userrec *source, userrec *user, chanrec *chan, std::string reason)Module [virtual]
OnUserMessage(userrec *user, void *dest, int target_type, std::string text)Module [virtual]
OnUserNotice(userrec *user, void *dest, int target_type, std::string text)Module [virtual]
OnUserPart(userrec *user, chanrec *channel)Module [virtual]
OnUserPostNick(userrec *user, std::string oldnick)Module [virtual]
OnUserPreInvite(userrec *source, userrec *dest, chanrec *channel)Module [virtual]
OnUserPreJoin(userrec *user, chanrec *chan, const char *cname)Module [virtual]
OnUserPreKick(userrec *source, userrec *user, chanrec *chan, std::string reason)Module [virtual]
OnUserPreMessage(userrec *user, void *dest, int target_type, std::string &text)Module [virtual]
OnUserPreNick(userrec *user, std::string newnick)Module [virtual]
OnUserPreNotice(userrec *user, void *dest, int target_type, std::string &text)Module [virtual]
OnUserQuit(userrec *user, std::string message)Module [virtual]
OnUserRegister(userrec *user)Module [virtual]
OnWallops(userrec *user, std::string text)Module [virtual]
OnWhois(userrec *source, userrec *dest)Module [virtual]
ProtoSendMetaData(void *opaque, int target_type, void *target, std::string extname, std::string extdata)Module [virtual]
ProtoSendMode(void *opaque, int target_type, void *target, std::string modeline)Module [virtual]
~classbase()classbase [inline]
~Module()Module [virtual]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModule.html b/docs/module-doc/classModule.html deleted file mode 100644 index fd4cb4c10..000000000 --- a/docs/module-doc/classModule.html +++ /dev/null @@ -1,4579 +0,0 @@ - - -InspIRCd: Module Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Module Class Reference

Base class for all InspIRCd modules This class is the base class for InspIRCd modules. -More... -

-#include <modules.h> -

-Inheritance diagram for Module:

Inheritance graph
- - - -
[legend]
Collaboration diagram for Module:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 Module (Server *Me)
 Default constructor Creates a module class.
virtual ~Module ()
 Default destructor destroys a module class.
virtual Version GetVersion ()
 Returns the version number of a Module.
virtual void OnUserConnect (userrec *user)
 Called when a user connects.
virtual void OnUserQuit (userrec *user, std::string message)
 Called when a user quits.
virtual void OnUserDisconnect (userrec *user)
 Called whenever a user's socket is closed.
virtual void OnUserJoin (userrec *user, chanrec *channel)
 Called when a user joins a channel.
virtual void OnUserPart (userrec *user, chanrec *channel)
 Called when a user parts a channel.
virtual void OnRehash (std::string parameter)
 Called on rehash.
virtual void OnServerRaw (std::string &raw, bool inbound, userrec *user)
 Called when a raw command is transmitted or received.
virtual int OnExtendedMode (userrec *user, void *target, char modechar, int type, bool mode_on, string_list &params)
 Called whenever an extended mode is to be processed.
virtual int OnUserPreJoin (userrec *user, chanrec *chan, const char *cname)
 Called whenever a user is about to join a channel, before any processing is done.
virtual int OnUserPreKick (userrec *source, userrec *user, chanrec *chan, std::string reason)
 Called whenever a user is about to be kicked.
virtual void OnUserKick (userrec *source, userrec *user, chanrec *chan, std::string reason)
 Called whenever a user is kicked.
virtual void OnOper (userrec *user, std::string opertype)
 Called whenever a user opers locally.
virtual void OnInfo (userrec *user)
 Called whenever a user types /INFO.
virtual void OnWhois (userrec *source, userrec *dest)
 Called whenever a /WHOIS is performed on a local user.
virtual int OnUserPreInvite (userrec *source, userrec *dest, chanrec *channel)
 Called whenever a user is about to invite another user into a channel, before any processing is done.
virtual void OnUserInvite (userrec *source, userrec *dest, chanrec *channel)
 Called after a user has been successfully invited to a channel.
virtual int OnUserPreMessage (userrec *user, void *dest, int target_type, std::string &text)
 Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done.
virtual int OnUserPreNotice (userrec *user, void *dest, int target_type, std::string &text)
 Called whenever a user is about to NOTICE A user or a channel, before any processing is done.
virtual int OnUserPreNick (userrec *user, std::string newnick)
 Called before any nickchange, local or remote.
virtual void OnUserMessage (userrec *user, void *dest, int target_type, std::string text)
 Called after any PRIVMSG sent from a user.
virtual void OnUserNotice (userrec *user, void *dest, int target_type, std::string text)
 Called after any NOTICE sent from a user.
virtual void OnMode (userrec *user, void *dest, int target_type, std::string text)
 Called after every MODE command sent from a user The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL.
virtual void OnGetServerDescription (std::string servername, std::string &description)
 Allows modules to alter or create server descriptions Whenever a module requires a server description, for example for display in WHOIS, this function is called in all modules.
virtual void OnSyncUser (userrec *user, Module *proto, void *opaque)
 Allows modules to synchronize data which relates to users during a netburst.
virtual void OnSyncChannel (chanrec *chan, Module *proto, void *opaque)
 Allows modules to synchronize data which relates to channels during a netburst.
virtual void OnSyncChannelMetaData (chanrec *chan, Module *proto, void *opaque, std::string extname)
virtual void OnSyncUserMetaData (userrec *user, Module *proto, void *opaque, std::string extname)
virtual void OnDecodeMetaData (int target_type, void *target, std::string extname, std::string extdata)
 Allows module data, sent via ProtoSendMetaData, to be decoded again by a receiving module.
virtual void ProtoSendMode (void *opaque, int target_type, void *target, std::string modeline)
 Implemented by modules which provide the ability to link servers.
virtual void ProtoSendMetaData (void *opaque, int target_type, void *target, std::string extname, std::string extdata)
 Implemented by modules which provide the ability to link servers.
virtual void OnWallops (userrec *user, std::string text)
 Called after every WALLOPS command.
virtual void OnChangeHost (userrec *user, std::string newhost)
 Called whenever a user's hostname is changed.
virtual void OnChangeName (userrec *user, std::string gecos)
 Called whenever a user's GECOS (realname) is changed.
virtual void OnAddGLine (long duration, userrec *source, std::string reason, std::string hostmask)
 Called whenever a gline is added by a local user.
virtual void OnAddZLine (long duration, userrec *source, std::string reason, std::string ipmask)
 Called whenever a zline is added by a local user.
virtual void OnAddKLine (long duration, userrec *source, std::string reason, std::string hostmask)
 Called whenever a kline is added by a local user.
virtual void OnAddQLine (long duration, userrec *source, std::string reason, std::string nickmask)
 Called whenever a qline is added by a local user.
virtual void OnAddELine (long duration, userrec *source, std::string reason, std::string hostmask)
 Called whenever a eline is added by a local user.
virtual void OnDelGLine (userrec *source, std::string hostmask)
 Called whenever a gline is deleted.
virtual void OnDelZLine (userrec *source, std::string ipmask)
 Called whenever a zline is deleted.
virtual void OnDelKLine (userrec *source, std::string hostmask)
 Called whenever a kline is deleted.
virtual void OnDelQLine (userrec *source, std::string nickmask)
 Called whenever a qline is deleted.
virtual void OnDelELine (userrec *source, std::string hostmask)
 Called whenever a eline is deleted.
virtual void OnCleanup (int target_type, void *item)
 Called before your module is unloaded to clean up Extensibles.
virtual void OnUserPostNick (userrec *user, std::string oldnick)
 Called after any nickchange, local or remote.
virtual int OnAccessCheck (userrec *source, userrec *dest, chanrec *channel, int access_type)
 Called before an action which requires a channel privilage check.
virtual void On005Numeric (std::string &output)
 Called when a 005 numeric is about to be output.
virtual int OnKill (userrec *source, userrec *dest, std::string reason)
 Called when a client is disconnected by KILL.
virtual void OnRemoteKill (userrec *source, userrec *dest, std::string reason)
 Called when an oper wants to disconnect a remote user via KILL.
virtual void OnLoadModule (Module *mod, std::string name)
 Called whenever a module is loaded.
virtual void OnUnloadModule (Module *mod, std::string name)
 Called whenever a module is unloaded.
virtual void OnBackgroundTimer (time_t curtime)
 Called once every five seconds for background processing.
virtual void OnSendList (userrec *user, chanrec *channel, char mode)
 Called whenever a list is needed for a listmode.
virtual int OnPreCommand (std::string command, char **parameters, int pcnt, userrec *user)
 Called whenever any command is about to be executed.
virtual bool OnCheckReady (userrec *user)
 Called to check if a user who is connecting can now be allowed to register If any modules return false for this function, the user is held in the waiting state until all modules return true.
virtual void OnUserRegister (userrec *user)
 Called whenever a user is about to register their connection (e.g.
virtual int OnRawMode (userrec *user, chanrec *chan, char mode, std::string param, bool adding, int pcnt)
 Called whenever a mode character is processed.
virtual int OnCheckInvite (userrec *user, chanrec *chan)
 Called whenever a user joins a channel, to determine if invite checks should go ahead or not.
virtual int OnCheckKey (userrec *user, chanrec *chan, std::string keygiven)
 Called whenever a user joins a channel, to determine if key checks should go ahead or not.
virtual int OnCheckLimit (userrec *user, chanrec *chan)
 Called whenever a user joins a channel, to determine if channel limit checks should go ahead or not.
virtual int OnCheckBan (userrec *user, chanrec *chan)
 Called whenever a user joins a channel, to determine if banlist checks should go ahead or not.
virtual void OnStats (char symbol)
 Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core.
virtual int OnChangeLocalUserHost (userrec *user, std::string newhost)
 Called whenever a change of a local users displayed host is attempted.
virtual int OnChangeLocalUserGECOS (userrec *user, std::string newhost)
 Called whenever a change of a local users GECOS (fullname field) is attempted.
virtual int OnLocalTopicChange (userrec *user, chanrec *chan, std::string topic)
 Called whenever a topic is changed by a local user.
virtual void OnPostLocalTopicChange (userrec *user, chanrec *chan, std::string topic)
 Called whenever a local topic has been changed.
virtual void OnEvent (Event *event)
 Called whenever an Event class is sent to all module by another module.
virtual char * OnRequest (Request *request)
 Called whenever a Request class is sent to your module by another module.
virtual int OnOperCompare (std::string password, std::string input)
 Called whenever an oper password is to be compared to what a user has input.
virtual void OnGlobalOper (userrec *user)
 Called whenever a user is given usermode +o, anywhere on the network.
virtual void OnGlobalConnect (userrec *user)
 Called whenever a user connects, anywhere on the network.
virtual int OnAddBan (userrec *source, chanrec *channel, std::string banmask)
 Called whenever a ban is added to a channel's list.
virtual int OnDelBan (userrec *source, chanrec *channel, std::string banmask)
 Called whenever a ban is removed from a channel's list.
virtual void OnRawSocketAccept (int fd, std::string ip, int localport)
 Called immediately after any connection is accepted.
virtual int OnRawSocketWrite (int fd, char *buffer, int count)
 Called immediately before any write() operation on a user's socket in the core.
virtual void OnRawSocketClose (int fd)
 Called immediately before any socket is closed.
virtual int OnRawSocketRead (int fd, char *buffer, unsigned int count, int &readresult)
 Called immediately before any read() operation on a client socket in the core.
-

Detailed Description

-Base class for all InspIRCd modules This class is the base class for InspIRCd modules. -

-All modules must inherit from this class, its methods will be called when irc server events occur. class inherited from module must be instantiated by the ModuleFactory class (see relevent section) for the plugin to be initialised. -

- -

-Definition at line 272 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - -
Module::Module Server Me  ) 
-
- - - - - -
-   - - -

-Default constructor Creates a module class. -

-

Parameters:
- - -
Me An instance of the Server class which can be saved for future use
-
- -

-Definition at line 219 of file modules.cpp.

00219 { }
-
-

-

-

- - - - -
- - - - - - - - -
Module::~Module  )  [virtual]
-
- - - - - -
-   - - -

-Default destructor destroys a module class. -

- -

-Definition at line 220 of file modules.cpp.

00220 { }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - -
Version Module::GetVersion  )  [virtual]
-
- - - - - -
-   - - -

-Returns the version number of a Module. -

-The method should return a Version object with its version information assigned via Version::Version -

-Definition at line 231 of file modules.cpp. -

-References VF_VENDOR.

00231 { return Version(1,0,0,0,VF_VENDOR); }
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::On005Numeric std::string output  )  [virtual]
-
- - - - - -
-   - - -

-Called when a 005 numeric is about to be output. -

-The module should modify the 005 numeric if needed to indicate its features.

Parameters:
- - -
output The 005 string to be modified if neccessary.
-
- -

-Definition at line 241 of file modules.cpp.

00241 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnAccessCheck userrec source,
userrec dest,
chanrec channel,
int  access_type
[virtual]
-
- - - - - -
-   - - -

-Called before an action which requires a channel privilage check. -

-This function is called before many functions which check a users status on a channel, for example before opping a user, deopping a user, kicking a user, etc. There are several values for access_type which indicate for what reason access is being checked. These are:
-
- AC_KICK (0) - A user is being kicked
- AC_DEOP (1) - a user is being deopped
- AC_OP (2) - a user is being opped
- AC_VOICE (3) - a user is being voiced
- AC_DEVOICE (4) - a user is being devoiced
- AC_HALFOP (5) - a user is being halfopped
- AC_DEHALFOP (6) - a user is being dehalfopped
- AC_INVITE (7) - a user is being invited
- AC_GENERAL_MODE (8) - a user channel mode is being changed<br>
- Upon returning from your function you must return either ACR_DEFAULT, to indicate the module wishes to do nothing, or ACR_DENY where approprate to deny the action, and ACR_ALLOW where appropriate to allow the action. Please note that in the case of some access checks (such as AC_GENERAL_MODE) access may be denied 'upstream' causing other checks such as AC_DEOP to not be reached. Be very careful with use of the AC_GENERAL_MODE type, as it may inadvertently override the behaviour of other modules. When the access_type is AC_GENERAL_MODE, the destination of the mode will be NULL (as it has not yet been determined).

Parameters:
- - - - - -
source The source of the access check
dest The destination of the access check
channel The channel which is being checked
access_type See above
-
- -

-Definition at line 240 of file modules.cpp. -

-References ACR_DEFAULT.

00240 { return ACR_DEFAULT; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnAddBan userrec source,
chanrec channel,
std::string  banmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a ban is added to a channel's list. -

-Return a non-zero value to 'eat' the mode change and prevent the ban from being added.

Parameters:
- - - - -
source The user adding the ban
channel The channel the ban is being added to
banmask The ban mask being added
-
-
Returns:
1 to block the ban, 0 to continue as normal
- -

-Definition at line 266 of file modules.cpp.

00266 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnAddELine long  duration,
userrec source,
std::string  reason,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a eline is added by a local user. -

-This method is triggered after the line is added.

Parameters:
- - - - - -
duration The duration of the line in seconds
source The sender of the line
reason The reason text to be displayed
hostmask The hostmask to add
-
- -

-Definition at line 292 of file modules.cpp.

00292 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnAddGLine long  duration,
userrec source,
std::string  reason,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a gline is added by a local user. -

-This method is triggered after the line is added.

Parameters:
- - - - - -
duration The duration of the line in seconds
source The sender of the line
reason The reason text to be displayed
hostmask The hostmask to add
-
- -

-Definition at line 288 of file modules.cpp.

00288 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnAddKLine long  duration,
userrec source,
std::string  reason,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a kline is added by a local user. -

-This method is triggered after the line is added.

Parameters:
- - - - - -
duration The duration of the line in seconds
source The sender of the line
reason The reason text to be displayed
hostmask The hostmask to add
-
- -

-Definition at line 290 of file modules.cpp.

00290 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnAddQLine long  duration,
userrec source,
std::string  reason,
std::string  nickmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a qline is added by a local user. -

-This method is triggered after the line is added.

Parameters:
- - - - - -
duration The duration of the line in seconds
source The sender of the line
reason The reason text to be displayed
nickmask The hostmask to add
-
- -

-Definition at line 291 of file modules.cpp.

00291 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnAddZLine long  duration,
userrec source,
std::string  reason,
std::string  ipmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a zline is added by a local user. -

-This method is triggered after the line is added.

Parameters:
- - - - - -
duration The duration of the line in seconds
source The sender of the line
reason The reason text to be displayed
ipmask The hostmask to add
-
- -

-Definition at line 289 of file modules.cpp.

00289 { };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnBackgroundTimer time_t  curtime  )  [virtual]
-
- - - - - -
-   - - -

-Called once every five seconds for background processing. -

-This timer can be used to control timed features. Its period is not accurate enough to be used as a clock, but it is gauranteed to be called at least once in any five second period, directly from the main loop of the server.

Parameters:
- - -
curtime The current timer derived from time(2)
-
- -

-Definition at line 245 of file modules.cpp.

00245 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnChangeHost userrec user,
std::string  newhost
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user's hostname is changed. -

-This event triggers after the host has been set.

Parameters:
- - - -
user The user whos host is being changed
newhost The new hostname being set
-
- -

-Definition at line 286 of file modules.cpp.

00286 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int Module::OnChangeLocalUserGECOS userrec user,
std::string  newhost
[virtual]
-
- - - - - -
-   - - -

-Called whenever a change of a local users GECOS (fullname field) is attempted. -

-return 1 to deny the name change, or 0 to allow it.

Parameters:
- - - -
user The user whos GECOS will be changed
newhost The new GECOS
-
-
Returns:
1 to deny the GECOS change, 0 to allow
- -

-Definition at line 259 of file modules.cpp.

00259 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int Module::OnChangeLocalUserHost userrec user,
std::string  newhost
[virtual]
-
- - - - - -
-   - - -

-Called whenever a change of a local users displayed host is attempted. -

-Return 1 to deny the host change, or 0 to allow it.

Parameters:
- - - -
user The user whos host will be changed
newhost The new hostname
-
-
Returns:
1 to deny the host change, 0 to allow
- -

-Definition at line 258 of file modules.cpp.

00258 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnChangeName userrec user,
std::string  gecos
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user's GECOS (realname) is changed. -

-This event triggers after the name has been set.

Parameters:
- - - -
user The user who's GECOS is being changed
gecos The new GECOS being set on the user
-
- -

-Definition at line 287 of file modules.cpp.

00287 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int Module::OnCheckBan userrec user,
chanrec chan
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user joins a channel, to determine if banlist checks should go ahead or not. -

-This method will always be called for each join, wether or not the user actually matches a channel ban, and determines the outcome of an if statement around the whole section of ban checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event.

Parameters:
- - - -
user The user joining the channel
chan The channel being joined
-
-
Returns:
1 to explicitly allow the join, 0 to proceed as normal
- -

-Definition at line 256 of file modules.cpp.

00256 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int Module::OnCheckInvite userrec user,
chanrec chan
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user joins a channel, to determine if invite checks should go ahead or not. -

-This method will always be called for each join, wether or not the channel is actually +i, and determines the outcome of an if statement around the whole section of invite checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event.

Parameters:
- - - -
user The user joining the channel
chan The channel being joined
-
-
Returns:
1 to explicitly allow the join, 0 to proceed as normal
- -

-Definition at line 253 of file modules.cpp.

00253 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnCheckKey userrec user,
chanrec chan,
std::string  keygiven
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user joins a channel, to determine if key checks should go ahead or not. -

-This method will always be called for each join, wether or not the channel is actually +k, and determines the outcome of an if statement around the whole section of key checking code. if the user specified no key, the keygiven string will be a valid but empty value. return 1 to explicitly allow the join to go ahead or 0 to ignore the event.

Parameters:
- - - -
user The user joining the channel
chan The channel being joined
-
-
Returns:
1 to explicitly allow the join, 0 to proceed as normal
- -

-Definition at line 254 of file modules.cpp.

00254 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int Module::OnCheckLimit userrec user,
chanrec chan
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user joins a channel, to determine if channel limit checks should go ahead or not. -

-This method will always be called for each join, wether or not the channel is actually +l, and determines the outcome of an if statement around the whole section of channel limit checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event.

Parameters:
- - - -
user The user joining the channel
chan The channel being joined
-
-
Returns:
1 to explicitly allow the join, 0 to proceed as normal
- -

-Definition at line 255 of file modules.cpp.

00255 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - -
bool Module::OnCheckReady userrec user  )  [virtual]
-
- - - - - -
-   - - -

-Called to check if a user who is connecting can now be allowed to register If any modules return false for this function, the user is held in the waiting state until all modules return true. -

-For example a module which implements ident lookups will continue to return false for a user until their ident lookup is completed. Note that the registration timeout for a user overrides these checks, if the registration timeout is reached, the user is disconnected even if modules report that the user is not ready to connect.

Parameters:
- - -
user The user to check
-
-
Returns:
true to indicate readiness, false if otherwise
- -

-Definition at line 248 of file modules.cpp.

00248 { return true; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnCleanup int  target_type,
void *  item
[virtual]
-
- - - - - -
-   - - -

-Called before your module is unloaded to clean up Extensibles. -

-This method is called once for every user and channel on the network, so that when your module unloads it may clear up any remaining data in the form of Extensibles added using Extensible::Extend(). If the target_type variable is TYPE_USER, then void* item refers to a userrec*, otherwise it refers to a chanrec*.

Parameters:
- - - -
target_type The type of item being cleaned
item A pointer to the item's class
-
- -

-Definition at line 298 of file modules.cpp.

00298 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnDecodeMetaData int  target_type,
void *  target,
std::string  extname,
std::string  extdata
[virtual]
-
- - - - - -
-   - - -

-Allows module data, sent via ProtoSendMetaData, to be decoded again by a receiving module. -

-Please see src/modules/m_swhois.cpp for a working example of how to use this method call.

Parameters:
- - - - - -
target_type The type of item to decode data for, TYPE_USER or TYPE_CHANNEL
target The chanrec* or userrec* that data should be added to
extname The extension name which is being sent
extdata The extension data, encoded at the other end by an identical module through OnSyncChannelMetaData or OnSyncUserMetaData
-
- -

-Definition at line 283 of file modules.cpp.

00283 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnDelBan userrec source,
chanrec channel,
std::string  banmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a ban is removed from a channel's list. -

-Return a non-zero value to 'eat' the mode change and prevent the ban from being removed.

Parameters:
- - - - -
source The user deleting the ban
channel The channel the ban is being deleted from
banmask The ban mask being deleted
-
-
Returns:
1 to block the unban, 0 to continue as normal
- -

-Definition at line 267 of file modules.cpp.

00267 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnDelELine userrec source,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a eline is deleted. -

-This method is triggered after the line is deleted.

Parameters:
- - - -
source The user removing the line
hostmask The hostmask to delete
-
- -

-Definition at line 297 of file modules.cpp.

00297 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnDelGLine userrec source,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a gline is deleted. -

-This method is triggered after the line is deleted.

Parameters:
- - - -
source The user removing the line
hostmask The hostmask to delete
-
- -

-Definition at line 293 of file modules.cpp.

00293 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnDelKLine userrec source,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a kline is deleted. -

-This method is triggered after the line is deleted.

Parameters:
- - - -
source The user removing the line
hostmask The hostmask to delete
-
- -

-Definition at line 295 of file modules.cpp.

00295 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnDelQLine userrec source,
std::string  nickmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a qline is deleted. -

-This method is triggered after the line is deleted.

Parameters:
- - - -
source The user removing the line
hostmask The hostmask to delete
-
- -

-Definition at line 296 of file modules.cpp.

00296 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnDelZLine userrec source,
std::string  ipmask
[virtual]
-
- - - - - -
-   - - -

-Called whenever a zline is deleted. -

-This method is triggered after the line is deleted.

Parameters:
- - - -
source The user removing the line
hostmask The hostmask to delete
-
- -

-Definition at line 294 of file modules.cpp.

00294 { };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnEvent Event event  )  [virtual]
-
- - - - - -
-   - - -

-Called whenever an Event class is sent to all module by another module. -

-Please see the documentation of Event::Send() for further information. The Event sent can always be assumed to be non-NULL, you should *always* check the value of Event::GetEventID() before doing anything to the event data, and you should *not* change the event data in any way!

Parameters:
- - -
event The Event class being received
-
- -

-Definition at line 261 of file modules.cpp.

00261 { return; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnExtendedMode userrec user,
void *  target,
char  modechar,
int  type,
bool  mode_on,
string_list params
[virtual]
-
- - - - - -
-   - - -

-Called whenever an extended mode is to be processed. -

-The type parameter is MT_SERVER, MT_CLIENT or MT_CHANNEL, dependent on where the mode is being changed. mode_on is set when the mode is being set, in which case params contains a list of parameters for the mode as strings. If mode_on is false, the mode is being removed, and parameters may contain the parameters for the mode, dependent on wether they were defined when a mode handler was set up with Server::AddExtendedMode If the mode is a channel mode, target is a chanrec*, and if it is a user mode, target is a userrec*. You must cast this value yourself to make use of it.

Parameters:
- - - - - - - -
user The user issuing the mode
target The user or channel having the mode set on them
modechar The mode character being set
type The type of mode (user or channel) being set
mode_on True if the mode is being set, false if it is being unset
params A list of parameters for any channel mode (currently supports either 0 or 1 parameters)
-
- -

-Definition at line 229 of file modules.cpp.

00229 { return false; }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnGetServerDescription std::string  servername,
std::string description
[virtual]
-
- - - - - -
-   - - -

-Allows modules to alter or create server descriptions Whenever a module requires a server description, for example for display in WHOIS, this function is called in all modules. -

-You may change or define the description given in std::string &description. If you do, this description will be shown in the WHOIS fields.

Parameters:
- - - -
servername The servername being searched for
description Alterable server description for this server
-
- -

-Definition at line 277 of file modules.cpp.

00277 { };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnGlobalConnect userrec user  )  [virtual]
-
- - - - - -
-   - - -

-Called whenever a user connects, anywhere on the network. -

-This event is informational only. You should not change any user information in this event. To do so, use the OnUserConnect method to change the state of local users.

Parameters:
- - -
user The user who is connecting
-
- -

-Definition at line 265 of file modules.cpp.

00265 { };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnGlobalOper userrec user  )  [virtual]
-
- - - - - -
-   - - -

-Called whenever a user is given usermode +o, anywhere on the network. -

-You cannot override this and prevent it from happening as it is already happened and such a task must be performed by another server. You can however bounce modes by sending servermodes out to reverse mode changes.

Parameters:
- - -
user The user who is opering
-
- -

-Definition at line 264 of file modules.cpp.

00264 { };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnInfo userrec user  )  [virtual]
-
- - - - - -
-   - - -

-Called whenever a user types /INFO. -

-The userrec will contain the information of the user who typed the command. Modules may use this method to output their own credits in /INFO (which is the ircd's version of an about box). It is purposefully not possible to modify any info that has already been output, or halt the list. You must write a 371 numeric to the user, containing your info in the following format:

-<nick> :information here

-

Parameters:
- - -
user The user issuing /INFO
-
- -

-Definition at line 233 of file modules.cpp.

00233 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnKill userrec source,
userrec dest,
std::string  reason
[virtual]
-
- - - - - -
-   - - -

-Called when a client is disconnected by KILL. -

-If a client is killed by a server, e.g. a nickname collision or protocol error, source is NULL. Return 1 from this function to prevent the kill, and 0 from this function to allow it as normal. If you prevent the kill no output will be sent to the client, it is down to your module to generate this information. NOTE: It is NOT advisable to stop kills which originate from servers or remote users. If you do so youre risking race conditions, desyncs and worse!

Parameters:
- - - - -
source The user sending the KILL
dest The user being killed
reason The kill reason
-
-
Returns:
1 to prevent the kill, 0 to allow
- -

-Definition at line 242 of file modules.cpp.

00242 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnLoadModule Module mod,
std::string  name
[virtual]
-
- - - - - -
-   - - -

-Called whenever a module is loaded. -

-mod will contain a pointer to the module, and string will contain its name, for example m_widgets.so. This function is primary for dependency checking, your module may decide to enable some extra features if it sees that you have for example loaded "m_killwidgets.so" with "m_makewidgets.so". It is highly recommended that modules do *NOT* bail if they cannot satisfy dependencies, but instead operate under reduced functionality, unless the dependency is absolutely neccessary (e.g. a module that extends the features of another module).

Parameters:
- - - -
mod A pointer to the new module
name The new module's filename
-
- -

-Definition at line 243 of file modules.cpp.

00243 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnLocalTopicChange userrec user,
chanrec chan,
std::string  topic
[virtual]
-
- - - - - -
-   - - -

-Called whenever a topic is changed by a local user. -

-Return 1 to deny the topic change, or 0 to allow it.

Parameters:
- - - - - -
user The user changing the topic
chan The channels who's topic is being changed
topic The actual topic text
1 to block the topic change, 0 to allow
-
- -

-Definition at line 260 of file modules.cpp.

00260 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnMode userrec user,
void *  dest,
int  target_type,
std::string  text
[virtual]
-
- - - - - -
-   - - -

-Called after every MODE command sent from a user The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL. -

-The text variable contains the remainder of the mode string after the target, e.g. "+wsi" or "+ooo nick1 nick2 nick3".

Parameters:
- - - - - -
user The user sending the MODEs
dest The target of the modes (userrec* or chanrec*)
target_type The type of target (TYPE_USER or TYPE_CHANNEL)
text The actual modes and their parameters if any
-
- -

-Definition at line 230 of file modules.cpp.

00230 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnOper userrec user,
std::string  opertype
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user opers locally. -

-The userrec will contain the oper mode 'o' as this function is called after any modifications are made to the user's structure by the core.

Parameters:
- - - -
user The user who is opering up
opertype The opers type name
-
- -

-Definition at line 232 of file modules.cpp.

00232 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int Module::OnOperCompare std::string  password,
std::string  input
[virtual]
-
- - - - - -
-   - - -

-Called whenever an oper password is to be compared to what a user has input. -

-The password field (from the config file) is in 'password' and is to be compared against 'input'. This method allows for encryption of oper passwords and much more besides. You should return a nonzero value if you want to allow the comparison or zero if you wish to do nothing.

Parameters:
- - - -
password The oper's password
input The password entered
-
-
Returns:
1 to match the passwords, 0 to do nothing
- -

-Definition at line 263 of file modules.cpp.

00263 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnPostLocalTopicChange userrec user,
chanrec chan,
std::string  topic
[virtual]
-
- - - - - -
-   - - -

-Called whenever a local topic has been changed. -

-To block topic changes you must use OnLocalTopicChange instead.

Parameters:
- - - - -
user The user changing the topic
chan The channels who's topic is being changed
topic The actual topic text
-
- -

-Definition at line 276 of file modules.cpp.

00276 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnPreCommand std::string  command,
char **  parameters,
int  pcnt,
userrec user
[virtual]
-
- - - - - -
-   - - -

-Called whenever any command is about to be executed. -

-This event occurs for all registered commands, wether they are registered in the core, or another module, but it will not occur for invalid commands (e.g. ones which do not exist within the command table). By returning 1 from this method you may prevent the command being executed. If you do this, no output is created by the core, and it is down to your module to produce any output neccessary. Note that unless you return 1, you should not destroy any structures (e.g. by using Server::QuitUser) otherwise when the command's handler function executes after your method returns, it will be passed an invalid pointer to the user object and crash!)

Parameters:
- - - - - -
command The command being executed
parameters An array of array of characters containing the parameters for the command
pcnt The nuimber of parameters passed to the command
user the user issuing the command
-
-
Returns:
1 to block the command, 0 to allow
- -

-Definition at line 247 of file modules.cpp.

00247 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnRawMode userrec user,
chanrec chan,
char  mode,
std::string  param,
bool  adding,
int  pcnt
[virtual]
-
- - - - - -
-   - - -

-Called whenever a mode character is processed. -

-Return 1 from this function to block the mode character from being processed entirely, so that you may perform your own code instead. Note that this method allows you to override modes defined by other modes, but this is NOT RECOMMENDED!

Parameters:
- - - - - - - -
user The user who is sending the mode
chan The channel the mode is being sent to
mode The mode character being set
param The parameter for the mode or an empty string
adding true of the mode is being added, false if it is being removed
pcnt The parameter count for the mode (0 or 1)
-
-
Returns:
1 to deny the mode, 0 to allow
- -

-Definition at line 252 of file modules.cpp.

00252 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnRawSocketAccept int  fd,
std::string  ip,
int  localport
[virtual]
-
- - - - - -
-   - - -

-Called immediately after any connection is accepted. -

-This is intended for raw socket processing (e.g. modules which wrap the tcp connection within another library) and provides no information relating to a user record as the connection has not been assigned yet. There are no return values from this call as all modules get an opportunity if required to process the connection.

Parameters:
- - - - -
fd The file descriptor returned from accept()
ip The IP address of the connecting user
localport The local port number the user connected to
-
- -

-Definition at line 268 of file modules.cpp.

00268 { };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnRawSocketClose int  fd  )  [virtual]
-
- - - - - -
-   - - -

-Called immediately before any socket is closed. -

-When this event is called, shutdown() has not yet been called on the socket.

Parameters:
- - -
fd The file descriptor of the socket prior to close()
-
- -

-Definition at line 270 of file modules.cpp. -

-Referenced by kill_link(), and kill_link_silent().

00270 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnRawSocketRead int  fd,
char *  buffer,
unsigned int  count,
int &  readresult
[virtual]
-
- - - - - -
-   - - -

-Called immediately before any read() operation on a client socket in the core. -

-This occurs AFTER the select() or poll() so there is always data waiting to be read when this event occurs. Your event should return 1 if it has handled the reading itself, which prevents the core just using read(). You should place any data read into buffer, up to but NOT GREATER THAN the value of count. The value of readresult must be identical to an actual result that might be returned from the read() system call, for example, number of bytes read upon success, 0 upon EOF or closed socket, and -1 for error. If your function returns a nonzero value, you MUST set readresult.

Parameters:
- - - - - -
fd The file descriptor of the socket
buffer A char* buffer being read to
count The size of the buffer
readresult The amount of characters read, or 0
-
-
Returns:
nonzero if the event was handled, in which case readresult must be valid on exit
- -

-Definition at line 271 of file modules.cpp.

00271 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnRawSocketWrite int  fd,
char *  buffer,
int  count
[virtual]
-
- - - - - -
-   - - -

-Called immediately before any write() operation on a user's socket in the core. -

-Because this event is a low level event no user information is associated with it. It is intended for use by modules which may wrap connections within another API such as SSL for example. return a non-zero result if you have handled the write operation, in which case the core will not call write().

Parameters:
- - - - -
fd The file descriptor of the socket
buffer A char* buffer being written
Number of characters to write
-
-
Returns:
Number of characters actually written or 0 if you didn't handle the operation
- -

-Definition at line 269 of file modules.cpp.

00269 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnRehash std::string  parameter  )  [virtual]
-
- - - - - -
-   - - -

-Called on rehash. -

-This method is called prior to a /REHASH or when a SIGHUP is received from the operating system. You should use it to reload any files so that your module keeps in step with the rest of the application. If a parameter is given, the core has done nothing. The module receiving the event can decide if this parameter has any relevence to it.

Parameters:
- - -
parameter The (optional) parameter given to REHASH from the user.
-
- -

-Definition at line 226 of file modules.cpp.

00226 { }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnRemoteKill userrec source,
userrec dest,
std::string  reason
[virtual]
-
- - - - - -
-   - - -

-Called when an oper wants to disconnect a remote user via KILL. -

-

Parameters:
- - - - -
source The user sending the KILL
dest The user being killed
reason The kill reason
-
- -

-Definition at line 274 of file modules.cpp.

00274 { };
-
-

-

-

- - - - -
- - - - - - - - - -
char * Module::OnRequest Request request  )  [virtual]
-
- - - - - -
-   - - -

-Called whenever a Request class is sent to your module by another module. -

-Please see the documentation of Request::Send() for further information. The Request sent can always be assumed to be non-NULL, you should not change the request object or its data. Your method may return arbitary data in the char* result which the requesting module may be able to use for pre-determined purposes (e.g. the results of an SQL query, etc).

Parameters:
- - -
request The Request class being received
-
- -

-Definition at line 262 of file modules.cpp. -

-Referenced by Request::Send().

00262 { return NULL; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnSendList userrec user,
chanrec channel,
char  mode
[virtual]
-
- - - - - -
-   - - -

-Called whenever a list is needed for a listmode. -

-For example, when a /MODE channel +b (without any other parameters) is called, if a module was handling +b this function would be called. The function can then output any lists it wishes to. Please note that all modules will see all mode characters to provide the ability to extend each other, so please only output a list if the mode character given matches the one(s) you want to handle.

Parameters:
- - - - -
user The user requesting the list
channel The channel the list is for
mode The listmode which a list is being requested on
-
- -

-Definition at line 246 of file modules.cpp.

00246 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnServerRaw std::string raw,
bool  inbound,
userrec user
[virtual]
-
- - - - - -
-   - - -

-Called when a raw command is transmitted or received. -

-This method is the lowest level of handler available to a module. It will be called with raw data which is passing through a connected socket. If you wish, you may munge this data by changing the string parameter "raw". If you do this, after your function exits it will immediately be cut down to 510 characters plus a carriage return and linefeed. For INBOUND messages only (where inbound is set to true) the value of user will be the userrec of the connection sending the data. This is not possible for outbound data because the data may be being routed to multiple targets.

Parameters:
- - - - -
raw The raw string in RFC1459 format
inbound A flag to indicate wether the data is coming into the daemon or going out to the user
user The user record sending the text, when inbound == true.
-
- -

-Definition at line 227 of file modules.cpp.

00227 { }
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnStats char  symbol  )  [virtual]
-
- - - - - -
-   - - -

-Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core. -

-

Parameters:
- - -
symbol the symbol provided to /STATS
-
- -

-Definition at line 257 of file modules.cpp.

00257 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnSyncChannel chanrec chan,
Module proto,
void *  opaque
[virtual]
-
- - - - - -
-   - - -

-Allows modules to synchronize data which relates to channels during a netburst. -

-When this function is called, it will be called from the module which implements the linking protocol. This currently is m_spanningtree.so. A pointer to this module is given in Module* proto, so that you may call its methods such as ProtoSendMode (see below). This function will be called for every user visible on your side of the burst, allowing you to for example set modes, etc. Do not use this call to synchronize data which you have stored using class Extensible -- There is a specialist function OnSyncUserMetaData and OnSyncChannelMetaData for this!

-For a good example of how to use this function, please see src/modules/m_chanprotect.cpp

-

Parameters:
- - - - -
chan The channel being syncronized
proto A pointer to the module handling network protocol
opaque An opaque pointer set by the protocol module, should not be modified!
-
- -

-Definition at line 279 of file modules.cpp.

00279 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnSyncChannelMetaData chanrec chan,
Module proto,
void *  opaque,
std::string  extname
[virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 281 of file modules.cpp.

00281 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnSyncUser userrec user,
Module proto,
void *  opaque
[virtual]
-
- - - - - -
-   - - -

-Allows modules to synchronize data which relates to users during a netburst. -

-When this function is called, it will be called from the module which implements the linking protocol. This currently is m_spanningtree.so. A pointer to this module is given in Module* proto, so that you may call its methods such as ProtoSendMode (see below). This function will be called for every user visible on your side of the burst, allowing you to for example set modes, etc. Do not use this call to synchronize data which you have stored using class Extensible -- There is a specialist function OnSyncUserMetaData and OnSyncChannelMetaData for this!

Parameters:
- - - - -
user The user being syncronized
proto A pointer to the module handling network protocol
opaque An opaque pointer set by the protocol module, should not be modified!
-
- -

-Definition at line 278 of file modules.cpp.

00278 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnSyncUserMetaData userrec user,
Module proto,
void *  opaque,
std::string  extname
[virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 282 of file modules.cpp.

00282 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnUnloadModule Module mod,
std::string  name
[virtual]
-
- - - - - -
-   - - -

-Called whenever a module is unloaded. -

-mod will contain a pointer to the module, and string will contain its name, for example m_widgets.so. This function is primary for dependency checking, your module may decide to enable some extra features if it sees that you have for example loaded "m_killwidgets.so" with "m_makewidgets.so". It is highly recommended that modules do *NOT* bail if they cannot satisfy dependencies, but instead operate under reduced functionality, unless the dependency is absolutely neccessary (e.g. a module that extends the features of another module).

Parameters:
- - - -
mod Pointer to the module being unloaded (still valid)
name The filename of the module being unloaded
-
- -

-Definition at line 244 of file modules.cpp.

00244 { };
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnUserConnect userrec user  )  [virtual]
-
- - - - - -
-   - - -

-Called when a user connects. -

-The details of the connecting user are available to you in the parameter userrec *user

Parameters:
- - -
user The user who is connecting
-
- -

-Definition at line 221 of file modules.cpp.

00221 { }
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnUserDisconnect userrec user  )  [virtual]
-
- - - - - -
-   - - -

-Called whenever a user's socket is closed. -

-The details of the exiting user are available to you in the parameter userrec *user This event is called for all users, registered or not, as a cleanup method for modules which might assign resources to user, such as dns lookups, objects and sockets.

Parameters:
- - -
user The user who is disconnecting
-
- -

-Definition at line 223 of file modules.cpp.

00223 { }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnUserInvite userrec source,
userrec dest,
chanrec channel
[virtual]
-
- - - - - -
-   - - -

-Called after a user has been successfully invited to a channel. -

-You cannot prevent the invite from occuring using this function, to do that, use OnUserPreInvite instead.

Parameters:
- - - - -
source The user who is issuing the INVITE
dest The user being invited
channel The channel the user is being invited to
-
- -

-Definition at line 275 of file modules.cpp.

00275 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnUserJoin userrec user,
chanrec channel
[virtual]
-
- - - - - -
-   - - -

-Called when a user joins a channel. -

-The details of the joining user are available to you in the parameter userrec *user, and the details of the channel they have joined is available in the variable chanrec *channel

Parameters:
- - - -
user The user who is joining
channel The channel being joined
-
- -

-Definition at line 224 of file modules.cpp.

00224 { }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnUserKick userrec source,
userrec user,
chanrec chan,
std::string  reason
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user is kicked. -

-If this method is called, the kick is already underway and cannot be prevented, so to prevent a kick, please use Module::OnUserPreKick instead of this method.

Parameters:
- - - - - -
source The user issuing the kick
user The user being kicked
chan The channel the user is being kicked from
reason The kick reason
-
- -

-Definition at line 251 of file modules.cpp.

00251 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnUserMessage userrec user,
void *  dest,
int  target_type,
std::string  text
[virtual]
-
- - - - - -
-   - - -

-Called after any PRIVMSG sent from a user. -

-The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL.

Parameters:
- - - - - -
user The user sending the message
dest The target of the message
target_type The type of target (TYPE_USER or TYPE_CHANNEL)
text the text being sent by the user
-
- -

-Definition at line 272 of file modules.cpp.

00272 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::OnUserNotice userrec user,
void *  dest,
int  target_type,
std::string  text
[virtual]
-
- - - - - -
-   - - -

-Called after any NOTICE sent from a user. -

-The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL.

Parameters:
- - - - - -
user The user sending the message
dest The target of the message
target_type The type of target (TYPE_USER or TYPE_CHANNEL)
text the text being sent by the user
-
- -

-Definition at line 273 of file modules.cpp.

00273 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnUserPart userrec user,
chanrec channel
[virtual]
-
- - - - - -
-   - - -

-Called when a user parts a channel. -

-The details of the leaving user are available to you in the parameter userrec *user, and the details of the channel they have left is available in the variable chanrec *channel

Parameters:
- - - -
user The user who is parting
channel The channel being parted
-
- -

-Definition at line 225 of file modules.cpp.

00225 { }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnUserPostNick userrec user,
std::string  oldnick
[virtual]
-
- - - - - -
-   - - -

-Called after any nickchange, local or remote. -

-This can be used to track users after nickchanges have been applied. Please note that although you can see remote nickchanges through this function, you should NOT make any changes to the userrec if the user is a remote user as this may cause a desnyc. check user->server before taking any action (including returning nonzero from the method). Because this method is called after the nickchange is taken place, no return values are possible to indicate forbidding of the nick change. Use OnUserPreNick for this.

Parameters:
- - - -
user The user changing their nick
oldnick The old nickname of the user before the nickchange
-
- -

-Definition at line 239 of file modules.cpp.

00239 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnUserPreInvite userrec source,
userrec dest,
chanrec channel
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user is about to invite another user into a channel, before any processing is done. -

-Returning 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter invites to channels.

Parameters:
- - - - -
source The user who is issuing the INVITE
dest The user being invited
channel The channel the user is being invited to
-
-
Returns:
1 to deny the invite, 0 to allow
- -

-Definition at line 235 of file modules.cpp.

00235 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnUserPreJoin userrec user,
chanrec chan,
const char *  cname
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user is about to join a channel, before any processing is done. -

-Returning a value of 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to mimic +b, +k, +l etc. Returning -1 from this function forces the join to be allowed, bypassing restrictions such as banlists, invite, keys etc.

-IMPORTANT NOTE!

-If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc.

Parameters:
- - - -
user The user joining the channel
cname The channel name being joined
-
-
Returns:
1 To prevent the join, 0 to allow it.
- -

-Definition at line 228 of file modules.cpp.

00228 { return 0; }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnUserPreKick userrec source,
userrec user,
chanrec chan,
std::string  reason
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user is about to be kicked. -

-Returning a value of 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc.

Parameters:
- - - - - -
source The user issuing the kick
user The user being kicked
chan The channel the user is being kicked from
reason The kick reason
-
-
Returns:
1 to prevent the kick, 0 to allow it
- -

-Definition at line 250 of file modules.cpp.

00250 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnUserPreMessage userrec user,
void *  dest,
int  target_type,
std::string text
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done. -

-Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent.

Parameters:
- - - - - -
user The user sending the message
dest The target of the message (chanrec* or userrec*)
target_type The type of target (TYPE_USER or TYPE_CHANNEL)
text Changeable text being sent by the user
-
-
Returns:
1 to deny the NOTICE, 0 to allow it
- -

-Definition at line 236 of file modules.cpp.

00236 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int Module::OnUserPreNick userrec user,
std::string  newnick
[virtual]
-
- - - - - -
-   - - -

-Called before any nickchange, local or remote. -

-This can be used to implement Q-lines etc. Please note that although you can see remote nickchanges through this function, you should NOT make any changes to the userrec if the user is a remote user as this may cause a desnyc. check user->server before taking any action (including returning nonzero from the method). If your method returns nonzero, the nickchange is silently forbidden, and it is down to your module to generate some meaninful output.

Parameters:
- - - -
user The username changing their nick
newnick Their new nickname
-
-
Returns:
1 to deny the change, 0 to allow
- -

-Definition at line 238 of file modules.cpp.

00238 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int Module::OnUserPreNotice userrec user,
void *  dest,
int  target_type,
std::string text
[virtual]
-
- - - - - -
-   - - -

-Called whenever a user is about to NOTICE A user or a channel, before any processing is done. -

-Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent. You may alter the message text as you wish before relinquishing control to the next module in the chain, and if no other modules block the text this altered form of the text will be sent out to the user and possibly to other servers.

Parameters:
- - - - - -
user The user sending the message
dest The target of the message (chanrec* or userrec*)
target_type The type of target (TYPE_USER or TYPE_CHANNEL)
text Changeable text being sent by the user
-
-
Returns:
1 to deny the NOTICE, 0 to allow it
- -

-Definition at line 237 of file modules.cpp.

00237 { return 0; };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnUserQuit userrec user,
std::string  message
[virtual]
-
- - - - - -
-   - - -

-Called when a user quits. -

-The details of the exiting user are available to you in the parameter userrec *user This event is only called when the user is fully registered when they quit. To catch raw disconnections, use the OnUserDisconnect method.

Parameters:
- - - -
user The user who is quitting
message The user's quit message
-
- -

-Definition at line 222 of file modules.cpp.

00222 { }
-
-

-

-

- - - - -
- - - - - - - - - -
void Module::OnUserRegister userrec user  )  [virtual]
-
- - - - - -
-   - - -

-Called whenever a user is about to register their connection (e.g. -

-before the user is sent the MOTD etc). Modules can use this method if they are performing a function which must be done before the actual connection is completed (e.g. ident lookups, dnsbl lookups, etc). Note that you should NOT delete the user record here by causing a disconnection! Use OnUserConnect for that instead.

Parameters:
- - -
user The user registering
-
- -

-Definition at line 249 of file modules.cpp.

00249 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnWallops userrec user,
std::string  text
[virtual]
-
- - - - - -
-   - - -

-Called after every WALLOPS command. -

-

Parameters:
- - - -
user The user sending the WALLOPS
text The content of the WALLOPS message
-
- -

-Definition at line 285 of file modules.cpp.

00285 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Module::OnWhois userrec source,
userrec dest
[virtual]
-
- - - - - -
-   - - -

-Called whenever a /WHOIS is performed on a local user. -

-The source parameter contains the details of the user who issued the WHOIS command, and the dest parameter contains the information of the user they are whoising.

Parameters:
- - - -
source The user issuing the WHOIS command
dest The user who is being WHOISed
-
- -

-Definition at line 234 of file modules.cpp.

00234 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::ProtoSendMetaData void *  opaque,
int  target_type,
void *  target,
std::string  extname,
std::string  extdata
[virtual]
-
- - - - - -
-   - - -

-Implemented by modules which provide the ability to link servers. -

-These modules will implement this method, which allows metadata (extra data added to user and channel records using class Extensible, Extensible::Extend, etc) to be sent to other servers on a netburst and decoded at the other end by the same module on a different server.

-More documentation to follow soon. Please see src/modules/m_swhois.cpp for example of how to use this function.

Parameters:
- - - - - - -
opaque An opaque pointer set by the protocol module, should not be modified!
target_type The type of item to decode data for, TYPE_USER or TYPE_CHANNEL
target The chanrec* or userrec* that metadata should be sent for
extname The extension name to send metadata for
extdata Encoded data for this extension name, which will be encoded at the oppsite end by an identical module using OnDecodeMetaData
-
- -

-Definition at line 284 of file modules.cpp.

00284 { };
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Module::ProtoSendMode void *  opaque,
int  target_type,
void *  target,
std::string  modeline
[virtual]
-
- - - - - -
-   - - -

-Implemented by modules which provide the ability to link servers. -

-These modules will implement this method, which allows transparent sending of servermodes down the network link as a broadcast, without a module calling it having to know the format of the MODE command before the actual mode string.

-More documentation to follow soon. Please see src/modules/m_chanprotect.cpp for examples of how to use this function.

-

Parameters:
- - - - - -
opaque An opaque pointer set by the protocol module, should not be modified!
target_type The type of item to decode data for, TYPE_USER or TYPE_CHANNEL
target The chanrec* or userrec* that modes should be sent for
modeline The modes and parameters to be sent
-
- -

-Definition at line 280 of file modules.cpp.

00280 { };
-
-

-

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModuleFactory-members.html b/docs/module-doc/classModuleFactory-members.html deleted file mode 100644 index 50821a2b1..000000000 --- a/docs/module-doc/classModuleFactory-members.html +++ /dev/null @@ -1,19 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ModuleFactory Member List

This is the complete list of members for ModuleFactory, including all inherited members.

- - - - - - -
ageclassbase
classbase()classbase [inline]
CreateModule(Server *Me)=0ModuleFactory [pure virtual]
ModuleFactory()ModuleFactory [inline]
~classbase()classbase [inline]
~ModuleFactory()ModuleFactory [inline, virtual]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModuleFactory.html b/docs/module-doc/classModuleFactory.html deleted file mode 100644 index c298b017d..000000000 --- a/docs/module-doc/classModuleFactory.html +++ /dev/null @@ -1,141 +0,0 @@ - - -InspIRCd: ModuleFactory Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ModuleFactory Class Reference

Instantiates classes inherited from Module This class creates a class inherited from type Module, using new. -More... -

-#include <modules.h> -

-Inheritance diagram for ModuleFactory:

Inheritance graph
- - - -
[legend]
Collaboration diagram for ModuleFactory:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - -

Public Member Functions

 ModuleFactory ()
virtual ~ModuleFactory ()
virtual ModuleCreateModule (Server *Me)=0
 Creates a new module.
-

Detailed Description

-Instantiates classes inherited from Module This class creates a class inherited from type Module, using new. -

-This is to allow for modules to create many different variants of Module, dependent on architecture, configuration, etc. In most cases, the simple class shown in the example module m_foobar.so will suffice for most modules. -

- -

-Definition at line 1694 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
ModuleFactory::ModuleFactory  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 1697 of file modules.h.

01697 { }
-
-

-

-

- - - - -
- - - - - - - - -
virtual ModuleFactory::~ModuleFactory  )  [inline, virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 1698 of file modules.h.

01698 { }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
virtual Module* ModuleFactory::CreateModule Server Me  )  [pure virtual]
-
- - - - - -
-   - - -

-Creates a new module. -

-Your inherited class of ModuleFactory must return a pointer to your Module class using this method.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModuleFactory__coll__graph.gif b/docs/module-doc/classModuleFactory__coll__graph.gif deleted file mode 100644 index 1cb0fe5f1..000000000 Binary files a/docs/module-doc/classModuleFactory__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModuleFactory__coll__graph.map b/docs/module-doc/classModuleFactory__coll__graph.map deleted file mode 100644 index 9eb3655c2..000000000 --- a/docs/module-doc/classModuleFactory__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 22,97 102,124 diff --git a/docs/module-doc/classModuleFactory__coll__graph.md5 b/docs/module-doc/classModuleFactory__coll__graph.md5 deleted file mode 100644 index fc323e944..000000000 --- a/docs/module-doc/classModuleFactory__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9dcff27f0b2b6c10f56cb9bd64ee6b74 \ No newline at end of file diff --git a/docs/module-doc/classModuleFactory__inherit__graph.gif b/docs/module-doc/classModuleFactory__inherit__graph.gif deleted file mode 100644 index 75ee256c7..000000000 Binary files a/docs/module-doc/classModuleFactory__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModuleFactory__inherit__graph.map b/docs/module-doc/classModuleFactory__inherit__graph.map deleted file mode 100644 index 72a2ad2d2..000000000 --- a/docs/module-doc/classModuleFactory__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 22,7 102,34 diff --git a/docs/module-doc/classModuleFactory__inherit__graph.md5 b/docs/module-doc/classModuleFactory__inherit__graph.md5 deleted file mode 100644 index 00d312373..000000000 --- a/docs/module-doc/classModuleFactory__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -39255dae702fdbc6009033a563f97830 \ No newline at end of file diff --git a/docs/module-doc/classModuleMessage-members.html b/docs/module-doc/classModuleMessage-members.html deleted file mode 100644 index 3be9a9940..000000000 --- a/docs/module-doc/classModuleMessage-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ModuleMessage Member List

This is the complete list of members for ModuleMessage, including all inherited members.

- - - - - -
ageclassbase
classbase()classbase [inline]
Send()=0ModuleMessage [pure virtual]
~classbase()classbase [inline]
~ModuleMessage()ModuleMessage [inline, virtual]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModuleMessage.html b/docs/module-doc/classModuleMessage.html deleted file mode 100644 index 0ffb17614..000000000 --- a/docs/module-doc/classModuleMessage.html +++ /dev/null @@ -1,108 +0,0 @@ - - -InspIRCd: ModuleMessage Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ModuleMessage Class Reference

The ModuleMessage class is the base class of Request and Event This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. -More... -

-#include <modules.h> -

-Inheritance diagram for ModuleMessage:

Inheritance graph
- - - - - -
[legend]
Collaboration diagram for ModuleMessage:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - -

Public Member Functions

virtual char * Send ()=0
 This class is pure virtual and must be inherited.
virtual ~ModuleMessage ()
-

Detailed Description

-The ModuleMessage class is the base class of Request and Event This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. -

- -

-Definition at line 161 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
virtual ModuleMessage::~ModuleMessage  )  [inline, virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 167 of file modules.h.

00167 {};
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - -
virtual char* ModuleMessage::Send  )  [pure virtual]
-
- - - - - -
-   - - -

-This class is pure virtual and must be inherited. -

- -

-Implemented in Request, and Event.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classModuleMessage__coll__graph.gif b/docs/module-doc/classModuleMessage__coll__graph.gif deleted file mode 100644 index 4ebbb17f9..000000000 Binary files a/docs/module-doc/classModuleMessage__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModuleMessage__coll__graph.map b/docs/module-doc/classModuleMessage__coll__graph.map deleted file mode 100644 index bad1a1f99..000000000 --- a/docs/module-doc/classModuleMessage__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 27,97 107,124 diff --git a/docs/module-doc/classModuleMessage__coll__graph.md5 b/docs/module-doc/classModuleMessage__coll__graph.md5 deleted file mode 100644 index aa6a07c97..000000000 --- a/docs/module-doc/classModuleMessage__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5c42f12f5b426d989c7e75ac013ed369 \ No newline at end of file diff --git a/docs/module-doc/classModuleMessage__inherit__graph.gif b/docs/module-doc/classModuleMessage__inherit__graph.gif deleted file mode 100644 index 42588ac6b..000000000 Binary files a/docs/module-doc/classModuleMessage__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModuleMessage__inherit__graph.map b/docs/module-doc/classModuleMessage__inherit__graph.map deleted file mode 100644 index b8be28a28..000000000 --- a/docs/module-doc/classModuleMessage__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classEvent.html 7,156 63,183 -rect $classRequest.html 87,156 159,183 -rect $classclassbase.html 39,7 119,33 diff --git a/docs/module-doc/classModuleMessage__inherit__graph.md5 b/docs/module-doc/classModuleMessage__inherit__graph.md5 deleted file mode 100644 index f911f90ca..000000000 --- a/docs/module-doc/classModuleMessage__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -da616c73965dd83233223320178e1259 \ No newline at end of file diff --git a/docs/module-doc/classModule__coll__graph.gif b/docs/module-doc/classModule__coll__graph.gif deleted file mode 100644 index 677aae159..000000000 Binary files a/docs/module-doc/classModule__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModule__coll__graph.map b/docs/module-doc/classModule__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classModule__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classModule__coll__graph.md5 b/docs/module-doc/classModule__coll__graph.md5 deleted file mode 100644 index 734a15309..000000000 --- a/docs/module-doc/classModule__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -60bd8f55ffe57aff1fdd74400fc04a9c \ No newline at end of file diff --git a/docs/module-doc/classModule__inherit__graph.gif b/docs/module-doc/classModule__inherit__graph.gif deleted file mode 100644 index 77c059c20..000000000 Binary files a/docs/module-doc/classModule__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classModule__inherit__graph.map b/docs/module-doc/classModule__inherit__graph.map deleted file mode 100644 index 8b1d85be3..000000000 --- a/docs/module-doc/classModule__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,7 87,34 diff --git a/docs/module-doc/classModule__inherit__graph.md5 b/docs/module-doc/classModule__inherit__graph.md5 deleted file mode 100644 index 36433ad9c..000000000 --- a/docs/module-doc/classModule__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1a9b43f472b611b45110c0c43a496d3b \ No newline at end of file diff --git a/docs/module-doc/classQLine-members.html b/docs/module-doc/classQLine-members.html deleted file mode 100644 index 8f1d4f6fe..000000000 --- a/docs/module-doc/classQLine-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

QLine Member List

This is the complete list of members for QLine, including all inherited members.

- - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
durationXLine
is_globalQLine
n_matchesXLine
nickQLine
reasonXLine
set_timeXLine
sourceXLine
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classQLine.html b/docs/module-doc/classQLine.html deleted file mode 100644 index 8c1ba13ec..000000000 --- a/docs/module-doc/classQLine.html +++ /dev/null @@ -1,99 +0,0 @@ - - -InspIRCd: QLine Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

QLine Class Reference

QLine class. -More... -

-#include <xline.h> -

-Inheritance diagram for QLine:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for QLine:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - - - - -

Public Attributes

char nick [64]
 Nickname to match against.
bool is_global
 Set if this is a global Z:line (e.g.
-

Detailed Description

-QLine class. -

- -

-Definition at line 113 of file xline.h.


Member Data Documentation

-

- - - - -
- - - - -
bool QLine::is_global
-
- - - - - -
-   - - -

-Set if this is a global Z:line (e.g. -

-it came from another server) -

-Definition at line 123 of file xline.h.

-

- - - - -
- - - - -
char QLine::nick[64]
-
- - - - - -
-   - - -

-Nickname to match against. -

-May contain wildcards. -

-Definition at line 119 of file xline.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classQLine__coll__graph.gif b/docs/module-doc/classQLine__coll__graph.gif deleted file mode 100644 index cd509e2d4..000000000 Binary files a/docs/module-doc/classQLine__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classQLine__coll__graph.map b/docs/module-doc/classQLine__coll__graph.map deleted file mode 100644 index 028f82a6e..000000000 --- a/docs/module-doc/classQLine__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 108,204 164,231 -rect $classclassbase.html 79,97 159,124 diff --git a/docs/module-doc/classQLine__coll__graph.md5 b/docs/module-doc/classQLine__coll__graph.md5 deleted file mode 100644 index 524d350e8..000000000 --- a/docs/module-doc/classQLine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -ceaac849094845256faf8b33ad6f197e \ No newline at end of file diff --git a/docs/module-doc/classQLine__inherit__graph.gif b/docs/module-doc/classQLine__inherit__graph.gif deleted file mode 100644 index 7129de9a4..000000000 Binary files a/docs/module-doc/classQLine__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classQLine__inherit__graph.map b/docs/module-doc/classQLine__inherit__graph.map deleted file mode 100644 index 37695eb4e..000000000 --- a/docs/module-doc/classQLine__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 19,81 75,108 -rect $classclassbase.html 7,7 87,33 diff --git a/docs/module-doc/classQLine__inherit__graph.md5 b/docs/module-doc/classQLine__inherit__graph.md5 deleted file mode 100644 index f8ab20af2..000000000 --- a/docs/module-doc/classQLine__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -1e1892777c1af1702ebc41518c8faf00 \ No newline at end of file diff --git a/docs/module-doc/classRequest-members.html b/docs/module-doc/classRequest-members.html deleted file mode 100644 index 7a053588b..000000000 --- a/docs/module-doc/classRequest-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Request Member List

This is the complete list of members for Request, including all inherited members.

- - - - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
dataRequest [protected]
destRequest [protected]
GetData()Request
GetDest()Request
GetSource()Request
Request(char *anydata, Module *src, Module *dst)Request
Send()Request [virtual]
sourceRequest [protected]
~classbase()classbase [inline]
~ModuleMessage()ModuleMessage [inline, virtual]


Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classRequest.html b/docs/module-doc/classRequest.html deleted file mode 100644 index 019d5de24..000000000 --- a/docs/module-doc/classRequest.html +++ /dev/null @@ -1,367 +0,0 @@ - - -InspIRCd: Request Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Request Class Reference

The Request class is a unicast message directed at a given module. -More... -

-#include <modules.h> -

-Inheritance diagram for Request:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for Request:

Collaboration graph
- - - - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 Request (char *anydata, Module *src, Module *dst)
 Create a new Request.
char * GetData ()
 Fetch the Request data.
ModuleGetSource ()
 Fetch the request source.
ModuleGetDest ()
 Fetch the request destination (should be 'this' in the receiving module).
char * Send ()
 Send the Request.

Protected Attributes

char * data
 This member holds a pointer to arbitary data set by the emitter of the message.
Modulesource
 This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply.
Moduledest
 The single destination of the Request.
-

Detailed Description

-The Request class is a unicast message directed at a given module. -

-When this class is properly instantiated it may be sent to a module using the Send() method, which will call the given module's OnRequest method with this class as its parameter. -

- -

-Definition at line 175 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
Request::Request char *  anydata,
Module src,
Module dst
-
- - - - - -
-   - - -

-Create a new Request. -

- -

-Definition at line 164 of file modules.cpp.

00164 : data(anydata), source(src), dest(dst) { };
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - -
char * Request::GetData  ) 
-
- - - - - -
-   - - -

-Fetch the Request data. -

- -

-Definition at line 166 of file modules.cpp. -

-References data.

00167 {
-00168         return this->data;
-00169 }
-
-

-

-

- - - - -
- - - - - - - - -
Module * Request::GetDest  ) 
-
- - - - - -
-   - - -

-Fetch the request destination (should be 'this' in the receiving module). -

- -

-Definition at line 176 of file modules.cpp. -

-References dest.

00177 {
-00178         return this->dest;
-00179 }
-
-

-

-

- - - - -
- - - - - - - - -
Module * Request::GetSource  ) 
-
- - - - - -
-   - - -

-Fetch the request source. -

- -

-Definition at line 171 of file modules.cpp. -

-References source.

00172 {
-00173         return this->source;
-00174 }
-
-

-

-

- - - - -
- - - - - - - - -
char * Request::Send  )  [virtual]
-
- - - - - -
-   - - -

-Send the Request. -

-Upon returning the result will be arbitary data returned by the module you sent the request to. It is up to your module to know what this data is and how to deal with it. -

-Implements ModuleMessage. -

-Definition at line 181 of file modules.cpp. -

-References dest, and Module::OnRequest().

00182 {
-00183         if (this->dest)
-00184         {
-00185                 return dest->OnRequest(this);
-00186         }
-00187         else
-00188         {
-00189                 return NULL;
-00190         }
-00191 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
char* Request::data [protected]
-
- - - - - -
-   - - -

-This member holds a pointer to arbitary data set by the emitter of the message. -

- -

-Definition at line 180 of file modules.h. -

-Referenced by GetData().

-

- - - - -
- - - - -
Module* Request::dest [protected]
-
- - - - - -
-   - - -

-The single destination of the Request. -

- -

-Definition at line 187 of file modules.h. -

-Referenced by GetDest(), and Send().

-

- - - - -
- - - - -
Module* Request::source [protected]
-
- - - - - -
-   - - -

-This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. -

- -

-Definition at line 184 of file modules.h. -

-Referenced by GetSource().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:22 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classRequest__coll__graph.gif b/docs/module-doc/classRequest__coll__graph.gif deleted file mode 100644 index 75f00e3de..000000000 Binary files a/docs/module-doc/classRequest__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classRequest__coll__graph.map b/docs/module-doc/classRequest__coll__graph.map deleted file mode 100644 index 1b4799fbe..000000000 --- a/docs/module-doc/classRequest__coll__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classModuleMessage.html 7,175 127,202 -rect $classclassbase.html 95,98 175,124 -rect $classModule.html 151,175 217,202 diff --git a/docs/module-doc/classRequest__coll__graph.md5 b/docs/module-doc/classRequest__coll__graph.md5 deleted file mode 100644 index c0a60fb28..000000000 --- a/docs/module-doc/classRequest__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5510328010b7765dbe242836ad9f7846 \ No newline at end of file diff --git a/docs/module-doc/classRequest__inherit__graph.gif b/docs/module-doc/classRequest__inherit__graph.gif deleted file mode 100644 index 792e0e65e..000000000 Binary files a/docs/module-doc/classRequest__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classRequest__inherit__graph.map b/docs/module-doc/classRequest__inherit__graph.map deleted file mode 100644 index f3f281b15..000000000 --- a/docs/module-doc/classRequest__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classModuleMessage.html 7,81 127,108 -rect $classclassbase.html 27,7 107,33 diff --git a/docs/module-doc/classRequest__inherit__graph.md5 b/docs/module-doc/classRequest__inherit__graph.md5 deleted file mode 100644 index 704aab881..000000000 --- a/docs/module-doc/classRequest__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -23bf4b24d7a45be28b312c0ac827a9d3 \ No newline at end of file diff --git a/docs/module-doc/classServer-members.html b/docs/module-doc/classServer-members.html deleted file mode 100644 index aaf96a8f6..000000000 --- a/docs/module-doc/classServer-members.html +++ /dev/null @@ -1,76 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Server Member List

This is the complete list of members for Server, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddCommand(command_t *f)Server [virtual]
AddELine(long duration, std::string source, std::string reason, std::string hostmask)Server [virtual]
AddExtendedListMode(char modechar)Server [virtual]
AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)Server [virtual]
AddGLine(long duration, std::string source, std::string reason, std::string hostmask)Server [virtual]
AddKLine(long duration, std::string source, std::string reason, std::string hostmask)Server [virtual]
AddQLine(long duration, std::string source, std::string reason, std::string nickname)Server [virtual]
AddSocket(InspSocket *sock)Server [virtual]
AddZLine(long duration, std::string source, std::string reason, std::string ipaddr)Server [virtual]
ageclassbase
CalcDuration(std::string duration)Server [virtual]
CallCommandHandler(std::string commandname, char **parameters, int pcnt, userrec *user)Server [virtual]
ChangeGECOS(userrec *user, std::string gecos)Server [virtual]
ChangeHost(userrec *user, std::string host)Server [virtual]
ChangeUserNick(userrec *user, std::string nickname)Server [virtual]
ChanMode(userrec *User, chanrec *Chan)Server [virtual]
classbase()classbase [inline]
CommonChannels(userrec *u1, userrec *u2)Server [virtual]
CountUsers(chanrec *c)Server [virtual]
DelELine(std::string hostmask)Server [virtual]
DelGLine(std::string hostmask)Server [virtual]
DelKLine(std::string hostmask)Server [virtual]
DelQLine(std::string nickname)Server [virtual]
DelSocket(InspSocket *sock)Server [virtual]
DelZLine(std::string ipaddr)Server [virtual]
FindChannel(std::string channel)Server [virtual]
FindDescriptor(int socket)Server [virtual]
FindModule(std::string name)Server [virtual]
FindNick(std::string nick)Server [virtual]
GetAdmin()Server [virtual]
GetConfig()Server
GetNetworkName()Server [virtual]
GetServerDescription()Server [virtual]
GetServerName()Server [virtual]
GetUsers(chanrec *chan)Server [virtual]
GetVersion()Server
IsNick(std::string nick)Server [virtual]
IsOnChannel(userrec *User, chanrec *Chan)Server [virtual]
IsUlined(std::string server)Server [virtual]
IsValidMask(std::string mask)Server [virtual]
IsValidModuleCommand(std::string commandname, int pcnt, userrec *user)Server [virtual]
JoinUserToChannel(userrec *user, std::string cname, std::string key)Server [virtual]
Log(int level, std::string s)Server [virtual]
MatchText(std::string sliteral, std::string spattern)Server [virtual]
PartUserFromChannel(userrec *user, std::string cname, std::string reason)Server [virtual]
PseudoToUser(userrec *alive, userrec *zombie, std::string message)Server [virtual]
QuitUser(userrec *user, std::string reason)Server [virtual]
RehashServer()Server [virtual]
Send(int Socket, std::string s)Server [virtual]
SendChannel(userrec *User, chanrec *Channel, std::string s, bool IncludeSender)Server [virtual]
SendChannelServerNotice(std::string ServName, chanrec *Channel, std::string text)Server [virtual]
SendCommon(userrec *User, std::string text, bool IncludeSender)Server [virtual]
SendFrom(int Socket, userrec *User, std::string s)Server [virtual]
SendMode(char **parameters, int pcnt, userrec *user)Server [virtual]
SendOpers(std::string s)Server [virtual]
SendServ(int Socket, std::string s)Server [virtual]
SendTo(userrec *Source, userrec *Dest, std::string s)Server [virtual]
SendToModeMask(std::string modes, int flags, std::string text)Server [virtual]
SendWallops(userrec *User, std::string text)Server [virtual]
Server()Server
UserToPseudo(userrec *user, std::string message)Server [virtual]
~classbase()classbase [inline]
~Server()Server [virtual]


Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classServer.html b/docs/module-doc/classServer.html deleted file mode 100644 index 77d6dd084..000000000 --- a/docs/module-doc/classServer.html +++ /dev/null @@ -1,3120 +0,0 @@ - - -InspIRCd: Server Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Server Class Reference

Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. -More... -

-#include <modules.h> -

-Inheritance diagram for Server:

Inheritance graph
- - - -
[legend]
Collaboration diagram for Server:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 Server ()
 Default constructor.
virtual ~Server ()
 Default destructor.
ServerConfigGetConfig ()
 Obtains a pointer to the server's ServerConfig object.
virtual void SendOpers (std::string s)
 Sends text to all opers.
std::string GetVersion ()
 Returns the version string of this server.
virtual void Log (int level, std::string s)
 Writes a log string.
virtual void Send (int Socket, std::string s)
 Sends a line of text down a TCP/IP socket.
virtual void SendServ (int Socket, std::string s)
 Sends text from the server to a socket.
virtual void SendChannelServerNotice (std::string ServName, chanrec *Channel, std::string text)
 Writes text to a channel, but from a server, including all.
virtual void SendFrom (int Socket, userrec *User, std::string s)
 Sends text from a user to a socket.
virtual void SendTo (userrec *Source, userrec *Dest, std::string s)
 Sends text from a user to another user.
virtual void SendChannel (userrec *User, chanrec *Channel, std::string s, bool IncludeSender)
 Sends text from a user to a channel (mulicast).
virtual bool CommonChannels (userrec *u1, userrec *u2)
 Returns true if two users share a common channel.
virtual void SendCommon (userrec *User, std::string text, bool IncludeSender)
 Sends text from a user to one or more channels (mulicast).
virtual void SendWallops (userrec *User, std::string text)
 Sends a WALLOPS message.
virtual bool IsNick (std::string nick)
 Returns true if a nick is valid.
virtual int CountUsers (chanrec *c)
 Returns a count of the number of users on a channel.
virtual userrecFindNick (std::string nick)
 Attempts to look up a nick and return a pointer to it.
virtual userrecFindDescriptor (int socket)
 Attempts to look up a nick using the file descriptor associated with that nick.
virtual chanrecFindChannel (std::string channel)
 Attempts to look up a channel and return a pointer to it.
virtual std::string ChanMode (userrec *User, chanrec *Chan)
 Attempts to look up a user's privilages on a channel.
virtual bool IsOnChannel (userrec *User, chanrec *Chan)
 Checks if a user is on a channel.
virtual std::string GetServerName ()
 Returns the server name of the server where the module is loaded.
virtual std::string GetNetworkName ()
 Returns the network name, global to all linked servers.
virtual std::string GetServerDescription ()
 Returns the server description string of the local server.
virtual Admin GetAdmin ()
 Returns the information of the server as returned by the /ADMIN command.
virtual bool AddExtendedMode (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)
 Adds an extended mode letter which is parsed by a module.
virtual bool AddExtendedListMode (char modechar)
 Adds an extended mode letter which is parsed by a module and handled in a list fashion.
virtual void AddCommand (command_t *f)
 Adds a command to the command table.
virtual void SendMode (char **parameters, int pcnt, userrec *user)
 Sends a servermode.
virtual void SendToModeMask (std::string modes, int flags, std::string text)
 Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter.
virtual chanrecJoinUserToChannel (userrec *user, std::string cname, std::string key)
 Forces a user to join a channel.
virtual chanrecPartUserFromChannel (userrec *user, std::string cname, std::string reason)
 Forces a user to part a channel.
virtual void ChangeUserNick (userrec *user, std::string nickname)
 Forces a user nickchange.
virtual void QuitUser (userrec *user, std::string reason)
 Forces a user to quit with the specified reason.
virtual bool MatchText (std::string sliteral, std::string spattern)
 Matches text against a glob pattern.
virtual void CallCommandHandler (std::string commandname, char **parameters, int pcnt, userrec *user)
 Calls the handler for a command, either implemented by the core or by another module.
virtual bool IsValidModuleCommand (std::string commandname, int pcnt, userrec *user)
virtual void ChangeHost (userrec *user, std::string host)
 Change displayed hostname of a user.
virtual void ChangeGECOS (userrec *user, std::string gecos)
 Change GECOS (fullname) of a user.
virtual bool IsUlined (std::string server)
 Returns true if the servername you give is ulined.
virtual chanuserlist GetUsers (chanrec *chan)
 Fetches the userlist of a channel.
virtual bool UserToPseudo (userrec *user, std::string message)
 Remove a user's connection to the irc server, but leave their client in existence in the user hash.
virtual bool PseudoToUser (userrec *alive, userrec *zombie, std::string message)
 This user takes one user, and switches their file descriptor with another user, so that one user "becomes" the other.
virtual void AddGLine (long duration, std::string source, std::string reason, std::string hostmask)
 Adds a G-line The G-line is propogated to all of the servers in the mesh and enforced as soon as it is added.
virtual void AddQLine (long duration, std::string source, std::string reason, std::string nickname)
 Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enforced as soon as it is added.
virtual void AddZLine (long duration, std::string source, std::string reason, std::string ipaddr)
 Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enforced as soon as it is added.
virtual void AddKLine (long duration, std::string source, std::string reason, std::string hostmask)
 Adds a K-line The K-line is enforced as soon as it is added.
virtual void AddELine (long duration, std::string source, std::string reason, std::string hostmask)
 Adds a E-line The E-line is enforced as soon as it is added.
virtual bool DelGLine (std::string hostmask)
 Deletes a G-Line from all servers on the mesh.
virtual bool DelQLine (std::string nickname)
 Deletes a Q-Line from all servers on the mesh.
virtual bool DelZLine (std::string ipaddr)
 Deletes a Z-Line from all servers on the mesh.
virtual bool DelKLine (std::string hostmask)
 Deletes a local K-Line.
virtual bool DelELine (std::string hostmask)
 Deletes a local E-Line.
virtual long CalcDuration (std::string duration)
 Calculates a duration This method will take a string containing a formatted duration (e.g.
virtual bool IsValidMask (std::string mask)
 Returns true if a nick!ident string is correctly formatted, false if otherwise.
virtual ModuleFindModule (std::string name)
 This function finds a module by name.
virtual void AddSocket (InspSocket *sock)
 Adds a class derived from InspSocket to the server's socket engine.
virtual void DelSocket (InspSocket *sock)
 Deletes a class derived from InspSocket from the server's socket engine.
virtual void RehashServer ()
-

Detailed Description

-Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. -

-All modules should instantiate at least one copy of this class, and use its member functions to perform their tasks. -

- -

-Definition at line 1114 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
Server::Server  ) 
-
- - - - - -
-   - - -

-Default constructor. -

-Creates a Server object. -

-Definition at line 304 of file modules.cpp.

00305 {
-00306 }
-
-

-

-

- - - - -
- - - - - - - - -
Server::~Server  )  [virtual]
-
- - - - - -
-   - - -

-Default destructor. -

-Destroys a Server object. -

-Definition at line 308 of file modules.cpp.

00309 {
-00310 }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void Server::AddCommand command_t f  )  [virtual]
-
- - - - - -
-   - - -

-Adds a command to the command table. -

-This allows modules to add extra commands into the command table. You must place a function within your module which is is of type handlerfunc:

-typedef void (handlerfunc) (char**, int, userrec*); ... void handle_kill(char **parameters, int pcnt, userrec *user)

-When the command is typed, the parameters will be placed into the parameters array (similar to argv) and the parameter count will be placed into pcnt (similar to argv). There will never be any less parameters than the 'minparams' value you specified when creating the command. The *user parameter is the class of the user which caused the command to trigger, who will always have the flag you specified in 'flags' when creating the initial command. For example to create an oper only command create the commands with flags='o'. The source parameter is used for resource tracking, and should contain the name of your module (with file extension) e.g. "m_blarp.so". If you place the wrong identifier here, you can cause crashes if your module is unloaded. -

-Definition at line 415 of file modules.cpp. -

-References InspIRCd::Parser.

00416 {
-00417         ServerInstance->Parser->CreateCommand(f);
-00418 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Server::AddELine long  duration,
std::string  source,
std::string  reason,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Adds a E-line The E-line is enforced as soon as it is added. -

-The duration must be in seconds, however you can use the Server::CalcDuration method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. -

-Definition at line 659 of file modules.cpp. -

-References add_eline().

00660 {
-00661         add_eline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-00662 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::AddExtendedListMode char  modechar  )  [virtual]
-
- - - - - -
-   - - -

-Adds an extended mode letter which is parsed by a module and handled in a list fashion. -

-This call is used to implement modes like +q and +a. The characteristics of these modes are as follows:

-(1) They are ALWAYS on channels, not on users, therefore their type is MT_CHANNEL

-(2) They always take exactly one parameter when being added or removed

-(3) They can be set multiple times, usually on users in channels

-(4) The mode and its parameter are NOT stored in the channels modes structure

-It is down to the module handling the mode to maintain state and determine what 'items' (e.g. users, or a banlist) have the mode set on them, and process the modes at the correct times, e.g. during access checks on channels, etc. When the extended mode is triggered the OnExtendedMode method will be triggered as above. Note that the target you are given will be a channel, if for example your mode is set 'on a user' (in for example +a) you must use Server::Find to locate the user the mode is operating on. Your mode handler may return 1 to handle the mode AND tell the core to display the mode change, e.g. '+aaa one two three' in the case of the mode for 'two', or it may return -1 to 'eat' the mode change, so the above example would become '+aa one three' after processing. -

-Definition at line 583 of file modules.cpp. -

-References DoAddExtendedMode(), ModeMakeList(), and MT_CHANNEL.

00584 {
-00585         bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1);
-00586         if (res)
-00587                 ModeMakeList(modechar);
-00588         return res;
-00589 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool Server::AddExtendedMode char  modechar,
int  type,
bool  requires_oper,
int  params_when_on,
int  params_when_off
[virtual]
-
- - - - - -
-   - - -

-Adds an extended mode letter which is parsed by a module. -

-This allows modules to add extra mode letters, e.g. +x for hostcloak. the "type" parameter is either MT_CHANNEL, MT_CLIENT, or MT_SERVER, to indicate wether the mode is a channel mode, a client mode, or a server mode. requires_oper is used with MT_CLIENT type modes only to indicate the mode can only be set or unset by an oper. If this is used for MT_CHANNEL type modes it is ignored. params_when_on is the number of modes to expect when the mode is turned on (for type MT_CHANNEL only), e.g. with mode +k, this would have a value of 1. the params_when_off value has a similar value to params_when_on, except it indicates the number of parameters to expect when the mode is disabled. Modes which act in a similar way to channel mode +l (e.g. require a parameter to enable, but not to disable) should use this parameter. The function returns false if the mode is unavailable, and will not attempt to allocate another character, as this will confuse users. This also means that as only one module can claim a specific mode character, the core does not need to keep track of which modules own which modes, which speeds up operation of the server. In this version, a mode can have at most one parameter, attempting to use more parameters will have undefined effects. -

-Definition at line 555 of file modules.cpp. -

-References DEBUG, DoAddExtendedMode(), log(), MT_CLIENT, and MT_SERVER.

00556 {
-00557         if (((modechar >= 'A') && (modechar <= 'Z')) || ((modechar >= 'a') && (modechar <= 'z')))
-00558         {
-00559                 if (type == MT_SERVER)
-00560                 {
-00561                         log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion");
-00562                         return false;
-00563                 }
-00564                 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
-00565                 {
-00566                         log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported");
-00567                         return false;
-00568                 }
-00569                 if ((params_when_on>1) || (params_when_off>1))
-00570                 {
-00571                         log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported");
-00572                         return false;
-00573                 }
-00574                 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
-00575         }
-00576         else
-00577         {
-00578                 log(DEBUG,"*** API ERROR *** Muppet modechar detected.");
-00579         }
-00580         return false;
-00581 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Server::AddGLine long  duration,
std::string  source,
std::string  reason,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Adds a G-line The G-line is propogated to all of the servers in the mesh and enforced as soon as it is added. -

-The duration must be in seconds, however you can use the Server::CalcDuration method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. -

-Definition at line 639 of file modules.cpp. -

-References add_gline().

00640 {
-00641         add_gline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-00642 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Server::AddKLine long  duration,
std::string  source,
std::string  reason,
std::string  hostmask
[virtual]
-
- - - - - -
-   - - -

-Adds a K-line The K-line is enforced as soon as it is added. -

-The duration must be in seconds, however you can use the Server::CalcDuration method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. -

-Definition at line 654 of file modules.cpp. -

-References add_kline().

00655 {
-00656         add_kline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-00657 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Server::AddQLine long  duration,
std::string  source,
std::string  reason,
std::string  nickname
[virtual]
-
- - - - - -
-   - - -

-Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enforced as soon as it is added. -

-The duration must be in seconds, however you can use the Server::CalcDuration method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. -

-Definition at line 644 of file modules.cpp. -

-References add_qline().

00645 {
-00646         add_qline(duration, source.c_str(), reason.c_str(), nickname.c_str());
-00647 }
-
-

-

-

- - - - -
- - - - - - - - - -
void Server::AddSocket InspSocket sock  )  [virtual]
-
- - - - - -
-   - - -

-Adds a class derived from InspSocket to the server's socket engine. -

- -

-Definition at line 312 of file modules.cpp. -

-References module_sockets.

00313 {
-00314         module_sockets.push_back(sock);
-00315 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Server::AddZLine long  duration,
std::string  source,
std::string  reason,
std::string  ipaddr
[virtual]
-
- - - - - -
-   - - -

-Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enforced as soon as it is added. -

-The duration must be in seconds, however you can use the Server::CalcDuration method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. -

-Definition at line 649 of file modules.cpp. -

-References add_zline().

00650 {
-00651         add_zline(duration, source.c_str(), reason.c_str(), ipaddr.c_str());
-00652 }
-
-

-

-

- - - - -
- - - - - - - - - -
long Server::CalcDuration std::string  duration  )  [virtual]
-
- - - - - -
-   - - -

-Calculates a duration This method will take a string containing a formatted duration (e.g. -

-"1w2d") and return its value as a total number of seconds. This is the same function used internally by /GLINE etc to set the ban times. -

-Definition at line 689 of file modules.cpp. -

-References duration().

00690 {
-00691         return duration(delta.c_str());
-00692 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Server::CallCommandHandler std::string  commandname,
char **  parameters,
int  pcnt,
userrec user
[virtual]
-
- - - - - -
-   - - -

-Calls the handler for a command, either implemented by the core or by another module. -

-You can use this function to trigger other commands in the ircd, such as PRIVMSG, JOIN, KICK etc, or even as a method of callback. By defining command names that are untypeable for users on irc (e.g. those which contain a or
-) you may use them as callback identifiers. The first parameter to this method is the name of the command handler you wish to call, e.g. PRIVMSG. This will be a command handler previously registered by the core or wih AddCommand(). The second parameter is an array of parameters, and the third parameter is a count of parameters in the array. If you do not pass enough parameters to meet the minimum needed by the handler, the functiom will silently ignore it. The final parameter is the user executing the command handler, used for privilage checks, etc. -

-Definition at line 400 of file modules.cpp. -

-References InspIRCd::Parser.

00401 {
-00402         ServerInstance->Parser->CallHandler(commandname,parameters,pcnt,user);
-00403 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::ChangeGECOS userrec user,
std::string  gecos
[virtual]
-
- - - - - -
-   - - -

-Change GECOS (fullname) of a user. -

-You should always call this method to change a user's GECOS rather than writing directly to the fullname member of userrec, as any change applied via this method will be propogated to any linked servers. -

-Definition at line 498 of file modules.cpp. -

-References ChangeName().

00499 {
-00500         ChangeName(user,gecos.c_str());
-00501 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::ChangeHost userrec user,
std::string  host
[virtual]
-
- - - - - -
-   - - -

-Change displayed hostname of a user. -

-You should always call this method to change a user's host rather than writing directly to the dhost member of userrec, as any change applied via this method will be propogated to any linked servers. -

-Definition at line 493 of file modules.cpp. -

-References ChangeDisplayedHost().

00494 {
-00495         ChangeDisplayedHost(user,host.c_str());
-00496 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::ChangeUserNick userrec user,
std::string  nickname
[virtual]
-
- - - - - -
-   - - -

-Forces a user nickchange. -

-This command works similarly to SVSNICK, and can be used to implement Q-lines etc. If you specify an invalid nickname, the nick change will be dropped and the target user will receive the error numeric for it. -

-Definition at line 385 of file modules.cpp. -

-References force_nickchange().

00386 {
-00387         force_nickchange(user,nickname.c_str());
-00388 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
std::string Server::ChanMode userrec User,
chanrec Chan
[virtual]
-
- - - - - -
-   - - -

-Attempts to look up a user's privilages on a channel. -

-This function will return a string containing either @, %, +, or an empty string, representing the user's privilages upon the channel you specify. -

-Definition at line 523 of file modules.cpp. -

-References cmode().

00524 {
-00525         return cmode(User,Chan);
-00526 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool Server::CommonChannels userrec u1,
userrec u2
[virtual]
-
- - - - - -
-   - - -

-Returns true if two users share a common channel. -

-This method is used internally by the NICK and QUIT commands, and the Server::SendCommon method. -

-Definition at line 471 of file modules.cpp. -

-References common_channels().

00472 {
-00473         return (common_channels(u1,u2) != 0);
-00474 }
-
-

-

-

- - - - -
- - - - - - - - - -
int Server::CountUsers chanrec c  )  [virtual]
-
- - - - - -
-   - - -

-Returns a count of the number of users on a channel. -

-This will NEVER be 0, as if the chanrec exists, it will have at least one user in the channel. -

-Definition at line 591 of file modules.cpp.

00592 {
-00593         return usercount(c);
-00594 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::DelELine std::string  hostmask  )  [virtual]
-
- - - - - -
-   - - -

-Deletes a local E-Line. -

- -

-Definition at line 684 of file modules.cpp. -

-References del_eline().

00685 {
-00686         return del_eline(hostmask.c_str());
-00687 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::DelGLine std::string  hostmask  )  [virtual]
-
- - - - - -
-   - - -

-Deletes a G-Line from all servers on the mesh. -

- -

-Definition at line 664 of file modules.cpp. -

-References del_gline().

00665 {
-00666         return del_gline(hostmask.c_str());
-00667 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::DelKLine std::string  hostmask  )  [virtual]
-
- - - - - -
-   - - -

-Deletes a local K-Line. -

- -

-Definition at line 679 of file modules.cpp. -

-References del_kline().

00680 {
-00681         return del_kline(hostmask.c_str());
-00682 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::DelQLine std::string  nickname  )  [virtual]
-
- - - - - -
-   - - -

-Deletes a Q-Line from all servers on the mesh. -

- -

-Definition at line 669 of file modules.cpp. -

-References del_qline().

00670 {
-00671         return del_qline(nickname.c_str());
-00672 }
-
-

-

-

- - - - -
- - - - - - - - - -
void Server::DelSocket InspSocket sock  )  [virtual]
-
- - - - - -
-   - - -

-Deletes a class derived from InspSocket from the server's socket engine. -

- -

-Definition at line 333 of file modules.cpp. -

-References module_sockets.

00334 {
-00335         for (std::vector<InspSocket*>::iterator a = module_sockets.begin(); a < module_sockets.end(); a++)
-00336         {
-00337                 if (*a == sock)
-00338                 {
-00339                         module_sockets.erase(a);
-00340                         return;
-00341                 }
-00342         }
-00343 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::DelZLine std::string  ipaddr  )  [virtual]
-
- - - - - -
-   - - -

-Deletes a Z-Line from all servers on the mesh. -

- -

-Definition at line 674 of file modules.cpp. -

-References del_zline().

00675 {
-00676         return del_zline(ipaddr.c_str());
-00677 }
-
-

-

-

- - - - -
- - - - - - - - - -
chanrec * Server::FindChannel std::string  channel  )  [virtual]
-
- - - - - -
-   - - -

-Attempts to look up a channel and return a pointer to it. -

-This function will return NULL if the channel does not exist. -

-Definition at line 518 of file modules.cpp. -

-References FindChan().

00519 {
-00520         return FindChan(channel.c_str());
-00521 }
-
-

-

-

- - - - -
- - - - - - - - - -
userrec * Server::FindDescriptor int  socket  )  [virtual]
-
- - - - - -
-   - - -

-Attempts to look up a nick using the file descriptor associated with that nick. -

-This function will return NULL if the file descriptor is not associated with a valid user. -

-Definition at line 513 of file modules.cpp.

00514 {
-00515         return (socket < 65536 ? fd_ref_table[socket] : NULL);
-00516 }
-
-

-

-

- - - - -
- - - - - - - - - -
Module * Server::FindModule std::string  name  )  [virtual]
-
- - - - - -
-   - - -

-This function finds a module by name. -

-You must provide the filename of the module. If the module cannot be found (is not loaded) the function will return NULL. -

-Definition at line 723 of file modules.cpp. -

-References MODCOUNT, ServerConfig::module_names, and modules.

00724 {
-00725         for (int i = 0; i <= MODCOUNT; i++)
-00726         {
-00727                 if (Config->module_names[i] == name)
-00728                 {
-00729                         return modules[i];
-00730                 }
-00731         }
-00732         return NULL;
-00733 }
-
-

-

-

- - - - -
- - - - - - - - - -
userrec * Server::FindNick std::string  nick  )  [virtual]
-
- - - - - -
-   - - -

-Attempts to look up a nick and return a pointer to it. -

-This function will return NULL if the nick does not exist. -

-Definition at line 508 of file modules.cpp. -

-References Find().

00509 {
-00510         return Find(nick);
-00511 }
-
-

-

-

- - - - -
- - - - - - - - -
Admin Server::GetAdmin  )  [virtual]
-
- - - - - -
-   - - -

-Returns the information of the server as returned by the /ADMIN command. -

-See the Admin class for further information of the return value. The members Admin::Nick, Admin::Email and Admin::Name contain the information for the server where the module is loaded. -

-Definition at line 548 of file modules.cpp. -

-References ServerConfig::AdminEmail, ServerConfig::AdminName, and ServerConfig::AdminNick.

00549 {
-00550         return Admin(Config->AdminName,Config->AdminEmail,Config->AdminNick);
-00551 }
-
-

-

-

- - - - -
- - - - - - - - -
ServerConfig * Server::GetConfig  ) 
-
- - - - - -
-   - - -

-Obtains a pointer to the server's ServerConfig object. -

-The ServerConfig object contains most of the configuration data of the IRC server, as read from the config file by the core. -

-Definition at line 323 of file modules.cpp.

00324 {
-00325         return Config;
-00326 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string Server::GetNetworkName  )  [virtual]
-
- - - - - -
-   - - -

-Returns the network name, global to all linked servers. -

- -

-Definition at line 538 of file modules.cpp. -

-References ServerConfig::Network.

00539 {
-00540         return Config->Network;
-00541 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string Server::GetServerDescription  )  [virtual]
-
- - - - - -
-   - - -

-Returns the server description string of the local server. -

- -

-Definition at line 543 of file modules.cpp. -

-References ServerConfig::ServerDesc.

00544 {
-00545         return Config->ServerDesc;
-00546 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string Server::GetServerName  )  [virtual]
-
- - - - - -
-   - - -

-Returns the server name of the server where the module is loaded. -

- -

-Definition at line 533 of file modules.cpp. -

-References ServerConfig::ServerName.

00534 {
-00535         return Config->ServerName;
-00536 }
-
-

-

-

- - - - -
- - - - - - - - - -
chanuserlist Server::GetUsers chanrec chan  )  [virtual]
-
- - - - - -
-   - - -

-Fetches the userlist of a channel. -

-This function must be here and not a member of userrec or chanrec due to include constraints. -

-Definition at line 373 of file modules.cpp. -

-References chanrec::GetUsers().

00374 {
-00375         chanuserlist userl;
-00376         userl.clear();
-00377         std::vector<char*> *list = chan->GetUsers();
-00378         for (std::vector<char*>::iterator i = list->begin(); i != list->end(); i++)
-00379         {
-00380                 char* o = *i;
-00381                 userl.push_back((userrec*)o);
-00382         }
-00383         return userl;
-00384 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string Server::GetVersion  ) 
-
- - - - - -
-   - - -

-Returns the version string of this server. -

- -

-Definition at line 328 of file modules.cpp. -

-References InspIRCd::GetVersionString().

00329 {
-00330         return ServerInstance->GetVersionString();
-00331 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::IsNick std::string  nick  )  [virtual]
-
- - - - - -
-   - - -

-Returns true if a nick is valid. -

-Nicks for unregistered connections will return false. -

-Definition at line 503 of file modules.cpp. -

-References isnick().

00504 {
-00505         return (isnick(nick.c_str()) != 0);
-00506 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool Server::IsOnChannel userrec User,
chanrec Chan
[virtual]
-
- - - - - -
-   - - -

-Checks if a user is on a channel. -

-This function will return true or false to indicate if user 'User' is on channel 'Chan'. -

-Definition at line 528 of file modules.cpp. -

-References has_channel().

00529 {
-00530         return has_channel(User,Chan);
-00531 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::IsUlined std::string  server  )  [virtual]
-
- - - - - -
-   - - -

-Returns true if the servername you give is ulined. -

-ULined servers have extra privilages. They are allowed to change nicknames on remote servers, change modes of clients which are on remote servers and set modes of channels where there are no channel operators for that channel on the ulined server, amongst other things. Ulined server data is also broadcast across the mesh at all times as opposed to selectively messaged in the case of normal servers, as many ulined server types (such as services) do not support meshed links and must operate in this manner. -

-Definition at line 395 of file modules.cpp. -

-References is_uline().

00396 {
-00397         return is_uline(server.c_str());
-00398 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool Server::IsValidMask std::string  mask  )  [virtual]
-
- - - - - -
-   - - -

-Returns true if a nick!ident string is correctly formatted, false if otherwise. -

- -

-Definition at line 694 of file modules.cpp.

00695 {
-00696         const char* dest = mask.c_str();
-00697         if (strchr(dest,'!')==0)
-00698                 return false;
-00699         if (strchr(dest,'@')==0)
-00700                 return false;
-00701         for (unsigned int i = 0; i < strlen(dest); i++)
-00702                 if (dest[i] < 32)
-00703                         return false;
-00704         for (unsigned int i = 0; i < strlen(dest); i++)
-00705                 if (dest[i] > 126)
-00706                         return false;
-00707         unsigned int c = 0;
-00708         for (unsigned int i = 0; i < strlen(dest); i++)
-00709                 if (dest[i] == '!')
-00710                         c++;
-00711         if (c>1)
-00712                 return false;
-00713         c = 0;
-00714         for (unsigned int i = 0; i < strlen(dest); i++)
-00715                 if (dest[i] == '@')
-00716                         c++;
-00717         if (c>1)
-00718                 return false;
-00719 
-00720         return true;
-00721 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool Server::IsValidModuleCommand std::string  commandname,
int  pcnt,
userrec user
[virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 405 of file modules.cpp. -

-References InspIRCd::Parser.

00406 {
-00407         return ServerInstance->Parser->IsValidCommand(commandname, pcnt, user);
-00408 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
chanrec * Server::JoinUserToChannel userrec user,
std::string  cname,
std::string  key
[virtual]
-
- - - - - -
-   - - -

-Forces a user to join a channel. -

-This is similar to svsjoin and can be used to implement redirection, etc. On success, the return value is a valid pointer to a chanrec* of the channel the user was joined to. On failure, the result is NULL. -

-Definition at line 363 of file modules.cpp. -

-References add_channel().

00364 {
-00365         return add_channel(user,cname.c_str(),key.c_str(),false);
-00366 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::Log int  level,
std::string  s
[virtual]
-
- - - - - -
-   - - -

-Writes a log string. -

-This method writes a line of text to the log. If the level given is lower than the level given in the configuration, this command has no effect. -

-Definition at line 410 of file modules.cpp. -

-References log().

00411 {
-00412         log(level,"%s",s.c_str());
-00413 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool Server::MatchText std::string  sliteral,
std::string  spattern
[virtual]
-
- - - - - -
-   - - -

-Matches text against a glob pattern. -

-Uses the ircd's internal matching function to match string against a globbing pattern, e.g. *!*@*.com Returns true if the literal successfully matches the pattern, false if otherwise. -

-Definition at line 350 of file modules.cpp.

00351 {
-00352         char literal[MAXBUF],pattern[MAXBUF];
-00353         strlcpy(literal,sliteral.c_str(),MAXBUF);
-00354         strlcpy(pattern,spattern.c_str(),MAXBUF);
-00355         return match(literal,pattern);
-00356 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
chanrec * Server::PartUserFromChannel userrec user,
std::string  cname,
std::string  reason
[virtual]
-
- - - - - -
-   - - -

-Forces a user to part a channel. -

-This is similar to svspart and can be used to implement redirection, etc. Although the return value of this function is a pointer to a channel record, the returned data is undefined and should not be read or written to. This behaviour may be changed in a future version. -

-Definition at line 368 of file modules.cpp. -

-References del_channel().

00369 {
-00370         return del_channel(user,cname.c_str(),reason.c_str(),false);
-00371 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool Server::PseudoToUser userrec alive,
userrec zombie,
std::string  message
[virtual]
-
- - - - - -
-   - - -

-This user takes one user, and switches their file descriptor with another user, so that one user "becomes" the other. -

-The user in 'alive' is booted off the server with the given message. The user referred to by 'zombie' should have previously been locked with Server::ZombifyUser, otherwise stale sockets and file descriptor leaks can occur. After this call, the pointer to alive will be invalid, and the pointer to zombie will be equivalent in effect to the old pointer to alive. -

-Definition at line 609 of file modules.cpp. -

-References userrec::chans, userrec::ClearBuffer(), connection::fd, FD_MAGIC_NUMBER, connection::host, userrec::ident, kill_link(), chanrec::name, userrec::nick, chanrec::setby, chanrec::topic, chanrec::topicset, Write(), WriteFrom(), and WriteServ().

00610 {
-00611         zombie->fd = alive->fd;
-00612         alive->fd = FD_MAGIC_NUMBER;
-00613         alive->ClearBuffer();
-00614         Write(zombie->fd,":%s!%s@%s NICK %s",alive->nick,alive->ident,alive->host,zombie->nick);
-00615         kill_link(alive,message.c_str());
-00616         fd_ref_table[zombie->fd] = zombie;
-00617         for (unsigned int i = 0; i < zombie->chans.size(); i++)
-00618         {
-00619                 if (zombie->chans[i].channel != NULL)
-00620                 {
-00621                         if (zombie->chans[i].channel->name)
-00622                         {
-00623                                 chanrec* Ptr = zombie->chans[i].channel;
-00624                                 WriteFrom(zombie->fd,zombie,"JOIN %s",Ptr->name);
-00625                                 if (Ptr->topicset)
-00626                                 {
-00627                                         WriteServ(zombie->fd,"332 %s %s :%s", zombie->nick, Ptr->name, Ptr->topic);
-00628                                         WriteServ(zombie->fd,"333 %s %s %s %d", zombie->nick, Ptr->name, Ptr->setby, Ptr->topicset);
-00629                                 }
-00630                                 userlist(zombie,Ptr);
-00631                                 WriteServ(zombie->fd,"366 %s %s :End of /NAMES list.", zombie->nick, Ptr->name);
-00632 
-00633                         }
-00634                 }
-00635         }
-00636         return true;
-00637 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::QuitUser userrec user,
std::string  reason
[virtual]
-
- - - - - -
-   - - -

-Forces a user to quit with the specified reason. -

-To the user, it will appear as if they typed /QUIT themselves, except for the fact that this function may bypass the quit prefix specified in the config file.

-WARNING!

-Once you call this function, userrec* user will immediately become INVALID. You MUST NOT write to, or read from this pointer after calling the QuitUser method UNDER ANY CIRCUMSTANCES! The best course of action after calling this method is to immediately bail from your handler. -

-Definition at line 390 of file modules.cpp. -

-References kill_link().

00391 {
-00392         kill_link(user,reason.c_str());
-00393 }
-
-

-

-

- - - - -
- - - - - - - - -
void Server::RehashServer  )  [virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 317 of file modules.cpp. -

-References ServerConfig::Read(), and WriteOpers().

00318 {
-00319         WriteOpers("*** Rehashing config file");
-00320         Config->Read(false,NULL);
-00321 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::Send int  Socket,
std::string  s
[virtual]
-
- - - - - -
-   - - -

-Sends a line of text down a TCP/IP socket. -

-This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required. -

-Definition at line 425 of file modules.cpp. -

-References Write().

00426 {
-00427         Write(Socket,"%s",s.c_str());
-00428 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void Server::SendChannel userrec User,
chanrec Channel,
std::string  s,
bool  IncludeSender
[virtual]
-
- - - - - -
-   - - -

-Sends text from a user to a channel (mulicast). -

-This method writes a line of text to a channel, with the given user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in MODE (see RFC 1459). -

-Definition at line 459 of file modules.cpp. -

-References ChanExceptSender(), and WriteChannel().

00460 {
-00461         if (IncludeSender)
-00462         {
-00463                 WriteChannel(Channel,User,"%s",s.c_str());
-00464         }
-00465         else
-00466         {
-00467                 ChanExceptSender(Channel,User,"%s",s.c_str());
-00468         }
-00469 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Server::SendChannelServerNotice std::string  ServName,
chanrec Channel,
std::string  text
[virtual]
-
- - - - - -
-   - - -

-Writes text to a channel, but from a server, including all. -

-This can be used to send server notices to a group of users. -

-Definition at line 454 of file modules.cpp.

00455 {
-00456         WriteChannelWithServ((char*)ServName.c_str(), Channel, "%s", text.c_str());
-00457 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Server::SendCommon userrec User,
std::string  text,
bool  IncludeSender
[virtual]
-
- - - - - -
-   - - -

-Sends text from a user to one or more channels (mulicast). -

-This method writes a line of text to all users which share a common channel with a given user, with the user's nick/ident/host combination prepended, as used in PRIVMSG etc commands (see RFC 1459). If the IncludeSender flag is set, then the text is also sent back to the user from which it originated, as seen in NICK (see RFC 1459). Otherwise, it is only sent to the other recipients, as seen in QUIT. -

-Definition at line 476 of file modules.cpp. -

-References WriteCommon(), and WriteCommonExcept().

00477 {
-00478         if (IncludeSender)
-00479         {
-00480                 WriteCommon(User,"%s",text.c_str());
-00481         }
-00482         else
-00483         {
-00484                 WriteCommonExcept(User,"%s",text.c_str());
-00485         }
-00486 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Server::SendFrom int  Socket,
userrec User,
std::string  s
[virtual]
-
- - - - - -
-   - - -

-Sends text from a user to a socket. -

-This method writes a line of text to an established socket, with the given user's nick/ident /host combination prepended, as used in PRIVSG etc commands (see RFC 1459) -

-Definition at line 435 of file modules.cpp. -

-References WriteFrom().

00436 {
-00437         WriteFrom(Socket,User,"%s",s.c_str());
-00438 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Server::SendMode char **  parameters,
int  pcnt,
userrec user
[virtual]
-
- - - - - -
-   - - -

-Sends a servermode. -

-you must format the parameters array with the target, modes and parameters for those modes.

-For example:

-char *modes[3];

-modes[0] = ChannelName;

-modes[1] = "+o";

-modes[2] = user->nick;

-Srv->SendMode(modes,3,user);

-The modes will originate from the server where the command was issued, however responses (e.g. numerics) will be sent to the user you provide as the third parameter. You must be sure to get the number of parameters correct in the pcnt parameter otherwise you could leave your server in an unstable state! -

-Definition at line 420 of file modules.cpp. -

-References InspIRCd::ModeGrok, and ModeParser::ServerMode().

00421 {
-00422         ServerInstance->ModeGrok->ServerMode(parameters,pcnt,user);
-00423 }
-
-

-

-

- - - - -
- - - - - - - - - -
void Server::SendOpers std::string  s  )  [virtual]
-
- - - - - -
-   - - -

-Sends text to all opers. -

-This method sends a server notice to all opers with the usermode +s. -

-Definition at line 345 of file modules.cpp. -

-References WriteOpers().

00346 {
-00347         WriteOpers("%s",s.c_str());
-00348 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::SendServ int  Socket,
std::string  s
[virtual]
-
- - - - - -
-   - - -

-Sends text from the server to a socket. -

-This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459) -

-Definition at line 430 of file modules.cpp. -

-References WriteServ().

00431 {
-00432         WriteServ(Socket,"%s",s.c_str());
-00433 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Server::SendTo userrec Source,
userrec Dest,
std::string  s
[virtual]
-
- - - - - -
-   - - -

-Sends text from a user to another user. -

-This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459) If you specify NULL as the source, then the data will originate from the local server, e.g. instead of:

-:user!ident TEXT

-The format will become:

-:localserver TEXT

-Which is useful for numerics and server notices to single users, etc. -

-Definition at line 440 of file modules.cpp. -

-References connection::fd, Write(), and WriteTo().

00441 {
-00442         if (!Source)
-00443         {
-00444                 // if source is NULL, then the message originates from the local server
-00445                 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
-00446         }
-00447         else
-00448         {
-00449                 // otherwise it comes from the user specified
-00450                 WriteTo(Source,Dest,"%s",s.c_str());
-00451         }
-00452 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Server::SendToModeMask std::string  modes,
int  flags,
std::string  text
[virtual]
-
- - - - - -
-   - - -

-Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter. -

-These can be RFC specified modes such as +i, or module provided modes, including ones provided by your own module. In the second parameter you must place a flag value which indicates wether the modes you have given will be logically ANDed or OR'ed. You may use one of either WM_AND or WM_OR. for example, if you were to use:

-Serv->SendToModeMask("xi", WM_OR, "m00");

-Then the text 'm00' will be sent to all users with EITHER mode x or i. Conversely if you used WM_AND, the user must have both modes set to receive the message. -

-Definition at line 358 of file modules.cpp.

00359 {
-00360         WriteMode(modes.c_str(),flags,"%s",text.c_str());
-00361 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void Server::SendWallops userrec User,
std::string  text
[virtual]
-
- - - - - -
-   - - -

-Sends a WALLOPS message. -

-This method writes a WALLOPS message to all users with the +w flag, originating from the specified user. -

-Definition at line 488 of file modules.cpp. -

-References WriteWallOps().

00489 {
-00490         WriteWallOps(User,false,"%s",text.c_str());
-00491 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool Server::UserToPseudo userrec user,
std::string  message
[virtual]
-
- - - - - -
-   - - -

-Remove a user's connection to the irc server, but leave their client in existence in the user hash. -

-When you call this function, the user's file descriptor will be replaced with the value of FD_MAGIC_NUMBER and their old file descriptor will be closed. This idle client will remain until it is restored with a valid file descriptor, or is removed from IRC by an operator After this call, the pointer to user will be invalid. -

-Definition at line 597 of file modules.cpp. -

-References userrec::ClearBuffer(), SocketEngine::DelFd(), connection::fd, FD_MAGIC_NUMBER, connection::host, userrec::ident, InspIRCd::SE, and Write().

00598 {
-00599         unsigned int old_fd = user->fd;
-00600         user->fd = FD_MAGIC_NUMBER;
-00601         user->ClearBuffer();
-00602         Write(old_fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,message.c_str());
-00603         ServerInstance->SE->DelFd(old_fd);
-00604         shutdown(old_fd,2);
-00605         close(old_fd);
-00606         return true;
-00607 }
-
-

-

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classServerConfig-members.html b/docs/module-doc/classServerConfig-members.html deleted file mode 100644 index dd178f74d..000000000 --- a/docs/module-doc/classServerConfig-members.html +++ /dev/null @@ -1,68 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ServerConfig Member List

This is the complete list of members for ServerConfig, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddIOHook(int port, Module *iomod)ServerConfig
addrsServerConfig
AdminEmailServerConfig
AdminNameServerConfig
AdminNickServerConfig
ageclassbase
AllowHalfopServerConfig
classbase()classbase [inline]
ClassesServerConfig
ClearStack()ServerConfig
config_fServerConfig
ConfProcess(char *buffer, long linenumber, std::stringstream *errorstream, bool &error, std::string filename)ServerConfig [private]
ConfValue(char *tag, char *var, int index, char *result, std::stringstream *config)ServerConfig
ConfValueEnum(char *tag, std::stringstream *config)ServerConfig
debuggingServerConfig
DelIOHook(int port)ServerConfig
DieDelayServerConfig
diepassServerConfig
DieValueServerConfig
DisabledCommandsServerConfig
dns_timeoutServerConfig
DNSServerServerConfig
EnumConf(std::stringstream *config_f, const char *tag)ServerConfig
EnumValues(std::stringstream *config, const char *tag, int index)ServerConfig
fgets_safe(char *buffer, size_t maxsize, FILE *&file)ServerConfig [private]
GetIOHook(int port)ServerConfig
include_stackServerConfig [private]
IOHookModuleServerConfig
LoadConf(const char *filename, std::stringstream *target, std::stringstream *errorstream)ServerConfig
log_fileServerConfig
LogLevelServerConfig
MaxConnServerConfig
MaxWhoResultsServerConfig
ModPathServerConfig
module_namesServerConfig
motdServerConfig
MOTDServerConfig
MyExecutableServerConfig
NetBufferSizeServerConfig
NetworkServerConfig
noforkServerConfig
PIDServerConfig
portsServerConfig
PrefixQuitServerConfig
Read(bool bail, userrec *user)ServerConfig
ReadConf(std::stringstream *config_f, const char *tag, const char *var, int index, char *result)ServerConfig
restartpassServerConfig
RULESServerConfig
rulesServerConfig
ServerConfig()ServerConfig
ServerDescServerConfig
ServerNameServerConfig
SoftLimitServerConfig
unlimitcoreServerConfig
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classServerConfig.html b/docs/module-doc/classServerConfig.html deleted file mode 100644 index 8573a41c1..000000000 --- a/docs/module-doc/classServerConfig.html +++ /dev/null @@ -1,1811 +0,0 @@ - - -InspIRCd: ServerConfig Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ServerConfig Class Reference

This class holds the bulk of the runtime configuration for the ircd. -More... -

-#include <inspircd_io.h> -

-Inheritance diagram for ServerConfig:

Inheritance graph
- - - -
[legend]
Collaboration diagram for ServerConfig:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 ServerConfig ()
void ClearStack ()
 Clears the include stack in preperation for a Read() call.
void Read (bool bail, userrec *user)
 Read the entire configuration into memory and initialize this class.
bool LoadConf (const char *filename, std::stringstream *target, std::stringstream *errorstream)
int ConfValue (char *tag, char *var, int index, char *result, std::stringstream *config)
int ReadConf (std::stringstream *config_f, const char *tag, const char *var, int index, char *result)
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)
ModuleGetIOHook (int port)
bool AddIOHook (int port, Module *iomod)
bool DelIOHook (int port)

Public Attributes

char ServerName [MAXBUF]
 Holds the server name of the local server as defined by the administrator.
char Network [MAXBUF]
char ServerDesc [MAXBUF]
 Holds the description of the local server as defined by the administrator.
char AdminName [MAXBUF]
 Holds the admin's name, for output in the /ADMIN command.
char AdminEmail [MAXBUF]
 Holds the email address of the admin, for output in the /ADMIN command.
char AdminNick [MAXBUF]
 Holds the admin's nickname, for output in the /ADMIN command.
char diepass [MAXBUF]
 The admin-configured /DIE password.
char restartpass [MAXBUF]
 The admin-configured /RESTART password.
char motd [MAXBUF]
 The pathname and filename of the message of the day file, as defined by the administrator.
char rules [MAXBUF]
 The pathname and filename of the rules file, as defined by the administrator.
char PrefixQuit [MAXBUF]
 The quit prefix in use, or an empty string.
char DieValue [MAXBUF]
 The last string found within a <die> tag, or an empty string.
char DNSServer [MAXBUF]
 The DNS server to use for DNS queries.
char DisabledCommands [MAXBUF]
 This variable contains a space-seperated list of commands which are disabled by the administrator of the server for non-opers.
char ModPath [1024]
 The full path to the modules directory.
char MyExecutable [1024]
 The full pathname to the executable, as given in argv[0] when the program starts.
FILE * log_file
 The file handle of the logfile.
bool nofork
 If this value is true, the owner of the server specified -nofork on the command line, causing the daemon to stay in the foreground.
bool unlimitcore
 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.
bool AllowHalfop
 If this value is true, halfops have been enabled in the configuration file.
int dns_timeout
 The number of seconds the DNS subsystem will wait before timing out any request.
int NetBufferSize
 The size of the read() buffer in the user handling code, used to read data into a user's recvQ.
int MaxConn
 The value to be used for listen() backlogs as default.
unsigned int SoftLimit
 The soft limit value assigned to the irc server.
int MaxWhoResults
 The maximum number of /WHO results allowed in any single /WHO command.
int debugging
 True if the DEBUG loglevel is selected.
int LogLevel
 The loglevel in use by the IRC server.
int DieDelay
 How many seconds to wait before exiting the program when /DIE is correctly issued.
char addrs [MAXBUF][255]
 A list of IP addresses the server is listening on.
file_cache MOTD
 The MOTD file, cached in a file_cache type.
file_cache RULES
 The RULES file, cached in a file_cache type.
char PID [1024]
 The full pathname and filename of the PID file as defined in the configuration.
std::stringstream config_f
 The parsed configuration file as a stringstream.
ClassVector Classes
 The connect classes in use by the IRC server.
std::vector< std::stringmodule_names
 A list of module names (names only, no paths) which are currently loaded by the server.
int ports [255]
 A list of ports which the server is listening on.
std::map< int, Module * > IOHookModule
 A list of ports claimed by IO Modules.

Private Member Functions

int fgets_safe (char *buffer, size_t maxsize, FILE *&file)
 Used by the config file subsystem to safely read a C-style string without dependency upon any certain style of linefeed, e.g.
std::string ConfProcess (char *buffer, long linenumber, std::stringstream *errorstream, bool &error, std::string filename)
 This private method processes one line of configutation, appending errors to errorstream and setting error if an error has occured.

Private Attributes

std::vector< std::stringinclude_stack
 This variable holds the names of all files included from the main one.
-

Detailed Description

-This class holds the bulk of the runtime configuration for the ircd. -

-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. -

- -

-Definition at line 40 of file inspircd_io.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
ServerConfig::ServerConfig  ) 
-
- - - - - -
-   - - -

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ServerConfig::AddIOHook int  port,
Module iomod
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
void ServerConfig::ClearStack  ) 
-
- - - - - -
-   - - -

-Clears the include stack in preperation for a Read() call. -

- -

-Referenced by ConfigReader::ConfigReader().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
std::string ServerConfig::ConfProcess char *  buffer,
long  linenumber,
std::stringstream *  errorstream,
bool &  error,
std::string  filename
[private]
-
- - - - - -
-   - - -

-This private method processes one line of configutation, appending errors to errorstream and setting error if an error has occured. -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int ServerConfig::ConfValue char *  tag,
char *  var,
int  index,
char *  result,
std::stringstream *  config
-
- - - - - -
-   - - -

- -

-Referenced by userrec::HasPermission().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ServerConfig::ConfValueEnum char *  tag,
std::stringstream *  config
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool ServerConfig::DelIOHook int  port  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ServerConfig::EnumConf std::stringstream *  config_f,
const char *  tag
-
- - - - - -
-   - - -

- -

-Referenced by ConfigReader::Enumerate().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int ServerConfig::EnumValues std::stringstream *  config,
const char *  tag,
int  index
-
- - - - - -
-   - - -

- -

-Referenced by ConfigReader::EnumerateValues().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
int ServerConfig::fgets_safe char *  buffer,
size_t  maxsize,
FILE *&  file
[private]
-
- - - - - -
-   - - -

-Used by the config file subsystem to safely read a C-style string without dependency upon any certain style of linefeed, e.g. -

-it can read both windows and UNIX style linefeeds transparently.

-

- - - - -
- - - - - - - - - -
Module* ServerConfig::GetIOHook int  port  ) 
-
- - - - - -
-   - - -

- -

-Referenced by kill_link(), and kill_link_silent().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool ServerConfig::LoadConf const char *  filename,
std::stringstream *  target,
std::stringstream *  errorstream
-
- - - - - -
-   - - -

- -

-Referenced by ConfigReader::ConfigReader().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void ServerConfig::Read bool  bail,
userrec user
-
- - - - - -
-   - - -

-Read the entire configuration into memory and initialize this class. -

-All other methods should be used only by the core. -

-Referenced by Server::RehashServer().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int ServerConfig::ReadConf std::stringstream *  config_f,
const char *  tag,
const char *  var,
int  index,
char *  result
-
- - - - - -
-   - - -

- -

-Referenced by ConfigReader::ReadFlag(), ConfigReader::ReadInteger(), and ConfigReader::ReadValue().

-


Member Data Documentation

-

- - - - -
- - - - -
char ServerConfig::addrs[MAXBUF][255]
-
- - - - - -
-   - - -

-A list of IP addresses the server is listening on. -

- -

-Definition at line 217 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::AdminEmail[MAXBUF]
-
- - - - - -
-   - - -

-Holds the email address of the admin, for output in the /ADMIN command. -

- -

-Definition at line 90 of file inspircd_io.h. -

-Referenced by Server::GetAdmin().

-

- - - - -
- - - - -
char ServerConfig::AdminName[MAXBUF]
-
- - - - - -
-   - - -

-Holds the admin's name, for output in the /ADMIN command. -

- -

-Definition at line 85 of file inspircd_io.h. -

-Referenced by Server::GetAdmin().

-

- - - - -
- - - - -
char ServerConfig::AdminNick[MAXBUF]
-
- - - - - -
-   - - -

-Holds the admin's nickname, for output in the /ADMIN command. -

- -

-Definition at line 95 of file inspircd_io.h. -

-Referenced by Server::GetAdmin().

-

- - - - -
- - - - -
bool ServerConfig::AllowHalfop
-
- - - - - -
-   - - -

-If this value is true, halfops have been enabled in the configuration file. -

- -

-Definition at line 172 of file inspircd_io.h.

-

- - - - -
- - - - -
ClassVector ServerConfig::Classes
-
- - - - - -
-   - - -

-The connect classes in use by the IRC server. -

- -

-Definition at line 243 of file inspircd_io.h. -

-Referenced by AddClient().

-

- - - - -
- - - - -
std::stringstream ServerConfig::config_f
-
- - - - - -
-   - - -

-The parsed configuration file as a stringstream. -

-You should pass this to any configuration methods of this class, and not access it directly. It is recommended that modules use ConfigReader instead which provides a simpler abstraction of configuration files. -

-Definition at line 239 of file inspircd_io.h. -

-Referenced by userrec::HasPermission().

-

- - - - -
- - - - -
int ServerConfig::debugging
-
- - - - - -
-   - - -

-True if the DEBUG loglevel is selected. -

- -

-Definition at line 203 of file inspircd_io.h.

-

- - - - -
- - - - -
int ServerConfig::DieDelay
-
- - - - - -
-   - - -

-How many seconds to wait before exiting the program when /DIE is correctly issued. -

- -

-Definition at line 212 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::diepass[MAXBUF]
-
- - - - - -
-   - - -

-The admin-configured /DIE password. -

- -

-Definition at line 99 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::DieValue[MAXBUF]
-
- - - - - -
-   - - -

-The last string found within a <die> tag, or an empty string. -

- -

-Definition at line 122 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::DisabledCommands[MAXBUF]
-
- - - - - -
-   - - -

-This variable contains a space-seperated list of commands which are disabled by the administrator of the server for non-opers. -

- -

-Definition at line 132 of file inspircd_io.h.

-

- - - - -
- - - - -
int ServerConfig::dns_timeout
-
- - - - - -
-   - - -

-The number of seconds the DNS subsystem will wait before timing out any request. -

- -

-Definition at line 177 of file inspircd_io.h. -

-Referenced by AddClient().

-

- - - - -
- - - - -
char ServerConfig::DNSServer[MAXBUF]
-
- - - - - -
-   - - -

-The DNS server to use for DNS queries. -

- -

-Definition at line 126 of file inspircd_io.h.

-

- - - - -
- - - - -
std::vector<std::string> ServerConfig::include_stack [private]
-
- - - - - -
-   - - -

-This variable holds the names of all files included from the main one. -

-This is used to make sure that no files are recursively included. -

-Definition at line 48 of file inspircd_io.h.

-

- - - - -
- - - - -
std::map<int,Module*> ServerConfig::IOHookModule
-
- - - - - -
-   - - -

-A list of ports claimed by IO Modules. -

- -

-Definition at line 256 of file inspircd_io.h.

-

- - - - -
- - - - -
FILE* ServerConfig::log_file
-
- - - - - -
-   - - -

-The file handle of the logfile. -

-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!). -

-Definition at line 152 of file inspircd_io.h.

-

- - - - -
- - - - -
int ServerConfig::LogLevel
-
- - - - - -
-   - - -

-The loglevel in use by the IRC server. -

- -

-Definition at line 207 of file inspircd_io.h.

-

- - - - -
- - - - -
int ServerConfig::MaxConn
-
- - - - - -
-   - - -

-The value to be used for listen() backlogs as default. -

- -

-Definition at line 188 of file inspircd_io.h.

-

- - - - -
- - - - -
int ServerConfig::MaxWhoResults
-
- - - - - -
-   - - -

-The maximum number of /WHO results allowed in any single /WHO command. -

- -

-Definition at line 199 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::ModPath[1024]
-
- - - - - -
-   - - -

-The full path to the modules directory. -

-This is either set at compile time, or overridden in the configuration file via the <options> tag. -

-Definition at line 139 of file inspircd_io.h.

-

- - - - -
- - - - -
std::vector<std::string> ServerConfig::module_names
-
- - - - - -
-   - - -

-A list of module names (names only, no paths) which are currently loaded by the server. -

- -

-Definition at line 248 of file inspircd_io.h. -

-Referenced by Server::FindModule().

-

- - - - -
- - - - -
file_cache ServerConfig::MOTD
-
- - - - - -
-   - - -

-The MOTD file, cached in a file_cache type. -

- -

-Definition at line 221 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::motd[MAXBUF]
-
- - - - - -
-   - - -

-The pathname and filename of the message of the day file, as defined by the administrator. -

- -

-Definition at line 108 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::MyExecutable[1024]
-
- - - - - -
-   - - -

-The full pathname to the executable, as given in argv[0] when the program starts. -

- -

-Definition at line 144 of file inspircd_io.h.

-

- - - - -
- - - - -
int ServerConfig::NetBufferSize
-
- - - - - -
-   - - -

-The size of the read() buffer in the user handling code, used to read data into a user's recvQ. -

- -

-Definition at line 183 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::Network[MAXBUF]
-
- - - - - -
-   - - -

- -

-Definition at line 75 of file inspircd_io.h. -

-Referenced by FullConnectUser(), and Server::GetNetworkName().

-

- - - - -
- - - - -
bool ServerConfig::nofork
-
- - - - - -
-   - - -

-If this value is true, the owner of the server specified -nofork on the command line, causing the daemon to stay in the foreground. -

- -

-Definition at line 159 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::PID[1024]
-
- - - - - -
-   - - -

-The full pathname and filename of the PID file as defined in the configuration. -

- -

-Definition at line 230 of file inspircd_io.h.

-

- - - - -
- - - - -
int ServerConfig::ports[255]
-
- - - - - -
-   - - -

-A list of ports which the server is listening on. -

- -

-Definition at line 252 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::PrefixQuit[MAXBUF]
-
- - - - - -
-   - - -

-The quit prefix in use, or an empty string. -

- -

-Definition at line 117 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::restartpass[MAXBUF]
-
- - - - - -
-   - - -

-The admin-configured /RESTART password. -

- -

-Definition at line 103 of file inspircd_io.h.

-

- - - - -
- - - - -
file_cache ServerConfig::RULES
-
- - - - - -
-   - - -

-The RULES file, cached in a file_cache type. -

- -

-Definition at line 225 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::rules[MAXBUF]
-
- - - - - -
-   - - -

-The pathname and filename of the rules file, as defined by the administrator. -

- -

-Definition at line 113 of file inspircd_io.h.

-

- - - - -
- - - - -
char ServerConfig::ServerDesc[MAXBUF]
-
- - - - - -
-   - - -

-Holds the description of the local server as defined by the administrator. -

- -

-Definition at line 80 of file inspircd_io.h. -

-Referenced by Server::GetServerDescription().

-

- - - - -
- - - - -
char ServerConfig::ServerName[MAXBUF]
-
- - - - - -
-   - - -

-Holds the server name of the local server as defined by the administrator. -

- -

-Definition at line 69 of file inspircd_io.h. -

-Referenced by AddClient(), FullConnectUser(), Server::GetServerName(), and userrec::userrec().

-

- - - - -
- - - - -
unsigned int ServerConfig::SoftLimit
-
- - - - - -
-   - - -

-The soft limit value assigned to the irc server. -

-The IRC server will not allow more than this number of local users. -

-Definition at line 194 of file inspircd_io.h. -

-Referenced by AddClient().

-

- - - - -
- - - - -
bool ServerConfig::unlimitcore
-
- - - - - -
-   - - -

-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. -

-This is often used when debugging. -

-Definition at line 167 of file inspircd_io.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classServerConfig__coll__graph.gif b/docs/module-doc/classServerConfig__coll__graph.gif deleted file mode 100644 index 96bfe068b..000000000 Binary files a/docs/module-doc/classServerConfig__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classServerConfig__coll__graph.map b/docs/module-doc/classServerConfig__coll__graph.map deleted file mode 100644 index c18c2ef12..000000000 --- a/docs/module-doc/classServerConfig__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 40,11 120,37 diff --git a/docs/module-doc/classServerConfig__coll__graph.md5 b/docs/module-doc/classServerConfig__coll__graph.md5 deleted file mode 100644 index 19bbc1210..000000000 --- a/docs/module-doc/classServerConfig__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -6622bf16a5d6e3d1fa66d187c3430dae \ No newline at end of file diff --git a/docs/module-doc/classServerConfig__inherit__graph.gif b/docs/module-doc/classServerConfig__inherit__graph.gif deleted file mode 100644 index 4972f14c2..000000000 Binary files a/docs/module-doc/classServerConfig__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classServerConfig__inherit__graph.map b/docs/module-doc/classServerConfig__inherit__graph.map deleted file mode 100644 index f176cb530..000000000 --- a/docs/module-doc/classServerConfig__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 18,7 98,34 diff --git a/docs/module-doc/classServerConfig__inherit__graph.md5 b/docs/module-doc/classServerConfig__inherit__graph.md5 deleted file mode 100644 index 6756d2a5d..000000000 --- a/docs/module-doc/classServerConfig__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a3af96cfe8dd557f11a5c19346d12442 \ No newline at end of file diff --git a/docs/module-doc/classServer__coll__graph.gif b/docs/module-doc/classServer__coll__graph.gif deleted file mode 100644 index 82a02230d..000000000 Binary files a/docs/module-doc/classServer__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classServer__coll__graph.map b/docs/module-doc/classServer__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classServer__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classServer__coll__graph.md5 b/docs/module-doc/classServer__coll__graph.md5 deleted file mode 100644 index b3a85952f..000000000 --- a/docs/module-doc/classServer__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -d7b2c974d98c31619189da65cb01c6a4 \ No newline at end of file diff --git a/docs/module-doc/classServer__inherit__graph.gif b/docs/module-doc/classServer__inherit__graph.gif deleted file mode 100644 index f88c80980..000000000 Binary files a/docs/module-doc/classServer__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classServer__inherit__graph.map b/docs/module-doc/classServer__inherit__graph.map deleted file mode 100644 index 8b1d85be3..000000000 --- a/docs/module-doc/classServer__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,7 87,34 diff --git a/docs/module-doc/classServer__inherit__graph.md5 b/docs/module-doc/classServer__inherit__graph.md5 deleted file mode 100644 index 76fb1d5ca..000000000 --- a/docs/module-doc/classServer__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ce04eb90ca9c0c01335daa7c092c0f0 \ No newline at end of file diff --git a/docs/module-doc/classSocketEngine-members.html b/docs/module-doc/classSocketEngine-members.html deleted file mode 100644 index cc509ee3b..000000000 --- a/docs/module-doc/classSocketEngine-members.html +++ /dev/null @@ -1,24 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

SocketEngine Member List

This is the complete list of members for SocketEngine, including all inherited members.

- - - - - - - - - - - -
AddFd(int fd, bool readable, char type)SocketEngine
DelFd(int fd)SocketEngine
EngineHandleSocketEngine [private]
fdsSocketEngine [private]
GetName()SocketEngine
GetType(int fd)SocketEngine
ke_listSocketEngine [private]
SocketEngine()SocketEngine
tsSocketEngine [private]
Wait(std::vector< int > &fdlist)SocketEngine
~SocketEngine()SocketEngine


Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classSocketEngine.html b/docs/module-doc/classSocketEngine.html deleted file mode 100644 index e7ddabafc..000000000 --- a/docs/module-doc/classSocketEngine.html +++ /dev/null @@ -1,596 +0,0 @@ - - -InspIRCd: SocketEngine Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

SocketEngine Class Reference

The actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin. -More... -

-#include <socketengine.h> -

-Collaboration diagram for SocketEngine:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 SocketEngine ()
 Constructor The constructor transparently initializes the socket engine which the ircd is using.
 ~SocketEngine ()
 Destructor The destructor transparently tidies up any resources used by the socket engine.
bool AddFd (int fd, bool readable, char type)
 Add a file descriptor to the engine Use AddFd to add a file descriptor to the engine and have the socket engine monitor it.
char GetType (int fd)
 Returns the type value for this file descriptor This function masks off the X_READBIT value so that the type of the socket can be obtained.
bool DelFd (int fd)
 Delete a file descriptor f rom the engine This function call deletes a file descriptor from the engine, returning true if it succeeded and false if it failed.
bool Wait (std::vector< int > &fdlist)
 Waits for an event.
std::string GetName ()
 Returns the socket engines name This returns the name of the engine for use in /VERSION responses.

Private Attributes

std::vector< int > fds
int EngineHandle
kevent ke_list [65535]
timespec ts
-

Detailed Description

-The actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin. -

-The current version supports select, epoll and kqueue. -

- -

-Definition at line 66 of file socketengine.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
SocketEngine::SocketEngine  ) 
-
- - - - - -
-   - - -

-Constructor The constructor transparently initializes the socket engine which the ircd is using. -

-Please note that if there is a catastrophic failure (for example, you try and enable epoll on a 2.4 linux kernel) then this function may bail back to the shell. -

-Definition at line 35 of file socketengine.cpp. -

-References DEBUG, EngineHandle, and log().

00036 {
-00037         log(DEBUG,"SocketEngine::SocketEngine()");
-00038 #ifdef USE_EPOLL
-00039         EngineHandle = epoll_create(65535);
-00040 #endif
-00041 #ifdef USE_KQUEUE
-00042         EngineHandle = kqueue();
-00043 #endif
-00044 }
-
-

-

-

- - - - -
- - - - - - - - -
SocketEngine::~SocketEngine  ) 
-
- - - - - -
-   - - -

-Destructor The destructor transparently tidies up any resources used by the socket engine. -

- -

-Definition at line 46 of file socketengine.cpp. -

-References DEBUG, EngineHandle, and log().

00047 {
-00048         log(DEBUG,"SocketEngine::~SocketEngine()");
-00049 #ifdef USE_EPOLL
-00050         close(EngineHandle);
-00051 #endif
-00052 #ifdef USE_KQUEUE
-00053         close(EngineHandle);
-00054 #endif
-00055 }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool SocketEngine::AddFd int  fd,
bool  readable,
char  type
-
- - - - - -
-   - - -

-Add a file descriptor to the engine Use AddFd to add a file descriptor to the engine and have the socket engine monitor it. -

-You must provide a type (see the consts in socketengine.h) and a boolean flag to indicate wether to watch this fd for read or write events (there is currently no need for support of both). -

-Definition at line 65 of file socketengine.cpp. -

-References DEBUG, EngineHandle, fds, log(), ref, and X_READBIT. -

-Referenced by AddClient(), InspSocket::InspSocket(), and InspSocket::Poll().

00066 {
-00067         if ((fd < 0) || (fd > 65535))
-00068                 return false;
-00069         this->fds.push_back(fd);
-00070         ref[fd] = type;
-00071         if (readable)
-00072         {
-00073                 log(DEBUG,"Set readbit");
-00074                 ref[fd] |= X_READBIT;
-00075         }
-00076         log(DEBUG,"Add socket %d",fd);
-00077 #ifdef USE_EPOLL
-00078         struct epoll_event ev;
-00079         log(DEBUG,"epoll: Add socket to events, ep=%d socket=%d",EngineHandle,fd);
-00080         readable ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-00081         ev.data.fd = fd;
-00082         int i = epoll_ctl(EngineHandle, EPOLL_CTL_ADD, fd, &ev);
-00083         if (i < 0)
-00084         {
-00085                 log(DEBUG,"epoll: List insertion failure!");
-00086                 return false;
-00087         }
-00088 #endif
-00089 #ifdef USE_KQUEUE
-00090         struct kevent ke;
-00091         log(DEBUG,"kqueue: Add socket to events, kq=%d socket=%d",EngineHandle,fd);
-00092         EV_SET(&ke, fd, readable ? EVFILT_READ : EVFILT_WRITE, EV_ADD, 0, 0, NULL);
-00093         int i = kevent(EngineHandle, &ke, 1, 0, 0, NULL);
-00094         if (i == -1)
-00095         {
-00096                 log(DEBUG,"kqueue: List insertion failure!");
-00097                 return false;
-00098         }
-00099 #endif
-00100 return true;
-00101 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool SocketEngine::DelFd int  fd  ) 
-
- - - - - -
-   - - -

-Delete a file descriptor f rom the engine This function call deletes a file descriptor from the engine, returning true if it succeeded and false if it failed. -

- -

-Definition at line 103 of file socketengine.cpp. -

-References DEBUG, EngineHandle, fds, log(), ref, and X_READBIT. -

-Referenced by kill_link(), kill_link_silent(), InspSocket::Poll(), and Server::UserToPseudo().

00104 {
-00105         log(DEBUG,"SocketEngine::DelFd(%d)",fd);
-00106 
-00107         if ((fd < 0) || (fd > 65535))
-00108                 return false;
-00109 
-00110         bool found = false;
-00111         for (std::vector<int>::iterator i = fds.begin(); i != fds.end(); i++)
-00112         {
-00113                 if (*i == fd)
-00114                 {
-00115                         fds.erase(i);
-00116                         log(DEBUG,"Deleted fd %d",fd);
-00117                         found = true;
-00118                         break;
-00119                 }
-00120         }
-00121 #ifdef USE_KQUEUE
-00122         struct kevent ke;
-00123         EV_SET(&ke, fd, ref[fd] & X_READBIT ? EVFILT_READ : EVFILT_WRITE, EV_DELETE, 0, 0, NULL);
-00124         int i = kevent(EngineHandle, &ke, 1, 0, 0, NULL);
-00125         if (i == -1)
-00126         {
-00127                 log(DEBUG,"kqueue: Failed to remove socket from queue!");
-00128                 return false;
-00129         }
-00130 #endif
-00131 #ifdef USE_EPOLL
-00132         struct epoll_event ev;
-00133         ref[fd] && X_READBIT ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-00134         ev.data.fd = fd;
-00135         int i = epoll_ctl(EngineHandle, EPOLL_CTL_DEL, fd, &ev);
-00136         if (i < 0)
-00137         {
-00138                 log(DEBUG,"epoll: List deletion failure!");
-00139                 return false;
-00140         }
-00141 #endif
-00142         ref[fd] = 0;
-00143         return found;
-00144 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string SocketEngine::GetName  ) 
-
- - - - - -
-   - - -

-Returns the socket engines name This returns the name of the engine for use in /VERSION responses. -

- -

-Definition at line 193 of file socketengine.cpp.

00194 {
-00195 #ifdef USE_SELECT
-00196         return "select";
-00197 #endif
-00198 #ifdef USE_KQUEUE
-00199         return "kqueue";
-00200 #endif
-00201 #ifdef USE_EPOLL
-00202         return "epoll";
-00203 #endif
-00204         return "misconfigured";
-00205 }
-
-

-

-

- - - - -
- - - - - - - - - -
char SocketEngine::GetType int  fd  ) 
-
- - - - - -
-   - - -

-Returns the type value for this file descriptor This function masks off the X_READBIT value so that the type of the socket can be obtained. -

-The core uses this to decide where to dispatch the event to. Please note that some engines such as select() have an upper limit of 1024 descriptors which may be active at any one time, where others such as kqueue have no practical limits at all. -

-Definition at line 57 of file socketengine.cpp. -

-References ref, and X_EMPTY_SLOT.

00058 {
-00059         if ((fd < 0) || (fd > 65535))
-00060                 return X_EMPTY_SLOT;
-00061         /* Mask off the top bit used for 'read/write' state */
-00062         return (ref[fd] & ~0x80);
-00063 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool SocketEngine::Wait std::vector< int > &  fdlist  ) 
-
- - - - - -
-   - - -

-Waits for an event. -

-Please note that this doesnt wait long, only a couple of milliseconds. It returns a list of active file descriptors in the vector fdlist which the core may then act upon. -

-Definition at line 146 of file socketengine.cpp. -

-References EngineHandle, fds, ke_list, ref, ts, and X_READBIT.

00147 {
-00148         fdlist.clear();
-00149 #ifdef USE_SELECT
-00150         FD_ZERO(&wfdset);
-00151         FD_ZERO(&rfdset);
-00152         timeval tval;
-00153         int sresult;
-00154         for (unsigned int a = 0; a < fds.size(); a++)
-00155         {
-00156                 if (ref[fds[a]] & X_READBIT)
-00157                 {
-00158                         FD_SET (fds[a], &rfdset);
-00159                 }
-00160                 else
-00161                 {
-00162                         FD_SET (fds[a], &wfdset);
-00163                 }
-00164                 
-00165         }
-00166         tval.tv_sec = 0;
-00167         tval.tv_usec = 100L;
-00168         sresult = select(FD_SETSIZE, &rfdset, &wfdset, NULL, &tval);
-00169         if (sresult > 0)
-00170         {
-00171                 for (unsigned int a = 0; a < fds.size(); a++)
-00172                 {
-00173                         if ((FD_ISSET (fds[a], &rfdset)) || (FD_ISSET (fds[a], &wfdset)))
-00174                                 fdlist.push_back(fds[a]);
-00175                 }
-00176         }
-00177 #endif
-00178 #ifdef USE_KQUEUE
-00179         ts.tv_nsec = 10000L;
-00180         ts.tv_sec = 0;
-00181         int i = kevent(EngineHandle, NULL, 0, &ke_list[0], 65535, &ts);
-00182         for (int j = 0; j < i; j++)
-00183                 fdlist.push_back(ke_list[j].ident);
-00184 #endif
-00185 #ifdef USE_EPOLL
-00186         int i = epoll_wait(EngineHandle, events, 65535, 100);
-00187         for (int j = 0; j < i; j++)
-00188                 fdlist.push_back(events[j].data.fd);
-00189 #endif
-00190         return true;
-00191 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
int SocketEngine::EngineHandle [private]
-
- - - - - -
-   - - -

- -

-Definition at line 69 of file socketengine.h. -

-Referenced by AddFd(), DelFd(), SocketEngine(), Wait(), and ~SocketEngine().

-

- - - - -
- - - - -
std::vector<int> SocketEngine::fds [private]
-
- - - - - -
-   - - -

- -

-Definition at line 68 of file socketengine.h. -

-Referenced by AddFd(), DelFd(), and Wait().

-

- - - - -
- - - - -
struct kevent SocketEngine::ke_list[65535] [private]
-
- - - - - -
-   - - -

- -

-Definition at line 74 of file socketengine.h. -

-Referenced by Wait().

-

- - - - -
- - - - -
struct timespec SocketEngine::ts [private]
-
- - - - - -
-   - - -

- -

-Definition at line 75 of file socketengine.h. -

-Referenced by Wait().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classSocketEngine__coll__graph.gif b/docs/module-doc/classSocketEngine__coll__graph.gif deleted file mode 100644 index c54e9e7b7..000000000 Binary files a/docs/module-doc/classSocketEngine__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classSocketEngine__coll__graph.map b/docs/module-doc/classSocketEngine__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classSocketEngine__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classSocketEngine__coll__graph.md5 b/docs/module-doc/classSocketEngine__coll__graph.md5 deleted file mode 100644 index 6f5c85054..000000000 --- a/docs/module-doc/classSocketEngine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -baef8ac2d5158fc84cfa300ed15ca731 \ No newline at end of file diff --git a/docs/module-doc/classVersion-members.html b/docs/module-doc/classVersion-members.html deleted file mode 100644 index 8741a068f..000000000 --- a/docs/module-doc/classVersion-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Version Member List

This is the complete list of members for Version, including all inherited members.

- - - - - - - - - -
ageclassbase
BuildVersion
classbase()classbase [inline]
FlagsVersion
MajorVersion
MinorVersion
RevisionVersion
Version(int major, int minor, int revision, int build, int flags)Version
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classVersion.html b/docs/module-doc/classVersion.html deleted file mode 100644 index c318b1666..000000000 --- a/docs/module-doc/classVersion.html +++ /dev/null @@ -1,238 +0,0 @@ - - -InspIRCd: Version Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Version Class Reference

Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module. -More... -

-#include <modules.h> -

-Inheritance diagram for Version:

Inheritance graph
- - - -
[legend]
Collaboration diagram for Version:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - -

Public Member Functions

 Version (int major, int minor, int revision, int build, int flags)

Public Attributes

const int Major
const int Minor
const int Revision
const int Build
const int Flags
-

Detailed Description

-Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module. -

-A class of type Version is returned by the GetVersion method of the Module class. -

- -

-Definition at line 131 of file modules.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Version::Version int  major,
int  minor,
int  revision,
int  build,
int  flags
-
- - - - - -
-   - - -

- -

-Definition at line 158 of file modules.cpp.

00158 : Major(major), Minor(minor), Revision(revision), Build(build), Flags(flags) { };
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
const int Version::Build
-
- - - - - -
-   - - -

- -

-Definition at line 134 of file modules.h.

-

- - - - -
- - - - -
const int Version::Flags
-
- - - - - -
-   - - -

- -

-Definition at line 134 of file modules.h.

-

- - - - -
- - - - -
const int Version::Major
-
- - - - - -
-   - - -

- -

-Definition at line 134 of file modules.h.

-

- - - - -
- - - - -
const int Version::Minor
-
- - - - - -
-   - - -

- -

-Definition at line 134 of file modules.h.

-

- - - - -
- - - - -
const int Version::Revision
-
- - - - - -
-   - - -

- -

-Definition at line 134 of file modules.h.

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classVersion__coll__graph.gif b/docs/module-doc/classVersion__coll__graph.gif deleted file mode 100644 index 50ee9702d..000000000 Binary files a/docs/module-doc/classVersion__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classVersion__coll__graph.map b/docs/module-doc/classVersion__coll__graph.map deleted file mode 100644 index f3b09806a..000000000 --- a/docs/module-doc/classVersion__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,97 87,124 diff --git a/docs/module-doc/classVersion__coll__graph.md5 b/docs/module-doc/classVersion__coll__graph.md5 deleted file mode 100644 index 0adad4c34..000000000 --- a/docs/module-doc/classVersion__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fefba61fe52901a468a48889da2a441a \ No newline at end of file diff --git a/docs/module-doc/classVersion__inherit__graph.gif b/docs/module-doc/classVersion__inherit__graph.gif deleted file mode 100644 index 319126975..000000000 Binary files a/docs/module-doc/classVersion__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classVersion__inherit__graph.map b/docs/module-doc/classVersion__inherit__graph.map deleted file mode 100644 index 8b1d85be3..000000000 --- a/docs/module-doc/classVersion__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,7 87,34 diff --git a/docs/module-doc/classVersion__inherit__graph.md5 b/docs/module-doc/classVersion__inherit__graph.md5 deleted file mode 100644 index 01df9c106..000000000 --- a/docs/module-doc/classVersion__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5251e2652b8ea61fa066d57081a1dee5 \ No newline at end of file diff --git a/docs/module-doc/classWhoWasUser-members.html b/docs/module-doc/classWhoWasUser-members.html deleted file mode 100644 index bc58dd9ba..000000000 --- a/docs/module-doc/classWhoWasUser-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

WhoWasUser Member List

This is the complete list of members for WhoWasUser, including all inherited members.

- - - - - - - -
dhostWhoWasUser
fullnameWhoWasUser
hostWhoWasUser
identWhoWasUser
nickWhoWasUser
serverWhoWasUser
signonWhoWasUser


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classWhoWasUser.html b/docs/module-doc/classWhoWasUser.html deleted file mode 100644 index dfcec2fe6..000000000 --- a/docs/module-doc/classWhoWasUser.html +++ /dev/null @@ -1,233 +0,0 @@ - - -InspIRCd: WhoWasUser Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

WhoWasUser Class Reference

A lightweight userrec used by WHOWAS. -More... -

-#include <users.h> -

-Collaboration diagram for WhoWasUser:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - -

Public Attributes

char nick [NICKMAX]
char ident [IDENTMAX+1]
char dhost [160]
char host [160]
char fullname [MAXGECOS+1]
char server [256]
time_t signon
-

Detailed Description

-A lightweight userrec used by WHOWAS. -

- -

-Definition at line 336 of file users.h.


Member Data Documentation

-

- - - - -
- - - - -
char WhoWasUser::dhost[160]
-
- - - - - -
-   - - -

- -

-Definition at line 341 of file users.h. -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
char WhoWasUser::fullname[MAXGECOS+1]
-
- - - - - -
-   - - -

- -

-Definition at line 343 of file users.h. -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
char WhoWasUser::host[160]
-
- - - - - -
-   - - -

- -

-Definition at line 342 of file users.h. -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
char WhoWasUser::ident[IDENTMAX+1]
-
- - - - - -
-   - - -

- -

-Definition at line 340 of file users.h. -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
char WhoWasUser::nick[NICKMAX]
-
- - - - - -
-   - - -

- -

-Definition at line 339 of file users.h. -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
char WhoWasUser::server[256]
-
- - - - - -
-   - - -

- -

-Definition at line 344 of file users.h. -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
time_t WhoWasUser::signon
-
- - - - - -
-   - - -

- -

-Definition at line 345 of file users.h. -

-Referenced by AddWhoWas().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classWhoWasUser__coll__graph.gif b/docs/module-doc/classWhoWasUser__coll__graph.gif deleted file mode 100644 index 1322c5865..000000000 Binary files a/docs/module-doc/classWhoWasUser__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classWhoWasUser__coll__graph.map b/docs/module-doc/classWhoWasUser__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classWhoWasUser__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classWhoWasUser__coll__graph.md5 b/docs/module-doc/classWhoWasUser__coll__graph.md5 deleted file mode 100644 index 68ba38fc7..000000000 --- a/docs/module-doc/classWhoWasUser__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -5ef57f5c0e57327876d095482c1729ea \ No newline at end of file diff --git a/docs/module-doc/classXLine-members.html b/docs/module-doc/classXLine-members.html deleted file mode 100644 index 7cbdccd6a..000000000 --- a/docs/module-doc/classXLine-members.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

XLine Member List

This is the complete list of members for XLine, including all inherited members.

- - - - - - - - -
ageclassbase
classbase()classbase [inline]
durationXLine
n_matchesXLine
reasonXLine
set_timeXLine
sourceXLine
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classXLine.html b/docs/module-doc/classXLine.html deleted file mode 100644 index 322ddc27b..000000000 --- a/docs/module-doc/classXLine.html +++ /dev/null @@ -1,192 +0,0 @@ - - -InspIRCd: XLine Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

XLine Class Reference

XLine is the base class for ban lines such as G lines and K lines. -More... -

-#include <xline.h> -

-Inheritance diagram for XLine:

Inheritance graph
- - - - - - - - -
[legend]
Collaboration diagram for XLine:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - -

Public Attributes

time_t set_time
 The time the line was added.
long duration
 The duration of the ban, or 0 if permenant.
char source [256]
 Source of the ban.
char reason [MAXBUF]
 Reason for the ban.
long n_matches
 Number of times the core matches the ban, for statistics.
-

Detailed Description

-XLine is the base class for ban lines such as G lines and K lines. -

- -

-Definition at line 39 of file xline.h.


Member Data Documentation

-

- - - - -
- - - - -
long XLine::duration
-
- - - - - -
-   - - -

-The duration of the ban, or 0 if permenant. -

- -

-Definition at line 49 of file xline.h.

-

- - - - -
- - - - -
long XLine::n_matches
-
- - - - - -
-   - - -

-Number of times the core matches the ban, for statistics. -

- -

-Definition at line 61 of file xline.h.

-

- - - - -
- - - - -
char XLine::reason[MAXBUF]
-
- - - - - -
-   - - -

-Reason for the ban. -

- -

-Definition at line 57 of file xline.h.

-

- - - - -
- - - - -
time_t XLine::set_time
-
- - - - - -
-   - - -

-The time the line was added. -

- -

-Definition at line 45 of file xline.h.

-

- - - - -
- - - - -
char XLine::source[256]
-
- - - - - -
-   - - -

-Source of the ban. -

-This can be a servername or an oper nickname -

-Definition at line 53 of file xline.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classXLine__coll__graph.gif b/docs/module-doc/classXLine__coll__graph.gif deleted file mode 100644 index 1c7669eb4..000000000 Binary files a/docs/module-doc/classXLine__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classXLine__coll__graph.map b/docs/module-doc/classXLine__coll__graph.map deleted file mode 100644 index 64f9b3a84..000000000 --- a/docs/module-doc/classXLine__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 107,97 187,124 diff --git a/docs/module-doc/classXLine__coll__graph.md5 b/docs/module-doc/classXLine__coll__graph.md5 deleted file mode 100644 index 51fbebe96..000000000 --- a/docs/module-doc/classXLine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -82db31fd0088117dc738aeaae0cdb2c0 \ No newline at end of file diff --git a/docs/module-doc/classXLine__inherit__graph.gif b/docs/module-doc/classXLine__inherit__graph.gif deleted file mode 100644 index ae65b5000..000000000 Binary files a/docs/module-doc/classXLine__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classXLine__inherit__graph.map b/docs/module-doc/classXLine__inherit__graph.map deleted file mode 100644 index 7a144f968..000000000 --- a/docs/module-doc/classXLine__inherit__graph.map +++ /dev/null @@ -1,7 +0,0 @@ -base referer -rect $classELine.html 7,156 63,183 -rect $classGLine.html 87,156 146,183 -rect $classKLine.html 170,156 226,183 -rect $classQLine.html 250,156 308,183 -rect $classZLine.html 332,156 388,183 -rect $classclassbase.html 158,7 238,33 diff --git a/docs/module-doc/classXLine__inherit__graph.md5 b/docs/module-doc/classXLine__inherit__graph.md5 deleted file mode 100644 index 2219ff62f..000000000 --- a/docs/module-doc/classXLine__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -cddf36af1a2c6a2fd34d1894fa3811da \ No newline at end of file diff --git a/docs/module-doc/classZLine-members.html b/docs/module-doc/classZLine-members.html deleted file mode 100644 index e72f71a2f..000000000 --- a/docs/module-doc/classZLine-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ZLine Member List

This is the complete list of members for ZLine, including all inherited members.

- - - - - - - - - - -
ageclassbase
classbase()classbase [inline]
durationXLine
ipaddrZLine
is_globalZLine
n_matchesXLine
reasonXLine
set_timeXLine
sourceXLine
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classZLine.html b/docs/module-doc/classZLine.html deleted file mode 100644 index 64da7e94b..000000000 --- a/docs/module-doc/classZLine.html +++ /dev/null @@ -1,99 +0,0 @@ - - -InspIRCd: ZLine Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ZLine Class Reference

ZLine class. -More... -

-#include <xline.h> -

-Inheritance diagram for ZLine:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for ZLine:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - - - - -

Public Attributes

char ipaddr [40]
 IP Address (xx.yy.zz.aa) to match against May contain wildcards.
bool is_global
 Set if this is a global Z:line (e.g.
-

Detailed Description

-ZLine class. -

- -

-Definition at line 98 of file xline.h.


Member Data Documentation

-

- - - - -
- - - - -
char ZLine::ipaddr[40]
-
- - - - - -
-   - - -

-IP Address (xx.yy.zz.aa) to match against May contain wildcards. -

- -

-Definition at line 104 of file xline.h.

-

- - - - -
- - - - -
bool ZLine::is_global
-
- - - - - -
-   - - -

-Set if this is a global Z:line (e.g. -

-it came from another server) -

-Definition at line 108 of file xline.h.

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classZLine__coll__graph.gif b/docs/module-doc/classZLine__coll__graph.gif deleted file mode 100644 index 943e7c896..000000000 Binary files a/docs/module-doc/classZLine__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classZLine__coll__graph.map b/docs/module-doc/classZLine__coll__graph.map deleted file mode 100644 index 028f82a6e..000000000 --- a/docs/module-doc/classZLine__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 108,204 164,231 -rect $classclassbase.html 79,97 159,124 diff --git a/docs/module-doc/classZLine__coll__graph.md5 b/docs/module-doc/classZLine__coll__graph.md5 deleted file mode 100644 index 43b1d4a38..000000000 --- a/docs/module-doc/classZLine__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -af58e7a846694641fbe05011643006a9 \ No newline at end of file diff --git a/docs/module-doc/classZLine__inherit__graph.gif b/docs/module-doc/classZLine__inherit__graph.gif deleted file mode 100644 index 411796d74..000000000 Binary files a/docs/module-doc/classZLine__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classZLine__inherit__graph.map b/docs/module-doc/classZLine__inherit__graph.map deleted file mode 100644 index 37695eb4e..000000000 --- a/docs/module-doc/classZLine__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classXLine.html 19,81 75,108 -rect $classclassbase.html 7,7 87,33 diff --git a/docs/module-doc/classZLine__inherit__graph.md5 b/docs/module-doc/classZLine__inherit__graph.md5 deleted file mode 100644 index 565dfc233..000000000 --- a/docs/module-doc/classZLine__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2100aaebeee27bb7ee02f038fdd48ad5 \ No newline at end of file diff --git a/docs/module-doc/classchanrec-members.html b/docs/module-doc/classchanrec-members.html deleted file mode 100644 index b653248a7..000000000 --- a/docs/module-doc/classchanrec-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

chanrec Member List

This is the complete list of members for chanrec, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddUser(char *castuser)chanrec
ageclassbase
banschanrec
binarymodeschanrec
chanrec()chanrec
classbase()classbase [inline]
createdchanrec
custom_modeschanrec
DelUser(char *castuser)chanrec
Extend(std::string key, char *p)Extensible
GetExt(std::string key)Extensible
GetExtList(std::deque< std::string > &list)Extensible
GetModeParameter(char mode)chanrec
GetUserCounter()chanrec
GetUsers()chanrec
internal_userlistchanrec
IsCustomModeSet(char mode)chanrec
keychanrec
limitchanrec
namechanrec
setbychanrec
SetCustomMode(char mode, bool mode_on)chanrec
SetCustomModeParam(char mode, char *parameter, bool mode_on)chanrec
Shrink(std::string key)Extensible
topicchanrec
topicsetchanrec
~chanrec()chanrec [inline, virtual]
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classchanrec.html b/docs/module-doc/classchanrec.html deleted file mode 100644 index a8c1aa117..000000000 --- a/docs/module-doc/classchanrec.html +++ /dev/null @@ -1,944 +0,0 @@ - - -InspIRCd: chanrec Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

chanrec Class Reference

Holds all relevent information for a channel. -More... -

-#include <channels.h> -

-Inheritance diagram for chanrec:

Inheritance graph
- - - - -
[legend]
Collaboration diagram for chanrec:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

void SetCustomMode (char mode, bool mode_on)
 Sets or unsets a custom mode in the channels info.
void SetCustomModeParam (char mode, char *parameter, bool mode_on)
 Sets or unsets the parameters for a custom mode in a channels info.
bool IsCustomModeSet (char mode)
 Returns true if a custom mode is set on a channel.
std::string GetModeParameter (char mode)
 Returns the parameter for a custom mode on a channel.
long GetUserCounter ()
 Obtain the channel "user counter" This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks.
void AddUser (char *castuser)
 Add a user pointer to the internal reference list.
void DelUser (char *castuser)
 Delete a user pointer to the internal reference list.
std::vector< char * > * GetUsers ()
 Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*.
 chanrec ()
 Creates a channel record and initialises it with default values.
virtual ~chanrec ()

Public Attributes

char name [CHANMAX]
 The channels name.
char custom_modes [MAXMODES]
 Custom modes for the channel.
std::vector< char * > internal_userlist
 User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!).
char topic [MAXBUF]
 Channel topic.
time_t created
 Creation time.
time_t topicset
 Time topic was set.
char setby [NICKMAX]
 The last user to set the topic.
short int limit
 Contains the channel user limit.
char key [32]
 Contains the channel key.
char binarymodes
 Contains a bitmask of the CM_* builtin (RFC) binary mode symbols.
BanList bans
 The list of all bans set on the channel.
-

Detailed Description

-Holds all relevent information for a channel. -

-This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type. -

- -

-Definition at line 103 of file channels.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
chanrec::chanrec  ) 
-
- - - - - -
-   - - -

-Creates a channel record and initialises it with default values. -

- -

-Definition at line 73 of file channels.cpp. -

-References binarymodes, created, custom_modes, internal_userlist, key, limit, name, setby, topic, and topicset.

00074 {
-00075         strcpy(name,"");
-00076         strcpy(custom_modes,"");
-00077         strcpy(topic,"");
-00078         strcpy(setby,"");
-00079         strcpy(key,"");
-00080         created = topicset = limit = 0;
-00081         binarymodes = 0;
-00082         internal_userlist.clear();
-00083 }
-
-

-

-

- - - - -
- - - - - - - - -
virtual chanrec::~chanrec  )  [inline, virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 226 of file channels.h.

00226 { /* stub */ }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
void chanrec::AddUser char *  castuser  ) 
-
- - - - - -
-   - - -

-Add a user pointer to the internal reference list. -

-

Parameters:
- - -
castuser This should be a pointer to a userrec, casted to char*
-
-The data inserted into the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison. -

-Definition at line 166 of file channels.cpp. -

-References DEBUG, internal_userlist, and log(). -

-Referenced by ForceChan().

00167 {
-00168         internal_userlist.push_back(castuser);
-00169         log(DEBUG,"Added casted user to channel's internal list");
-00170 }
-
-

-

-

- - - - -
- - - - - - - - - -
void chanrec::DelUser char *  castuser  ) 
-
- - - - - -
-   - - -

-Delete a user pointer to the internal reference list. -

-

Parameters:
- - -
castuser This should be a pointer to a userrec, casted to char*
-
-The data removed from the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison. -

-Definition at line 172 of file channels.cpp. -

-References DEBUG, internal_userlist, log(), and name. -

-Referenced by del_channel(), and kick_channel().

00173 {
-00174         for (std::vector<char*>::iterator a = internal_userlist.begin(); a < internal_userlist.end(); a++)
-00175         {
-00176                 if (*a == castuser)
-00177                 {
-00178                         log(DEBUG,"Removed casted user from channel's internal list");
-00179                         internal_userlist.erase(a);
-00180                         return;
-00181                 }
-00182         }
-00183         log(DEBUG,"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!",name);
-00184 }
-
-

-

-

- - - - -
- - - - - - - - - -
std::string chanrec::GetModeParameter char  mode  ) 
-
- - - - - -
-   - - -

-Returns the parameter for a custom mode on a channel. -

-

Parameters:
- - -
mode The mode character you wish to query
-
-For example if "+L #foo" is set, and you pass this method 'L', it will return 'foo'. If the mode is not set on the channel, or the mode has no parameters associated with it, it will return an empty string.

-

Returns:
The parameter for this mode is returned, or an empty string
- -

-Definition at line 146 of file channels.cpp. -

-References custom_mode_params.

00147 {
-00148         if (custom_mode_params.size())
-00149         {
-00150                 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
-00151                 {
-00152                         if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
-00153                         {
-00154                                 return i->parameter;
-00155                         }
-00156                 }
-00157         }
-00158         return "";
-00159 }
-
-

-

-

- - - - -
- - - - - - - - -
long chanrec::GetUserCounter  ) 
-
- - - - - -
-   - - -

-Obtain the channel "user counter" This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks. -

-

Returns:
The number of users on this channel
- -

-Definition at line 161 of file channels.cpp.

00162 {
-00163         return (this->internal_userlist.size());
-00164 }
-
-

-

-

- - - - -
- - - - - - - - -
std::vector< char * > * chanrec::GetUsers  ) 
-
- - - - - -
-   - - -

-Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. -

-These are used for rapid comparison to determine channel membership for PRIVMSG, NOTICE, QUIT, PART etc. The resulting pointer to the vector should be considered readonly and only modified via AddUser and DelUser.

-

Returns:
This function returns a vector of userrec pointers, each of which has been casted to char* to prevent circular references
- -

-Definition at line 186 of file channels.cpp. -

-References internal_userlist. -

-Referenced by Server::GetUsers().

00187 {
-00188         return &internal_userlist;
-00189 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool chanrec::IsCustomModeSet char  mode  ) 
-
- - - - - -
-   - - -

-Returns true if a custom mode is set on a channel. -

-

Parameters:
- - -
mode The mode character you wish to query
-
-
Returns:
True if the custom mode is set, false if otherwise
- -

-Definition at line 141 of file channels.cpp.

00142 {
-00143         return (strchr(this->custom_modes,mode));
-00144 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void chanrec::SetCustomMode char  mode,
bool  mode_on
-
- - - - - -
-   - - -

-Sets or unsets a custom mode in the channels info. -

-

Parameters:
- - - -
mode The mode character to set or unset
mode_on True if you want to set the mode or false if you want to remove it
-
- -

-Definition at line 85 of file channels.cpp. -

-References custom_modes, DEBUG, log(), and SetCustomModeParam().

00086 {
-00087         if (mode_on) {
-00088                 static char m[3];
-00089                 m[0] = mode;
-00090                 m[1] = '\0';
-00091                 if (!strchr(this->custom_modes,mode))
-00092                 {
-00093                         strlcat(custom_modes,m,MAXMODES);
-00094                 }
-00095                 log(DEBUG,"Custom mode %c set",mode);
-00096         }
-00097         else {
-00098 
-00099                 std::string a = this->custom_modes;
-00100                 int pos = a.find(mode);
-00101                 a.erase(pos,1);
-00102                 strncpy(this->custom_modes,a.c_str(),MAXMODES);
-00103 
-00104                 log(DEBUG,"Custom mode %c removed: modelist='%s'",mode,this->custom_modes);
-00105                 this->SetCustomModeParam(mode,"",false);
-00106         }
-00107 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void chanrec::SetCustomModeParam char  mode,
char *  parameter,
bool  mode_on
-
- - - - - -
-   - - -

-Sets or unsets the parameters for a custom mode in a channels info. -

-

Parameters:
- - - - -
mode The mode character to set or unset
parameter The parameter string to associate with this mode character
mode_on True if you want to set the mode or false if you want to remove it
-
- -

-Definition at line 110 of file channels.cpp. -

-References ModeParameter::channel, custom_mode_params, DEBUG, log(), ModeParameter::mode, and ModeParameter::parameter. -

-Referenced by SetCustomMode().

00111 {
-00112 
-00113         log(DEBUG,"SetCustomModeParam called");
-00114         ModeParameter M;
-00115         M.mode = mode;
-00116         strlcpy(M.channel,this->name,CHANMAX);
-00117         strlcpy(M.parameter,parameter,MAXBUF);
-00118         if (mode_on)
-00119         {
-00120                 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter);
-00121                 custom_mode_params.push_back(M);
-00122         }
-00123         else
-00124         {
-00125                 if (custom_mode_params.size())
-00126                 {
-00127                         for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
-00128                         {
-00129                                 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
-00130                                 {
-00131                                         log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter);
-00132                                         custom_mode_params.erase(i);
-00133                                         return;
-00134                                 }
-00135                         }
-00136                 }
-00137                 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!");
-00138         }
-00139 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
BanList chanrec::bans
-
- - - - - -
-   - - -

-The list of all bans set on the channel. -

- -

-Definition at line 151 of file channels.h. -

-Referenced by add_channel().

-

- - - - -
- - - - -
char chanrec::binarymodes
-
- - - - - -
-   - - -

-Contains a bitmask of the CM_* builtin (RFC) binary mode symbols. -

- -

-Definition at line 147 of file channels.h. -

-Referenced by add_channel(), and chanrec().

-

- - - - -
- - - - -
time_t chanrec::created
-
- - - - - -
-   - - -

-Creation time. -

- -

-Definition at line 125 of file channels.h. -

-Referenced by chanrec().

-

- - - - -
- - - - -
char chanrec::custom_modes[MAXMODES]
-
- - - - - -
-   - - -

-Custom modes for the channel. -

-Plugins may use this field in any way they see fit. -

-Definition at line 112 of file channels.h. -

-Referenced by chanrec(), and SetCustomMode().

-

- - - - -
- - - - -
std::vector<char*> chanrec::internal_userlist
-
- - - - - -
-   - - -

-User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). -

- -

-Definition at line 117 of file channels.h. -

-Referenced by AddUser(), chanrec(), DelUser(), and GetUsers().

-

- - - - -
- - - - -
char chanrec::key[32]
-
- - - - - -
-   - - -

-Contains the channel key. -

-If this value is an empty string, there is no channel key in place. -

-Definition at line 143 of file channels.h. -

-Referenced by add_channel(), and chanrec().

-

- - - - -
- - - - -
short int chanrec::limit
-
- - - - - -
-   - - -

-Contains the channel user limit. -

-If this value is zero, there is no limit in place. -

-Definition at line 138 of file channels.h. -

-Referenced by add_channel(), and chanrec().

-

- - - - -
- - - - -
char chanrec::name[CHANMAX]
-
- - - - - -
-   - - -

-The channels name. -

- -

-Definition at line 108 of file channels.h. -

-Referenced by add_channel(), chanrec(), del_channel(), DelUser(), ForceChan(), kick_channel(), and Server::PseudoToUser().

-

- - - - -
- - - - -
char chanrec::setby[NICKMAX]
-
- - - - - -
-   - - -

-The last user to set the topic. -

-If this member is an empty string, no topic was ever set. -

-Definition at line 133 of file channels.h. -

-Referenced by chanrec(), ForceChan(), and Server::PseudoToUser().

-

- - - - -
- - - - -
char chanrec::topic[MAXBUF]
-
- - - - - -
-   - - -

-Channel topic. -

-If this is an empty string, no channel topic is set. -

-Definition at line 122 of file channels.h. -

-Referenced by chanrec(), ForceChan(), and Server::PseudoToUser().

-

- - - - -
- - - - -
time_t chanrec::topicset
-
- - - - - -
-   - - -

-Time topic was set. -

-If no topic was ever set, this will be equal to chanrec::created -

-Definition at line 129 of file channels.h. -

-Referenced by chanrec(), ForceChan(), and Server::PseudoToUser().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classchanrec__coll__graph.gif b/docs/module-doc/classchanrec__coll__graph.gif deleted file mode 100644 index 906eb0a7b..000000000 Binary files a/docs/module-doc/classchanrec__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classchanrec__coll__graph.map b/docs/module-doc/classchanrec__coll__graph.map deleted file mode 100644 index de880759f..000000000 --- a/docs/module-doc/classchanrec__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classExtensible.html 68,204 151,231 -rect $classclassbase.html 68,97 148,124 diff --git a/docs/module-doc/classchanrec__coll__graph.md5 b/docs/module-doc/classchanrec__coll__graph.md5 deleted file mode 100644 index 39918d0c9..000000000 --- a/docs/module-doc/classchanrec__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -c0e1d49d19e3941fdfebb1c3d1c52727 \ No newline at end of file diff --git a/docs/module-doc/classchanrec__inherit__graph.gif b/docs/module-doc/classchanrec__inherit__graph.gif deleted file mode 100644 index 47c60cec1..000000000 Binary files a/docs/module-doc/classchanrec__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classchanrec__inherit__graph.map b/docs/module-doc/classchanrec__inherit__graph.map deleted file mode 100644 index f8823aa1b..000000000 --- a/docs/module-doc/classchanrec__inherit__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classExtensible.html 7,81 89,108 -rect $classclassbase.html 8,7 88,33 diff --git a/docs/module-doc/classchanrec__inherit__graph.md5 b/docs/module-doc/classchanrec__inherit__graph.md5 deleted file mode 100644 index 49b9ccc27..000000000 --- a/docs/module-doc/classchanrec__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -9b119318df1cf9f708f4d7e96dbb9083 \ No newline at end of file diff --git a/docs/module-doc/classclassbase-members.html b/docs/module-doc/classclassbase-members.html deleted file mode 100644 index a0dc05c62..000000000 --- a/docs/module-doc/classclassbase-members.html +++ /dev/null @@ -1,16 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

classbase Member List

This is the complete list of members for classbase, including all inherited members.

- - - -
ageclassbase
classbase()classbase [inline]
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classclassbase.html b/docs/module-doc/classclassbase.html deleted file mode 100644 index d30459e0c..000000000 --- a/docs/module-doc/classclassbase.html +++ /dev/null @@ -1,157 +0,0 @@ - - -InspIRCd: classbase Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

classbase Class Reference

The base class for all inspircd classes. -More... -

-#include <base.h> -

-Inheritance diagram for classbase:

Inheritance graph
- - - - - - - - - - - - - - - - - - - -
[legend]
Collaboration diagram for classbase:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - -

Public Member Functions

 classbase ()
 Constructor, Sets the object's time.
 ~classbase ()

Public Attributes

time_t age
 Time that the object was instantiated (used for TS calculation etc).
-

Detailed Description

-The base class for all inspircd classes. -

- -

-Definition at line 30 of file base.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
classbase::classbase  )  [inline]
-
- - - - - -
-   - - -

-Constructor, Sets the object's time. -

- -

-Definition at line 40 of file base.h. -

-References age.

00040 { age = time(NULL); }
-
-

-

-

- - - - -
- - - - - - - - -
classbase::~classbase  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 41 of file base.h.

00041 { }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
time_t classbase::age
-
- - - - - -
-   - - -

-Time that the object was instantiated (used for TS calculation etc). -

- -

-Definition at line 35 of file base.h. -

-Referenced by classbase().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classclassbase__coll__graph.gif b/docs/module-doc/classclassbase__coll__graph.gif deleted file mode 100644 index b0d8ed452..000000000 Binary files a/docs/module-doc/classclassbase__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classclassbase__coll__graph.map b/docs/module-doc/classclassbase__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classclassbase__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classclassbase__coll__graph.md5 b/docs/module-doc/classclassbase__coll__graph.md5 deleted file mode 100644 index b4f319b22..000000000 --- a/docs/module-doc/classclassbase__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -619a64a1115cc48fd790f5e46cad7ebd \ No newline at end of file diff --git a/docs/module-doc/classclassbase__inherit__graph.gif b/docs/module-doc/classclassbase__inherit__graph.gif deleted file mode 100644 index 5f6fdd3fd..000000000 Binary files a/docs/module-doc/classclassbase__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classclassbase__inherit__graph.map b/docs/module-doc/classclassbase__inherit__graph.map deleted file mode 100644 index 63be230b4..000000000 --- a/docs/module-doc/classclassbase__inherit__graph.map +++ /dev/null @@ -1,18 +0,0 @@ -base referer -rect $classAdmin.html 167,7 228,34 -rect $classConfigReader.html 145,58 249,84 -rect $classConnectClass.html 145,108 249,135 -rect $classExtensible.html 156,159 239,186 -rect $classExtMode.html 160,210 235,236 -rect $classFileReader.html 153,260 241,287 -rect $classHostItem.html 160,311 235,338 -rect $classInvited.html 167,362 228,388 -rect $classModeParameter.html 139,412 256,439 -rect $classModule.html 164,463 231,490 -rect $classModuleFactory.html 143,514 252,540 -rect $classModuleMessage.html 137,564 257,591 -rect $classServer.html 167,615 228,642 -rect $classServerConfig.html 147,666 248,692 -rect $classucrec.html 171,716 224,743 -rect $classVersion.html 164,767 231,794 -rect $classXLine.html 169,818 225,844 diff --git a/docs/module-doc/classclassbase__inherit__graph.md5 b/docs/module-doc/classclassbase__inherit__graph.md5 deleted file mode 100644 index 90a8c0c47..000000000 --- a/docs/module-doc/classclassbase__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a7cad757539041de468d74629f972ab7 \ No newline at end of file diff --git a/docs/module-doc/classcommand__t-members.html b/docs/module-doc/classcommand__t-members.html deleted file mode 100644 index 4f684cc11..000000000 --- a/docs/module-doc/classcommand__t-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

command_t Member List

This is the complete list of members for command_t, including all inherited members.

- - - - - - - - - -
commandcommand_t
command_t(std::string cmd, char flags, int minpara)command_t [inline]
flags_neededcommand_t
Handle(char **parameters, int pcnt, userrec *user)=0command_t [pure virtual]
min_paramscommand_t
sourcecommand_t
total_bytescommand_t
use_countcommand_t
~command_t()command_t [inline, virtual]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classcommand__t.html b/docs/module-doc/classcommand__t.html deleted file mode 100644 index 738c365c2..000000000 --- a/docs/module-doc/classcommand__t.html +++ /dev/null @@ -1,360 +0,0 @@ - - -InspIRCd: command_t Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

command_t Class Reference

A structure that defines a command. -More... -

-#include <ctables.h> -

-Inheritance diagram for command_t:

Inheritance graph
- - - -
[legend]
Collaboration diagram for command_t:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 command_t (std::string cmd, char flags, int minpara)
virtual void Handle (char **parameters, int pcnt, userrec *user)=0
virtual ~command_t ()

Public Attributes

std::string command
 Command name.
char flags_needed
 User flags needed to execute the command or 0.
int min_params
 Minimum number of parameters command takes.
long use_count
 used by /stats m
long total_bytes
 used by /stats m
std::string source
 used for resource tracking between modules
-

Detailed Description

-A structure that defines a command. -

- -

-Definition at line 29 of file ctables.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
command_t::command_t std::string  cmd,
char  flags,
int  minpara
[inline]
-
- - - - - -
-   - - -

- -

-Definition at line 51 of file ctables.h. -

-References source, total_bytes, and use_count.

00051                                                           : command(cmd), flags_needed(flags), min_params(minpara)
-00052         {
-00053                 use_count = total_bytes = 0;
-00054                 source = "<core>";
-00055         }
-
-

-

-

- - - - -
- - - - - - - - -
virtual command_t::~command_t  )  [inline, virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 59 of file ctables.h.

00059 {}
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual void command_t::Handle char **  parameters,
int  pcnt,
userrec user
[pure virtual]
-
- - - - - -
-   - - -

- -

-Implemented in cmd_mode.

-


Member Data Documentation

-

- - - - -
- - - - -
std::string command_t::command
-
- - - - - -
-   - - -

-Command name. -

- -

-Definition at line 34 of file ctables.h.

-

- - - - -
- - - - -
char command_t::flags_needed
-
- - - - - -
-   - - -

-User flags needed to execute the command or 0. -

- -

-Definition at line 37 of file ctables.h.

-

- - - - -
- - - - -
int command_t::min_params
-
- - - - - -
-   - - -

-Minimum number of parameters command takes. -

- -

-Definition at line 40 of file ctables.h.

-

- - - - -
- - - - -
std::string command_t::source
-
- - - - - -
-   - - -

-used for resource tracking between modules -

- -

-Definition at line 49 of file ctables.h. -

-Referenced by command_t().

-

- - - - -
- - - - -
long command_t::total_bytes
-
- - - - - -
-   - - -

-used by /stats m -

- -

-Definition at line 46 of file ctables.h. -

-Referenced by command_t().

-

- - - - -
- - - - -
long command_t::use_count
-
- - - - - -
-   - - -

-used by /stats m -

- -

-Definition at line 43 of file ctables.h. -

-Referenced by command_t().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classcommand__t__coll__graph.gif b/docs/module-doc/classcommand__t__coll__graph.gif deleted file mode 100644 index 24aec3470..000000000 Binary files a/docs/module-doc/classcommand__t__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classcommand__t__coll__graph.map b/docs/module-doc/classcommand__t__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classcommand__t__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classcommand__t__coll__graph.md5 b/docs/module-doc/classcommand__t__coll__graph.md5 deleted file mode 100644 index 0ef3d64e9..000000000 --- a/docs/module-doc/classcommand__t__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -a870a1a889c9b48d45ed8d3fe3dde1c9 \ No newline at end of file diff --git a/docs/module-doc/classcommand__t__inherit__graph.gif b/docs/module-doc/classcommand__t__inherit__graph.gif deleted file mode 100644 index c5945effd..000000000 Binary files a/docs/module-doc/classcommand__t__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classcommand__t__inherit__graph.map b/docs/module-doc/classcommand__t__inherit__graph.map deleted file mode 100644 index 7c32f56f5..000000000 --- a/docs/module-doc/classcommand__t__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classcmd__mode.html 8,82 96,108 diff --git a/docs/module-doc/classcommand__t__inherit__graph.md5 b/docs/module-doc/classcommand__t__inherit__graph.md5 deleted file mode 100644 index f6a379e71..000000000 --- a/docs/module-doc/classcommand__t__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -561f8c00e2c3919b70cd1ad50528624f \ No newline at end of file diff --git a/docs/module-doc/classconnection-members.html b/docs/module-doc/classconnection-members.html deleted file mode 100644 index 2a12401d9..000000000 --- a/docs/module-doc/classconnection-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

connection Member List

This is the complete list of members for connection, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - -
ageclassbase
bytes_inconnection
bytes_outconnection
classbase()classbase [inline]
cmds_inconnection
cmds_outconnection
connection()connection [inline]
Extend(std::string key, char *p)Extensible
fdconnection
GetExt(std::string key)Extensible
GetExtList(std::deque< std::string > &list)Extensible
haspassedconnection
hostconnection
idle_lastmsgconnection
ipconnection
lastpingconnection
npingconnection
portconnection
registeredconnection
Shrink(std::string key)Extensible
signonconnection
~classbase()classbase [inline]


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html deleted file mode 100644 index ad5e9ef6a..000000000 --- a/docs/module-doc/classconnection.html +++ /dev/null @@ -1,531 +0,0 @@ - - -InspIRCd: connection Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

connection Class Reference

Please note: classes serverrec and userrec both inherit from class connection. -More... -

-#include <connection.h> -

-Inheritance diagram for connection:

Inheritance graph
- - - - - -
[legend]
Collaboration diagram for connection:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 connection ()
 Default constructor.

Public Attributes

int fd
 File descriptor of the connection.
char host [160]
 Hostname of connection.
char ip [16]
 IP of connection.
int bytes_in
 Stats counter for bytes inbound.
int bytes_out
 Stats counter for bytes outbound.
int cmds_in
 Stats counter for commands inbound.
int cmds_out
 Stats counter for commands outbound.
bool haspassed
 True if server/user has authenticated, false if otherwise.
int port
 Port number For a userrec, this is the port they connected to the network on.
char registered
 Used by userrec to indicate the registration status of the connection.
time_t lastping
 Time the connection was last pinged.
time_t signon
 Time the connection was created, set in the constructor.
time_t idle_lastmsg
 Time that the connection last sent data, used to calculate idle time.
time_t nping
 Used by PING checks with clients.
-

Detailed Description

-Please note: classes serverrec and userrec both inherit from class connection. -

- -

-Definition at line 37 of file connection.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
connection::connection  )  [inline]
-
- - - - - -
-   - - -

-Default constructor. -

- -

-Definition at line 100 of file connection.h. -

-References fd.

00101         {
-00102                 this->fd = -1;
-00103         }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
int connection::bytes_in
-
- - - - - -
-   - - -

-Stats counter for bytes inbound. -

- -

-Definition at line 54 of file connection.h. -

-Referenced by userrec::userrec().

-

- - - - -
- - - - -
int connection::bytes_out
-
- - - - - -
-   - - -

-Stats counter for bytes outbound. -

- -

-Definition at line 58 of file connection.h. -

-Referenced by userrec::FlushWriteBuf(), and userrec::userrec().

-

- - - - -
- - - - -
int connection::cmds_in
-
- - - - - -
-   - - -

-Stats counter for commands inbound. -

- -

-Definition at line 62 of file connection.h. -

-Referenced by userrec::userrec().

-

- - - - -
- - - - -
int connection::cmds_out
-
- - - - - -
-   - - -

-Stats counter for commands outbound. -

- -

-Definition at line 66 of file connection.h. -

-Referenced by userrec::FlushWriteBuf(), and userrec::userrec().

-

- - - - -
- - - - -
int connection::fd
-
- - - - - -
-   - - -

-File descriptor of the connection. -

- -

-Definition at line 42 of file connection.h. -

-Referenced by add_channel(), connection(), ConfigReader::DumpErrors(), FullConnectUser(), kick_channel(), kill_link(), kill_link_silent(), Server::PseudoToUser(), Server::SendTo(), userrec::userrec(), and Server::UserToPseudo().

-

- - - - -
- - - - -
bool connection::haspassed
-
- - - - - -
-   - - -

-True if server/user has authenticated, false if otherwise. -

- -

-Definition at line 70 of file connection.h. -

-Referenced by FullConnectUser(), and userrec::userrec().

-

- - - - -
- - - - -
char connection::host[160]
-
- - - - - -
-   - - -

-Hostname of connection. -

-Not used if this is a serverrec -

-Definition at line 46 of file connection.h. -

-Referenced by AddWhoWas(), FullConnectUser(), userrec::GetFullRealHost(), kill_link(), kill_link_silent(), Server::PseudoToUser(), userrec::userrec(), and Server::UserToPseudo().

-

- - - - -
- - - - -
time_t connection::idle_lastmsg
-
- - - - - -
-   - - -

-Time that the connection last sent data, used to calculate idle time. -

- -

-Definition at line 92 of file connection.h. -

-Referenced by FullConnectUser(), and userrec::userrec().

-

- - - - -
- - - - -
char connection::ip[16]
-
- - - - - -
-   - - -

-IP of connection. -

- -

-Definition at line 50 of file connection.h. -

-Referenced by FullConnectUser(), and userrec::userrec().

-

- - - - -
- - - - -
time_t connection::lastping
-
- - - - - -
-   - - -

-Time the connection was last pinged. -

- -

-Definition at line 84 of file connection.h. -

-Referenced by userrec::userrec().

-

- - - - -
- - - - -
time_t connection::nping
-
- - - - - -
-   - - -

-Used by PING checks with clients. -

- -

-Definition at line 96 of file connection.h. -

-Referenced by userrec::userrec().

-

- - - - -
- - - - -
int connection::port
-
- - - - - -
-   - - -

-Port number For a userrec, this is the port they connected to the network on. -

-For a serverrec this is the current listening port of the serverrec object. -

-Definition at line 76 of file connection.h. -

-Referenced by FullConnectUser(), kill_link(), kill_link_silent(), and userrec::userrec().

-

- - - - -
- - - - -
char connection::registered
-
- - - - - -
-   - - -

-Used by userrec to indicate the registration status of the connection. -

- -

-Definition at line 80 of file connection.h. -

-Referenced by ConnectUser(), force_nickchange(), FullConnectUser(), kill_link(), kill_link_silent(), and userrec::userrec().

-

- - - - -
- - - - -
time_t connection::signon
-
- - - - - -
-   - - -

-Time the connection was created, set in the constructor. -

- -

-Definition at line 88 of file connection.h. -

-Referenced by AddWhoWas(), and userrec::userrec().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classconnection__coll__graph.gif b/docs/module-doc/classconnection__coll__graph.gif deleted file mode 100644 index a6b5a6bec..000000000 Binary files a/docs/module-doc/classconnection__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classconnection__coll__graph.map b/docs/module-doc/classconnection__coll__graph.map deleted file mode 100644 index 75c36a9e9..000000000 --- a/docs/module-doc/classconnection__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classExtensible.html 86,236 168,263 -rect $classclassbase.html 68,97 148,124 diff --git a/docs/module-doc/classconnection__coll__graph.md5 b/docs/module-doc/classconnection__coll__graph.md5 deleted file mode 100644 index d87f68626..000000000 --- a/docs/module-doc/classconnection__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -f35feb2763df91938dc9b523e5feded3 \ No newline at end of file diff --git a/docs/module-doc/classconnection__inherit__graph.gif b/docs/module-doc/classconnection__inherit__graph.gif deleted file mode 100644 index 846cdf38c..000000000 Binary files a/docs/module-doc/classconnection__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classconnection__inherit__graph.map b/docs/module-doc/classconnection__inherit__graph.map deleted file mode 100644 index 0eaacf386..000000000 --- a/docs/module-doc/classconnection__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classuserrec.html 16,231 83,257 -rect $classExtensible.html 8,81 91,108 -rect $classclassbase.html 10,7 90,33 diff --git a/docs/module-doc/classconnection__inherit__graph.md5 b/docs/module-doc/classconnection__inherit__graph.md5 deleted file mode 100644 index 1234dd82a..000000000 --- a/docs/module-doc/classconnection__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3199229d3dcf3119d7eac4a7ce792577 \ No newline at end of file diff --git a/docs/module-doc/classes.html b/docs/module-doc/classes.html deleted file mode 100644 index 39c542037..000000000 --- a/docs/module-doc/classes.html +++ /dev/null @@ -1,34 +0,0 @@ - - -InspIRCd: Alphabetical List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Class Index

A | B | C | D | E | F | G | H | I | K | M | Q | R | S | U | V | W | X | Z

- -
  A  
-
connection   
  G  
-
KLine   serverstats   
Admin   CullItem   GLine   
  M  
-
SocketEngine   
AES   CullList   
  H  
-
ModeParameter   StrHashComp (irc)   
  B  
-
  D  
-
hash< in_addr > (nspace)   ModeParser   
  U  
-
BanItem   DNS   hash< string > (nspace)   Module   ucrec   
BoolSet   dns_ip4list   HostItem   ModuleFactory   userrec   
  C  
-
  E  
-
  I  
-
ModuleMessage   
  V  
-
chanrec   ELine   InAddr_HashComp (irc)   
  Q  
-
Version   
char_traits (std)   Event   InspIRCd   QLine   
  W  
-
classbase   ExemptItem   InspSocket   
  R  
-
WhoWasUser   
cmd_mode   Extensible   Invited   Request   
  X  
-
command_t   ExtMode   InviteItem   
  S  
-
XLine   
ConfigReader   
  F  
-
irc_char_traits (irc)   Server   
  Z  
-
ConnectClass   FileReader   
  K  
-
ServerConfig   ZLine   

A | B | C | D | E | F | G | H | I | K | M | Q | R | S | U | V | W | X | Z

-


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classserverstats-members.html b/docs/module-doc/classserverstats-members.html deleted file mode 100644 index b2d74015c..000000000 --- a/docs/module-doc/classserverstats-members.html +++ /dev/null @@ -1,25 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

serverstats Member List

This is the complete list of members for serverstats, including all inherited members.

- - - - - - - - - - - - -
BoundPortCountserverstats
serverstats()serverstats [inline]
statsAcceptserverstats
statsCollisionsserverstats
statsConnectsserverstats
statsDnsserverstats
statsDnsBadserverstats
statsDnsGoodserverstats
statsRecvserverstats
statsRefusedserverstats
statsSentserverstats
statsUnknownserverstats


Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classserverstats.html b/docs/module-doc/classserverstats.html deleted file mode 100644 index ab43c25c0..000000000 --- a/docs/module-doc/classserverstats.html +++ /dev/null @@ -1,389 +0,0 @@ - - -InspIRCd: serverstats Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

serverstats Class Reference

#include <inspircd.h> -

-Collaboration diagram for serverstats:

Collaboration graph
-
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 serverstats ()

Public Attributes

int statsAccept
int statsRefused
int statsUnknown
int statsCollisions
int statsDns
int statsDnsGood
int statsDnsBad
int statsConnects
int statsSent
int statsRecv
int BoundPortCount
-

Detailed Description

- -

- -

-Definition at line 74 of file inspircd.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
serverstats::serverstats  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 89 of file inspircd.h. -

-References BoundPortCount, statsAccept, statsCollisions, statsConnects, statsDns, statsDnsBad, statsDnsGood, statsRecv, statsRefused, statsSent, and statsUnknown.

00090         {
-00091                 statsAccept = statsRefused = statsUnknown = 0;
-00092                 statsCollisions = statsDns = statsDnsGood = 0;
-00093                 statsDnsBad = statsConnects = statsSent = statsRecv = 0;
-00094                 BoundPortCount = 0;
-00095         }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
int serverstats::BoundPortCount
-
- - - - - -
-   - - -

- -

-Definition at line 87 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsAccept
-
- - - - - -
-   - - -

- -

-Definition at line 77 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsCollisions
-
- - - - - -
-   - - -

- -

-Definition at line 80 of file inspircd.h. -

-Referenced by force_nickchange(), and serverstats().

-

- - - - -
- - - - -
int serverstats::statsConnects
-
- - - - - -
-   - - -

- -

-Definition at line 84 of file inspircd.h. -

-Referenced by FullConnectUser(), and serverstats().

-

- - - - -
- - - - -
int serverstats::statsDns
-
- - - - - -
-   - - -

- -

-Definition at line 81 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsDnsBad
-
- - - - - -
-   - - -

- -

-Definition at line 83 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsDnsGood
-
- - - - - -
-   - - -

- -

-Definition at line 82 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsRecv
-
- - - - - -
-   - - -

- -

-Definition at line 86 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsRefused
-
- - - - - -
-   - - -

- -

-Definition at line 78 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsSent
-
- - - - - -
-   - - -

- -

-Definition at line 85 of file inspircd.h. -

-Referenced by serverstats().

-

- - - - -
- - - - -
int serverstats::statsUnknown
-
- - - - - -
-   - - -

- -

-Definition at line 79 of file inspircd.h. -

-Referenced by serverstats().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classserverstats__coll__graph.gif b/docs/module-doc/classserverstats__coll__graph.gif deleted file mode 100644 index 337b49865..000000000 Binary files a/docs/module-doc/classserverstats__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classserverstats__coll__graph.map b/docs/module-doc/classserverstats__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/classserverstats__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/classserverstats__coll__graph.md5 b/docs/module-doc/classserverstats__coll__graph.md5 deleted file mode 100644 index bdc97b9ee..000000000 --- a/docs/module-doc/classserverstats__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fdefe64364c509e2b3a4a66fc7ca77f1 \ No newline at end of file diff --git a/docs/module-doc/classstd_1_1char__traits.html b/docs/module-doc/classstd_1_1char__traits.html deleted file mode 100644 index b6ad27a35..000000000 --- a/docs/module-doc/classstd_1_1char__traits.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: char_traits Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

char_traits Class Reference

Inheritance diagram for char_traits:

Inheritance graph
- - - -
[legend]
- -
-
The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classstd_1_1char__traits__inherit__graph.gif b/docs/module-doc/classstd_1_1char__traits__inherit__graph.gif deleted file mode 100644 index 5928e8485..000000000 Binary files a/docs/module-doc/classstd_1_1char__traits__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classstd_1_1char__traits__inherit__graph.map b/docs/module-doc/classstd_1_1char__traits__inherit__graph.map deleted file mode 100644 index 4f58100de..000000000 --- a/docs/module-doc/classstd_1_1char__traits__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structirc_1_1irc__char__traits.html 7,82 185,108 diff --git a/docs/module-doc/classstd_1_1char__traits__inherit__graph.md5 b/docs/module-doc/classstd_1_1char__traits__inherit__graph.md5 deleted file mode 100644 index f839e280c..000000000 --- a/docs/module-doc/classstd_1_1char__traits__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -fb053a0129941b003b2a9b44035051d6 \ No newline at end of file diff --git a/docs/module-doc/classucrec-members.html b/docs/module-doc/classucrec-members.html deleted file mode 100644 index 7176c1b3a..000000000 --- a/docs/module-doc/classucrec-members.html +++ /dev/null @@ -1,20 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ucrec Member List

This is the complete list of members for ucrec, including all inherited members.

- - - - - - - -
ageclassbase
channelucrec
classbase()classbase [inline]
uc_modesucrec
ucrec()ucrec [inline]
~classbase()classbase [inline]
~ucrec()ucrec [inline, virtual]


Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classucrec.html b/docs/module-doc/classucrec.html deleted file mode 100644 index d9fdf47e7..000000000 --- a/docs/module-doc/classucrec.html +++ /dev/null @@ -1,174 +0,0 @@ - - -InspIRCd: ucrec Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

ucrec Class Reference

Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class. -More... -

-#include <channels.h> -

-Inheritance diagram for ucrec:

Inheritance graph
- - - -
[legend]
Collaboration diagram for ucrec:

Collaboration graph
- - - - -
[legend]
List of all members. - - - - - - - - - - - - - -

Public Member Functions

 ucrec ()
virtual ~ucrec ()

Public Attributes

char uc_modes
 Contains a bitmask of the UCMODE_OP .
chanrecchannel
 Points to the channel record where the given modes apply.
-

Detailed Description

-Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class. -

-The uc_modes member holds a bitmask of which privilages the user has on the channel, such as op, voice, etc. -

- -

-Definition at line 243 of file channels.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
ucrec::ucrec  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 256 of file channels.h.

00256 { /* stub */ }
-
-

-

-

- - - - -
- - - - - - - - -
virtual ucrec::~ucrec  )  [inline, virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 257 of file channels.h.

00257 { /* stub */ }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
chanrec* ucrec::channel
-
- - - - - -
-   - - -

-Points to the channel record where the given modes apply. -

-If the record is not in use, this value will be NULL. -

-Definition at line 254 of file channels.h. -

-Referenced by AddClient(), and ForceChan().

-

- - - - -
- - - - -
char ucrec::uc_modes
-
- - - - - -
-   - - -

-Contains a bitmask of the UCMODE_OP . -

-.. UCMODE_FOUNDER values. If this value is zero, the user has no privilages upon the channel. -

-Definition at line 249 of file channels.h. -

-Referenced by AddClient(), and ForceChan().

-


The documentation for this class was generated from the following file: -
Generated on Mon Dec 19 18:05:23 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classucrec__coll__graph.gif b/docs/module-doc/classucrec__coll__graph.gif deleted file mode 100644 index e932389b2..000000000 Binary files a/docs/module-doc/classucrec__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classucrec__coll__graph.map b/docs/module-doc/classucrec__coll__graph.map deleted file mode 100644 index af737e7f3..000000000 --- a/docs/module-doc/classucrec__coll__graph.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classclassbase.html 7,177 87,204 -rect $classchanrec.html 221,177 291,204 diff --git a/docs/module-doc/classucrec__coll__graph.md5 b/docs/module-doc/classucrec__coll__graph.md5 deleted file mode 100644 index 7e9e941c2..000000000 --- a/docs/module-doc/classucrec__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -706c63fd96074c4a0518e46eb7b6b76a \ No newline at end of file diff --git a/docs/module-doc/classucrec__inherit__graph.gif b/docs/module-doc/classucrec__inherit__graph.gif deleted file mode 100644 index 8cafd8f8a..000000000 Binary files a/docs/module-doc/classucrec__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classucrec__inherit__graph.map b/docs/module-doc/classucrec__inherit__graph.map deleted file mode 100644 index 8b1d85be3..000000000 --- a/docs/module-doc/classucrec__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classclassbase.html 7,7 87,34 diff --git a/docs/module-doc/classucrec__inherit__graph.md5 b/docs/module-doc/classucrec__inherit__graph.md5 deleted file mode 100644 index 6e04d789d..000000000 --- a/docs/module-doc/classucrec__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -2b8403e912c911fe8172382e6f43f2ea \ No newline at end of file diff --git a/docs/module-doc/classuserrec-members.html b/docs/module-doc/classuserrec-members.html deleted file mode 100644 index c1bcdc08e..000000000 --- a/docs/module-doc/classuserrec-members.html +++ /dev/null @@ -1,77 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

userrec Member List

This is the complete list of members for userrec, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddBuffer(std::string a)userrec
AddWriteBuf(std::string data)userrec
ageclassbase
awaymsguserrec
BufferIsReady()userrec
bytes_inconnection
bytes_outconnection
chansuserrec
classbase()classbase [inline]
ClearBuffer()userrec
CloseSocket()userrec
cmds_inconnection
cmds_outconnection
connection()connection [inline]
dhostuserrec
dns_doneuserrec
Extend(std::string key, char *p)Extensible
fdconnection
flooduserrec
FlushWriteBuf()userrec
fullnameuserrec
GetBuffer()userrec
GetExt(std::string key)Extensible
GetExtList(std::deque< std::string > &list)Extensible
GetFullHost()userrec [virtual]
GetFullRealHost()userrec [virtual]
GetInviteList()userrec
GetWriteError()userrec
haspassedconnection
HasPermission(std::string &command)userrec
hostconnection
identuserrec
idle_lastmsgconnection
invitesuserrec [private]
InviteTo(irc::string &channel)userrec [virtual]
ipconnection
IsInvited(irc::string &channel)userrec [virtual]
lastpingconnection
lines_inuserrec
modesuserrec
nickuserrec
npingconnection
operuserrec
passworduserrec
pingmaxuserrec
portconnection
ReadData(void *buffer, size_t size)userrec
recvquserrec
recvqmaxuserrec
registeredconnection
RemoveInvite(irc::string &channel)userrec [virtual]
reset_dueuserrec
sendquserrec
sendqmaxuserrec
serveruserrec
SetWriteError(std::string error)userrec
Shrink(std::string key)Extensible
signonconnection
thresholduserrec
timeoutuserrec
userrec()userrec
WriteErroruserrec
~classbase()classbase [inline]
~userrec()userrec [virtual]


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classuserrec.html b/docs/module-doc/classuserrec.html deleted file mode 100644 index 0901107cd..000000000 --- a/docs/module-doc/classuserrec.html +++ /dev/null @@ -1,1730 +0,0 @@ - - -InspIRCd: userrec Class Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

userrec Class Reference

Holds all information about a user This class stores all information about a user connected to the irc server. -More... -

-#include <users.h> -

-Inheritance diagram for userrec:

Inheritance graph
- - - - - -
[legend]
Collaboration diagram for userrec:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 userrec ()
virtual char * GetFullHost ()
 Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.
virtual char * GetFullRealHost ()
 Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.
virtual bool IsInvited (irc::string &channel)
 Returns true if a user is invited to a channel.
virtual void InviteTo (irc::string &channel)
 Adds a channel to a users invite list (invites them to a channel).
virtual void RemoveInvite (irc::string &channel)
 Removes a channel from a users invite list.
bool HasPermission (std::string &command)
 Returns true or false for if a user can execute a privilaged oper command.
int ReadData (void *buffer, size_t size)
 Calls read() to read some data for this user using their fd.
bool AddBuffer (std::string a)
 This method adds data to the buffer of the user.
bool BufferIsReady ()
 This method returns true if the buffer contains at least one carriage return character (e.g.
void ClearBuffer ()
 This function clears the entire buffer by setting it to an empty string.
std::string GetBuffer ()
 This method returns the first available string at the tail end of the buffer and advances the tail end of the buffer past the string.
void SetWriteError (std::string error)
 Sets the write error for a connection.
std::string GetWriteError ()
 Returns the write error which last occured on this connection or an empty string if none occured.
void AddWriteBuf (std::string data)
 Adds to the user's write buffer.
void FlushWriteBuf ()
 Flushes as much of the user's buffer to the file descriptor as possible.
InvitedListGetInviteList ()
 Returns the list of channels this user has been invited to but has not yet joined.
void CloseSocket ()
 Shuts down and closes the user's socket.
virtual ~userrec ()

Public Attributes

char nick [NICKMAX]
 The users nickname.
char ident [IDENTMAX+2]
 The users ident reply.
char dhost [160]
 The host displayed to non-opers (used for cloaking etc).
char fullname [MAXGECOS+1]
 The users full name.
char modes [54]
 The user's mode string.
std::vector< ucrecchans
char * server
 The server the user is connected to.
char awaymsg [MAXAWAY+1]
 The user's away message.
int flood
 Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood.
unsigned int timeout
 Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected.
char oper [NICKMAX]
 The oper type they logged in as, if they are an oper.
bool dns_done
 True when DNS lookups are completed.
unsigned int pingmax
 Number of seconds between PINGs for this user (set from <connect:allow> tag.
char password [MAXBUF]
 Password specified by the user when they registered.
std::string recvq
 User's receive queue.
std::string sendq
 User's send queue.
int lines_in
 Flood counters.
time_t reset_due
long threshold
std::string WriteError
long sendqmax
 Maximum size this user's sendq can become.
long recvqmax
 Maximum size this user's recvq can become.

Private Attributes

InvitedList invites
 A list of channels the user has a pending invite to.
-

Detailed Description

-Holds all information about a user This class stores all information about a user connected to the irc server. -

-Everything about a connection is stored here primarily, from the user's socket ID (file descriptor) through to the user's nickname and hostname. Use the Find method of the server class to locate a specific user by nickname. -

- -

-Definition at line 115 of file users.h.


Constructor & Destructor Documentation

-

- - - - -
- - - - - - - - -
userrec::userrec  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 63 of file users.cpp. -

-References awaymsg, connection::bytes_in, connection::bytes_out, chans, connection::cmds_in, connection::cmds_out, dhost, dns_done, connection::fd, FindServerNamePtr(), flood, fullname, connection::haspassed, connection::host, ident, connection::idle_lastmsg, invites, connection::ip, connection::lastping, lines_in, modes, nick, connection::nping, oper, connection::port, recvq, connection::registered, reset_due, sendq, server, ServerConfig::ServerName, connection::signon, TIME, and timeout.

00064 {
-00065         // the PROPER way to do it, AVOID bzero at *ALL* costs
-00066         strcpy(nick,"");
-00067         strcpy(ip,"127.0.0.1");
-00068         timeout = 0;
-00069         strcpy(ident,"");
-00070         strcpy(host,"");
-00071         strcpy(dhost,"");
-00072         strcpy(fullname,"");
-00073         strcpy(modes,"");
-00074         server = (char*)FindServerNamePtr(Config->ServerName);
-00075         strcpy(awaymsg,"");
-00076         strcpy(oper,"");
-00077         reset_due = TIME;
-00078         lines_in = 0;
-00079         fd = lastping = signon = idle_lastmsg = nping = registered = 0;
-00080         flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0;
-00081         haspassed = false;
-00082         dns_done = false;
-00083         recvq = "";
-00084         sendq = "";
-00085         chans.clear();
-00086         invites.clear();
-00087 }
-
-

-

-

- - - - -
- - - - - - - - -
userrec::~userrec  )  [virtual]
-
- - - - - -
-   - - -

- -

-Definition at line 89 of file users.cpp.

00090 {
-00091 }
-
-

-

-


Member Function Documentation

-

- - - - -
- - - - - - - - - -
bool userrec::AddBuffer std::string  a  ) 
-
- - - - - -
-   - - -

-This method adds data to the buffer of the user. -

-The buffer can grow to any size within limits of the available memory, managed by the size of a std::string, however if any individual line in the buffer grows over 600 bytes in length (which is 88 chars over the RFC-specified limit per line) then the method will return false and the text will not be inserted. -

-Definition at line 219 of file users.cpp. -

-References recvq, recvqmax, SetWriteError(), and WriteOpers().

00220 {
-00221         std::string b = "";
-00222         for (unsigned int i = 0; i < a.length(); i++)
-00223                 if ((a[i] != '\r') && (a[i] != '\0') && (a[i] != 7))
-00224                         b = b + a[i];
-00225         std::stringstream stream(recvq);
-00226         stream << b;
-00227         recvq = stream.str();
-00228         unsigned int i = 0;
-00229         // count the size of the first line in the buffer.
-00230         while (i < recvq.length())
-00231         {
-00232                 if (recvq[i++] == '\n')
-00233                         break;
-00234         }
-00235         if (recvq.length() > (unsigned)this->recvqmax)
-00236         {
-00237                 this->SetWriteError("RecvQ exceeded");
-00238                 WriteOpers("*** User %s RecvQ of %d exceeds connect class maximum of %d",this->nick,recvq.length(),this->recvqmax);
-00239         }
-00240         // return false if we've had more than 600 characters WITHOUT
-00241         // a carriage return (this is BAD, drop the socket)
-00242         return (i < 600);
-00243 }
-
-

-

-

- - - - -
- - - - - - - - - -
void userrec::AddWriteBuf std::string  data  ) 
-
- - - - - -
-   - - -

-Adds to the user's write buffer. -

-You may add any amount of text up to this users sendq value, if you exceed the sendq value, SetWriteError() will be called to set the users error string to "SendQ exceeded", and further buffer adds will be dropped. -

-Definition at line 275 of file users.cpp. -

-References sendq, sendqmax, SetWriteError(), and WriteOpers().

00276 {
-00277         if (this->GetWriteError() != "")
-00278                 return;
-00279         if (sendq.length() + data.length() > (unsigned)this->sendqmax)
-00280         {
-00281                 /* Fix by brain - Set the error text BEFORE calling writeopers, because
-00282                  * if we dont it'll recursively  call here over and over again trying
-00283                  * to repeatedly add the text to the sendq!
-00284                  */
-00285                 this->SetWriteError("SendQ exceeded");
-00286                 WriteOpers("*** User %s SendQ of %d exceeds connect class maximum of %d",this->nick,sendq.length() + data.length(),this->sendqmax);
-00287                 return;
-00288         }
-00289         std::stringstream stream;
-00290         stream << sendq << data;
-00291         sendq = stream.str();
-00292 }
-
-

-

-

- - - - -
- - - - - - - - -
bool userrec::BufferIsReady  ) 
-
- - - - - -
-   - - -

-This method returns true if the buffer contains at least one carriage return character (e.g. -

-one complete line may be read) -

-Definition at line 245 of file users.cpp. -

-References recvq.

00246 {
-00247         for (unsigned int i = 0; i < recvq.length(); i++)
-00248                 if (recvq[i] == '\n')
-00249                         return true;
-00250         return false;
-00251 }
-
-

-

-

- - - - -
- - - - - - - - -
void userrec::ClearBuffer  ) 
-
- - - - - -
-   - - -

-This function clears the entire buffer by setting it to an empty string. -

- -

-Definition at line 253 of file users.cpp. -

-References recvq. -

-Referenced by Server::PseudoToUser(), and Server::UserToPseudo().

00254 {
-00255         recvq = "";
-00256 }
-
-

-

-

- - - - -
- - - - - - - - -
void userrec::CloseSocket  ) 
-
- - - - - -
-   - - -

-Shuts down and closes the user's socket. -

- -

-Definition at line 93 of file users.cpp. -

-Referenced by kill_link(), and kill_link_silent().

00094 {
-00095         shutdown(this->fd,2);
-00096         close(this->fd);
-00097 }
-
-

-

-

- - - - -
- - - - - - - - -
void userrec::FlushWriteBuf  ) 
-
- - - - - -
-   - - -

-Flushes as much of the user's buffer to the file descriptor as possible. -

-This function may not always flush the entire buffer, rather instead as much of it as it possibly can. If the send() call fails to send the entire buffer, the buffer position is advanced forwards and the rest of the data sent at the next call to this method. -

-Definition at line 295 of file users.cpp. -

-References connection::bytes_out, connection::cmds_out, sendq, and SetWriteError(). -

-Referenced by kill_link(), and kill_link_silent().

00296 {
-00297         if (sendq.length())
-00298         {
-00299                 char* tb = (char*)this->sendq.c_str();
-00300                 int n_sent = write(this->fd,tb,this->sendq.length());
-00301                 if (n_sent == -1)
-00302                 {
-00303                         this->SetWriteError(strerror(errno));
-00304                 }
-00305                 else
-00306                 {
-00307                         // advance the queue
-00308                         tb += n_sent;
-00309                         this->sendq = tb;
-00310                         // update the user's stats counters
-00311                         this->bytes_out += n_sent;
-00312                         this->cmds_out++;
-00313                 }
-00314         }
-00315 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string userrec::GetBuffer  ) 
-
- - - - - -
-   - - -

-This method returns the first available string at the tail end of the buffer and advances the tail end of the buffer past the string. -

-This means it is a one way operation in a similar way to strtok(), and multiple calls return multiple lines if they are available. The results of this function if there are no lines to be read are unknown, always use BufferIsReady() to check if it is ok to read the buffer before calling GetBuffer(). -

-Definition at line 258 of file users.cpp. -

-References recvq.

00259 {
-00260         if (recvq == "")
-00261                 return "";
-00262         char* line = (char*)recvq.c_str();
-00263         std::string ret = "";
-00264         while ((*line != '\n') && (strlen(line)))
-00265         {
-00266                 ret = ret + *line;
-00267                 line++;
-00268         }
-00269         if ((*line == '\n') || (*line == '\r'))
-00270                 line++;
-00271         recvq = line;
-00272         return ret;
-00273 }
-
-

-

-

- - - - -
- - - - - - - - -
char * userrec::GetFullHost  )  [virtual]
-
- - - - - -
-   - - -

-Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. -

- -

-Definition at line 99 of file users.cpp. -

-References dhost, ident, and nick. -

-Referenced by add_channel().

00100 {
-00101         static char result[MAXBUF];
-00102         snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,dhost);
-00103         return result;
-00104 }
-
-

-

-

- - - - -
- - - - - - - - -
char * userrec::GetFullRealHost  )  [virtual]
-
- - - - - -
-   - - -

-Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. -

-If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname. -

-Definition at line 116 of file users.cpp. -

-References connection::host, ident, and nick.

00117 {
-00118         static char fresult[MAXBUF];
-00119         snprintf(fresult,MAXBUF,"%s!%s@%s",nick,ident,host);
-00120         return fresult;
-00121 }
-
-

-

-

- - - - -
- - - - - - - - -
InvitedList * userrec::GetInviteList  ) 
-
- - - - - -
-   - - -

-Returns the list of channels this user has been invited to but has not yet joined. -

- -

-Definition at line 136 of file users.cpp. -

-References invites.

00137 {
-00138         return &invites;
-00139 }
-
-

-

-

- - - - -
- - - - - - - - -
std::string userrec::GetWriteError  ) 
-
- - - - - -
-   - - -

-Returns the write error which last occured on this connection or an empty string if none occured. -

- -

-Definition at line 325 of file users.cpp. -

-References WriteError.

00326 {
-00327         return this->WriteError;
-00328 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool userrec::HasPermission std::string command  ) 
-
- - - - - -
-   - - -

-Returns true or false for if a user can execute a privilaged oper command. -

-This is done by looking up their oper type from userrec::oper, then referencing this to their oper classes and checking the commands they can execute. -

-Definition at line 165 of file users.cpp. -

-References ServerConfig::config_f, ServerConfig::ConfValue(), and is_uline().

00166 {
-00167         char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-00168         char* mycmd;
-00169         char* savept;
-00170         char* savept2;
-00171         
-00172         // users on u-lined servers can completely bypass
-00173         // all permissions based checks.
-00174         //
-00175         // of course, if this is sent to a remote server and this
-00176         // server is not ulined there, then that other server
-00177         // silently drops the command.
-00178         if (is_uline(this->server))
-00179                 return true;
-00180         
-00181         // are they even an oper at all?
-00182         if (strchr(this->modes,'o'))
-00183         {
-00184                 for (int j =0; j < Config->ConfValueEnum("type",&Config->config_f); j++)
-00185                 {
-00186                         Config->ConfValue("type","name",j,TypeName,&Config->config_f);
-00187                         if (!strcmp(TypeName,this->oper))
-00188                         {
-00189                                 Config->ConfValue("type","classes",j,Classes,&Config->config_f);
-00190                                 char* myclass = strtok_r(Classes," ",&savept);
-00191                                 while (myclass)
-00192                                 {
-00193                                         for (int k =0; k < Config->ConfValueEnum("class",&Config->config_f); k++)
-00194                                         {
-00195                                                 Config->ConfValue("class","name",k,ClassName,&Config->config_f);
-00196                                                 if (!strcmp(ClassName,myclass))
-00197                                                 {
-00198                                                         Config->ConfValue("class","commands",k,CommandList,&Config->config_f);
-00199                                                         mycmd = strtok_r(CommandList," ",&savept2);
-00200                                                         while (mycmd)
-00201                                                         {
-00202                                                                 if ((!strcasecmp(mycmd,command.c_str())) || (*mycmd == '*'))
-00203                                                                 {
-00204                                                                         return true;
-00205                                                                 }
-00206                                                                 mycmd = strtok_r(NULL," ",&savept2);
-00207                                                         }
-00208                                                 }
-00209                                         }
-00210                                         myclass = strtok_r(NULL," ",&savept);
-00211                                 }
-00212                         }
-00213                 }
-00214         }
-00215         return false;
-00216 }
-
-

-

-

- - - - -
- - - - - - - - - -
void userrec::InviteTo irc::string channel  )  [virtual]
-
- - - - - -
-   - - -

-Adds a channel to a users invite list (invites them to a channel). -

- -

-Definition at line 141 of file users.cpp. -

-References Invited::channel, and invites.

00142 {
-00143         Invited i;
-00144         i.channel = channel;
-00145         invites.push_back(i);
-00146 }
-
-

-

-

- - - - -
- - - - - - - - - -
bool userrec::IsInvited irc::string channel  )  [virtual]
-
- - - - - -
-   - - -

-Returns true if a user is invited to a channel. -

- -

-Definition at line 123 of file users.cpp. -

-References invites. -

-Referenced by add_channel().

00124 {
-00125         for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-00126         {
-00127                 irc::string compare = i->channel;
-00128                 if (compare == channel)
-00129                 {
-00130                         return true;
-00131                 }
-00132         }
-00133         return false;
-00134 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int userrec::ReadData void *  buffer,
size_t  size
-
- - - - - -
-   - - -

-Calls read() to read some data for this user using their fd. -

- -

-Definition at line 106 of file users.cpp.

00107 {
-00108         if (this->fd > -1)
-00109         {
-00110                 return read(this->fd, buffer, size);
-00111         }
-00112         else return 0;
-00113 }
-
-

-

-

- - - - -
- - - - - - - - - -
void userrec::RemoveInvite irc::string channel  )  [virtual]
-
- - - - - -
-   - - -

-Removes a channel from a users invite list. -

-This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation. -

-Definition at line 148 of file users.cpp. -

-References DEBUG, invites, and log(). -

-Referenced by add_channel().

00149 {
-00150         log(DEBUG,"Removing invites");
-00151         if (invites.size())
-00152         {
-00153                 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-00154                 {
-00155                         irc::string compare = i->channel;
-00156                         if (compare == channel)
-00157                         {
-00158                                 invites.erase(i);
-00159                                 return;
-00160                         }
-00161                 }
-00162         }
-00163 }
-
-

-

-

- - - - -
- - - - - - - - - -
void userrec::SetWriteError std::string  error  ) 
-
- - - - - -
-   - - -

-Sets the write error for a connection. -

-This is done because the actual disconnect of a client may occur at an inopportune time such as half way through /LIST output. The WriteErrors of clients are checked at a more ideal time (in the mainloop) and errored clients purged. -

-Definition at line 317 of file users.cpp. -

-References DEBUG, log(), and WriteError. -

-Referenced by AddBuffer(), AddWriteBuf(), and FlushWriteBuf().

00318 {
-00319         log(DEBUG,"Setting error string for %s to '%s'",this->nick,error.c_str());
-00320         // don't try to set the error twice, its already set take the first string.
-00321         if (this->WriteError == "")
-00322                 this->WriteError = error;
-00323 }
-
-

-

-


Member Data Documentation

-

- - - - -
- - - - -
char userrec::awaymsg[MAXAWAY+1]
-
- - - - - -
-   - - -

-The user's away message. -

-If this string is empty, the user is not marked as away. -

-Definition at line 162 of file users.h. -

-Referenced by userrec().

-

- - - - -
- - - - -
std::vector<ucrec> userrec::chans
-
- - - - - -
-   - - -

- -

-Definition at line 153 of file users.h. -

-Referenced by add_channel(), del_channel(), kick_channel(), Server::PseudoToUser(), and userrec().

-

- - - - -
- - - - -
char userrec::dhost[160]
-
- - - - - -
-   - - -

-The host displayed to non-opers (used for cloaking etc). -

-This usually matches the value of userrec::host. -

-Definition at line 138 of file users.h. -

-Referenced by AddWhoWas(), GetFullHost(), and userrec().

-

- - - - -
- - - - -
bool userrec::dns_done
-
- - - - - -
-   - - -

-True when DNS lookups are completed. -

- -

-Definition at line 185 of file users.h. -

-Referenced by ConnectUser(), and userrec().

-

- - - - -
- - - - -
int userrec::flood
-
- - - - - -
-   - - -

-Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood. -

- -

-Definition at line 168 of file users.h. -

-Referenced by userrec().

-

- - - - -
- - - - -
char userrec::fullname[MAXGECOS+1]
-
- - - - - -
-   - - -

-The users full name. -

- -

-Definition at line 142 of file users.h. -

-Referenced by AddWhoWas(), and userrec().

-

- - - - -
- - - - -
char userrec::ident[IDENTMAX+2]
-
- - - - - -
-   - - -

-The users ident reply. -

-Two characters are added to the user-defined limit to compensate for the tilde etc. -

-Definition at line 133 of file users.h. -

-Referenced by AddWhoWas(), FullConnectUser(), GetFullHost(), GetFullRealHost(), kill_link(), kill_link_silent(), Server::PseudoToUser(), userrec(), and Server::UserToPseudo().

-

- - - - -
- - - - -
InvitedList userrec::invites [private]
-
- - - - - -
-   - - -

-A list of channels the user has a pending invite to. -

- -

-Definition at line 121 of file users.h. -

-Referenced by GetInviteList(), InviteTo(), IsInvited(), RemoveInvite(), and userrec().

-

- - - - -
- - - - -
int userrec::lines_in
-
- - - - - -
-   - - -

-Flood counters. -

- -

-Definition at line 210 of file users.h. -

-Referenced by userrec().

-

- - - - -
- - - - -
char userrec::modes[54]
-
- - - - - -
-   - - -

-The user's mode string. -

-This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit. it is limited to length 54, as there can only be a maximum of 52 user modes (26 upper, 26 lower case) a null terminating char, and an optional + character. -

-Definition at line 151 of file users.h. -

-Referenced by add_channel(), and userrec().

-

- - - - -
- - - - -
char userrec::nick[NICKMAX]
-
- - - - - -
-   - - -

-The users nickname. -

-An invalid nickname indicates an unregistered connection prior to the NICK command. -

-Definition at line 128 of file users.h. -

-Referenced by add_channel(), AddWhoWas(), del_channel(), ConfigReader::DumpErrors(), FullConnectUser(), GetFullHost(), GetFullRealHost(), kick_channel(), kill_link(), kill_link_silent(), Server::PseudoToUser(), and userrec().

-

- - - - -
- - - - -
char userrec::oper[NICKMAX]
-
- - - - - -
-   - - -

-The oper type they logged in as, if they are an oper. -

-This is used to check permissions in operclasses, so that we can say 'yay' or 'nay' to any commands they issue. The value of this is the value of a valid 'type name=' tag. -

-Definition at line 181 of file users.h. -

-Referenced by userrec().

-

- - - - -
- - - - -
char userrec::password[MAXBUF]
-
- - - - - -
-   - - -

-Password specified by the user when they registered. -

-This is stored even if the <connect> block doesnt need a password, so that modules may check it. -

-Definition at line 195 of file users.h.

-

- - - - -
- - - - -
unsigned int userrec::pingmax
-
- - - - - -
-   - - -

-Number of seconds between PINGs for this user (set from <connect:allow> tag. -

- -

-Definition at line 189 of file users.h.

-

- - - - -
- - - - -
std::string userrec::recvq
-
- - - - - -
-   - - -

-User's receive queue. -

-Lines from the IRCd awaiting processing are stored here. Upgraded april 2005, old system a bit hairy. -

-Definition at line 201 of file users.h. -

-Referenced by AddBuffer(), BufferIsReady(), ClearBuffer(), GetBuffer(), and userrec().

-

- - - - -
- - - - -
long userrec::recvqmax
-
- - - - - -
-   - - -

-Maximum size this user's recvq can become. -

- -

-Definition at line 224 of file users.h. -

-Referenced by AddBuffer().

-

- - - - -
- - - - -
time_t userrec::reset_due
-
- - - - - -
-   - - -

- -

-Definition at line 211 of file users.h. -

-Referenced by userrec().

-

- - - - -
- - - - -
std::string userrec::sendq
-
- - - - - -
-   - - -

-User's send queue. -

-Lines waiting to be sent are stored here until their buffer is flushed. -

-Definition at line 206 of file users.h. -

-Referenced by AddWriteBuf(), FlushWriteBuf(), and userrec().

-

- - - - -
- - - - -
long userrec::sendqmax
-
- - - - - -
-   - - -

-Maximum size this user's sendq can become. -

- -

-Definition at line 220 of file users.h. -

-Referenced by AddWriteBuf().

-

- - - - -
- - - - -
char* userrec::server
-
- - - - - -
-   - - -

-The server the user is connected to. -

- -

-Definition at line 157 of file users.h. -

-Referenced by AddWhoWas(), kick_channel(), and userrec().

-

- - - - -
- - - - -
long userrec::threshold
-
- - - - - -
-   - - -

- -

-Definition at line 212 of file users.h.

-

- - - - -
- - - - -
unsigned int userrec::timeout
-
- - - - - -
-   - - -

-Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected. -

- -

-Definition at line 174 of file users.h. -

-Referenced by userrec().

-

- - - - -
- - - - -
std::string userrec::WriteError
-
- - - - - -
-   - - -

- -

-Definition at line 216 of file users.h. -

-Referenced by GetWriteError(), and SetWriteError().

-


The documentation for this class was generated from the following files: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/classuserrec__coll__graph.gif b/docs/module-doc/classuserrec__coll__graph.gif deleted file mode 100644 index 956286835..000000000 Binary files a/docs/module-doc/classuserrec__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/classuserrec__coll__graph.map b/docs/module-doc/classuserrec__coll__graph.map deleted file mode 100644 index 4bdefc2dc..000000000 --- a/docs/module-doc/classuserrec__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classconnection.html 209,355 295,382 diff --git a/docs/module-doc/classuserrec__coll__graph.md5 b/docs/module-doc/classuserrec__coll__graph.md5 deleted file mode 100644 index a057083b0..000000000 --- a/docs/module-doc/classuserrec__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -b466bb927c1e2d01107d80d37ebcffbc \ No newline at end of file diff --git a/docs/module-doc/classuserrec__inherit__graph.gif b/docs/module-doc/classuserrec__inherit__graph.gif deleted file mode 100644 index a1cc1a0a8..000000000 Binary files a/docs/module-doc/classuserrec__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/classuserrec__inherit__graph.map b/docs/module-doc/classuserrec__inherit__graph.map deleted file mode 100644 index 7b98b616f..000000000 --- a/docs/module-doc/classuserrec__inherit__graph.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $classconnection.html 7,156 92,183 -rect $classExtensible.html 8,81 91,108 -rect $classclassbase.html 10,7 90,33 diff --git a/docs/module-doc/classuserrec__inherit__graph.md5 b/docs/module-doc/classuserrec__inherit__graph.md5 deleted file mode 100644 index e45c258a7..000000000 --- a/docs/module-doc/classuserrec__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -48134c77983f0184ab60e531fb8c80f4 \ No newline at end of file diff --git a/docs/module-doc/commands_8h-source.html b/docs/module-doc/commands_8h-source.html deleted file mode 100644 index 34bc6dcfc..000000000 --- a/docs/module-doc/commands_8h-source.html +++ /dev/null @@ -1,116 +0,0 @@ - - -InspIRCd: commands.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

commands.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __COMMANDS_H
-00018 #define __COMMANDS_H
-00019 
-00020 // include the common header files
-00021 
-00022 #include <typeinfo>
-00023 #include <iostream>
-00024 #include <string>
-00025 #include <deque>
-00026 #include <sstream>
-00027 #include <vector>
-00028 #include "users.h"
-00029 #include "channels.h"
-00030 
-00031 char* CleanFilename(char* name);
-00032 bool is_uline(const char* server);
-00033 long duration(const char* str);
-00034 void do_whois(userrec* user, userrec* dest,unsigned long signon, unsigned long idle, char* nick);
-00035 bool host_matches_everyone(std::string mask, userrec* user);
-00036 bool ip_matches_everyone(std::string ip, userrec* user);
-00037 bool nick_matches_everyone(std::string nick, userrec* user);    
-00038 int operstrcmp(char* data,char* input);
-00039 
-00040 /*       XXX Serious WTFness XXX
-00041  *
-00042  * Well, unless someone invents a wildcard or
-00043  * regexp #include, and makes it a standard,
-00044  * we're stuck with this way of including all
-00045  * the commands.
-00046  */
-00047 
-00048 #include "cmd_admin.h"
-00049 #include "cmd_away.h"
-00050 #include "cmd_commands.h"
-00051 #include "cmd_connect.h"
-00052 #include "cmd_die.h"
-00053 #include "cmd_eline.h"
-00054 #include "cmd_gline.h"
-00055 #include "cmd_info.h"
-00056 #include "cmd_invite.h"
-00057 #include "cmd_ison.h"
-00058 #include "cmd_join.h"
-00059 #include "cmd_kick.h"
-00060 #include "cmd_kill.h"
-00061 #include "cmd_kline.h"
-00062 #include "cmd_links.h"
-00063 #include "cmd_list.h"
-00064 #include "cmd_loadmodule.h"
-00065 #include "cmd_lusers.h"
-00066 #include "cmd_map.h"
-00067 #include "cmd_modules.h"
-00068 #include "cmd_motd.h"
-00069 #include "cmd_names.h"
-00070 #include "cmd_nick.h"
-00071 #include "cmd_notice.h"
-00072 #include "cmd_oper.h"
-00073 #include "cmd_part.h"
-00074 #include "cmd_pass.h"
-00075 #include "cmd_ping.h"
-00076 #include "cmd_pong.h"
-00077 #include "cmd_privmsg.h"
-00078 #include "cmd_qline.h"
-00079 #include "cmd_quit.h"
-00080 #include "cmd_rehash.h"
-00081 #include "cmd_restart.h"
-00082 #include "cmd_rules.h"
-00083 #include "cmd_server.h"
-00084 #include "cmd_squit.h"
-00085 #include "cmd_stats.h"
-00086 #include "cmd_summon.h"
-00087 #include "cmd_time.h"
-00088 #include "cmd_topic.h"
-00089 #include "cmd_trace.h"
-00090 #include "cmd_unloadmodule.h"
-00091 #include "cmd_user.h"
-00092 #include "cmd_userhost.h"
-00093 #include "cmd_users.h"
-00094 #include "cmd_version.h"
-00095 #include "cmd_wallops.h"
-00096 #include "cmd_who.h"
-00097 #include "cmd_whois.h"
-00098 #include "cmd_whowas.h"
-00099 #include "cmd_zline.h"
-00100 
-00101 
-00102 #endif
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/commands_8h.html b/docs/module-doc/commands_8h.html deleted file mode 100644 index 227b4714a..000000000 --- a/docs/module-doc/commands_8h.html +++ /dev/null @@ -1,403 +0,0 @@ - - -InspIRCd: commands.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

commands.h File Reference

#include <typeinfo>
-#include <iostream>
-#include <string>
-#include <deque>
-#include <sstream>
-#include <vector>
-#include "users.h"
-#include "channels.h"
-#include "cmd_admin.h"
-#include "cmd_away.h"
-#include "cmd_commands.h"
-#include "cmd_connect.h"
-#include "cmd_die.h"
-#include "cmd_eline.h"
-#include "cmd_gline.h"
-#include "cmd_info.h"
-#include "cmd_invite.h"
-#include "cmd_ison.h"
-#include "cmd_join.h"
-#include "cmd_kick.h"
-#include "cmd_kill.h"
-#include "cmd_kline.h"
-#include "cmd_links.h"
-#include "cmd_list.h"
-#include "cmd_loadmodule.h"
-#include "cmd_lusers.h"
-#include "cmd_map.h"
-#include "cmd_modules.h"
-#include "cmd_motd.h"
-#include "cmd_names.h"
-#include "cmd_nick.h"
-#include "cmd_notice.h"
-#include "cmd_oper.h"
-#include "cmd_part.h"
-#include "cmd_pass.h"
-#include "cmd_ping.h"
-#include "cmd_pong.h"
-#include "cmd_privmsg.h"
-#include "cmd_qline.h"
-#include "cmd_quit.h"
-#include "cmd_rehash.h"
-#include "cmd_restart.h"
-#include "cmd_rules.h"
-#include "cmd_server.h"
-#include "cmd_squit.h"
-#include "cmd_stats.h"
-#include "cmd_summon.h"
-#include "cmd_time.h"
-#include "cmd_topic.h"
-#include "cmd_trace.h"
-#include "cmd_unloadmodule.h"
-#include "cmd_user.h"
-#include "cmd_userhost.h"
-#include "cmd_users.h"
-#include "cmd_version.h"
-#include "cmd_wallops.h"
-#include "cmd_who.h"
-#include "cmd_whois.h"
-#include "cmd_whowas.h"
-#include "cmd_zline.h"
- -

-Include dependency graph for commands.h:

- - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - -

Functions

char * CleanFilename (char *name)
bool is_uline (const char *server)
long duration (const char *str)
void do_whois (userrec *user, userrec *dest, unsigned long signon, unsigned long idle, char *nick)
bool host_matches_everyone (std::string mask, userrec *user)
bool ip_matches_everyone (std::string ip, userrec *user)
bool nick_matches_everyone (std::string nick, userrec *user)
int operstrcmp (char *data, char *input)
-


Function Documentation

-

- - - - -
- - - - - - - - - -
char* CleanFilename char *  name  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void do_whois userrec user,
userrec dest,
unsigned long  signon,
unsigned long  idle,
char *  nick
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
long duration const char *  str  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::CalcDuration().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool host_matches_everyone std::string  mask,
userrec user
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ip_matches_everyone std::string  ip,
userrec user
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool is_uline const char *  server  ) 
-
- - - - - -
-   - - -

- -

-Referenced by userrec::HasPermission(), Server::IsUlined(), and kick_channel().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool nick_matches_everyone std::string  nick,
userrec user
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int operstrcmp char *  data,
char *  input
-
- - - - - -
-   - - -

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/commands_8h__dep__incl.gif b/docs/module-doc/commands_8h__dep__incl.gif deleted file mode 100644 index ce28e5786..000000000 Binary files a/docs/module-doc/commands_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/commands_8h__dep__incl.map b/docs/module-doc/commands_8h__dep__incl.map deleted file mode 100644 index 26890d2cd..000000000 --- a/docs/module-doc/commands_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $channels_8cpp-source.html 155,7 253,33 -rect $modules_8cpp-source.html 155,57 253,84 -rect $users_8cpp-source.html 164,108 244,135 diff --git a/docs/module-doc/commands_8h__dep__incl.md5 b/docs/module-doc/commands_8h__dep__incl.md5 deleted file mode 100644 index d45b67fd3..000000000 --- a/docs/module-doc/commands_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -779a17861bcecad946539378f1f9eeb8 \ No newline at end of file diff --git a/docs/module-doc/commands_8h__incl.gif b/docs/module-doc/commands_8h__incl.gif deleted file mode 100644 index 195c5a2af..000000000 Binary files a/docs/module-doc/commands_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/commands_8h__incl.map b/docs/module-doc/commands_8h__incl.map deleted file mode 100644 index 3712e88fb..000000000 --- a/docs/module-doc/commands_8h__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $users_8h-source.html 198,260 262,287 -rect $channels_8h-source.html 355,311 440,337 diff --git a/docs/module-doc/commands_8h__incl.md5 b/docs/module-doc/commands_8h__incl.md5 deleted file mode 100644 index cb82238d9..000000000 --- a/docs/module-doc/commands_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a53e792c40a1f2a94bc199e5679cfe9b \ No newline at end of file diff --git a/docs/module-doc/connection_8h-source.html b/docs/module-doc/connection_8h-source.html deleted file mode 100644 index 04b908f9e..000000000 --- a/docs/module-doc/connection_8h-source.html +++ /dev/null @@ -1,89 +0,0 @@ - - -InspIRCd: connection.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

connection.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #include "inspircd_config.h"
-00018 #include "base.h"
-00019 #include <string>
-00020 #include <map>
-00021 #include <sys/types.h>
-00022 #include <sys/socket.h>
-00023 #include <netdb.h>
-00024 #include <netinet/in.h>
-00025 #include <unistd.h>
-00026 #include <errno.h>
-00027 #include <time.h>
-00028 #include <vector>
-00029 #include <deque>
-00030 #include <sstream>
-00031 
-00032 #ifndef __CONNECTION_H__
-00033 #define __CONNECTION_H__
-00034 
-00037 class connection : public Extensible
-00038 {
-00039  public:
-00042         int fd;
-00043         
-00046         char host[160];
-00047         
-00050         char ip[16];
-00051         
-00054         int bytes_in;
-00055 
-00058         int bytes_out;
-00059 
-00062         int cmds_in;
-00063 
-00066         int cmds_out;
-00067 
-00070         bool haspassed;
-00071 
-00076         int port;
-00077         
-00080         char registered;
-00081         
-00084         time_t lastping;
-00085         
-00088         time_t signon;
-00089         
-00092         time_t idle_lastmsg;
-00093         
-00096         time_t nping;
-00097         
-00100         connection()
-00101         {
-00102                 this->fd = -1;
-00103         }
-00104 };
-00105 
-00106 
-00107 #endif
-00108 
-00109 
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/connection_8h.html b/docs/module-doc/connection_8h.html deleted file mode 100644 index bedff3b00..000000000 --- a/docs/module-doc/connection_8h.html +++ /dev/null @@ -1,50 +0,0 @@ - - -InspIRCd: connection.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

connection.h File Reference

#include "inspircd_config.h"
-#include "base.h"
-#include <string>
-#include <map>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <unistd.h>
-#include <errno.h>
-#include <time.h>
-#include <vector>
-#include <deque>
-#include <sstream>
- -

-Include dependency graph for connection.h:

- - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - -

-Go to the source code of this file. - - - - - -

Classes

class  connection
 Please note: classes serverrec and userrec both inherit from class connection. More...
-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/connection_8h__dep__incl.gif b/docs/module-doc/connection_8h__dep__incl.gif deleted file mode 100644 index 7b447f6ad..000000000 Binary files a/docs/module-doc/connection_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/connection_8h__dep__incl.map b/docs/module-doc/connection_8h__dep__incl.map deleted file mode 100644 index 537d63375..000000000 --- a/docs/module-doc/connection_8h__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $users_8cpp-source.html 268,32 348,59 -rect $users_8h-source.html 155,58 219,84 diff --git a/docs/module-doc/connection_8h__dep__incl.md5 b/docs/module-doc/connection_8h__dep__incl.md5 deleted file mode 100644 index 805703248..000000000 --- a/docs/module-doc/connection_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0e1861daaddbab4521f1d2933037aa81 \ No newline at end of file diff --git a/docs/module-doc/connection_8h__incl.gif b/docs/module-doc/connection_8h__incl.gif deleted file mode 100644 index 6ce5349e8..000000000 Binary files a/docs/module-doc/connection_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/connection_8h__incl.map b/docs/module-doc/connection_8h__incl.map deleted file mode 100644 index 18d7625a2..000000000 --- a/docs/module-doc/connection_8h__incl.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $base_8h-source.html 171,108 232,135 diff --git a/docs/module-doc/connection_8h__incl.md5 b/docs/module-doc/connection_8h__incl.md5 deleted file mode 100644 index fd8b11637..000000000 --- a/docs/module-doc/connection_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -58c73d261dc41f418721e3c765d392c8 \ No newline at end of file diff --git a/docs/module-doc/ctables_8h-source.html b/docs/module-doc/ctables_8h-source.html deleted file mode 100644 index 87cfd3db4..000000000 --- a/docs/module-doc/ctables_8h-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -InspIRCd: ctables.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

ctables.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016  
-00017 #ifndef __CTABLES_H__
-00018 #define __CTABLES_H__
-00019 
-00020 #include "inspircd_config.h"
-00021 #include <deque>
-00022 
-00023 class userrec;
-00024 
-00025 /*typedef void (handlerfunc) (char**, int, userrec*);*/
-00026 
-00029 class command_t
-00030 {
-00031  public:
-00034          std::string command;
-00037         char flags_needed;
-00040         int min_params;
-00043         long use_count;
-00046         long total_bytes;
-00049         std::string source;
-00050 
-00051         command_t(std::string cmd, char flags, int minpara) : command(cmd), flags_needed(flags), min_params(minpara)
-00052         {
-00053                 use_count = total_bytes = 0;
-00054                 source = "<core>";
-00055         }
-00056 
-00057         virtual void Handle(char** parameters, int pcnt, userrec* user) = 0;
-00058 
-00059         virtual ~command_t() {}
-00060 };
-00061 
-00062 typedef std::deque<command_t*> command_table;
-00063 
-00064 #endif
-00065 
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/ctables_8h.html b/docs/module-doc/ctables_8h.html deleted file mode 100644 index ae122df2f..000000000 --- a/docs/module-doc/ctables_8h.html +++ /dev/null @@ -1,67 +0,0 @@ - - -InspIRCd: ctables.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

ctables.h File Reference

#include "inspircd_config.h"
-#include <deque>
- -

-Include dependency graph for ctables.h:

- -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - -

-Go to the source code of this file. - - - - - - - - -

Classes

class  command_t
 A structure that defines a command. More...

Typedefs

typedef std::deque< command_t * > command_table
-


Typedef Documentation

-

- - - - -
- - - - -
typedef std::deque<command_t*> command_table
-
- - - - - -
-   - - -

- -

-Definition at line 62 of file ctables.h.

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/ctables_8h__dep__incl.gif b/docs/module-doc/ctables_8h__dep__incl.gif deleted file mode 100644 index d91d35317..000000000 Binary files a/docs/module-doc/ctables_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/ctables_8h__dep__incl.map b/docs/module-doc/ctables_8h__dep__incl.map deleted file mode 100644 index 23354987f..000000000 --- a/docs/module-doc/ctables_8h__dep__incl.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect $channels_8cpp-source.html 400,108 499,135 -rect $modules_8cpp-source.html 400,184 499,211 -rect $modules_8h-source.html 134,108 216,135 -rect $typedefs_8h-source.html 266,159 351,185 -rect $mode_8h-source.html 275,209 342,236 diff --git a/docs/module-doc/ctables_8h__dep__incl.md5 b/docs/module-doc/ctables_8h__dep__incl.md5 deleted file mode 100644 index c35f9be47..000000000 --- a/docs/module-doc/ctables_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1cb19b8d7a8ce1acf4cdb02da02f3f37 \ No newline at end of file diff --git a/docs/module-doc/ctables_8h__incl.gif b/docs/module-doc/ctables_8h__incl.gif deleted file mode 100644 index 60de0f9c6..000000000 Binary files a/docs/module-doc/ctables_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/ctables_8h__incl.map b/docs/module-doc/ctables_8h__incl.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/ctables_8h__incl.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/ctables_8h__incl.md5 b/docs/module-doc/ctables_8h__incl.md5 deleted file mode 100644 index cd96c12ea..000000000 --- a/docs/module-doc/ctables_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -40fd955ba897df932e17c7525207162b \ No newline at end of file diff --git a/docs/module-doc/cull__list_8h-source.html b/docs/module-doc/cull__list_8h-source.html deleted file mode 100644 index b0a640033..000000000 --- a/docs/module-doc/cull__list_8h-source.html +++ /dev/null @@ -1,67 +0,0 @@ - - -InspIRCd: cull_list.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

cull_list.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __CULLLIST_H__
-00018 #define __CULLLIST_H__
-00019 
-00020 // include the common header files
-00021 
-00022 #include <typeinfo>
-00023 #include <iostream>
-00024 #include <string>
-00025 #include <deque>
-00026 #include <sstream>
-00027 #include <vector>
-00028 #include "users.h"
-00029 #include "channels.h"
-00030 
-00036 class CullItem
-00037 {
-00038  private:
-00042         userrec* user;
-00045         std::string reason;
-00046  public:
-00053         CullItem(userrec* u, std::string r);
-00056         userrec* GetUser();
-00059         std::string GetReason();
-00060 };
-00061 
-00075 class CullList
-00076 {
-00077  private:
-00082          std::vector<CullItem> list;
-00087          std::map<userrec*,int> exempt;
-00088  public:
-00093          CullList();
-00099          void AddItem(userrec* user, std::string reason);
-00108          int Apply();
-00109 };
-00110 
-00111 #endif
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/cull__list_8h.html b/docs/module-doc/cull__list_8h.html deleted file mode 100644 index 8471da4d1..000000000 --- a/docs/module-doc/cull__list_8h.html +++ /dev/null @@ -1,43 +0,0 @@ - - -InspIRCd: cull_list.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

cull_list.h File Reference

#include <typeinfo>
-#include <iostream>
-#include <string>
-#include <deque>
-#include <sstream>
-#include <vector>
-#include "users.h"
-#include "channels.h"
- -

-Include dependency graph for cull_list.h:

- - - - - - - -

-Go to the source code of this file. - - - - - - - - -

Classes

class  CullItem
 The CullItem class holds a user and their quitmessage, and is used internally by the CullList class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed. More...
class  CullList
 The CullList class can be used by modules, and is used by the core, to compile large lists of users in preperation to quitting them all at once. More...
-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/cull__list_8h__incl.gif b/docs/module-doc/cull__list_8h__incl.gif deleted file mode 100644 index bd450b9da..000000000 Binary files a/docs/module-doc/cull__list_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/cull__list_8h__incl.map b/docs/module-doc/cull__list_8h__incl.map deleted file mode 100644 index 83585e216..000000000 --- a/docs/module-doc/cull__list_8h__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $users_8h-source.html 138,260 202,287 -rect $channels_8h-source.html 262,209 347,236 -rect $connection_8h-source.html 255,412 354,439 -rect $hashcomp_8h-source.html 258,311 351,337 diff --git a/docs/module-doc/cull__list_8h__incl.md5 b/docs/module-doc/cull__list_8h__incl.md5 deleted file mode 100644 index 8e48434f9..000000000 --- a/docs/module-doc/cull__list_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -15a1b582a0c3999d28743f4a72ab2570 \ No newline at end of file diff --git a/docs/module-doc/dir_000000.html b/docs/module-doc/dir_000000.html deleted file mode 100644 index 0ce61d458..000000000 --- a/docs/module-doc/dir_000000.html +++ /dev/null @@ -1,27 +0,0 @@ - - -InspIRCd: /home/ Directory Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

home Directory Reference

-

-

/home/
- - - - - - - - - -

Directories

directory  brain
-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dir_000000_dep.gif b/docs/module-doc/dir_000000_dep.gif deleted file mode 100644 index 62bb6fe7e..000000000 Binary files a/docs/module-doc/dir_000000_dep.gif and /dev/null differ diff --git a/docs/module-doc/dir_000000_dep.map b/docs/module-doc/dir_000000_dep.map deleted file mode 100644 index a77bf1144..000000000 --- a/docs/module-doc/dir_000000_dep.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect dir_000001.html 28,39 100,87 -rect dir_000000.html 17,17 207,97 diff --git a/docs/module-doc/dir_000001.html b/docs/module-doc/dir_000001.html deleted file mode 100644 index ecb78c333..000000000 --- a/docs/module-doc/dir_000001.html +++ /dev/null @@ -1,28 +0,0 @@ - - -InspIRCd: /home/brain/ Directory Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

brain Directory Reference

-

-

/home/brain/
- - - - - - - - - - -

Directories

directory  inspircd-cvs
-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dir_000001_dep.gif b/docs/module-doc/dir_000001_dep.gif deleted file mode 100644 index dcea55c5c..000000000 Binary files a/docs/module-doc/dir_000001_dep.gif and /dev/null differ diff --git a/docs/module-doc/dir_000001_dep.map b/docs/module-doc/dir_000001_dep.map deleted file mode 100644 index 88e9d2230..000000000 --- a/docs/module-doc/dir_000001_dep.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect dir_000002.html 39,76 132,124 -rect dir_000001.html 28,55 239,135 -rect dir_000000.html 18,17 250,145 diff --git a/docs/module-doc/dir_000002.html b/docs/module-doc/dir_000002.html deleted file mode 100644 index b3e930e3c..000000000 --- a/docs/module-doc/dir_000002.html +++ /dev/null @@ -1,28 +0,0 @@ - - -InspIRCd: /home/brain/inspircd-cvs/ Directory Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

inspircd-cvs Directory Reference

-

-

/home/brain/inspircd-cvs/
- - - - - - - - - - -

Directories

directory  inspircd
-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dir_000002_dep.gif b/docs/module-doc/dir_000002_dep.gif deleted file mode 100644 index 370b51966..000000000 Binary files a/docs/module-doc/dir_000002_dep.gif and /dev/null differ diff --git a/docs/module-doc/dir_000002_dep.map b/docs/module-doc/dir_000002_dep.map deleted file mode 100644 index 43c7f8647..000000000 --- a/docs/module-doc/dir_000002_dep.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect dir_000003.html 39,76 111,124 -rect dir_000002.html 28,55 239,135 -rect dir_000001.html 18,17 250,145 diff --git a/docs/module-doc/dir_000003.html b/docs/module-doc/dir_000003.html deleted file mode 100644 index 1ec214380..000000000 --- a/docs/module-doc/dir_000003.html +++ /dev/null @@ -1,33 +0,0 @@ - - -InspIRCd: /home/brain/inspircd-cvs/inspircd/ Directory Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

inspircd Directory Reference

-

-

/home/brain/inspircd-cvs/inspircd/
- - - - - - - - - - - - - - - -

Directories

directory  include
directory  src
-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dir_000003_dep.gif b/docs/module-doc/dir_000003_dep.gif deleted file mode 100644 index b920a467f..000000000 Binary files a/docs/module-doc/dir_000003_dep.gif and /dev/null differ diff --git a/docs/module-doc/dir_000003_dep.map b/docs/module-doc/dir_000003_dep.map deleted file mode 100644 index da683e754..000000000 --- a/docs/module-doc/dir_000003_dep.map +++ /dev/null @@ -1,7 +0,0 @@ -base referer -rect dir_000004.html 39,172 111,220 -rect dir_000005.html 39,76 111,124 -rect dir_000005_000004.html 75,147 90,160 -rect dir_000005_000004.html 71,168 79,176 -rect dir_000003.html 28,55 217,231 -rect dir_000002.html 17,17 228,241 diff --git a/docs/module-doc/dir_000004.html b/docs/module-doc/dir_000004.html deleted file mode 100644 index bddd65366..000000000 --- a/docs/module-doc/dir_000004.html +++ /dev/null @@ -1,67 +0,0 @@ - - -InspIRCd: /home/brain/inspircd-cvs/inspircd/include/ Directory Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

include Directory Reference

-

-

/home/brain/inspircd-cvs/inspircd/include/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Files

file  aes.h [code]
file  base.h [code]
file  channels.h [code]
file  commands.h [code]
file  connection.h [code]
file  ctables.h [code]
file  cull_list.h [code]
file  dns.h [code]
file  globals.h [code]
file  hashcomp.h [code]
file  inspircd.h [code]
file  inspircd_io.h [code]
file  message.h [code]
file  mode.h [code]
file  modules.h [code]
file  socket.h [code]
file  socketengine.h [code]
file  typedefs.h [code]
file  userprocess.h [code]
file  users.h [code]
file  xline.h [code]
-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dir_000004_dep.gif b/docs/module-doc/dir_000004_dep.gif deleted file mode 100644 index 4db6c66d6..000000000 Binary files a/docs/module-doc/dir_000004_dep.gif and /dev/null differ diff --git a/docs/module-doc/dir_000004_dep.map b/docs/module-doc/dir_000004_dep.map deleted file mode 100644 index 308579c47..000000000 --- a/docs/module-doc/dir_000004_dep.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect dir_000004.html 28,55 100,103 -rect dir_000003.html 17,17 111,113 diff --git a/docs/module-doc/dir_000005.html b/docs/module-doc/dir_000005.html deleted file mode 100644 index dd6649873..000000000 --- a/docs/module-doc/dir_000005.html +++ /dev/null @@ -1,38 +0,0 @@ - - -InspIRCd: /home/brain/inspircd-cvs/inspircd/src/ Directory Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

src Directory Reference

-

-

/home/brain/inspircd-cvs/inspircd/src/
- - - - - - - - - - - - - - - - - - - - -

Files

file  channels.cpp [code]
file  modules.cpp [code]
file  socket.cpp [code]
file  socketengine.cpp [code]
file  users.cpp [code]
-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dir_000005_000004.html b/docs/module-doc/dir_000005_000004.html deleted file mode 100644 index cbaf8be42..000000000 --- a/docs/module-doc/dir_000005_000004.html +++ /dev/null @@ -1,14 +0,0 @@ - - -InspIRCd: /home/brain/inspircd-cvs/inspircd/src/ -> include Relation - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

src → include Relation

File in home » brain » inspircd-cvs » inspircd » srcIncludes file in home » brain » inspircd-cvs » inspircd » include
channels.cppcommands.h
channels.cppctables.h
channels.cppglobals.h
channels.cppinspircd.h
channels.cppinspircd_io.h
channels.cppmessage.h
channels.cppmode.h
channels.cppmodules.h
channels.cpptypedefs.h
channels.cppusers.h
channels.cppxline.h
modules.cppcommands.h
modules.cppctables.h
modules.cppglobals.h
modules.cpphashcomp.h
modules.cppinspircd.h
modules.cppinspircd_io.h
modules.cppmessage.h
modules.cppmode.h
modules.cppmodules.h
modules.cppsocket.h
modules.cppsocketengine.h
modules.cpptypedefs.h
modules.cppusers.h
modules.cppxline.h
socket.cppinspircd.h
socket.cppinspircd_io.h
socket.cppsocket.h
socket.cppsocketengine.h
socketengine.cppglobals.h
socketengine.cppinspircd.h
socketengine.cppsocketengine.h
users.cppchannels.h
users.cppcommands.h
users.cppconnection.h
users.cpphashcomp.h
users.cppinspircd.h
users.cppmessage.h
users.cppsocketengine.h
users.cpptypedefs.h
users.cppusers.h
users.cppxline.h

Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dir_000005_dep.gif b/docs/module-doc/dir_000005_dep.gif deleted file mode 100644 index b101b5fba..000000000 Binary files a/docs/module-doc/dir_000005_dep.gif and /dev/null differ diff --git a/docs/module-doc/dir_000005_dep.map b/docs/module-doc/dir_000005_dep.map deleted file mode 100644 index 230315694..000000000 --- a/docs/module-doc/dir_000005_dep.map +++ /dev/null @@ -1,6 +0,0 @@ -base referer -rect dir_000005.html 28,55 100,103 -rect dir_000004.html 28,151 100,199 -rect dir_000005_000004.html 65,125 79,139 -rect dir_000005_000004.html 60,147 68,155 -rect dir_000003.html 17,17 111,113 diff --git a/docs/module-doc/dirs.html b/docs/module-doc/dirs.html deleted file mode 100644 index 7393f9f15..000000000 --- a/docs/module-doc/dirs.html +++ /dev/null @@ -1,28 +0,0 @@ - - -InspIRCd: Directory Hierarchy - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dns_8h-source.html b/docs/module-doc/dns_8h-source.html deleted file mode 100644 index e4eb4d4f4..000000000 --- a/docs/module-doc/dns_8h-source.html +++ /dev/null @@ -1,84 +0,0 @@ - - -InspIRCd: dns.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

dns.h

Go to the documentation of this file.
00001 /*
-00002 dns.h - dns library declarations based on firedns Copyright (C) 2002 Ian Gulliver
-00003 
-00004 This program is free software; you can redistribute it and/or modify
-00005 it under the terms of version 2 of the GNU General Public License as
-00006 published by the Free Software Foundation.
-00007 
-00008 This program is distributed in the hope that it will be useful,
-00009 but WITHOUT ANY WARRANTY; without even the implied warranty of
-00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-00011 GNU General Public License for more details.
-00012 
-00013 You should have received a copy of the GNU General Public License
-00014 along with this program; if not, write to the Free Software
-00015 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-00016 */
-00017 
-00018 #ifndef _DNS_H
-00019 #define _DNS_H
-00020 
-00021 #include <sys/types.h>
-00022 #include <sys/socket.h>
-00023 #include <netinet/in.h>
-00024 #include <string>
-00025 
-00026 struct dns_ip4list {
-00027         in_addr ip;
-00028         dns_ip4list *next;
-00029 };
-00030 
-00031 
-00035 class DNS
-00036 {
-00037 private:
-00038         in_addr *binip;
-00039         char* result;
-00040         char localbuf[1024];
-00041         int t;
-00042         void dns_init();
-00043         int myfd;
-00044         void dns_init_2(const char* dnsserver);
-00045         in_addr *dns_aton4(const char * const ipstring);
-00046         char *dns_ntoa4(const in_addr * const ip);
-00047         int dns_getip4(const char * const name);
-00048         int dns_getip4list(const char * const name);
-00049         int dns_getname4(const in_addr * const ip);
-00050         char *dns_getresult(const int fd);
-00051         in_addr *dns_aton4_s(const char * const ipstring, in_addr * const ip);
-00052         char *dns_ntoa4_s(const in_addr * const ip, char * const result);
-00053         char *dns_getresult_s(const int fd, char * const result);
-00054         in_addr *dns_aton4_r(const char * const ipstring);
-00055         char *dns_ntoa4_r(const in_addr * const ip);
-00056         char *dns_getresult_r(const int fd);
-00057 public:
-00064         DNS();
-00068         DNS(std::string dnsserver);
-00071         ~DNS();
-00076         bool ReverseLookup(std::string ip);
-00080         bool ForwardLookup(std::string host);
-00084         bool HasResult();
-00087         bool HasResult(int fd);
-00091         std::string GetResult();
-00092         std::string GetResultIP();
-00096         int GetFD();
-00097         void SetNS(std::string dnsserver);
-00098 };
-00099 
-00105 void* dns_task(void* arg);
-00106 
-00107 #endif
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dns_8h.html b/docs/module-doc/dns_8h.html deleted file mode 100644 index 6ab491fea..000000000 --- a/docs/module-doc/dns_8h.html +++ /dev/null @@ -1,67 +0,0 @@ - - -InspIRCd: dns.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

dns.h File Reference

#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <string>
- -

-Include dependency graph for dns.h:

- -

-Go to the source code of this file. - - - - - - - - - - - -

Classes

struct  dns_ip4list
class  DNS
 The DNS class allows fast nonblocking resolution of hostnames and ip addresses. More...

Functions

void * dns_task (void *arg)
 This is the handler function for multi-threaded DNS.
-


Function Documentation

-

- - - - -
- - - - - - - - - -
void* dns_task void *  arg  ) 
-
- - - - - -
-   - - -

-This is the handler function for multi-threaded DNS. -

-It cannot be a class member as pthread will not let us create a thread whos handler function is a member of a class (ugh).

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/dns_8h__incl.gif b/docs/module-doc/dns_8h__incl.gif deleted file mode 100644 index fbd894395..000000000 Binary files a/docs/module-doc/dns_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/dns_8h__incl.map b/docs/module-doc/dns_8h__incl.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/dns_8h__incl.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/dns_8h__incl.md5 b/docs/module-doc/dns_8h__incl.md5 deleted file mode 100644 index e01598ff2..000000000 --- a/docs/module-doc/dns_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9ab4e88ae0e10757c336478c1ab496c5 \ No newline at end of file diff --git a/docs/module-doc/doxygen.png b/docs/module-doc/doxygen.png deleted file mode 100644 index 936b7805c..000000000 Binary files a/docs/module-doc/doxygen.png and /dev/null differ diff --git a/docs/module-doc/files.html b/docs/module-doc/files.html deleted file mode 100644 index ce0953bde..000000000 --- a/docs/module-doc/files.html +++ /dev/null @@ -1,40 +0,0 @@ - - -InspIRCd: File Index - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd File List

Here is a list of all files with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - -
aes.h [code]
base.h [code]
channels.cpp [code]
channels.h [code]
commands.h [code]
connection.h [code]
ctables.h [code]
cull_list.h [code]
dns.h [code]
globals.h [code]
hashcomp.h [code]
inspircd.h [code]
inspircd_io.h [code]
message.h [code]
mode.h [code]
modules.cpp [code]
modules.h [code]
socket.cpp [code]
socket.h [code]
socketengine.cpp [code]
socketengine.h [code]
typedefs.h [code]
userprocess.h [code]
users.cpp [code]
users.h [code]
xline.h [code]
-
Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/ftv2blank.png b/docs/module-doc/ftv2blank.png deleted file mode 100644 index 3f626d64f..000000000 Binary files a/docs/module-doc/ftv2blank.png and /dev/null differ diff --git a/docs/module-doc/ftv2doc.png b/docs/module-doc/ftv2doc.png deleted file mode 100644 index 2d16532a6..000000000 Binary files a/docs/module-doc/ftv2doc.png and /dev/null differ diff --git a/docs/module-doc/ftv2folderclosed.png b/docs/module-doc/ftv2folderclosed.png deleted file mode 100644 index fc9426819..000000000 Binary files a/docs/module-doc/ftv2folderclosed.png and /dev/null differ diff --git a/docs/module-doc/ftv2folderopen.png b/docs/module-doc/ftv2folderopen.png deleted file mode 100644 index 30e9a2c37..000000000 Binary files a/docs/module-doc/ftv2folderopen.png and /dev/null differ diff --git a/docs/module-doc/ftv2lastnode.png b/docs/module-doc/ftv2lastnode.png deleted file mode 100644 index f1fc64e48..000000000 Binary files a/docs/module-doc/ftv2lastnode.png and /dev/null differ diff --git a/docs/module-doc/ftv2link.png b/docs/module-doc/ftv2link.png deleted file mode 100644 index f2549516c..000000000 Binary files a/docs/module-doc/ftv2link.png and /dev/null differ diff --git a/docs/module-doc/ftv2mlastnode.png b/docs/module-doc/ftv2mlastnode.png deleted file mode 100644 index 0de7e451f..000000000 Binary files a/docs/module-doc/ftv2mlastnode.png and /dev/null differ diff --git a/docs/module-doc/ftv2mnode.png b/docs/module-doc/ftv2mnode.png deleted file mode 100644 index 72f185b0b..000000000 Binary files a/docs/module-doc/ftv2mnode.png and /dev/null differ diff --git a/docs/module-doc/ftv2node.png b/docs/module-doc/ftv2node.png deleted file mode 100644 index c23e9f943..000000000 Binary files a/docs/module-doc/ftv2node.png and /dev/null differ diff --git a/docs/module-doc/ftv2plastnode.png b/docs/module-doc/ftv2plastnode.png deleted file mode 100644 index 1bc6181ab..000000000 Binary files a/docs/module-doc/ftv2plastnode.png and /dev/null differ diff --git a/docs/module-doc/ftv2pnode.png b/docs/module-doc/ftv2pnode.png deleted file mode 100644 index 2f6070ca2..000000000 Binary files a/docs/module-doc/ftv2pnode.png and /dev/null differ diff --git a/docs/module-doc/ftv2vertline.png b/docs/module-doc/ftv2vertline.png deleted file mode 100644 index f5a03787b..000000000 Binary files a/docs/module-doc/ftv2vertline.png and /dev/null differ diff --git a/docs/module-doc/functions.html b/docs/module-doc/functions.html deleted file mode 100644 index a1ae2ed15..000000000 --- a/docs/module-doc/functions.html +++ /dev/null @@ -1,50 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- a -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x62.html b/docs/module-doc/functions_0x62.html deleted file mode 100644 index ca0a23a0e..000000000 --- a/docs/module-doc/functions_0x62.html +++ /dev/null @@ -1,31 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- b -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x63.html b/docs/module-doc/functions_0x63.html deleted file mode 100644 index 7a8bb4ae6..000000000 --- a/docs/module-doc/functions_0x63.html +++ /dev/null @@ -1,60 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- c -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x64.html b/docs/module-doc/functions_0x64.html deleted file mode 100644 index 7a1b79f2a..000000000 --- a/docs/module-doc/functions_0x64.html +++ /dev/null @@ -1,62 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- d -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x65.html b/docs/module-doc/functions_0x65.html deleted file mode 100644 index e7bc98ee4..000000000 --- a/docs/module-doc/functions_0x65.html +++ /dev/null @@ -1,40 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- e -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x66.html b/docs/module-doc/functions_0x66.html deleted file mode 100644 index 2a11f7659..000000000 --- a/docs/module-doc/functions_0x66.html +++ /dev/null @@ -1,38 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- f -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x67.html b/docs/module-doc/functions_0x67.html deleted file mode 100644 index 9c1f3f76d..000000000 --- a/docs/module-doc/functions_0x67.html +++ /dev/null @@ -1,62 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- g -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x68.html b/docs/module-doc/functions_0x68.html deleted file mode 100644 index 56c4440fb..000000000 --- a/docs/module-doc/functions_0x68.html +++ /dev/null @@ -1,27 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- h -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x69.html b/docs/module-doc/functions_0x69.html deleted file mode 100644 index fba0aca00..000000000 --- a/docs/module-doc/functions_0x69.html +++ /dev/null @@ -1,43 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- i -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x6a.html b/docs/module-doc/functions_0x6a.html deleted file mode 100644 index 0eb29aaa4..000000000 --- a/docs/module-doc/functions_0x6a.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- j -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x6b.html b/docs/module-doc/functions_0x6b.html deleted file mode 100644 index d72430a35..000000000 --- a/docs/module-doc/functions_0x6b.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- k -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x6c.html b/docs/module-doc/functions_0x6c.html deleted file mode 100644 index ee48bf0f3..000000000 --- a/docs/module-doc/functions_0x6c.html +++ /dev/null @@ -1,33 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- l -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x6d.html b/docs/module-doc/functions_0x6d.html deleted file mode 100644 index 356004bc9..000000000 --- a/docs/module-doc/functions_0x6d.html +++ /dev/null @@ -1,56 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- m -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x6e.html b/docs/module-doc/functions_0x6e.html deleted file mode 100644 index ab51b7390..000000000 --- a/docs/module-doc/functions_0x6e.html +++ /dev/null @@ -1,32 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- n -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x6f.html b/docs/module-doc/functions_0x6f.html deleted file mode 100644 index 6a4f07435..000000000 --- a/docs/module-doc/functions_0x6f.html +++ /dev/null @@ -1,108 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- o -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x70.html b/docs/module-doc/functions_0x70.html deleted file mode 100644 index ec789684f..000000000 --- a/docs/module-doc/functions_0x70.html +++ /dev/null @@ -1,39 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- p -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x71.html b/docs/module-doc/functions_0x71.html deleted file mode 100644 index e322ecec3..000000000 --- a/docs/module-doc/functions_0x71.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- q -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x72.html b/docs/module-doc/functions_0x72.html deleted file mode 100644 index f5fba1ce1..000000000 --- a/docs/module-doc/functions_0x72.html +++ /dev/null @@ -1,44 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- r -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x73.html b/docs/module-doc/functions_0x73.html deleted file mode 100644 index f2f20f524..000000000 --- a/docs/module-doc/functions_0x73.html +++ /dev/null @@ -1,87 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- s -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x74.html b/docs/module-doc/functions_0x74.html deleted file mode 100644 index 5330b008e..000000000 --- a/docs/module-doc/functions_0x74.html +++ /dev/null @@ -1,35 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- t -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x75.html b/docs/module-doc/functions_0x75.html deleted file mode 100644 index 14deea504..000000000 --- a/docs/module-doc/functions_0x75.html +++ /dev/null @@ -1,29 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- u -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x76.html b/docs/module-doc/functions_0x76.html deleted file mode 100644 index 81ec46a25..000000000 --- a/docs/module-doc/functions_0x76.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- v -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x77.html b/docs/module-doc/functions_0x77.html deleted file mode 100644 index aadd4356d..000000000 --- a/docs/module-doc/functions_0x77.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- w -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_0x7e.html b/docs/module-doc/functions_0x7e.html deleted file mode 100644 index 13df7d3b7..000000000 --- a/docs/module-doc/functions_0x7e.html +++ /dev/null @@ -1,36 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

-Here is a list of all class members with links to the classes they belong to: -

-

- ~ -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func.html b/docs/module-doc/functions_func.html deleted file mode 100644 index 75a340bb0..000000000 --- a/docs/module-doc/functions_func.html +++ /dev/null @@ -1,40 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- a -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x62.html b/docs/module-doc/functions_func_0x62.html deleted file mode 100644 index 6fc050865..000000000 --- a/docs/module-doc/functions_func_0x62.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- b -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x63.html b/docs/module-doc/functions_func_0x63.html deleted file mode 100644 index 67518399d..000000000 --- a/docs/module-doc/functions_func_0x63.html +++ /dev/null @@ -1,47 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- c -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x64.html b/docs/module-doc/functions_func_0x64.html deleted file mode 100644 index 705a76037..000000000 --- a/docs/module-doc/functions_func_0x64.html +++ /dev/null @@ -1,49 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- d -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x65.html b/docs/module-doc/functions_func_0x65.html deleted file mode 100644 index 387a71044..000000000 --- a/docs/module-doc/functions_func_0x65.html +++ /dev/null @@ -1,33 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- e -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x66.html b/docs/module-doc/functions_func_0x66.html deleted file mode 100644 index d37bc2867..000000000 --- a/docs/module-doc/functions_func_0x66.html +++ /dev/null @@ -1,31 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- f -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x67.html b/docs/module-doc/functions_func_0x67.html deleted file mode 100644 index fed275862..000000000 --- a/docs/module-doc/functions_func_0x67.html +++ /dev/null @@ -1,62 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- g -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x68.html b/docs/module-doc/functions_func_0x68.html deleted file mode 100644 index ae42ac965..000000000 --- a/docs/module-doc/functions_func_0x68.html +++ /dev/null @@ -1,24 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- h -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x69.html b/docs/module-doc/functions_func_0x69.html deleted file mode 100644 index 22bb03e61..000000000 --- a/docs/module-doc/functions_func_0x69.html +++ /dev/null @@ -1,31 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- i -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x6a.html b/docs/module-doc/functions_func_0x6a.html deleted file mode 100644 index 7d2a9b796..000000000 --- a/docs/module-doc/functions_func_0x6a.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- j -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x6c.html b/docs/module-doc/functions_func_0x6c.html deleted file mode 100644 index 51f2cb434..000000000 --- a/docs/module-doc/functions_func_0x6c.html +++ /dev/null @@ -1,25 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- l -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x6d.html b/docs/module-doc/functions_func_0x6d.html deleted file mode 100644 index a4766d914..000000000 --- a/docs/module-doc/functions_func_0x6d.html +++ /dev/null @@ -1,28 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- m -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x6e.html b/docs/module-doc/functions_func_0x6e.html deleted file mode 100644 index f32b12a72..000000000 --- a/docs/module-doc/functions_func_0x6e.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- n -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x6f.html b/docs/module-doc/functions_func_0x6f.html deleted file mode 100644 index d3c7c0e4c..000000000 --- a/docs/module-doc/functions_func_0x6f.html +++ /dev/null @@ -1,107 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- o -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x70.html b/docs/module-doc/functions_func_0x70.html deleted file mode 100644 index 81509318b..000000000 --- a/docs/module-doc/functions_func_0x70.html +++ /dev/null @@ -1,27 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- p -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x71.html b/docs/module-doc/functions_func_0x71.html deleted file mode 100644 index cf226b0cf..000000000 --- a/docs/module-doc/functions_func_0x71.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- q -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x72.html b/docs/module-doc/functions_func_0x72.html deleted file mode 100644 index 659e40fbd..000000000 --- a/docs/module-doc/functions_func_0x72.html +++ /dev/null @@ -1,32 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- r -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x73.html b/docs/module-doc/functions_func_0x73.html deleted file mode 100644 index ff2432b4f..000000000 --- a/docs/module-doc/functions_func_0x73.html +++ /dev/null @@ -1,43 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- s -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x74.html b/docs/module-doc/functions_func_0x74.html deleted file mode 100644 index e4142329e..000000000 --- a/docs/module-doc/functions_func_0x74.html +++ /dev/null @@ -1,25 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- t -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x75.html b/docs/module-doc/functions_func_0x75.html deleted file mode 100644 index 1317a44ee..000000000 --- a/docs/module-doc/functions_func_0x75.html +++ /dev/null @@ -1,25 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- u -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x76.html b/docs/module-doc/functions_func_0x76.html deleted file mode 100644 index c1423a358..000000000 --- a/docs/module-doc/functions_func_0x76.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- v -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x77.html b/docs/module-doc/functions_func_0x77.html deleted file mode 100644 index 5278e02af..000000000 --- a/docs/module-doc/functions_func_0x77.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- w -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_func_0x7e.html b/docs/module-doc/functions_func_0x7e.html deleted file mode 100644 index 3ce7e7424..000000000 --- a/docs/module-doc/functions_func_0x7e.html +++ /dev/null @@ -1,36 +0,0 @@ - - -InspIRCd: Class Members - Functions - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | g | h | i | j | l | m | n | o | p | q | r | s | t | u | v | w | x | ~
- -

- -

-

- ~ -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/functions_vars.html b/docs/module-doc/functions_vars.html deleted file mode 100644 index e29fc7fd8..000000000 --- a/docs/module-doc/functions_vars.html +++ /dev/null @@ -1,255 +0,0 @@ - - -InspIRCd: Class Members - Variables - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Enumerator
-
a | b | c | d | e | f | h | i | k | l | m | n | o | p | r | s | t | u | w
- -

- -

-

- a -

-

- b -

-

- c -

-

- d -

-

- e -

-

- f -

-

- h -

-

- i -

-

- k -

-

- l -

-

- m -

-

- n -

-

- o -

-

- p -

-

- r -

-

- s -

-

- t -

-

- u -

-

- w -

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals.html b/docs/module-doc/globals.html deleted file mode 100644 index fca538ec7..000000000 --- a/docs/module-doc/globals.html +++ /dev/null @@ -1,50 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- a -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x62.html b/docs/module-doc/globals_0x62.html deleted file mode 100644 index e0065e94d..000000000 --- a/docs/module-doc/globals_0x62.html +++ /dev/null @@ -1,24 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- b -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x63.html b/docs/module-doc/globals_0x63.html deleted file mode 100644 index 992772a1b..000000000 --- a/docs/module-doc/globals_0x63.html +++ /dev/null @@ -1,56 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- c -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x64.html b/docs/module-doc/globals_0x64.html deleted file mode 100644 index a09d94be3..000000000 --- a/docs/module-doc/globals_0x64.html +++ /dev/null @@ -1,35 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- d -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x65.html b/docs/module-doc/globals_0x65.html deleted file mode 100644 index ed8af925a..000000000 --- a/docs/module-doc/globals_0x65.html +++ /dev/null @@ -1,28 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- e -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x66.html b/docs/module-doc/globals_0x66.html deleted file mode 100644 index 45a5eaa99..000000000 --- a/docs/module-doc/globals_0x66.html +++ /dev/null @@ -1,35 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- f -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x67.html b/docs/module-doc/globals_0x67.html deleted file mode 100644 index 67e571595..000000000 --- a/docs/module-doc/globals_0x67.html +++ /dev/null @@ -1,26 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- g -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x68.html b/docs/module-doc/globals_0x68.html deleted file mode 100644 index fef72991c..000000000 --- a/docs/module-doc/globals_0x68.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- h -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x69.html b/docs/module-doc/globals_0x69.html deleted file mode 100644 index ee507a5f3..000000000 --- a/docs/module-doc/globals_0x69.html +++ /dev/null @@ -1,41 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- i -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x6b.html b/docs/module-doc/globals_0x6b.html deleted file mode 100644 index 856c7e4de..000000000 --- a/docs/module-doc/globals_0x6b.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- k -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x6c.html b/docs/module-doc/globals_0x6c.html deleted file mode 100644 index 8239bcdaf..000000000 --- a/docs/module-doc/globals_0x6c.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- l -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x6d.html b/docs/module-doc/globals_0x6d.html deleted file mode 100644 index 25151fc35..000000000 --- a/docs/module-doc/globals_0x6d.html +++ /dev/null @@ -1,40 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- m -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x6e.html b/docs/module-doc/globals_0x6e.html deleted file mode 100644 index c8557d186..000000000 --- a/docs/module-doc/globals_0x6e.html +++ /dev/null @@ -1,24 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- n -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x6f.html b/docs/module-doc/globals_0x6f.html deleted file mode 100644 index 7c9b130af..000000000 --- a/docs/module-doc/globals_0x6f.html +++ /dev/null @@ -1,23 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- o -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x70.html b/docs/module-doc/globals_0x70.html deleted file mode 100644 index 372f9ebe0..000000000 --- a/docs/module-doc/globals_0x70.html +++ /dev/null @@ -1,21 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- p -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x71.html b/docs/module-doc/globals_0x71.html deleted file mode 100644 index 6e22621a6..000000000 --- a/docs/module-doc/globals_0x71.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- q -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x72.html b/docs/module-doc/globals_0x72.html deleted file mode 100644 index e52fa0833..000000000 --- a/docs/module-doc/globals_0x72.html +++ /dev/null @@ -1,24 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- r -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x73.html b/docs/module-doc/globals_0x73.html deleted file mode 100644 index 7e680ccca..000000000 --- a/docs/module-doc/globals_0x73.html +++ /dev/null @@ -1,37 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- s -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x74.html b/docs/module-doc/globals_0x74.html deleted file mode 100644 index e14f1504c..000000000 --- a/docs/module-doc/globals_0x74.html +++ /dev/null @@ -1,28 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- t -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x75.html b/docs/module-doc/globals_0x75.html deleted file mode 100644 index 9f7599b5c..000000000 --- a/docs/module-doc/globals_0x75.html +++ /dev/null @@ -1,26 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- u -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x76.html b/docs/module-doc/globals_0x76.html deleted file mode 100644 index 5b10daf6a..000000000 --- a/docs/module-doc/globals_0x76.html +++ /dev/null @@ -1,26 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- v -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x77.html b/docs/module-doc/globals_0x77.html deleted file mode 100644 index c7bc67dfe..000000000 --- a/docs/module-doc/globals_0x77.html +++ /dev/null @@ -1,36 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- w -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x78.html b/docs/module-doc/globals_0x78.html deleted file mode 100644 index 07a05f6d3..000000000 --- a/docs/module-doc/globals_0x78.html +++ /dev/null @@ -1,26 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- x -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_0x7a.html b/docs/module-doc/globals_0x7a.html deleted file mode 100644 index 73a600390..000000000 --- a/docs/module-doc/globals_0x7a.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
| All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | u | v | w | x | z
- -

-Here is a list of all file members with links to the files they belong to: -

-

- z -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_8h-source.html b/docs/module-doc/globals_8h-source.html deleted file mode 100644 index 86aa06e6a..000000000 --- a/docs/module-doc/globals_8h-source.html +++ /dev/null @@ -1,69 +0,0 @@ - - -InspIRCd: globals.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

globals.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __WORLD_H
-00018 #define __WORLD_H
-00019 
-00020 // include the common header files
-00021 
-00022 #include <typeinfo>
-00023 #include <iostream>
-00024 #include <string>
-00025 #include <deque>
-00026 #include "users.h"
-00027 #include "channels.h"
-00028 
-00029 typedef std::deque<std::string> file_cache;
-00030 
-00031 void WriteOpers(char* text, ...);
-00032 void log(int level, char *text, ...);
-00033 void Write(int sock,char *text, ...);
-00034 void WriteServ(int sock, char* text, ...);
-00035 void WriteFrom(int sock, userrec *user,char* text, ...);
-00036 void WriteTo(userrec *source, userrec *dest,char *data, ...);
-00037 void WriteChannel(chanrec* Ptr, userrec* user, char* text, ...);
-00038 void ChanExceptSender(chanrec* Ptr, userrec* user, char* text, ...);
-00039 int common_channels(userrec *u, userrec *u2);
-00040 void WriteCommon(userrec *u, char* text, ...);
-00041 void WriteCommonExcept(userrec *u, char* text, ...);
-00042 void WriteWallOps(userrec *source, bool local_only, char* text, ...);
-00043 int isnick(const char *n);
-00044 userrec* Find(std::string nick);
-00045 chanrec* FindChan(const char* chan);
-00046 char* cmode(userrec *user, chanrec *chan);
-00047 std::string getservername();
-00048 std::string getnetworkname();
-00049 std::string getadminname();
-00050 std::string getadminemail();
-00051 std::string getadminnick();
-00052 void readfile(file_cache &F, const char* fname);
-00053 int ModeDefiend(char c, int i);
-00054 
-00055 #endif
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_8h.html b/docs/module-doc/globals_8h.html deleted file mode 100644 index 54b3b3438..000000000 --- a/docs/module-doc/globals_8h.html +++ /dev/null @@ -1,1020 +0,0 @@ - - -InspIRCd: globals.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

globals.h File Reference

#include <typeinfo>
-#include <iostream>
-#include <string>
-#include <deque>
-#include "users.h"
-#include "channels.h"
- -

-Include dependency graph for globals.h:

- - - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Typedefs

typedef std::deque< std::stringfile_cache

Functions

void WriteOpers (char *text,...)
void log (int level, char *text,...)
void Write (int sock, char *text,...)
void WriteServ (int sock, char *text,...)
void WriteFrom (int sock, userrec *user, char *text,...)
void WriteTo (userrec *source, userrec *dest, char *data,...)
void WriteChannel (chanrec *Ptr, userrec *user, char *text,...)
void ChanExceptSender (chanrec *Ptr, userrec *user, char *text,...)
int common_channels (userrec *u, userrec *u2)
void WriteCommon (userrec *u, char *text,...)
void WriteCommonExcept (userrec *u, char *text,...)
void WriteWallOps (userrec *source, bool local_only, char *text,...)
int isnick (const char *n)
userrecFind (std::string nick)
chanrecFindChan (const char *chan)
char * cmode (userrec *user, chanrec *chan)
std::string getservername ()
std::string getnetworkname ()
std::string getadminname ()
std::string getadminemail ()
std::string getadminnick ()
void readfile (file_cache &F, const char *fname)
int ModeDefiend (char c, int i)
-


Typedef Documentation

-

- - - - -
- - - - -
typedef std::deque<std::string> file_cache
-
- - - - - -
-   - - -

- -

-Definition at line 29 of file globals.h.

-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void ChanExceptSender chanrec Ptr,
userrec user,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by Server::SendChannel().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
char* cmode userrec user,
chanrec chan
-
- - - - - -
-   - - -

- -

-Referenced by Server::ChanMode().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int common_channels userrec u,
userrec u2
-
- - - - - -
-   - - -

- -

-Referenced by Server::CommonChannels().

-

- - - - -
- - - - - - - - - -
userrec* Find std::string  nick  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::FindNick().

-

- - - - -
- - - - - - - - - -
chanrec* FindChan const char *  chan  ) 
-
- - - - - -
-   - - -

- -

-Referenced by add_channel(), del_channel(), and Server::FindChannel().

-

- - - - -
- - - - - - - - -
std::string getadminemail  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
std::string getadminname  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
std::string getadminnick  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
std::string getnetworkname  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
std::string getservername  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int isnick const char *  n  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::IsNick().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void log int  level,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by add_channel(), AddClient(), Server::AddExtendedMode(), SocketEngine::AddFd(), AddOper(), chanrec::AddUser(), AddWhoWas(), del_channel(), DeleteOper(), SocketEngine::DelFd(), chanrec::DelUser(), ForceChan(), FullConnectUser(), InspSocket::InspSocket(), kick_channel(), kill_link(), kill_link_silent(), Server::Log(), InspSocket::Read(), ReHashNick(), userrec::RemoveInvite(), chanrec::SetCustomMode(), chanrec::SetCustomModeParam(), InspSocket::SetState(), userrec::SetWriteError(), SocketEngine::SocketEngine(), and SocketEngine::~SocketEngine().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ModeDefiend char  c,
int  i
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void readfile file_cache F,
const char *  fname
-
- - - - - -
-   - - -

- -

-Referenced by FileReader::FileReader(), and FileReader::LoadFile().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void Write int  sock,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by kill_link(), kill_link_silent(), Server::PseudoToUser(), Server::Send(), Server::SendTo(), and Server::UserToPseudo().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void WriteChannel chanrec Ptr,
userrec user,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by del_channel(), ForceChan(), kick_channel(), and Server::SendChannel().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void WriteCommon userrec u,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by Server::SendCommon().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void WriteCommonExcept userrec u,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by kill_link(), kill_link_silent(), and Server::SendCommon().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void WriteFrom int  sock,
userrec user,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by Server::PseudoToUser(), and Server::SendFrom().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void WriteOpers char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by userrec::AddBuffer(), userrec::AddWriteBuf(), ConfigReader::DumpErrors(), FullConnectUser(), kill_link(), Server::RehashServer(), and Server::SendOpers().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void WriteServ int  sock,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by add_channel(), ConfigReader::DumpErrors(), ForceChan(), FullConnectUser(), kick_channel(), Server::PseudoToUser(), and Server::SendServ().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void WriteTo userrec source,
userrec dest,
char *  data,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by Server::SendTo().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void WriteWallOps userrec source,
bool  local_only,
char *  text,
  ...
-
- - - - - -
-   - - -

- -

-Referenced by Server::SendWallops().

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_8h__dep__incl.gif b/docs/module-doc/globals_8h__dep__incl.gif deleted file mode 100644 index 4b448d416..000000000 Binary files a/docs/module-doc/globals_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/globals_8h__dep__incl.map b/docs/module-doc/globals_8h__dep__incl.map deleted file mode 100644 index 20b679adc..000000000 --- a/docs/module-doc/globals_8h__dep__incl.map +++ /dev/null @@ -1,7 +0,0 @@ -base referer -rect $channels_8cpp-source.html 305,57 404,84 -rect $modules_8cpp-source.html 305,133 404,160 -rect $socketengine_8cpp-source.html 292,235 417,261 -rect $inspircd__io_8h-source.html 140,57 236,84 -rect $socketengine_8h-source.html 132,209 244,236 -rect $typedefs_8h-source.html 145,108 231,135 diff --git a/docs/module-doc/globals_8h__dep__incl.md5 b/docs/module-doc/globals_8h__dep__incl.md5 deleted file mode 100644 index 5b28fd8e6..000000000 --- a/docs/module-doc/globals_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1ef247aba7c18e92a4fa5c62345d5980 \ No newline at end of file diff --git a/docs/module-doc/globals_8h__incl.gif b/docs/module-doc/globals_8h__incl.gif deleted file mode 100644 index aa3102969..000000000 Binary files a/docs/module-doc/globals_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/globals_8h__incl.map b/docs/module-doc/globals_8h__incl.map deleted file mode 100644 index 8a8679da5..000000000 --- a/docs/module-doc/globals_8h__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $users_8h-source.html 138,260 202,287 -rect $channels_8h-source.html 262,159 347,185 -rect $connection_8h-source.html 255,311 354,337 -rect $hashcomp_8h-source.html 258,361 351,388 diff --git a/docs/module-doc/globals_8h__incl.md5 b/docs/module-doc/globals_8h__incl.md5 deleted file mode 100644 index 29705f0ba..000000000 --- a/docs/module-doc/globals_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -578c3aa06350d981bcd02180a126f6e8 \ No newline at end of file diff --git a/docs/module-doc/globals_defs.html b/docs/module-doc/globals_defs.html deleted file mode 100644 index c599e2bda..000000000 --- a/docs/module-doc/globals_defs.html +++ /dev/null @@ -1,106 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | c | d | e | f | i | m | n | s | t | u | v | w
- -

- -

-

- a -

-

- c -

-

- d -

-

- e -

-

- f -

-

- i -

-

- m -

-

- n -

-

- s -

-

- t -

-

- u -

-

- v -

-

- w -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_enum.html b/docs/module-doc/globals_enum.html deleted file mode 100644 index fe8d4ce54..000000000 --- a/docs/module-doc/globals_enum.html +++ /dev/null @@ -1,19 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
- -

-

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_eval.html b/docs/module-doc/globals_eval.html deleted file mode 100644 index 51c2ba039..000000000 --- a/docs/module-doc/globals_eval.html +++ /dev/null @@ -1,26 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
- -

-

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_func.html b/docs/module-doc/globals_func.html deleted file mode 100644 index d6aa99d53..000000000 --- a/docs/module-doc/globals_func.html +++ /dev/null @@ -1,178 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | b | c | d | e | f | g | h | i | k | l | m | n | o | p | q | r | s | t | w | z
- -

- -

-

- a -

-

- b -

-

- c -

-

- d -

-

- e -

-

- f -

-

- g -

-

- h -

-

- i -

-

- k -

-

- l -

-

- m -

-

- n -

-

- o -

-

- p -

-

- q -

-

- r -

-

- s -

-

- t -

-

- w -

-

- z -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_type.html b/docs/module-doc/globals_type.html deleted file mode 100644 index b717693a1..000000000 --- a/docs/module-doc/globals_type.html +++ /dev/null @@ -1,36 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
- -

-

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/globals_vars.html b/docs/module-doc/globals_vars.html deleted file mode 100644 index 93c4b21d6..000000000 --- a/docs/module-doc/globals_vars.html +++ /dev/null @@ -1,71 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Functions | Variables | Typedefs | Enumerations | Enumerator | Defines
-
a | c | e | f | l | m | r | s | t | w | x
- -

- -

-

- a -

-

- c -

-

- e -

-

- f -

-

- l -

-

- m -

-

- r -

-

- s -

-

- t -

-

- w -

-

- x -

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/graph_legend.dot b/docs/module-doc/graph_legend.dot deleted file mode 100644 index 5420927dd..000000000 --- a/docs/module-doc/graph_legend.dot +++ /dev/null @@ -1,22 +0,0 @@ -digraph G -{ - edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10]; - node [fontname="Helvetica",fontsize=10,shape=record]; - Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",style="filled" fontcolor="white"]; - Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"]; - Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"]; - Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="Helvetica"]; - Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"]; - Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="Helvetica"]; - Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"]; - Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="grey75"]; - Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"]; - Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; - Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="Helvetica"]; - Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"]; - Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="Helvetica"]; - Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"]; -} diff --git a/docs/module-doc/graph_legend.gif b/docs/module-doc/graph_legend.gif deleted file mode 100644 index 865472e8c..000000000 Binary files a/docs/module-doc/graph_legend.gif and /dev/null differ diff --git a/docs/module-doc/graph_legend.html b/docs/module-doc/graph_legend.html deleted file mode 100644 index 23d350642..000000000 --- a/docs/module-doc/graph_legend.html +++ /dev/null @@ -1,74 +0,0 @@ - - -InspIRCd: Graph Legend - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

Graph Legend

This page explains how to interpret the graphs that are generated by doxygen.

-Consider the following example:

/*! Invisible class because of truncation */
-class Invisible { };
-
-/*! Truncated class, inheritance relation is hidden */
-class Truncated : public Invisible { };
-
-/* Class not documented with doxygen comments */
-class Undocumented { };
-
-/*! Class that is inherited using public inheritance */
-class PublicBase : public Truncated { };
-
-/*! A template class */
-template<class T> class Templ { };
-
-/*! Class that is inherited using protected inheritance */
-class ProtectedBase { };
-
-/*! Class that is inherited using private inheritance */
-class PrivateBase { };
-
-/*! Class that is used by the Inherited class */
-class Used { };
-
-/*! Super class that inherits a number of other classes */
-class Inherited : public PublicBase,
-                  protected ProtectedBase,
-                  private PrivateBase,
-                  public Undocumented
-                  public Templ<int>
-{
-  private:
-    Used *m_usedClass;
-};
-
If the MAX_DOT_GRAPH_HEIGHT tag in the configuration file is set to 240 this will result in the following graph:

-

-graph_legend.gif -
-

-The boxes in the above graph have the following meaning:

-The arrows have the following meaning: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/hashcomp_8h-source.html b/docs/module-doc/hashcomp_8h-source.html deleted file mode 100644 index 68438e5ca..000000000 --- a/docs/module-doc/hashcomp_8h-source.html +++ /dev/null @@ -1,116 +0,0 @@ - - -InspIRCd: hashcomp.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

hashcomp.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef _HASHCOMP_H_
-00018 #define _HASHCOMP_H_
-00019 
-00020 #include "inspircd_config.h"
-00021 
-00022 /*******************************************************
-00023  * This file contains classes and templates that deal
-00024  * with the comparison and hashing of 'irc strings'.
-00025  * An 'irc string' is a string which compares in a
-00026  * case insensitive manner, and as per RFC 1459 will
-00027  * treat [ identical to {, ] identical to }, and \
-00028  * as identical to |.
-00029  *
-00030  * Our hashing functions are designed  to accept
-00031  * std::string and compare/hash them as type irc::string
-00032  * by converting them internally. This makes them
-00033  * backwards compatible with other code which is not
-00034  * aware of irc::string.
-00035  *******************************************************/
-00036 
-00037 #ifdef GCC3
-00038 #include <ext/hash_map>
-00039 #else
-00040 #include <hash_map>
-00041 #endif
-00042 
-00043 #ifdef GCC3
-00044 #define nspace __gnu_cxx
-00045 #else
-00046 #define nspace std
-00047 #endif
-00048 
-00049 using namespace std;
-00050 
-00051 namespace nspace
-00052 {
-00053 #ifdef GCC34
-00054         template<> struct hash<in_addr>
-00055 #else
-00056         template<> struct nspace::hash<in_addr>
-00057 #endif
-00058         {
-00059                 size_t operator()(const struct in_addr &a) const;
-00060         };
-00061 #ifdef GCC34
-00062         template<> struct hash<string>
-00063 #else
-00064         template<> struct nspace::hash<string>
-00065 #endif
-00066         {
-00067                 size_t operator()(const string &s) const;
-00068         };
-00069 }
-00070 
-00073 namespace irc
-00074 {
-00075 
-00080         struct StrHashComp
-00081         {
-00084                 bool operator()(const std::string& s1, const std::string& s2) const;
-00085         };
-00086 
-00087 
-00092         struct InAddr_HashComp
-00093         {
-00096                 bool operator()(const in_addr &s1, const in_addr &s2) const;
-00097         };
-00098 
-00099 
-00104         struct irc_char_traits : std::char_traits<char> {
-00105 
-00108                 static bool eq(char c1st, char c2nd);
-00109 
-00112                 static bool ne(char c1st, char c2nd);
-00113 
-00116                 static bool lt(char c1st, char c2nd);
-00117 
-00120                 static int compare(const char* str1, const char* str2, size_t n);
-00121 
-00124                 static const char* find(const char* s1, int  n, char c);
-00125         };
-00126 
-00129         typedef basic_string<char, irc_char_traits, allocator<char> > string;
-00130 }
-00131 
-00132 #endif
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/hashcomp_8h.html b/docs/module-doc/hashcomp_8h.html deleted file mode 100644 index 0568aa6ec..000000000 --- a/docs/module-doc/hashcomp_8h.html +++ /dev/null @@ -1,87 +0,0 @@ - - -InspIRCd: hashcomp.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

hashcomp.h File Reference

#include "inspircd_config.h"
-#include <ext/hash_map>
- -

-Include dependency graph for hashcomp.h:

- -

-This graph shows which files directly or indirectly include this file:

- - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Namespaces

namespace  nspace
namespace  irc

Classes

struct  nspace::hash< in_addr >
struct  nspace::hash< string >
struct  irc::StrHashComp
 This class returns true if two strings match. More...
struct  irc::InAddr_HashComp
 This class returns true if two in_addr structs match. More...
struct  irc::irc_char_traits
 The irc_char_traits class is used for RFC-style comparison of strings. More...

Defines

#define nspace   __gnu_cxx

Typedefs

typedef basic_string< char,
- irc_char_traits, allocator<
- char > > 
irc::string
 This typedef declares irc::string based upon irc_char_traits.
-


Define Documentation

-

- - - - -
- - - - -
#define nspace   __gnu_cxx
-
- - - - - -
-   - - -

- -

-Definition at line 44 of file hashcomp.h.

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/hashcomp_8h__dep__incl.gif b/docs/module-doc/hashcomp_8h__dep__incl.gif deleted file mode 100644 index d3caf5979..000000000 Binary files a/docs/module-doc/hashcomp_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/hashcomp_8h__dep__incl.map b/docs/module-doc/hashcomp_8h__dep__incl.map deleted file mode 100644 index 8e8539c82..000000000 --- a/docs/module-doc/hashcomp_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $modules_8cpp-source.html 399,58 497,84 -rect $users_8cpp-source.html 408,159 488,186 -rect $users_8h-source.html 152,108 216,135 -rect $typedefs_8h-source.html 265,58 351,84 diff --git a/docs/module-doc/hashcomp_8h__dep__incl.md5 b/docs/module-doc/hashcomp_8h__dep__incl.md5 deleted file mode 100644 index cad960de2..000000000 --- a/docs/module-doc/hashcomp_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -5670628fe56960fde1c1a397ce860733 \ No newline at end of file diff --git a/docs/module-doc/hashcomp_8h__incl.gif b/docs/module-doc/hashcomp_8h__incl.gif deleted file mode 100644 index a742a4c23..000000000 Binary files a/docs/module-doc/hashcomp_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/hashcomp_8h__incl.map b/docs/module-doc/hashcomp_8h__incl.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/hashcomp_8h__incl.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/hashcomp_8h__incl.md5 b/docs/module-doc/hashcomp_8h__incl.md5 deleted file mode 100644 index fcd8e0e15..000000000 --- a/docs/module-doc/hashcomp_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -fa613372646e958b5b158cf4f689f921 \ No newline at end of file diff --git a/docs/module-doc/hierarchy.html b/docs/module-doc/hierarchy.html deleted file mode 100644 index 1cd7fc799..000000000 --- a/docs/module-doc/hierarchy.html +++ /dev/null @@ -1,83 +0,0 @@ - - -InspIRCd: Hierarchical Index - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Class Hierarchy

Go to the graphical class hierarchy -

-This inheritance list is sorted roughly, but not completely, alphabetically:

-
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/index.html b/docs/module-doc/index.html deleted file mode 100644 index 212bbdf53..000000000 --- a/docs/module-doc/index.html +++ /dev/null @@ -1,8 +0,0 @@ - - -InspIRCd - - - - - diff --git a/docs/module-doc/inherit__graph__0.gif b/docs/module-doc/inherit__graph__0.gif deleted file mode 100644 index f06371899..000000000 Binary files a/docs/module-doc/inherit__graph__0.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__0.map b/docs/module-doc/inherit__graph__0.map deleted file mode 100644 index 360388e46..000000000 --- a/docs/module-doc/inherit__graph__0.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classAES.html 7,7 57,33 diff --git a/docs/module-doc/inherit__graph__0.md5 b/docs/module-doc/inherit__graph__0.md5 deleted file mode 100644 index 0da62c0cd..000000000 --- a/docs/module-doc/inherit__graph__0.md5 +++ /dev/null @@ -1 +0,0 @@ -4c1910dbd53656eee7c5c84fc773f193 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__1.gif b/docs/module-doc/inherit__graph__1.gif deleted file mode 100644 index 10261dc21..000000000 Binary files a/docs/module-doc/inherit__graph__1.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__1.map b/docs/module-doc/inherit__graph__1.map deleted file mode 100644 index 09d914fed..000000000 --- a/docs/module-doc/inherit__graph__1.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classBoolSet.html 7,7 76,33 diff --git a/docs/module-doc/inherit__graph__1.md5 b/docs/module-doc/inherit__graph__1.md5 deleted file mode 100644 index 0d55dc8ff..000000000 --- a/docs/module-doc/inherit__graph__1.md5 +++ /dev/null @@ -1 +0,0 @@ -93d9e4fbc2d3cddda9a76d7441754f2b \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__10.gif b/docs/module-doc/inherit__graph__10.gif deleted file mode 100644 index b68f09f13..000000000 Binary files a/docs/module-doc/inherit__graph__10.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__10.map b/docs/module-doc/inherit__graph__10.map deleted file mode 100644 index 9f8c7b021..000000000 --- a/docs/module-doc/inherit__graph__10.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classInspSocket.html 7,7 95,33 diff --git a/docs/module-doc/inherit__graph__10.md5 b/docs/module-doc/inherit__graph__10.md5 deleted file mode 100644 index d2ac3e742..000000000 --- a/docs/module-doc/inherit__graph__10.md5 +++ /dev/null @@ -1 +0,0 @@ -866431d87448beeff03effa477cb0785 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__11.gif b/docs/module-doc/inherit__graph__11.gif deleted file mode 100644 index 2c759987a..000000000 Binary files a/docs/module-doc/inherit__graph__11.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__11.map b/docs/module-doc/inherit__graph__11.map deleted file mode 100644 index dad9d9fcd..000000000 --- a/docs/module-doc/inherit__graph__11.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structirc_1_1InAddr__HashComp.html 7,7 164,33 diff --git a/docs/module-doc/inherit__graph__11.md5 b/docs/module-doc/inherit__graph__11.md5 deleted file mode 100644 index 9496775c7..000000000 --- a/docs/module-doc/inherit__graph__11.md5 +++ /dev/null @@ -1 +0,0 @@ -3c2c67e0c9a15d3aaf7860ffcd39768e \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__12.gif b/docs/module-doc/inherit__graph__12.gif deleted file mode 100644 index ead171060..000000000 Binary files a/docs/module-doc/inherit__graph__12.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__12.map b/docs/module-doc/inherit__graph__12.map deleted file mode 100644 index 8c67f4a72..000000000 --- a/docs/module-doc/inherit__graph__12.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structirc_1_1StrHashComp.html 7,7 135,33 diff --git a/docs/module-doc/inherit__graph__12.md5 b/docs/module-doc/inherit__graph__12.md5 deleted file mode 100644 index b62920d1d..000000000 --- a/docs/module-doc/inherit__graph__12.md5 +++ /dev/null @@ -1 +0,0 @@ -d94ccc9245ee31c76282e2c8ed0c0bb2 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__13.gif b/docs/module-doc/inherit__graph__13.gif deleted file mode 100644 index 8c35d516a..000000000 Binary files a/docs/module-doc/inherit__graph__13.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__13.map b/docs/module-doc/inherit__graph__13.map deleted file mode 100644 index d4722becd..000000000 --- a/docs/module-doc/inherit__graph__13.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classModeParser.html 8,7 101,33 diff --git a/docs/module-doc/inherit__graph__13.md5 b/docs/module-doc/inherit__graph__13.md5 deleted file mode 100644 index 5703aac8a..000000000 --- a/docs/module-doc/inherit__graph__13.md5 +++ /dev/null @@ -1 +0,0 @@ -f8e776a077ef5ca7f74ae7545b260b83 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__14.gif b/docs/module-doc/inherit__graph__14.gif deleted file mode 100644 index dfb0c4c56..000000000 Binary files a/docs/module-doc/inherit__graph__14.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__14.map b/docs/module-doc/inherit__graph__14.map deleted file mode 100644 index e91564620..000000000 --- a/docs/module-doc/inherit__graph__14.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structnspace_1_1hash_3_01in__addr_01_4.html 8,7 176,33 diff --git a/docs/module-doc/inherit__graph__14.md5 b/docs/module-doc/inherit__graph__14.md5 deleted file mode 100644 index 9c5f939fc..000000000 --- a/docs/module-doc/inherit__graph__14.md5 +++ /dev/null @@ -1 +0,0 @@ -40e92872c26375b92021bb12d46d2211 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__15.gif b/docs/module-doc/inherit__graph__15.gif deleted file mode 100644 index e79f9b374..000000000 Binary files a/docs/module-doc/inherit__graph__15.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__15.map b/docs/module-doc/inherit__graph__15.map deleted file mode 100644 index cf6c39bc6..000000000 --- a/docs/module-doc/inherit__graph__15.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structnspace_1_1hash_3_01string_01_4.html 7,7 164,33 diff --git a/docs/module-doc/inherit__graph__15.md5 b/docs/module-doc/inherit__graph__15.md5 deleted file mode 100644 index 354478843..000000000 --- a/docs/module-doc/inherit__graph__15.md5 +++ /dev/null @@ -1 +0,0 @@ -317e8030ba500855ca30d38cc6449d34 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__2.gif b/docs/module-doc/inherit__graph__2.gif deleted file mode 100644 index e18fe591e..000000000 Binary files a/docs/module-doc/inherit__graph__2.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__2.map b/docs/module-doc/inherit__graph__2.map deleted file mode 100644 index 2fef6e5ed..000000000 --- a/docs/module-doc/inherit__graph__2.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classstd_1_1char__traits.html 8,7 91,33 -rect $structirc_1_1irc__char__traits.html 140,7 268,33 diff --git a/docs/module-doc/inherit__graph__2.md5 b/docs/module-doc/inherit__graph__2.md5 deleted file mode 100644 index 9dc9f695d..000000000 --- a/docs/module-doc/inherit__graph__2.md5 +++ /dev/null @@ -1 +0,0 @@ -9b6f095874e1ac542b37f925a223adb0 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__3.gif b/docs/module-doc/inherit__graph__3.gif deleted file mode 100644 index 5c2a461da..000000000 Binary files a/docs/module-doc/inherit__graph__3.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__3.map b/docs/module-doc/inherit__graph__3.map deleted file mode 100644 index 750f8121b..000000000 --- a/docs/module-doc/inherit__graph__3.map +++ /dev/null @@ -1,32 +0,0 @@ -base referer -rect $classclassbase.html 8,412 88,439 -rect $classAdmin.html 167,7 228,33 -rect $classConfigReader.html 146,57 250,84 -rect $classConnectClass.html 146,108 250,135 -rect $classExtensible.html 156,159 239,185 -rect $classExtMode.html 160,209 235,236 -rect $classFileReader.html 154,260 242,287 -rect $classHostItem.html 160,311 235,337 -rect $classInvited.html 167,361 228,388 -rect $classModeParameter.html 139,412 256,439 -rect $classModule.html 164,463 231,489 -rect $classModuleFactory.html 143,513 252,540 -rect $classModuleMessage.html 138,564 258,591 -rect $classServer.html 167,615 228,641 -rect $classServerConfig.html 147,665 248,692 -rect $classucrec.html 171,716 224,743 -rect $classVersion.html 164,767 231,793 -rect $classXLine.html 170,817 226,844 -rect $classchanrec.html 319,133 388,160 -rect $classconnection.html 311,184 396,211 -rect $classuserrec.html 450,184 516,211 -rect $classBanItem.html 318,260 390,287 -rect $classExemptItem.html 307,311 400,337 -rect $classInviteItem.html 314,361 394,388 -rect $classEvent.html 326,539 382,565 -rect $classRequest.html 318,589 390,616 -rect $classELine.html 326,716 382,743 -rect $classGLine.html 324,767 383,793 -rect $classKLine.html 326,817 382,844 -rect $classQLine.html 324,868 383,895 -rect $classZLine.html 326,919 382,945 diff --git a/docs/module-doc/inherit__graph__3.md5 b/docs/module-doc/inherit__graph__3.md5 deleted file mode 100644 index 2b3aa861f..000000000 --- a/docs/module-doc/inherit__graph__3.md5 +++ /dev/null @@ -1 +0,0 @@ -8b70355902672fcff82486b7fba0d379 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__4.gif b/docs/module-doc/inherit__graph__4.gif deleted file mode 100644 index 57fb274d5..000000000 Binary files a/docs/module-doc/inherit__graph__4.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__4.map b/docs/module-doc/inherit__graph__4.map deleted file mode 100644 index 0d7b60b2b..000000000 --- a/docs/module-doc/inherit__graph__4.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $classcommand__t.html 8,7 99,33 -rect $classcmd__mode.html 149,7 237,33 diff --git a/docs/module-doc/inherit__graph__4.md5 b/docs/module-doc/inherit__graph__4.md5 deleted file mode 100644 index 97c80f0e2..000000000 --- a/docs/module-doc/inherit__graph__4.md5 +++ /dev/null @@ -1 +0,0 @@ -3dde6dbafbcda9e1b64a7ed5d68e5a93 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__5.gif b/docs/module-doc/inherit__graph__5.gif deleted file mode 100644 index 1d3c8d177..000000000 Binary files a/docs/module-doc/inherit__graph__5.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__5.map b/docs/module-doc/inherit__graph__5.map deleted file mode 100644 index 286852f67..000000000 --- a/docs/module-doc/inherit__graph__5.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classCullItem.html 7,7 79,33 diff --git a/docs/module-doc/inherit__graph__5.md5 b/docs/module-doc/inherit__graph__5.md5 deleted file mode 100644 index c6ff1cc7d..000000000 --- a/docs/module-doc/inherit__graph__5.md5 +++ /dev/null @@ -1 +0,0 @@ -04d1a5175492509e76bb27f8c708e6ac \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__6.gif b/docs/module-doc/inherit__graph__6.gif deleted file mode 100644 index 8c7af2d72..000000000 Binary files a/docs/module-doc/inherit__graph__6.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__6.map b/docs/module-doc/inherit__graph__6.map deleted file mode 100644 index 1b2802457..000000000 --- a/docs/module-doc/inherit__graph__6.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classCullList.html 7,7 73,33 diff --git a/docs/module-doc/inherit__graph__6.md5 b/docs/module-doc/inherit__graph__6.md5 deleted file mode 100644 index df7340bb1..000000000 --- a/docs/module-doc/inherit__graph__6.md5 +++ /dev/null @@ -1 +0,0 @@ -fc7a10efd1ef64cd67f77b97165cd78b \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__7.gif b/docs/module-doc/inherit__graph__7.gif deleted file mode 100644 index b55141572..000000000 Binary files a/docs/module-doc/inherit__graph__7.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__7.map b/docs/module-doc/inherit__graph__7.map deleted file mode 100644 index 56a3b7703..000000000 --- a/docs/module-doc/inherit__graph__7.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classDNS.html 7,7 57,33 diff --git a/docs/module-doc/inherit__graph__7.md5 b/docs/module-doc/inherit__graph__7.md5 deleted file mode 100644 index 3644e817a..000000000 --- a/docs/module-doc/inherit__graph__7.md5 +++ /dev/null @@ -1 +0,0 @@ -d39d1604b95cefdfc240566a784bc1e0 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__8.gif b/docs/module-doc/inherit__graph__8.gif deleted file mode 100644 index f657b86ad..000000000 Binary files a/docs/module-doc/inherit__graph__8.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__8.map b/docs/module-doc/inherit__graph__8.map deleted file mode 100644 index 37bcc6048..000000000 --- a/docs/module-doc/inherit__graph__8.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $structdns__ip4list.html 7,7 92,33 diff --git a/docs/module-doc/inherit__graph__8.md5 b/docs/module-doc/inherit__graph__8.md5 deleted file mode 100644 index a570a57e1..000000000 --- a/docs/module-doc/inherit__graph__8.md5 +++ /dev/null @@ -1 +0,0 @@ -f91f9b746cbe9764b077e0f96e3d53c0 \ No newline at end of file diff --git a/docs/module-doc/inherit__graph__9.gif b/docs/module-doc/inherit__graph__9.gif deleted file mode 100644 index 0f004ad81..000000000 Binary files a/docs/module-doc/inherit__graph__9.gif and /dev/null differ diff --git a/docs/module-doc/inherit__graph__9.map b/docs/module-doc/inherit__graph__9.map deleted file mode 100644 index ac2c9ebe9..000000000 --- a/docs/module-doc/inherit__graph__9.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classInspIRCd.html 7,7 84,33 diff --git a/docs/module-doc/inherit__graph__9.md5 b/docs/module-doc/inherit__graph__9.md5 deleted file mode 100644 index d6b0d6c87..000000000 --- a/docs/module-doc/inherit__graph__9.md5 +++ /dev/null @@ -1 +0,0 @@ -027440a4e7d81cbfbc813d6bda090a43 \ No newline at end of file diff --git a/docs/module-doc/inherits.html b/docs/module-doc/inherits.html deleted file mode 100644 index 78508977d..000000000 --- a/docs/module-doc/inherits.html +++ /dev/null @@ -1,124 +0,0 @@ - - -InspIRCd: Graphical Class Hierarchy - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Graphical Class Hierarchy

Go to the textual class hierarchy -

- - - - - - - - - - - - - - - - - - - - -
- - -
- - -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
-


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/inspircd.doxygen.css b/docs/module-doc/inspircd.doxygen.css deleted file mode 100644 index 24a825b40..000000000 --- a/docs/module-doc/inspircd.doxygen.css +++ /dev/null @@ -1,315 +0,0 @@ -BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { - font-family: Geneva, Arial, Helvetica, sans-serif; -} -BODY,TD { - font-size: 90%; -} -H1 { - text-align: center; - font-size: 160%; -} -H2 { - font-size: 120%; -} -H3 { - font-size: 100%; -} -CAPTION { font-weight: bold } -DIV.qindex { - width: 100%; - background-color: #e0e0e0; - border: 1px solid #202020; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.nav { - width: 100%; - background-color: #e0e0e0; - border: 1px solid #202020; - text-align: center; - margin: 2px; - padding: 2px; - line-height: 140%; -} -DIV.navtab { - background-color: #e0e0e0; - border: 1px solid #202020; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} -TD.navtab { - font-size: 70%; -} -A.qindex { - text-decoration: none; - font-weight: bold; - color: #404040; -} -A.qindex:visited { - text-decoration: none; - font-weight: bold; - color: #404040 -} -A.qindex:hover { - text-decoration: none; - background-color: #A3A4B9; -} -A.qindexHL { - text-decoration: none; - font-weight: bold; - background-color: #6E6E76; - color: #ffffff; - border: 1px double #A1A3B1; -} -A.qindexHL:hover { - text-decoration: none; - background-color: #6E6E76; - color: #ffffff; -} -A.qindexHL:visited { text-decoration: none; background-color: #6E6E76; color: #ffffff } -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} -A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} -A.codeRef:link { font-weight: normal; color: #0000FF} -A.codeRef:visited { font-weight: normal; color: #0000FF} -A:hover { text-decoration: none; background-color: #f2f2ff } -DL.el { margin-left: -1cm } -.fragment { - font-family: Fixed, monospace; - font-size: 95%; -} -PRE.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - margin-top: 4px; - margin-bottom: 4px; - margin-left: 2px; - margin-right: 8px; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; -} -DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: #F4F4FB; font-weight: bold; } -TD.mdPrefix { - background-color: #F4F4FB; - color: #606060; - font-size: 80%; -} -TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } -TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} -DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } -BODY { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} -TD.indexkey { - background-color: #eeeeff; - font-weight: bold; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TD.indexvalue { - background-color: #eeeeff; - font-style: italic; - padding-right : 10px; - padding-top : 2px; - padding-left : 10px; - padding-bottom : 2px; - margin-left : 0px; - margin-right : 0px; - margin-top : 2px; - margin-bottom : 2px; - border: 1px solid #CCCCCC; -} -TR.memlist { - background-color: #f0f0f0; -} -P.formulaDsp { text-align: center; } -IMG.formulaDsp { } -IMG.formulaInl { vertical-align: middle; } -SPAN.keyword { color: #008000 } -SPAN.keywordtype { color: #604020 } -SPAN.keywordflow { color: #e08000 } -SPAN.comment { color: #800000 } -SPAN.preprocessor { color: #806020 } -SPAN.stringliteral { color: #002080 } -SPAN.charliteral { color: #008080 } -.mdTable { - border: 1px solid #868686; - background-color: #F4F4FB; -} -.mdRow { - padding: 8px 10px; -} -.mdescLeft { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.mdescRight { - padding: 0px 8px 4px 8px; - font-size: 80%; - font-style: italic; - background-color: #FAFAFA; - border-top: 1px none #E0E0E0; - border-right: 1px none #E0E0E0; - border-bottom: 1px none #E0E0E0; - border-left: 1px none #E0E0E0; - margin: 0px; -} -.memItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemLeft { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplItemRight { - padding: 1px 8px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: none; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - background-color: #FAFAFA; - font-size: 80%; -} -.memTemplParams { - padding: 1px 0px 0px 8px; - margin: 4px; - border-top-width: 1px; - border-right-width: 1px; - border-bottom-width: 1px; - border-left-width: 1px; - border-top-color: #E0E0E0; - border-right-color: #E0E0E0; - border-bottom-color: #E0E0E0; - border-left-color: #E0E0E0; - border-top-style: solid; - border-right-style: none; - border-bottom-style: none; - border-left-style: none; - color: #606060; - background-color: #FAFAFA; - font-size: 80%; -} -.search { color: #003399; - font-weight: bold; -} -FORM.search { - margin-bottom: 0px; - margin-top: 0px; -} -INPUT.search { font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #eeeeff; -} -TD.tiny { font-size: 75%; -} -a { - color: #000000; -} -a:visited { - color: #000000; -} -a:active { - color: #000000; -} -a:hover { - color: #000000; -} -.dirtab { padding: 4px; - border-collapse: collapse; - border: 1px solid #b0b0b0; -} -TH.dirtab { background: #eeeeff; - font-weight: bold; -} -HR { height: 1px; - border: none; - border-top: 1px solid black; -} diff --git a/docs/module-doc/inspircd_8h-source.html b/docs/module-doc/inspircd_8h-source.html deleted file mode 100644 index 7ef6b8649..000000000 --- a/docs/module-doc/inspircd_8h-source.html +++ /dev/null @@ -1,143 +0,0 @@ - - -InspIRCd: inspircd.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

inspircd.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __INSPIRCD_H__
-00018 #define __INSPIRCD_H__
-00019 
-00020 #include "inspircd_config.h"
-00021 #include <string>
-00022 #include <stdio.h>
-00023 #include <unistd.h>
-00024 #include <signal.h>
-00025 #include <time.h>
-00026 #include <netdb.h>
-00027 #include <string.h>
-00028 #include <errno.h>
-00029 #include <sys/types.h>
-00030 
-00031 #ifndef _LINUX_C_LIB_VERSION
-00032 #include <sys/socket.h>
-00033 #include <sys/stat.h>
-00034 #include <netinet/in.h>
-00035 #endif
-00036 
-00037 #include <arpa/inet.h>
-00038 #include <string>
-00039 #include <deque>
-00040 
-00041 #include "inspircd_io.h"
-00042 #include "users.h"
-00043 #include "channels.h"
-00044 #include "socket.h"
-00045 #include "mode.h"
-00046 #include "socketengine.h"
-00047 #include "command_parse.h"
-00048 
-00049 // some misc defines
-00050 
-00051 #define ERROR -1
-00052 #define TRUE 1
-00053 #define FALSE 0
-00054 #define MAXSOCKS 64
-00055 #define MAXCOMMAND 32
-00056 
-00057 /*
-00058 flags for use with WriteMode
-00059 
-00060 #define WM_AND 1
-00061 #define WM_OR 2
-00062 
-00063 flags for use with OnUserPreMessage and OnUserPreNotice
-00064 
-00065 #define TYPE_USER 1
-00066 #define TYPE_CHANNEL 2
-00067 #define TYPE_SERVER 3
-00068 
-00069 #define IS_LOCAL(x) (x->fd > -1)
-00070 #define IS_REMOTE(x) (x->fd < 0)
-00071 #define IS_MODULE_CREATED(x) (x->fd == FD_MAGIC_NUMBER)
-00072 */
-00073 
-00074 class serverstats
-00075 {
-00076   public:
-00077         int statsAccept;
-00078         int statsRefused;
-00079         int statsUnknown;
-00080         int statsCollisions;
-00081         int statsDns;
-00082         int statsDnsGood;
-00083         int statsDnsBad;
-00084         int statsConnects;
-00085         int statsSent;
-00086         int statsRecv;
-00087         int BoundPortCount;
-00088 
-00089         serverstats()
-00090         {
-00091                 statsAccept = statsRefused = statsUnknown = 0;
-00092                 statsCollisions = statsDns = statsDnsGood = 0;
-00093                 statsDnsBad = statsConnects = statsSent = statsRecv = 0;
-00094                 BoundPortCount = 0;
-00095         }
-00096 };
-00097 
-00098 
-00099 class InspIRCd
-00100 {
-00101 
-00102  private:
-00103         char MODERR[MAXBUF];
-00104         void erase_factory(int j);
-00105         void erase_module(int j);       
-00106 
-00107  public:
-00108         time_t startup_time;
-00109         ModeParser* ModeGrok;
-00110         CommandParser* Parser;
-00111         SocketEngine* SE;
-00112         serverstats* stats;
-00113 
-00114         void MakeLowerMap();
-00115         std::string GetRevision();
-00116         std::string GetVersionString();
-00117         char* ModuleError();
-00118         bool LoadModule(const char* filename);
-00119         bool UnloadModule(const char* filename);
-00120         InspIRCd(int argc, char** argv);
-00121         int Run();
-00122 
-00123 };
-00124 
-00125 /* userrec optimization stuff */
-00126 void AddServerName(std::string servername);
-00127 const char* FindServerNamePtr(std::string servername);
-00128 
-00129 #endif
-

Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/inspircd_8h.html b/docs/module-doc/inspircd_8h.html deleted file mode 100644 index 99429bc8c..000000000 --- a/docs/module-doc/inspircd_8h.html +++ /dev/null @@ -1,274 +0,0 @@ - - -InspIRCd: inspircd.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

inspircd.h File Reference

#include "inspircd_config.h"
-#include <string>
-#include <stdio.h>
-#include <unistd.h>
-#include <signal.h>
-#include <time.h>
-#include <netdb.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <deque>
-#include "inspircd_io.h"
-#include "users.h"
-#include "channels.h"
-#include "socket.h"
-#include "mode.h"
-#include "socketengine.h"
-#include "command_parse.h"
- -

-Include dependency graph for inspircd.h:

- - - - - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  serverstats
class  InspIRCd

Defines

#define ERROR   -1
#define TRUE   1
#define FALSE   0
#define MAXSOCKS   64
#define MAXCOMMAND   32

Functions

void AddServerName (std::string servername)
const char * FindServerNamePtr (std::string servername)
-


Define Documentation

-

- - - - -
- - - - -
#define ERROR   -1
-
- - - - - -
-   - - -

- -

-Definition at line 51 of file inspircd.h. -

-Referenced by InspSocket::InspSocket().

-

- - - - -
- - - - -
#define FALSE   0
-
- - - - - -
-   - - -

- -

-Definition at line 53 of file inspircd.h.

-

- - - - -
- - - - -
#define MAXCOMMAND   32
-
- - - - - -
-   - - -

- -

-Definition at line 55 of file inspircd.h.

-

- - - - -
- - - - -
#define MAXSOCKS   64
-
- - - - - -
-   - - -

- -

-Definition at line 54 of file inspircd.h.

-

- - - - -
- - - - -
#define TRUE   1
-
- - - - - -
-   - - -

- -

-Definition at line 52 of file inspircd.h.

-


Function Documentation

-

- - - - -
- - - - - - - - - -
void AddServerName std::string  servername  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
const char* FindServerNamePtr std::string  servername  ) 
-
- - - - - -
-   - - -

- -

-Referenced by AddClient(), and userrec::userrec().

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/inspircd_8h__dep__incl.gif b/docs/module-doc/inspircd_8h__dep__incl.gif deleted file mode 100644 index 2c276626e..000000000 Binary files a/docs/module-doc/inspircd_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/inspircd_8h__dep__incl.map b/docs/module-doc/inspircd_8h__dep__incl.map deleted file mode 100644 index 178f5356d..000000000 --- a/docs/module-doc/inspircd_8h__dep__incl.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $channels_8cpp-source.html 308,57 407,84 -rect $modules_8cpp-source.html 308,133 407,160 -rect $socket_8cpp-source.html 315,209 400,236 -rect $socketengine_8cpp-source.html 295,336 420,363 -rect $users_8cpp-source.html 318,260 398,287 -rect $inspircd__io_8h-source.html 143,57 239,84 -rect $socketengine_8h-source.html 135,260 247,287 -rect $typedefs_8h-source.html 148,108 234,135 -rect $userprocess_8h-source.html 139,412 243,439 diff --git a/docs/module-doc/inspircd_8h__dep__incl.md5 b/docs/module-doc/inspircd_8h__dep__incl.md5 deleted file mode 100644 index adcc670cb..000000000 --- a/docs/module-doc/inspircd_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ad3d11c83e25465927be164f7731df76 \ No newline at end of file diff --git a/docs/module-doc/inspircd_8h__incl.gif b/docs/module-doc/inspircd_8h__incl.gif deleted file mode 100644 index a86c8b53e..000000000 Binary files a/docs/module-doc/inspircd_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/inspircd_8h__incl.map b/docs/module-doc/inspircd_8h__incl.map deleted file mode 100644 index 94b220b67..000000000 --- a/docs/module-doc/inspircd_8h__incl.map +++ /dev/null @@ -1,7 +0,0 @@ -base referer -rect $inspircd__io_8h-source.html 153,442 249,468 -rect $users_8h-source.html 332,290 396,316 -rect $channels_8h-source.html 461,188 547,215 -rect $socket_8h-source.html 165,644 237,671 -rect $mode_8h-source.html 168,290 235,316 -rect $socketengine_8h-source.html 145,492 257,519 diff --git a/docs/module-doc/inspircd_8h__incl.md5 b/docs/module-doc/inspircd_8h__incl.md5 deleted file mode 100644 index 7aeb9ace0..000000000 --- a/docs/module-doc/inspircd_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c78ac143e7cad9df2d2ae01b74f98cc9 \ No newline at end of file diff --git a/docs/module-doc/inspircd__io_8h-source.html b/docs/module-doc/inspircd__io_8h-source.html deleted file mode 100644 index eaeea6b9b..000000000 --- a/docs/module-doc/inspircd__io_8h-source.html +++ /dev/null @@ -1,163 +0,0 @@ - - -InspIRCd: inspircd_io.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

inspircd_io.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __INSPIRCD_IO_H__
-00018 #define __INSPIRCD_IO_H__
-00019 
-00020 #include <sstream>
-00021 #include <string>
-00022 #include <vector>
-00023 #include "inspircd.h"
-00024 #include "globals.h"
-00025 #include "modules.h"
-00026 
-00029 #define DEBUG 10
-00030 #define VERBOSE 20
-00031 #define DEFAULT 30
-00032 #define SPARSE 40
-00033 #define NONE 50
-00034 
-00040 class ServerConfig : public classbase
-00041 {
-00042   private:
-00048         std::vector<std::string> include_stack;
-00049 
-00056         int fgets_safe(char* buffer, size_t maxsize, FILE* &file);
-00057 
-00062         std::string ConfProcess(char* buffer, long linenumber, std::stringstream* errorstream, bool &error, std::string filename);
-00063 
-00064   public:
-00065 
-00069         char ServerName[MAXBUF];
-00070         
-00071         /* Holds the network name the local server
-00072          * belongs to. This is an arbitary field defined
-00073          * by the administrator.
-00074          */
-00075         char Network[MAXBUF];
-00076 
-00080         char ServerDesc[MAXBUF];
-00081 
-00085         char AdminName[MAXBUF];
-00086 
-00090         char AdminEmail[MAXBUF];
-00091 
-00095         char AdminNick[MAXBUF];
-00096 
-00099         char diepass[MAXBUF];
-00100 
-00103         char restartpass[MAXBUF];
-00104 
-00108         char motd[MAXBUF];
-00109 
-00113         char rules[MAXBUF];
-00114 
-00117         char PrefixQuit[MAXBUF];
-00118 
-00122         char DieValue[MAXBUF];
-00123 
-00126         char DNSServer[MAXBUF];
-00127 
-00132         char DisabledCommands[MAXBUF];
-00133 
-00139         char ModPath[1024];
-00140 
-00144         char MyExecutable[1024];
-00145 
-00152         FILE *log_file;
-00153 
-00159         bool nofork;
-00160 
-00167         bool unlimitcore;
-00168 
-00172         bool AllowHalfop;
-00173 
-00177         int dns_timeout;
-00178 
-00183         int NetBufferSize;
-00184 
-00188         int MaxConn;
-00189 
-00194         unsigned int SoftLimit;
-00195 
-00199         int MaxWhoResults;
-00200 
-00203         int debugging;
-00204 
-00207         int LogLevel;
-00208 
-00212         int DieDelay;
-00213 
-00217         char addrs[MAXBUF][255];
-00218 
-00221         file_cache MOTD;
-00222 
-00225         file_cache RULES;
-00226 
-00230         char PID[1024];
-00231 
-00239         std::stringstream config_f;
-00240 
-00243         ClassVector Classes;
-00244 
-00248         std::vector<std::string> module_names;
-00249 
-00252         int ports[255];
-00253 
-00256         std::map<int,Module*> IOHookModule;
-00257 
-00258         ServerConfig();
-00259 
-00263         void ClearStack();
-00264 
-00269         void Read(bool bail, userrec* user);
-00270 
-00271         bool LoadConf(const char* filename, std::stringstream *target, std::stringstream* errorstream);
-00272         int ConfValue(char* tag, char* var, int index, char *result, std::stringstream *config);
-00273         int ReadConf(std::stringstream *config_f,const char* tag, const char* var, int index, char *result);
-00274         int ConfValueEnum(char* tag,std::stringstream *config);
-00275         int EnumConf(std::stringstream *config_f,const char* tag);
-00276         int EnumValues(std::stringstream *config, const char* tag, int index);
-00277         Module* GetIOHook(int port);
-00278         bool AddIOHook(int port, Module* iomod);
-00279         bool DelIOHook(int port);
-00280 };
-00281 
-00282 
-00283 void Exit (int); 
-00284 void Start (void); 
-00285 int DaemonSeed (void); 
-00286 bool FileExists (const char* file);
-00287 int OpenTCPSocket (void); 
-00288 int BindSocket (int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char* addr);
-00289 void WritePID(std::string filename);
-00290 int BindPorts();
-00291 
-00292 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/inspircd__io_8h.html b/docs/module-doc/inspircd__io_8h.html deleted file mode 100644 index dd5b720c0..000000000 --- a/docs/module-doc/inspircd__io_8h.html +++ /dev/null @@ -1,467 +0,0 @@ - - -InspIRCd: inspircd_io.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

inspircd_io.h File Reference

#include <sstream>
-#include <string>
-#include <vector>
-#include "inspircd.h"
-#include "globals.h"
-#include "modules.h"
- -

-Include dependency graph for inspircd_io.h:

- - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  ServerConfig
 This class holds the bulk of the runtime configuration for the ircd. More...

Defines

#define DEBUG   10
 Flags for use with log().
#define VERBOSE   20
#define DEFAULT   30
#define SPARSE   40
#define NONE   50

Functions

void Exit (int)
void Start (void)
int DaemonSeed (void)
bool FileExists (const char *file)
int OpenTCPSocket (void)
int BindSocket (int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char *addr)
void WritePID (std::string filename)
int BindPorts ()
-


Define Documentation

-

- - - - -
- - - - -
#define DEBUG   10
-
- - - - - -
-   - - -

-Flags for use with log(). -

- -

-Definition at line 29 of file inspircd_io.h. -

-Referenced by add_channel(), AddClient(), Server::AddExtendedMode(), SocketEngine::AddFd(), AddOper(), chanrec::AddUser(), AddWhoWas(), del_channel(), DeleteOper(), SocketEngine::DelFd(), chanrec::DelUser(), ForceChan(), FullConnectUser(), InspSocket::InspSocket(), kick_channel(), kill_link(), kill_link_silent(), InspSocket::Read(), ReHashNick(), userrec::RemoveInvite(), chanrec::SetCustomMode(), chanrec::SetCustomModeParam(), InspSocket::SetState(), userrec::SetWriteError(), SocketEngine::SocketEngine(), and SocketEngine::~SocketEngine().

-

- - - - -
- - - - -
#define DEFAULT   30
-
- - - - - -
-   - - -

- -

-Definition at line 31 of file inspircd_io.h. -

-Referenced by add_channel(), del_channel(), and kick_channel().

-

- - - - -
- - - - -
#define NONE   50
-
- - - - - -
-   - - -

- -

-Definition at line 33 of file inspircd_io.h.

-

- - - - -
- - - - -
#define SPARSE   40
-
- - - - - -
-   - - -

- -

-Definition at line 32 of file inspircd_io.h.

-

- - - - -
- - - - -
#define VERBOSE   20
-
- - - - - -
-   - - -

- -

-Definition at line 30 of file inspircd_io.h.

-


Function Documentation

-

- - - - -
- - - - - - - - -
int BindPorts  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int BindSocket int  sockfd,
struct sockaddr_in  client,
struct sockaddr_in  server,
int  port,
char *  addr
-
- - - - - -
-   - - -

- -

-Referenced by InspSocket::InspSocket().

-

- - - - -
- - - - - - - - - -
int DaemonSeed void   ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void Exit int   ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool FileExists const char *  file  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int OpenTCPSocket void   ) 
-
- - - - - -
-   - - -

- -

-Referenced by InspSocket::InspSocket().

-

- - - - -
- - - - - - - - - -
void Start void   ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void WritePID std::string  filename  ) 
-
- - - - - -
-   - - -

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/inspircd__io_8h__dep__incl.gif b/docs/module-doc/inspircd__io_8h__dep__incl.gif deleted file mode 100644 index 9b7d71947..000000000 Binary files a/docs/module-doc/inspircd__io_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/inspircd__io_8h__dep__incl.map b/docs/module-doc/inspircd__io_8h__dep__incl.map deleted file mode 100644 index 5f7a6c3f7..000000000 --- a/docs/module-doc/inspircd__io_8h__dep__incl.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $channels_8cpp-source.html 455,58 553,84 -rect $modules_8cpp-source.html 455,235 553,262 -rect $socket_8cpp-source.html 461,463 547,490 -rect $inspircd_8h-source.html 153,286 233,312 -rect $socketengine_8cpp-source.html 441,387 567,414 -rect $users_8cpp-source.html 464,311 544,338 -rect $socketengine_8h-source.html 281,362 393,388 -rect $typedefs_8h-source.html 295,260 380,287 -rect $userprocess_8h-source.html 285,159 389,186 diff --git a/docs/module-doc/inspircd__io_8h__dep__incl.md5 b/docs/module-doc/inspircd__io_8h__dep__incl.md5 deleted file mode 100644 index d32608fc2..000000000 --- a/docs/module-doc/inspircd__io_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f69ba85152f09a6ee03d3d86a8d8993d \ No newline at end of file diff --git a/docs/module-doc/inspircd__io_8h__incl.gif b/docs/module-doc/inspircd__io_8h__incl.gif deleted file mode 100644 index 7addcea98..000000000 Binary files a/docs/module-doc/inspircd__io_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/inspircd__io_8h__incl.map b/docs/module-doc/inspircd__io_8h__incl.map deleted file mode 100644 index 37dd7fbc2..000000000 --- a/docs/module-doc/inspircd__io_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $inspircd_8h-source.html 156,209 236,236 -rect $globals_8h-source.html 159,159 234,185 -rect $modules_8h-source.html 155,57 238,84 diff --git a/docs/module-doc/inspircd__io_8h__incl.md5 b/docs/module-doc/inspircd__io_8h__incl.md5 deleted file mode 100644 index ba3286ffc..000000000 --- a/docs/module-doc/inspircd__io_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c18e01279feebe46cef6ba0a08a63a37 \ No newline at end of file diff --git a/docs/module-doc/main.html b/docs/module-doc/main.html deleted file mode 100644 index 2128e3731..000000000 --- a/docs/module-doc/main.html +++ /dev/null @@ -1,14 +0,0 @@ - - -InspIRCd: Main Page - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Documentation

-

-

1.0Betareleases


Generated on Mon Dec 19 18:05:19 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/message_8h-source.html b/docs/module-doc/message_8h-source.html deleted file mode 100644 index 0204492c6..000000000 --- a/docs/module-doc/message_8h-source.html +++ /dev/null @@ -1,64 +0,0 @@ - - -InspIRCd: message.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

message.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __MESSAGE_H
-00018 #define __MESSAGE_H
-00019 
-00020 // include the common header files
-00021 
-00022 #include <typeinfo>
-00023 #include <iostream>
-00024 #include <string>
-00025 #include <deque>
-00026 #include <sstream>
-00027 #include <vector>
-00028 #include "users.h"
-00029 #include "channels.h"
-00030 
-00031 int common_channels(userrec *u, userrec *u2);
-00032 void chop(char* str);
-00033 void tidystring(char* str);
-00034 void Blocking(int s);
-00035 void NonBlocking(int s);
-00036 int CleanAndResolve (char *resolvedHost, const char *unresolvedHost);
-00037 int c_count(userrec* u);
-00038 bool hasumode(userrec* user, char mode);
-00039 void ChangeName(userrec* user, const char* gecos);
-00040 void ChangeDisplayedHost(userrec* user, const char* host);
-00041 int isident(const char* n);
-00042 int isnick(const char* n);
-00043 char* cmode(userrec *user, chanrec *chan);
-00044 int cstatus(userrec *user, chanrec *chan);
-00045 int has_channel(userrec *u, chanrec *c);
-00046 void TidyBan(char *ban);
-00047 std::string chlist(userrec *user, userrec* source);
-00048 void send_network_quit(const char* nick, const char* reason);
-00049 
-00050 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/message_8h.html b/docs/module-doc/message_8h.html deleted file mode 100644 index 9e17c071c..000000000 --- a/docs/module-doc/message_8h.html +++ /dev/null @@ -1,684 +0,0 @@ - - -InspIRCd: message.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

message.h File Reference

#include <typeinfo>
-#include <iostream>
-#include <string>
-#include <deque>
-#include <sstream>
-#include <vector>
-#include "users.h"
-#include "channels.h"
- -

-Include dependency graph for message.h:

- - - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

int common_channels (userrec *u, userrec *u2)
void chop (char *str)
void tidystring (char *str)
void Blocking (int s)
void NonBlocking (int s)
int CleanAndResolve (char *resolvedHost, const char *unresolvedHost)
int c_count (userrec *u)
bool hasumode (userrec *user, char mode)
void ChangeName (userrec *user, const char *gecos)
void ChangeDisplayedHost (userrec *user, const char *host)
int isident (const char *n)
int isnick (const char *n)
char * cmode (userrec *user, chanrec *chan)
int cstatus (userrec *user, chanrec *chan)
int has_channel (userrec *u, chanrec *c)
void TidyBan (char *ban)
std::string chlist (userrec *user, userrec *source)
void send_network_quit (const char *nick, const char *reason)
-


Function Documentation

-

- - - - -
- - - - - - - - - -
void Blocking int  s  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int c_count userrec u  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void ChangeDisplayedHost userrec user,
const char *  host
-
- - - - - -
-   - - -

- -

-Referenced by Server::ChangeHost().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void ChangeName userrec user,
const char *  gecos
-
- - - - - -
-   - - -

- -

-Referenced by Server::ChangeGECOS().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
std::string chlist userrec user,
userrec source
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void chop char *  str  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int CleanAndResolve char *  resolvedHost,
const char *  unresolvedHost
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
char* cmode userrec user,
chanrec chan
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int common_channels userrec u,
userrec u2
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int cstatus userrec user,
chanrec chan
-
- - - - - -
-   - - -

- -

-Referenced by kick_channel().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int has_channel userrec u,
chanrec c
-
- - - - - -
-   - - -

- -

-Referenced by add_channel(), Server::IsOnChannel(), and kick_channel().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool hasumode userrec user,
char  mode
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int isident const char *  n  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
int isnick const char *  n  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void NonBlocking int  s  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void send_network_quit const char *  nick,
const char *  reason
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void TidyBan char *  ban  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void tidystring char *  str  ) 
-
- - - - - -
-   - - -

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/message_8h__dep__incl.gif b/docs/module-doc/message_8h__dep__incl.gif deleted file mode 100644 index af40a91ec..000000000 Binary files a/docs/module-doc/message_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/message_8h__dep__incl.map b/docs/module-doc/message_8h__dep__incl.map deleted file mode 100644 index cdf27ce97..000000000 --- a/docs/module-doc/message_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $channels_8cpp-source.html 144,7 243,33 -rect $modules_8cpp-source.html 144,57 243,84 -rect $users_8cpp-source.html 154,108 234,135 diff --git a/docs/module-doc/message_8h__dep__incl.md5 b/docs/module-doc/message_8h__dep__incl.md5 deleted file mode 100644 index 9677d7a7c..000000000 --- a/docs/module-doc/message_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -2920c49d06760a3a8744ed87304dc5db \ No newline at end of file diff --git a/docs/module-doc/message_8h__incl.gif b/docs/module-doc/message_8h__incl.gif deleted file mode 100644 index 288c5cf3f..000000000 Binary files a/docs/module-doc/message_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/message_8h__incl.map b/docs/module-doc/message_8h__incl.map deleted file mode 100644 index 5e825e450..000000000 --- a/docs/module-doc/message_8h__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $users_8h-source.html 148,260 212,287 -rect $channels_8h-source.html 272,209 357,236 -rect $connection_8h-source.html 265,412 364,439 -rect $hashcomp_8h-source.html 268,311 361,337 diff --git a/docs/module-doc/message_8h__incl.md5 b/docs/module-doc/message_8h__incl.md5 deleted file mode 100644 index 2d2990c8f..000000000 --- a/docs/module-doc/message_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ea36c3bc5c3e318c0edcaea3bd1ee778 \ No newline at end of file diff --git a/docs/module-doc/mode_8h-source.html b/docs/module-doc/mode_8h-source.html deleted file mode 100644 index 1838ad1c7..000000000 --- a/docs/module-doc/mode_8h-source.html +++ /dev/null @@ -1,72 +0,0 @@ - - -InspIRCd: mode.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

mode.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __MODE_H
-00018 #define __MODE_H
-00019 
-00020 // include the common header files
-00021 
-00022 #include <typeinfo>
-00023 #include <iostream>
-00024 #include <string>
-00025 #include <deque>
-00026 #include <sstream>
-00027 #include <vector>
-00028 #include "users.h"
-00029 #include "channels.h"
-00030 #include "ctables.h"
-00031 
-00032 class ModeParser
-00033 {
-00034  private:
-00035         char* GiveOps(userrec *user,char *dest,chanrec *chan,int status);
-00036         char* GiveHops(userrec *user,char *dest,chanrec *chan,int status);
-00037         char* GiveVoice(userrec *user,char *dest,chanrec *chan,int status);
-00038         char* TakeOps(userrec *user,char *dest,chanrec *chan,int status);
-00039         char* TakeHops(userrec *user,char *dest,chanrec *chan,int status);
-00040         char* TakeVoice(userrec *user,char *dest,chanrec *chan,int status);
-00041         char* AddBan(userrec *user,char *dest,chanrec *chan,int status);
-00042         char* TakeBan(userrec *user,char *dest,chanrec *chan,int status);
-00043  public:
-00044         std::string CompressModes(std::string modes,bool channelmodes);
-00045         void ProcessModes(char **parameters,userrec* user,chanrec *chan,int status, int pcnt, bool servermode, bool silent, bool local);
-00046         bool AllowedUmode(char umode, char* sourcemodes,bool adding,bool serveroverride);
-00047         bool ProcessModuleUmode(char umode, userrec* source, void* dest, bool adding);
-00048         void ServerMode(char **parameters, int pcnt, userrec *user);
-00049 };
-00050 
-00051 class cmd_mode : public command_t
-00052 {
-00053  public:
-00054         cmd_mode () : command_t("MODE",0,1) { }
-00055         void Handle(char **parameters, int pcnt, userrec *user);
-00056 };
-00057 
-00058 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/mode_8h.html b/docs/module-doc/mode_8h.html deleted file mode 100644 index 01ac8157d..000000000 --- a/docs/module-doc/mode_8h.html +++ /dev/null @@ -1,56 +0,0 @@ - - -InspIRCd: mode.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

mode.h File Reference

#include <typeinfo>
-#include <iostream>
-#include <string>
-#include <deque>
-#include <sstream>
-#include <vector>
-#include "users.h"
-#include "channels.h"
-#include "ctables.h"
- -

-Include dependency graph for mode.h:

- - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - -

Classes

class  ModeParser
class  cmd_mode
-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/mode_8h__dep__incl.gif b/docs/module-doc/mode_8h__dep__incl.gif deleted file mode 100644 index c6b18b5cb..000000000 Binary files a/docs/module-doc/mode_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/mode_8h__dep__incl.map b/docs/module-doc/mode_8h__dep__incl.map deleted file mode 100644 index 0fbb16370..000000000 --- a/docs/module-doc/mode_8h__dep__incl.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $channels_8cpp-source.html 423,108 521,135 -rect $modules_8cpp-source.html 423,210 521,236 -rect $inspircd_8h-source.html 121,286 201,312 -rect $socket_8cpp-source.html 429,311 515,338 -rect $socketengine_8cpp-source.html 409,438 535,464 -rect $users_8cpp-source.html 432,362 512,388 -rect $inspircd__io_8h-source.html 257,159 353,186 -rect $socketengine_8h-source.html 249,362 361,388 -rect $typedefs_8h-source.html 263,210 348,236 -rect $userprocess_8h-source.html 253,514 357,540 diff --git a/docs/module-doc/mode_8h__dep__incl.md5 b/docs/module-doc/mode_8h__dep__incl.md5 deleted file mode 100644 index 7141d3567..000000000 --- a/docs/module-doc/mode_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a468254eb82a333e8e171f75c5a95c2c \ No newline at end of file diff --git a/docs/module-doc/mode_8h__incl.gif b/docs/module-doc/mode_8h__incl.gif deleted file mode 100644 index e9c7fb03a..000000000 Binary files a/docs/module-doc/mode_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/mode_8h__incl.map b/docs/module-doc/mode_8h__incl.map deleted file mode 100644 index 5891ea4c1..000000000 --- a/docs/module-doc/mode_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $users_8h-source.html 128,311 192,337 -rect $channels_8h-source.html 248,361 333,388 -rect $ctables_8h-source.html 123,108 197,135 diff --git a/docs/module-doc/mode_8h__incl.md5 b/docs/module-doc/mode_8h__incl.md5 deleted file mode 100644 index e109361fc..000000000 --- a/docs/module-doc/mode_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -65cc27648a712202e38cf2a89d5cde55 \ No newline at end of file diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html deleted file mode 100644 index a46eb0b6d..000000000 --- a/docs/module-doc/modules_8cpp-source.html +++ /dev/null @@ -1,950 +0,0 @@ - - -InspIRCd: modules.cpp Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

modules.cpp

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 using namespace std;
-00018 
-00019 #include "inspircd_config.h"
-00020 #include "inspircd.h"
-00021 #include "inspircd_io.h"
-00022 #include <unistd.h>
-00023 #include <sys/errno.h>
-00024 #include <time.h>
-00025 #include <string>
-00026 #ifdef GCC3
-00027 #include <ext/hash_map>
-00028 #else
-00029 #include <hash_map>
-00030 #endif
-00031 #include <map>
-00032 #include <sstream>
-00033 #include <vector>
-00034 #include <deque>
-00035 #include "users.h"
-00036 #include "ctables.h"
-00037 #include "globals.h"
-00038 #include "modules.h"
-00039 #include "dynamic.h"
-00040 #include "wildcard.h"
-00041 #include "message.h"
-00042 #include "mode.h"
-00043 #include "xline.h"
-00044 #include "commands.h"
-00045 #include "inspstring.h"
-00046 #include "helperfuncs.h"
-00047 #include "hashcomp.h"
-00048 #include "socket.h"
-00049 #include "socketengine.h"
-00050 #include "typedefs.h"
-00051 #include "modules.h"
-00052 #include "command_parse.h"
-00053 
-00054 extern ServerConfig *Config;
-00055 extern InspIRCd* ServerInstance;
-00056 extern int MODCOUNT;
-00057 extern std::vector<Module*> modules;
-00058 extern std::vector<ircd_module*> factory;
-00059 extern std::vector<InspSocket*> module_sockets;
-00060 extern time_t TIME;
-00061 class Server;
-00062 extern userrec* fd_ref_table[65536];
-00063 
-00064 extern user_hash clientlist;
-00065 extern chan_hash chanlist;
-00066 extern command_table cmdlist;
-00067 ExtModeList EMode;
-00068 
-00069 // returns true if an extended mode character is in use
-00070 bool ModeDefined(char modechar, int type)
-00071 {
-00072         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00073         {
-00074                 if ((i->modechar == modechar) && (i->type == type))
-00075                 {
-00076                         return true;
-00077                 }
-00078         }
-00079         return false;
-00080 }
-00081 
-00082 bool ModeIsListMode(char modechar, int type)
-00083 {
-00084         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00085         {
-00086                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
-00087                 {
-00088                         return true;
-00089                 }
-00090         }
-00091         return false;
-00092 }
-00093 
-00094 bool ModeDefinedOper(char modechar, int type)
-00095 {
-00096         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00097         {
-00098                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
-00099                 {
-00100                         return true;
-00101                 }
-00102         }
-00103         return false;
-00104 }
-00105 
-00106 // returns number of parameters for a custom mode when it is switched on
-00107 int ModeDefinedOn(char modechar, int type)
-00108 {
-00109         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00110         {
-00111                 if ((i->modechar == modechar) && (i->type == type))
-00112                 {
-00113                         return i->params_when_on;
-00114                 }
-00115         }
-00116         return 0;
-00117 }
-00118 
-00119 // returns number of parameters for a custom mode when it is switched on
-00120 int ModeDefinedOff(char modechar, int type)
-00121 {
-00122         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00123         {
-00124                 if ((i->modechar == modechar) && (i->type == type))
-00125                 {
-00126                         return i->params_when_off;
-00127                 }
-00128         }
-00129         return 0;
-00130 }
-00131 
-00132 // returns true if an extended mode character is in use
-00133 bool DoAddExtendedMode(char modechar, int type, bool requires_oper, int params_on, int params_off)
-00134 {
-00135         if (ModeDefined(modechar,type)) {
-00136                 return false;
-00137         }
-00138         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
-00139         return true;
-00140 }
-00141 
-00142 // turns a mode into a listmode
-00143 void ModeMakeList(char modechar)
-00144 {
-00145         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00146         {
-00147                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
-00148                 {
-00149                         i->list = true;
-00150                         return;
-00151                 }
-00152         }
-00153         return;
-00154 }
-00155 
-00156 // version is a simple class for holding a modules version number
-00157 
-00158 Version::Version(int major, int minor, int revision, int build, int flags) : Major(major), Minor(minor), Revision(revision), Build(build), Flags(flags) { };
-00159 
-00160 // admin is a simple class for holding a server's administrative info
-00161 
-00162 Admin::Admin(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { };
-00163 
-00164 Request::Request(char* anydata, Module* src, Module* dst) : data(anydata), source(src), dest(dst) { };
-00165 
-00166 char* Request::GetData()
-00167 {
-00168         return this->data;
-00169 }
-00170 
-00171 Module* Request::GetSource()
-00172 {
-00173         return this->source;
-00174 }
-00175 
-00176 Module* Request::GetDest()
-00177 {
-00178         return this->dest;
-00179 }
-00180 
-00181 char* Request::Send()
-00182 {
-00183         if (this->dest)
-00184         {
-00185                 return dest->OnRequest(this);
-00186         }
-00187         else
-00188         {
-00189                 return NULL;
-00190         }
-00191 }
-00192 
-00193 Event::Event(char* anydata, Module* src, std::string eventid) : data(anydata), source(src), id(eventid) { };
-00194 
-00195 char* Event::GetData()
-00196 {
-00197         return this->data;
-00198 }
-00199 
-00200 Module* Event::GetSource()
-00201 {
-00202         return this->source;
-00203 }
-00204 
-00205 char* Event::Send()
-00206 {
-00207         FOREACH_MOD OnEvent(this);
-00208         return NULL;
-00209 }
-00210 
-00211 std::string Event::GetEventID()
-00212 {
-00213         return this->id;
-00214 }
-00215 
-00216 
-00217 // These declarations define the behavours of the base class Module (which does nothing at all)
-00218 
-00219                 Module::Module(Server* Me) { }
-00220                 Module::~Module() { }
-00221 void            Module::OnUserConnect(userrec* user) { }
-00222 void            Module::OnUserQuit(userrec* user, std::string message) { }
-00223 void            Module::OnUserDisconnect(userrec* user) { }
-00224 void            Module::OnUserJoin(userrec* user, chanrec* channel) { }
-00225 void            Module::OnUserPart(userrec* user, chanrec* channel) { }
-00226 void            Module::OnRehash(std::string parameter) { }
-00227 void            Module::OnServerRaw(std::string &raw, bool inbound, userrec* user) { }
-00228 int             Module::OnUserPreJoin(userrec* user, chanrec* chan, const char* cname) { return 0; }
-00229 int             Module::OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params) { return false; }
-00230 void            Module::OnMode(userrec* user, void* dest, int target_type, std::string text) { };
-00231 Version         Module::GetVersion() { return Version(1,0,0,0,VF_VENDOR); }
-00232 void            Module::OnOper(userrec* user, std::string opertype) { };
-00233 void            Module::OnInfo(userrec* user) { };
-00234 void            Module::OnWhois(userrec* source, userrec* dest) { };
-00235 int             Module::OnUserPreInvite(userrec* source,userrec* dest,chanrec* channel) { return 0; };
-00236 int             Module::OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text) { return 0; };
-00237 int             Module::OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text) { return 0; };
-00238 int             Module::OnUserPreNick(userrec* user, std::string newnick) { return 0; };
-00239 void            Module::OnUserPostNick(userrec* user, std::string oldnick) { };
-00240 int             Module::OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type) { return ACR_DEFAULT; };
-00241 void            Module::On005Numeric(std::string &output) { };
-00242 int             Module::OnKill(userrec* source, userrec* dest, std::string reason) { return 0; };
-00243 void            Module::OnLoadModule(Module* mod,std::string name) { };
-00244 void            Module::OnUnloadModule(Module* mod,std::string name) { };
-00245 void            Module::OnBackgroundTimer(time_t curtime) { };
-00246 void            Module::OnSendList(userrec* user, chanrec* channel, char mode) { };
-00247 int             Module::OnPreCommand(std::string command, char **parameters, int pcnt, userrec *user) { return 0; };
-00248 bool            Module::OnCheckReady(userrec* user) { return true; };
-00249 void            Module::OnUserRegister(userrec* user) { };
-00250 int             Module::OnUserPreKick(userrec* source, userrec* user, chanrec* chan, std::string reason) { return 0; };
-00251 void            Module::OnUserKick(userrec* source, userrec* user, chanrec* chan, std::string reason) { };
-00252 int             Module::OnRawMode(userrec* user, chanrec* chan, char mode, std::string param, bool adding, int pcnt) { return 0; };
-00253 int             Module::OnCheckInvite(userrec* user, chanrec* chan) { return 0; };
-00254 int             Module::OnCheckKey(userrec* user, chanrec* chan, std::string keygiven) { return 0; };
-00255 int             Module::OnCheckLimit(userrec* user, chanrec* chan) { return 0; };
-00256 int             Module::OnCheckBan(userrec* user, chanrec* chan) { return 0; };
-00257 void            Module::OnStats(char symbol) { };
-00258 int             Module::OnChangeLocalUserHost(userrec* user, std::string newhost) { return 0; };
-00259 int             Module::OnChangeLocalUserGECOS(userrec* user, std::string newhost) { return 0; };
-00260 int             Module::OnLocalTopicChange(userrec* user, chanrec* chan, std::string topic) { return 0; };
-00261 void            Module::OnEvent(Event* event) { return; };
-00262 char*           Module::OnRequest(Request* request) { return NULL; };
-00263 int             Module::OnOperCompare(std::string password, std::string input) { return 0; };
-00264 void            Module::OnGlobalOper(userrec* user) { };
-00265 void            Module::OnGlobalConnect(userrec* user) { };
-00266 int             Module::OnAddBan(userrec* source, chanrec* channel,std::string banmask) { return 0; };
-00267 int             Module::OnDelBan(userrec* source, chanrec* channel,std::string banmask) { return 0; };
-00268 void            Module::OnRawSocketAccept(int fd, std::string ip, int localport) { };
-00269 int             Module::OnRawSocketWrite(int fd, char* buffer, int count) { return 0; };
-00270 void            Module::OnRawSocketClose(int fd) { };
-00271 int             Module::OnRawSocketRead(int fd, char* buffer, unsigned int count, int &readresult) { return 0; };
-00272 void            Module::OnUserMessage(userrec* user, void* dest, int target_type, std::string text) { };
-00273 void            Module::OnUserNotice(userrec* user, void* dest, int target_type, std::string text) { };
-00274 void            Module::OnRemoteKill(userrec* source, userrec* dest, std::string reason) { };
-00275 void            Module::OnUserInvite(userrec* source,userrec* dest,chanrec* channel) { };
-00276 void            Module::OnPostLocalTopicChange(userrec* user, chanrec* chan, std::string topic) { };
-00277 void            Module::OnGetServerDescription(std::string servername,std::string &description) { };
-00278 void            Module::OnSyncUser(userrec* user, Module* proto, void* opaque) { };
-00279 void            Module::OnSyncChannel(chanrec* chan, Module* proto, void* opaque) { };
-00280 void            Module::ProtoSendMode(void* opaque, int target_type, void* target, std::string modeline) { };
-00281 void            Module::OnSyncChannelMetaData(chanrec* chan, Module* proto,void* opaque, std::string extname) { };
-00282 void            Module::OnSyncUserMetaData(userrec* user, Module* proto,void* opaque, std::string extname) { };
-00283 void            Module::OnDecodeMetaData(int target_type, void* target, std::string extname, std::string extdata) { };
-00284 void            Module::ProtoSendMetaData(void* opaque, int target_type, void* target, std::string extname, std::string extdata) { };
-00285 void            Module::OnWallops(userrec* user, std::string text) { };
-00286 void            Module::OnChangeHost(userrec* user, std::string newhost) { };
-00287 void            Module::OnChangeName(userrec* user, std::string gecos) { };
-00288 void            Module::OnAddGLine(long duration, userrec* source, std::string reason, std::string hostmask) { };
-00289 void            Module::OnAddZLine(long duration, userrec* source, std::string reason, std::string ipmask) { };
-00290 void            Module::OnAddKLine(long duration, userrec* source, std::string reason, std::string hostmask) { };
-00291 void            Module::OnAddQLine(long duration, userrec* source, std::string reason, std::string nickmask) { };
-00292 void            Module::OnAddELine(long duration, userrec* source, std::string reason, std::string hostmask) { };
-00293 void            Module::OnDelGLine(userrec* source, std::string hostmask) { };
-00294 void            Module::OnDelZLine(userrec* source, std::string ipmask) { };
-00295 void            Module::OnDelKLine(userrec* source, std::string hostmask) { };
-00296 void            Module::OnDelQLine(userrec* source, std::string nickmask) { };
-00297 void            Module::OnDelELine(userrec* source, std::string hostmask) { };
-00298 void            Module::OnCleanup(int target_type, void* item) { };
-00299 
-00300 /* server is a wrapper class that provides methods to all of the C-style
-00301  * exports in the core
-00302  */
-00303 
-00304 Server::Server()
-00305 {
-00306 }
-00307 
-00308 Server::~Server()
-00309 {
-00310 }
-00311 
-00312 void Server::AddSocket(InspSocket* sock)
-00313 {
-00314         module_sockets.push_back(sock);
-00315 }
-00316 
-00317 void Server::RehashServer()
-00318 {
-00319         WriteOpers("*** Rehashing config file");
-00320         Config->Read(false,NULL);
-00321 }
-00322 
-00323 ServerConfig* Server::GetConfig()
-00324 {
-00325         return Config;
-00326 }
-00327 
-00328 std::string Server::GetVersion()
-00329 {
-00330         return ServerInstance->GetVersionString();
-00331 }
-00332 
-00333 void Server::DelSocket(InspSocket* sock)
-00334 {
-00335         for (std::vector<InspSocket*>::iterator a = module_sockets.begin(); a < module_sockets.end(); a++)
-00336         {
-00337                 if (*a == sock)
-00338                 {
-00339                         module_sockets.erase(a);
-00340                         return;
-00341                 }
-00342         }
-00343 }
-00344 
-00345 void Server::SendOpers(std::string s)
-00346 {
-00347         WriteOpers("%s",s.c_str());
-00348 }
-00349 
-00350 bool Server::MatchText(std::string sliteral, std::string spattern)
-00351 {
-00352         char literal[MAXBUF],pattern[MAXBUF];
-00353         strlcpy(literal,sliteral.c_str(),MAXBUF);
-00354         strlcpy(pattern,spattern.c_str(),MAXBUF);
-00355         return match(literal,pattern);
-00356 }
-00357 
-00358 void Server::SendToModeMask(std::string modes, int flags, std::string text)
-00359 {
-00360         WriteMode(modes.c_str(),flags,"%s",text.c_str());
-00361 }
-00362 
-00363 chanrec* Server::JoinUserToChannel(userrec* user, std::string cname, std::string key)
-00364 {
-00365         return add_channel(user,cname.c_str(),key.c_str(),false);
-00366 }
-00367 
-00368 chanrec* Server::PartUserFromChannel(userrec* user, std::string cname, std::string reason)
-00369 {
-00370         return del_channel(user,cname.c_str(),reason.c_str(),false);
-00371 }
-00372 
-00373 chanuserlist Server::GetUsers(chanrec* chan)
-00374 {
-00375         chanuserlist userl;
-00376         userl.clear();
-00377         std::vector<char*> *list = chan->GetUsers();
-00378         for (std::vector<char*>::iterator i = list->begin(); i != list->end(); i++)
-00379         {
-00380                 char* o = *i;
-00381                 userl.push_back((userrec*)o);
-00382         }
-00383         return userl;
-00384 }
-00385 void Server::ChangeUserNick(userrec* user, std::string nickname)
-00386 {
-00387         force_nickchange(user,nickname.c_str());
-00388 }
-00389 
-00390 void Server::QuitUser(userrec* user, std::string reason)
-00391 {
-00392         kill_link(user,reason.c_str());
-00393 }
-00394 
-00395 bool Server::IsUlined(std::string server)
-00396 {
-00397         return is_uline(server.c_str());
-00398 }
-00399 
-00400 void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user)
-00401 {
-00402         ServerInstance->Parser->CallHandler(commandname,parameters,pcnt,user);
-00403 }
-00404 
-00405 bool Server::IsValidModuleCommand(std::string commandname, int pcnt, userrec* user)
-00406 {
-00407         return ServerInstance->Parser->IsValidCommand(commandname, pcnt, user);
-00408 }
-00409 
-00410 void Server::Log(int level, std::string s)
-00411 {
-00412         log(level,"%s",s.c_str());
-00413 }
-00414 
-00415 void Server::AddCommand(command_t *f)
-00416 {
-00417         ServerInstance->Parser->CreateCommand(f);
-00418 }
-00419 
-00420 void Server::SendMode(char **parameters, int pcnt, userrec *user)
-00421 {
-00422         ServerInstance->ModeGrok->ServerMode(parameters,pcnt,user);
-00423 }
-00424 
-00425 void Server::Send(int Socket, std::string s)
-00426 {
-00427         Write(Socket,"%s",s.c_str());
-00428 }
-00429 
-00430 void Server::SendServ(int Socket, std::string s)
-00431 {
-00432         WriteServ(Socket,"%s",s.c_str());
-00433 }
-00434 
-00435 void Server::SendFrom(int Socket, userrec* User, std::string s)
-00436 {
-00437         WriteFrom(Socket,User,"%s",s.c_str());
-00438 }
-00439 
-00440 void Server::SendTo(userrec* Source, userrec* Dest, std::string s)
-00441 {
-00442         if (!Source)
-00443         {
-00444                 // if source is NULL, then the message originates from the local server
-00445                 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
-00446         }
-00447         else
-00448         {
-00449                 // otherwise it comes from the user specified
-00450                 WriteTo(Source,Dest,"%s",s.c_str());
-00451         }
-00452 }
-00453 
-00454 void Server::SendChannelServerNotice(std::string ServName, chanrec* Channel, std::string text)
-00455 {
-00456         WriteChannelWithServ((char*)ServName.c_str(), Channel, "%s", text.c_str());
-00457 }
-00458 
-00459 void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender)
-00460 {
-00461         if (IncludeSender)
-00462         {
-00463                 WriteChannel(Channel,User,"%s",s.c_str());
-00464         }
-00465         else
-00466         {
-00467                 ChanExceptSender(Channel,User,"%s",s.c_str());
-00468         }
-00469 }
-00470 
-00471 bool Server::CommonChannels(userrec* u1, userrec* u2)
-00472 {
-00473         return (common_channels(u1,u2) != 0);
-00474 }
-00475 
-00476 void Server::SendCommon(userrec* User, std::string text,bool IncludeSender)
-00477 {
-00478         if (IncludeSender)
-00479         {
-00480                 WriteCommon(User,"%s",text.c_str());
-00481         }
-00482         else
-00483         {
-00484                 WriteCommonExcept(User,"%s",text.c_str());
-00485         }
-00486 }
-00487 
-00488 void Server::SendWallops(userrec* User, std::string text)
-00489 {
-00490         WriteWallOps(User,false,"%s",text.c_str());
-00491 }
-00492 
-00493 void Server::ChangeHost(userrec* user, std::string host)
-00494 {
-00495         ChangeDisplayedHost(user,host.c_str());
-00496 }
-00497 
-00498 void Server::ChangeGECOS(userrec* user, std::string gecos)
-00499 {
-00500         ChangeName(user,gecos.c_str());
-00501 }
-00502 
-00503 bool Server::IsNick(std::string nick)
-00504 {
-00505         return (isnick(nick.c_str()) != 0);
-00506 }
-00507 
-00508 userrec* Server::FindNick(std::string nick)
-00509 {
-00510         return Find(nick);
-00511 }
-00512 
-00513 userrec* Server::FindDescriptor(int socket)
-00514 {
-00515         return (socket < 65536 ? fd_ref_table[socket] : NULL);
-00516 }
-00517 
-00518 chanrec* Server::FindChannel(std::string channel)
-00519 {
-00520         return FindChan(channel.c_str());
-00521 }
-00522 
-00523 std::string Server::ChanMode(userrec* User, chanrec* Chan)
-00524 {
-00525         return cmode(User,Chan);
-00526 }
-00527 
-00528 bool Server::IsOnChannel(userrec* User, chanrec* Chan)
-00529 {
-00530         return has_channel(User,Chan);
-00531 }
-00532 
-00533 std::string Server::GetServerName()
-00534 {
-00535         return Config->ServerName;
-00536 }
-00537 
-00538 std::string Server::GetNetworkName()
-00539 {
-00540         return Config->Network;
-00541 }
-00542 
-00543 std::string Server::GetServerDescription()
-00544 {
-00545         return Config->ServerDesc;
-00546 }
-00547 
-00548 Admin Server::GetAdmin()
-00549 {
-00550         return Admin(Config->AdminName,Config->AdminEmail,Config->AdminNick);
-00551 }
-00552 
-00553 
-00554 
-00555 bool Server::AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)
-00556 {
-00557         if (((modechar >= 'A') && (modechar <= 'Z')) || ((modechar >= 'a') && (modechar <= 'z')))
-00558         {
-00559                 if (type == MT_SERVER)
-00560                 {
-00561                         log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion");
-00562                         return false;
-00563                 }
-00564                 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
-00565                 {
-00566                         log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported");
-00567                         return false;
-00568                 }
-00569                 if ((params_when_on>1) || (params_when_off>1))
-00570                 {
-00571                         log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported");
-00572                         return false;
-00573                 }
-00574                 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
-00575         }
-00576         else
-00577         {
-00578                 log(DEBUG,"*** API ERROR *** Muppet modechar detected.");
-00579         }
-00580         return false;
-00581 }
-00582 
-00583 bool Server::AddExtendedListMode(char modechar)
-00584 {
-00585         bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1);
-00586         if (res)
-00587                 ModeMakeList(modechar);
-00588         return res;
-00589 }
-00590 
-00591 int Server::CountUsers(chanrec* c)
-00592 {
-00593         return usercount(c);
-00594 }
-00595 
-00596 
-00597 bool Server::UserToPseudo(userrec* user,std::string message)
-00598 {
-00599         unsigned int old_fd = user->fd;
-00600         user->fd = FD_MAGIC_NUMBER;
-00601         user->ClearBuffer();
-00602         Write(old_fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,message.c_str());
-00603         ServerInstance->SE->DelFd(old_fd);
-00604         shutdown(old_fd,2);
-00605         close(old_fd);
-00606         return true;
-00607 }
-00608 
-00609 bool Server::PseudoToUser(userrec* alive,userrec* zombie,std::string message)
-00610 {
-00611         zombie->fd = alive->fd;
-00612         alive->fd = FD_MAGIC_NUMBER;
-00613         alive->ClearBuffer();
-00614         Write(zombie->fd,":%s!%s@%s NICK %s",alive->nick,alive->ident,alive->host,zombie->nick);
-00615         kill_link(alive,message.c_str());
-00616         fd_ref_table[zombie->fd] = zombie;
-00617         for (unsigned int i = 0; i < zombie->chans.size(); i++)
-00618         {
-00619                 if (zombie->chans[i].channel != NULL)
-00620                 {
-00621                         if (zombie->chans[i].channel->name)
-00622                         {
-00623                                 chanrec* Ptr = zombie->chans[i].channel;
-00624                                 WriteFrom(zombie->fd,zombie,"JOIN %s",Ptr->name);
-00625                                 if (Ptr->topicset)
-00626                                 {
-00627                                         WriteServ(zombie->fd,"332 %s %s :%s", zombie->nick, Ptr->name, Ptr->topic);
-00628                                         WriteServ(zombie->fd,"333 %s %s %s %d", zombie->nick, Ptr->name, Ptr->setby, Ptr->topicset);
-00629                                 }
-00630                                 userlist(zombie,Ptr);
-00631                                 WriteServ(zombie->fd,"366 %s %s :End of /NAMES list.", zombie->nick, Ptr->name);
-00632 
-00633                         }
-00634                 }
-00635         }
-00636         return true;
-00637 }
-00638 
-00639 void Server::AddGLine(long duration, std::string source, std::string reason, std::string hostmask)
-00640 {
-00641         add_gline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-00642 }
-00643 
-00644 void Server::AddQLine(long duration, std::string source, std::string reason, std::string nickname)
-00645 {
-00646         add_qline(duration, source.c_str(), reason.c_str(), nickname.c_str());
-00647 }
-00648 
-00649 void Server::AddZLine(long duration, std::string source, std::string reason, std::string ipaddr)
-00650 {
-00651         add_zline(duration, source.c_str(), reason.c_str(), ipaddr.c_str());
-00652 }
-00653 
-00654 void Server::AddKLine(long duration, std::string source, std::string reason, std::string hostmask)
-00655 {
-00656         add_kline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-00657 }
-00658 
-00659 void Server::AddELine(long duration, std::string source, std::string reason, std::string hostmask)
-00660 {
-00661         add_eline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-00662 }
-00663 
-00664 bool Server::DelGLine(std::string hostmask)
-00665 {
-00666         return del_gline(hostmask.c_str());
-00667 }
-00668 
-00669 bool Server::DelQLine(std::string nickname)
-00670 {
-00671         return del_qline(nickname.c_str());
-00672 }
-00673 
-00674 bool Server::DelZLine(std::string ipaddr)
-00675 {
-00676         return del_zline(ipaddr.c_str());
-00677 }
-00678 
-00679 bool Server::DelKLine(std::string hostmask)
-00680 {
-00681         return del_kline(hostmask.c_str());
-00682 }
-00683 
-00684 bool Server::DelELine(std::string hostmask)
-00685 {
-00686         return del_eline(hostmask.c_str());
-00687 }
-00688 
-00689 long Server::CalcDuration(std::string delta)
-00690 {
-00691         return duration(delta.c_str());
-00692 }
-00693 
-00694 bool Server::IsValidMask(std::string mask)
-00695 {
-00696         const char* dest = mask.c_str();
-00697         if (strchr(dest,'!')==0)
-00698                 return false;
-00699         if (strchr(dest,'@')==0)
-00700                 return false;
-00701         for (unsigned int i = 0; i < strlen(dest); i++)
-00702                 if (dest[i] < 32)
-00703                         return false;
-00704         for (unsigned int i = 0; i < strlen(dest); i++)
-00705                 if (dest[i] > 126)
-00706                         return false;
-00707         unsigned int c = 0;
-00708         for (unsigned int i = 0; i < strlen(dest); i++)
-00709                 if (dest[i] == '!')
-00710                         c++;
-00711         if (c>1)
-00712                 return false;
-00713         c = 0;
-00714         for (unsigned int i = 0; i < strlen(dest); i++)
-00715                 if (dest[i] == '@')
-00716                         c++;
-00717         if (c>1)
-00718                 return false;
-00719 
-00720         return true;
-00721 }
-00722 
-00723 Module* Server::FindModule(std::string name)
-00724 {
-00725         for (int i = 0; i <= MODCOUNT; i++)
-00726         {
-00727                 if (Config->module_names[i] == name)
-00728                 {
-00729                         return modules[i];
-00730                 }
-00731         }
-00732         return NULL;
-00733 }
-00734 
-00735 ConfigReader::ConfigReader()
-00736 {
-00737         Config->ClearStack();
-00738         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00739         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00740         this->readerror = Config->LoadConf(CONFIG_FILE,this->cache,this->errorlog);
-00741         if (!this->readerror)
-00742                 this->error = CONF_FILE_NOT_FOUND;
-00743 }
-00744 
-00745 
-00746 ConfigReader::~ConfigReader()
-00747 {
-00748         if (this->cache)
-00749                 delete this->cache;
-00750         if (this->errorlog)
-00751                 delete this->errorlog;
-00752 }
-00753 
-00754 
-00755 ConfigReader::ConfigReader(std::string filename)
-00756 {
-00757         Config->ClearStack();
-00758         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00759         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00760         this->readerror = Config->LoadConf(filename.c_str(),this->cache,this->errorlog);
-00761         if (!this->readerror)
-00762                 this->error = CONF_FILE_NOT_FOUND;
-00763 };
-00764 
-00765 std::string ConfigReader::ReadValue(std::string tag, std::string name, int index)
-00766 {
-00767         char val[MAXBUF];
-00768         char t[MAXBUF];
-00769         char n[MAXBUF];
-00770         strlcpy(t,tag.c_str(),MAXBUF);
-00771         strlcpy(n,name.c_str(),MAXBUF);
-00772         int res = Config->ReadConf(cache,t,n,index,val);
-00773         if (!res)
-00774         {
-00775                 this->error = CONF_VALUE_NOT_FOUND;
-00776                 return "";
-00777         }
-00778         return val;
-00779 }
-00780 
-00781 bool ConfigReader::ReadFlag(std::string tag, std::string name, int index)
-00782 {
-00783         char val[MAXBUF];
-00784         char t[MAXBUF];
-00785         char n[MAXBUF];
-00786         strlcpy(t,tag.c_str(),MAXBUF);
-00787         strlcpy(n,name.c_str(),MAXBUF);
-00788         int res = Config->ReadConf(cache,t,n,index,val);
-00789         if (!res)
-00790         {
-00791                 this->error = CONF_VALUE_NOT_FOUND;
-00792                 return false;
-00793         }
-00794         std::string s = val;
-00795         return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1"));
-00796 }
-00797 
-00798 long ConfigReader::ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned)
-00799 {
-00800         char val[MAXBUF];
-00801         char t[MAXBUF];
-00802         char n[MAXBUF];
-00803         strlcpy(t,tag.c_str(),MAXBUF);
-00804         strlcpy(n,name.c_str(),MAXBUF);
-00805         int res = Config->ReadConf(cache,t,n,index,val);
-00806         if (!res)
-00807         {
-00808                 this->error = CONF_VALUE_NOT_FOUND;
-00809                 return 0;
-00810         }
-00811         for (unsigned int i = 0; i < strlen(val); i++)
-00812         {
-00813                 if (!isdigit(val[i]))
-00814                 {
-00815                         this->error = CONF_NOT_A_NUMBER;
-00816                         return 0;
-00817                 }
-00818         }
-00819         if ((needs_unsigned) && (atoi(val)<0))
-00820         {
-00821                 this->error = CONF_NOT_UNSIGNED;
-00822                 return 0;
-00823         }
-00824         return atoi(val);
-00825 }
-00826 
-00827 long ConfigReader::GetError()
-00828 {
-00829         long olderr = this->error;
-00830         this->error = 0;
-00831         return olderr;
-00832 }
-00833 
-00834 void ConfigReader::DumpErrors(bool bail, userrec* user)
-00835 {
-00836         if (bail)
-00837         {
-00838                 printf("There were errors in your configuration:\n%s",errorlog->str().c_str());
-00839                 exit(0);
-00840         }
-00841         else
-00842         {
-00843                 char dataline[1024];
-00844                 if (user)
-00845                 {
-00846                         WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick);
-00847                         while (!errorlog->eof())
-00848                         {
-00849                                 errorlog->getline(dataline,1024);
-00850                                 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline);
-00851                         }
-00852                 }
-00853                 else
-00854                 {
-00855                         WriteOpers("There were errors in the configuration file:",user->nick);
-00856                         while (!errorlog->eof())
-00857                         {
-00858                                 errorlog->getline(dataline,1024);
-00859                                 WriteOpers(dataline);
-00860                         }
-00861                 }
-00862                 return;
-00863         }
-00864 }
-00865 
-00866 
-00867 int ConfigReader::Enumerate(std::string tag)
-00868 {
-00869         return Config->EnumConf(cache,tag.c_str());
-00870 }
-00871 
-00872 int ConfigReader::EnumerateValues(std::string tag, int index)
-00873 {
-00874         return Config->EnumValues(cache, tag.c_str(), index);
-00875 }
-00876 
-00877 bool ConfigReader::Verify()
-00878 {
-00879         return this->readerror;
-00880 }
-00881 
-00882 
-00883 FileReader::FileReader(std::string filename)
-00884 {
-00885         file_cache c;
-00886         readfile(c,filename.c_str());
-00887         this->fc = c;
-00888 }
-00889 
-00890 FileReader::FileReader()
-00891 {
-00892 }
-00893 
-00894 void FileReader::LoadFile(std::string filename)
-00895 {
-00896         file_cache c;
-00897         readfile(c,filename.c_str());
-00898         this->fc = c;
-00899 }
-00900 
-00901 
-00902 FileReader::~FileReader()
-00903 {
-00904 }
-00905 
-00906 bool FileReader::Exists()
-00907 {
-00908         if (fc.size() == 0)
-00909         {
-00910                 return(false);
-00911         }
-00912         else
-00913         {
-00914                 return(true);
-00915         }
-00916 }
-00917 
-00918 std::string FileReader::GetLine(int x)
-00919 {
-00920         if ((x<0) || ((unsigned)x>fc.size()))
-00921                 return "";
-00922         return fc[x];
-00923 }
-00924 
-00925 int FileReader::FileSize()
-00926 {
-00927         return fc.size();
-00928 }
-00929 
-00930 
-00931 std::vector<Module*> modules(255);
-00932 std::vector<ircd_module*> factory(255);
-00933 
-00934 int MODCOUNT  = -1;
-00935 
-00936 
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/modules_8cpp.html b/docs/module-doc/modules_8cpp.html deleted file mode 100644 index b1f40e797..000000000 --- a/docs/module-doc/modules_8cpp.html +++ /dev/null @@ -1,839 +0,0 @@ - - -InspIRCd: modules.cpp File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

modules.cpp File Reference

#include "inspircd_config.h"
-#include "inspircd.h"
-#include "inspircd_io.h"
-#include <unistd.h>
-#include <sys/errno.h>
-#include <time.h>
-#include <string>
-#include <hash_map>
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
-#include "users.h"
-#include "ctables.h"
-#include "globals.h"
-#include "modules.h"
-#include "dynamic.h"
-#include "wildcard.h"
-#include "message.h"
-#include "mode.h"
-#include "xline.h"
-#include "commands.h"
-#include "inspstring.h"
-#include "helperfuncs.h"
-#include "hashcomp.h"
-#include "socket.h"
-#include "socketengine.h"
-#include "typedefs.h"
-#include "command_parse.h"
- -

-Include dependency graph for modules.cpp:

- - - - - - - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

bool ModeDefined (char modechar, int type)
bool ModeIsListMode (char modechar, int type)
bool ModeDefinedOper (char modechar, int type)
int ModeDefinedOn (char modechar, int type)
int ModeDefinedOff (char modechar, int type)
bool DoAddExtendedMode (char modechar, int type, bool requires_oper, int params_on, int params_off)
void ModeMakeList (char modechar)
std::vector< Module * > modules (255)
std::vector< ircd_module * > factory (255)

Variables

ServerConfigConfig
InspIRCdServerInstance
int MODCOUNT = -1
std::vector< Module * > modules
std::vector< ircd_module * > factory
std::vector< InspSocket * > module_sockets
time_t TIME
userrecfd_ref_table [65536]
user_hash clientlist
chan_hash chanlist
command_table cmdlist
ExtModeList EMode
-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool DoAddExtendedMode char  modechar,
int  type,
bool  requires_oper,
int  params_on,
int  params_off
-
- - - - - -
-   - - -

- -

-Definition at line 133 of file modules.cpp. -

-References EMode, and ModeDefined(). -

-Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode().

00134 {
-00135         if (ModeDefined(modechar,type)) {
-00136                 return false;
-00137         }
-00138         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
-00139         return true;
-00140 }
-
-

-

-

- - - - -
- - - - - - - - - -
std::vector<ircd_module*> factory 255   ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ModeDefined char  modechar,
int  type
-
- - - - - -
-   - - -

- -

-Definition at line 70 of file modules.cpp. -

-References EMode. -

-Referenced by DoAddExtendedMode().

00071 {
-00072         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00073         {
-00074                 if ((i->modechar == modechar) && (i->type == type))
-00075                 {
-00076                         return true;
-00077                 }
-00078         }
-00079         return false;
-00080 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ModeDefinedOff char  modechar,
int  type
-
- - - - - -
-   - - -

- -

-Definition at line 120 of file modules.cpp. -

-References EMode.

00121 {
-00122         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00123         {
-00124                 if ((i->modechar == modechar) && (i->type == type))
-00125                 {
-00126                         return i->params_when_off;
-00127                 }
-00128         }
-00129         return 0;
-00130 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ModeDefinedOn char  modechar,
int  type
-
- - - - - -
-   - - -

- -

-Definition at line 107 of file modules.cpp. -

-References EMode.

00108 {
-00109         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00110         {
-00111                 if ((i->modechar == modechar) && (i->type == type))
-00112                 {
-00113                         return i->params_when_on;
-00114                 }
-00115         }
-00116         return 0;
-00117 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ModeDefinedOper char  modechar,
int  type
-
- - - - - -
-   - - -

- -

-Definition at line 94 of file modules.cpp. -

-References EMode.

00095 {
-00096         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00097         {
-00098                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
-00099                 {
-00100                         return true;
-00101                 }
-00102         }
-00103         return false;
-00104 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ModeIsListMode char  modechar,
int  type
-
- - - - - -
-   - - -

- -

-Definition at line 82 of file modules.cpp. -

-References EMode.

00083 {
-00084         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00085         {
-00086                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
-00087                 {
-00088                         return true;
-00089                 }
-00090         }
-00091         return false;
-00092 }
-
-

-

-

- - - - -
- - - - - - - - - -
void ModeMakeList char  modechar  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 143 of file modules.cpp. -

-References EMode, and MT_CHANNEL. -

-Referenced by Server::AddExtendedListMode().

00144 {
-00145         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00146         {
-00147                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
-00148                 {
-00149                         i->list = true;
-00150                         return;
-00151                 }
-00152         }
-00153         return;
-00154 }
-
-

-

-

- - - - -
- - - - - - - - - -
std::vector<Module*> modules 255   ) 
-
- - - - - -
-   - - -

-

-


Variable Documentation

-

- - - - -
- - - - -
chan_hash chanlist
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
user_hash clientlist
-
- - - - - -
-   - - -

- -

-Referenced by AddClient(), kill_link(), kill_link_silent(), and ReHashNick().

-

- - - - -
- - - - -
command_table cmdlist
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
ServerConfig* Config
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
ExtModeList EMode
-
- - - - - -
-   - - -

- -

-Definition at line 67 of file modules.cpp. -

-Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().

-

- - - - -
- - - - -
std::vector<ircd_module*> factory
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
userrec* fd_ref_table[65536]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
int MODCOUNT = -1
-
- - - - - -
-   - - -

- -

-Definition at line 934 of file modules.cpp.

-

- - - - -
- - - - -
std::vector<InspSocket*> module_sockets
-
- - - - - -
-   - - -

- -

-Referenced by Server::AddSocket(), and Server::DelSocket().

-

- - - - -
- - - - -
std::vector<Module*> modules
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
InspIRCd* ServerInstance
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
time_t TIME
-
- - - - - -
-   - - -

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/modules_8cpp__incl.gif b/docs/module-doc/modules_8cpp__incl.gif deleted file mode 100644 index e80534192..000000000 Binary files a/docs/module-doc/modules_8cpp__incl.gif and /dev/null differ diff --git a/docs/module-doc/modules_8cpp__incl.map b/docs/module-doc/modules_8cpp__incl.map deleted file mode 100644 index 957fa469e..000000000 --- a/docs/module-doc/modules_8cpp__incl.map +++ /dev/null @@ -1,15 +0,0 @@ -base referer -rect $inspircd_8h-source.html 305,716 385,743 -rect $inspircd__io_8h-source.html 452,666 548,692 -rect $globals_8h-source.html 627,666 701,692 -rect $users_8h-source.html 772,818 836,844 -rect $hashcomp_8h-source.html 896,1426 989,1452 -rect $modules_8h-source.html 623,1375 705,1402 -rect $ctables_8h-source.html 767,1578 841,1604 -rect $socket_8h-source.html 768,1223 840,1250 -rect $mode_8h-source.html 631,1020 697,1047 -rect $socketengine_8h-source.html 444,412 556,439 -rect $message_8h-source.html 621,615 707,642 -rect $xline_8h-source.html 633,362 695,388 -rect $commands_8h-source.html 615,919 713,946 -rect $typedefs_8h-source.html 163,1375 248,1402 diff --git a/docs/module-doc/modules_8cpp__incl.md5 b/docs/module-doc/modules_8cpp__incl.md5 deleted file mode 100644 index d0f388278..000000000 --- a/docs/module-doc/modules_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4e8aa95ae7fcdb9cbd30aed0c54c5b3b \ No newline at end of file diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html deleted file mode 100644 index ef5454900..000000000 --- a/docs/module-doc/modules_8h-source.html +++ /dev/null @@ -1,556 +0,0 @@ - - -InspIRCd: modules.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

modules.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 
-00018 #ifndef __PLUGIN_H
-00019 #define __PLUGIN_H
-00020 
-00023 #define DEBUG 10
-00024 #define VERBOSE 20
-00025 #define DEFAULT 30
-00026 #define SPARSE 40
-00027 #define NONE 50
-00028 
-00031 #define MT_CHANNEL 1
-00032 #define MT_CLIENT 2
-00033 #define MT_SERVER 3
-00034 
-00037 #define ACR_DEFAULT 0           // Do default action (act as if the module isnt even loaded)
-00038 #define ACR_DENY 1              // deny the action
-00039 #define ACR_ALLOW 2             // allow the action
-00040 #define AC_KICK 0               // a user is being kicked
-00041 #define AC_DEOP 1               // a user is being deopped
-00042 #define AC_OP 2                 // a user is being opped
-00043 #define AC_VOICE 3              // a user is being voiced
-00044 #define AC_DEVOICE 4            // a user is being devoiced
-00045 #define AC_HALFOP 5             // a user is being halfopped
-00046 #define AC_DEHALFOP 6           // a user is being dehalfopped
-00047 #define AC_INVITE 7             // a user is being invited
-00048 #define AC_GENERAL_MODE 8       // a user channel mode is being changed
-00049 
-00052 #define VF_STATIC               1       // module is static, cannot be /unloadmodule'd
-00053 #define VF_VENDOR               2       // module is a vendor module (came in the original tarball, not 3rd party)
-00054 #define VF_SERVICEPROVIDER      4       // module provides a service to other modules (can be a dependency)
-00055 #define VF_COMMON               8       // module needs to be common on all servers in a mesh to link
-00056 
-00057 #include "dynamic.h"
-00058 #include "base.h"
-00059 #include "ctables.h"
-00060 #include "socket.h"
-00061 #include <string>
-00062 #include <deque>
-00063 #include <sstream>
-00064 
-00065 class Server;
-00066 class ServerConfig;
-00067 
-00070 typedef std::deque<std::string> file_cache;
-00071 typedef file_cache string_list;
-00072 
-00075 typedef std::deque<userrec*> chanuserlist;
-00076 
-00077 
-00078 // This #define allows us to call a method in all
-00079 // loaded modules in a readable simple way, e.g.:
-00080 // 'FOREACH_MOD OnConnect(user);'
-00081 
-00082 #define FOREACH_MOD for (int _i = 0; _i <= MODCOUNT; _i++) modules[_i]->
-00083 
-00084 // This define is similar to the one above but returns a result in MOD_RESULT.
-00085 // The first module to return a nonzero result is the value to be accepted,
-00086 // and any modules after are ignored.
-00087 
-00088 // *********************************************************************************************
-00089 
-00090 #define FOREACH_RESULT(x) { MOD_RESULT = 0; \
-00091                         for (int _i = 0; _i <= MODCOUNT; _i++) { \
-00092                         int res = modules[_i]->x ; \
-00093                         if (res != 0) { \
-00094                                 MOD_RESULT = res; \
-00095                                 break; \
-00096                         } \
-00097                 } \
-00098         } 
-00099    
-00100 // *********************************************************************************************
-00101 
-00102 #define FD_MAGIC_NUMBER -42
-00103 
-00104 // useful macros
-00105 
-00106 #define IS_LOCAL(x) (x->fd > -1)
-00107 #define IS_REMOTE(x) (x->fd < 0)
-00108 #define IS_MODULE_CREATED(x) (x->fd == FD_MAGIC_NUMBER)
-00109 
-00110 // flags for use with WriteMode
-00111 
-00112 #define WM_AND 1
-00113 #define WM_OR 2
-00114 
-00115 // flags for use with OnUserPreMessage and OnUserPreNotice
-00116 
-00117 #define TYPE_USER 1
-00118 #define TYPE_CHANNEL 2
-00119 #define TYPE_SERVER 3
-00120 
-00121 /*extern void createcommand(char* cmd, handlerfunc f, char flags, int minparams, char* source);
-00122 extern void server_mode(char **parameters, int pcnt, userrec *user);*/
-00123 
-00124 // class Version holds the version information of a Module, returned
-00125 // by Module::GetVersion (thanks RD)
-00126 
-00131 class Version : public classbase
-00132 {
-00133  public:
-00134          const int Major, Minor, Revision, Build, Flags;
-00135          Version(int major, int minor, int revision, int build, int flags);
-00136 };
-00137 
-00143 class Admin : public classbase
-00144 {
-00145  public:
-00146          const std::string Name, Email, Nick;
-00147          Admin(std::string name, std::string email, std::string nick);
-00148 };
-00149 
-00150 
-00151 // Forward-delacare module for ModuleMessage etc
-00152 class Module;
-00153 
-00154 // Thanks to Rob (from anope) for the idea of this message passing API
-00155 // (its been done before, but this seemed a very neat and tidy way...
-00156 
-00161 class ModuleMessage : public classbase
-00162 {
-00163  public:
-00166         virtual char* Send() = 0;
-00167         virtual ~ModuleMessage() {};
-00168 };
-00169 
-00175 class Request : public ModuleMessage
-00176 {
-00177  protected:
-00180         char* data;
-00184         Module* source;
-00187         Module* dest;
-00188  public:
-00191         Request(char* anydata, Module* src, Module* dst);
-00194         char* GetData();
-00197         Module* GetSource();
-00200         Module* GetDest();
-00206         char* Send();
-00207 };
-00208 
-00209 
-00215 class Event : public ModuleMessage
-00216 {
-00217  protected:
-00220         char* data;
-00224         Module* source;
-00229         std::string id;
-00230  public:
-00233         Event(char* anydata, Module* src, std::string eventid);
-00236         char* GetData();
-00239         Module* GetSource();
-00243         std::string GetEventID();
-00248         char* Send();
-00249 };
-00250 
-00254 class ExtMode : public classbase
-00255 {
-00256  public:
-00257         char modechar;
-00258         int type;
-00259         bool needsoper;
-00260         int params_when_on;
-00261         int params_when_off;
-00262         bool list;
-00263         ExtMode(char mc, int ty, bool oper, int p_on, int p_off) : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
-00264 };
-00265 
-00266 
-00272 class Module : public classbase
-00273 {
-00274  public:
-00275 
-00280         Module(Server* Me);
-00281 
-00285         virtual ~Module();
-00286 
-00291         virtual Version GetVersion();
-00292 
-00297         virtual void OnUserConnect(userrec* user);
-00298 
-00306         virtual void OnUserQuit(userrec* user, std::string message);
-00307 
-00314         virtual void OnUserDisconnect(userrec* user);
-00315 
-00322         virtual void OnUserJoin(userrec* user, chanrec* channel);
-00323 
-00330         virtual void OnUserPart(userrec* user, chanrec* channel);
-00331 
-00339         virtual void OnRehash(std::string parameter);
-00340 
-00352         virtual void OnServerRaw(std::string &raw, bool inbound, userrec* user);
-00353 
-00369         virtual int OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params);
-00370         
-00387         virtual int OnUserPreJoin(userrec* user, chanrec* chan, const char* cname);
-00388         
-00399         virtual int OnUserPreKick(userrec* source, userrec* user, chanrec* chan, std::string reason);
-00400 
-00409         virtual void OnUserKick(userrec* source, userrec* user, chanrec* chan, std::string reason);
-00410 
-00417         virtual void OnOper(userrec* user, std::string opertype);
-00418         
-00429         virtual void OnInfo(userrec* user);
-00430         
-00437         virtual void OnWhois(userrec* source, userrec* dest);
-00438         
-00448         virtual int OnUserPreInvite(userrec* source,userrec* dest,chanrec* channel);
-00449         
-00457         virtual void OnUserInvite(userrec* source,userrec* dest,chanrec* channel);
-00458         
-00472         virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text);
-00473 
-00490         virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text);
-00491         
-00502         virtual int OnUserPreNick(userrec* user, std::string newnick);
-00503 
-00512         virtual void OnUserMessage(userrec* user, void* dest, int target_type, std::string text);
-00513 
-00522         virtual void OnUserNotice(userrec* user, void* dest, int target_type, std::string text);
-00523 
-00533         virtual void OnMode(userrec* user, void* dest, int target_type, std::string text);
-00534 
-00543         virtual void OnGetServerDescription(std::string servername,std::string &description);
-00544 
-00557         virtual void OnSyncUser(userrec* user, Module* proto, void* opaque);
-00558 
-00574         virtual void OnSyncChannel(chanrec* chan, Module* proto, void* opaque);
-00575 
-00576         /* Allows modules to syncronize metadata related to channels over the network during a netburst.
-00577          * Whenever the linking module wants to send out data, but doesnt know what the data
-00578          * represents (e.g. it is Extensible metadata, added to a userrec or chanrec by a module) then
-00579          * this method is called.You should use the ProtoSendMetaData function after you've
-00580          * correctly decided how the data should be represented, to send the metadata on its way if it belongs
-00581          * to your module. For a good example of how to use this method, see src/modules/m_swhois.cpp.
-00582          * @param chan The channel whos metadata is being syncronized
-00583          * @param proto A pointer to the module handling network protocol
-00584          * @param opaque An opaque pointer set by the protocol module, should not be modified!
-00585          * @param extname The extensions name which is being searched for
-00586          */
-00587         virtual void OnSyncChannelMetaData(chanrec* chan, Module* proto,void* opaque, std::string extname);
-00588 
-00589         /* Allows modules to syncronize metadata related to users over the network during a netburst.
-00590          * Whenever the linking module wants to send out data, but doesnt know what the data
-00591          * represents (e.g. it is Extensible metadata, added to a userrec or chanrec by a module) then
-00592          * this method is called. You should use the ProtoSendMetaData function after you've
-00593          * correctly decided how the data should be represented, to send the metadata on its way if
-00594          * if it belongs to your module.
-00595          * @param user The user whos metadata is being syncronized
-00596          * @param proto A pointer to the module handling network protocol
-00597          * @param opaque An opaque pointer set by the protocol module, should not be modified!
-00598          * @param extname The extensions name which is being searched for
-00599          */
-00600         virtual void OnSyncUserMetaData(userrec* user, Module* proto,void* opaque, std::string extname);
-00601 
-00609         virtual void OnDecodeMetaData(int target_type, void* target, std::string extname, std::string extdata);
-00610 
-00624         virtual void ProtoSendMode(void* opaque, int target_type, void* target, std::string modeline);
-00625 
-00640         virtual void ProtoSendMetaData(void* opaque, int target_type, void* target, std::string extname, std::string extdata);
-00641         
-00646         virtual void OnWallops(userrec* user, std::string text);
-00647 
-00653         virtual void OnChangeHost(userrec* user, std::string newhost);
-00654 
-00660         virtual void OnChangeName(userrec* user, std::string gecos);
-00661 
-00669         virtual void OnAddGLine(long duration, userrec* source, std::string reason, std::string hostmask);
-00670 
-00678         virtual void OnAddZLine(long duration, userrec* source, std::string reason, std::string ipmask);
-00679 
-00687         virtual void OnAddKLine(long duration, userrec* source, std::string reason, std::string hostmask);
-00688 
-00696         virtual void OnAddQLine(long duration, userrec* source, std::string reason, std::string nickmask);
-00697 
-00705         virtual void OnAddELine(long duration, userrec* source, std::string reason, std::string hostmask);
-00706 
-00712         virtual void OnDelGLine(userrec* source, std::string hostmask);
-00713 
-00719         virtual void OnDelZLine(userrec* source, std::string ipmask);
-00720 
-00726         virtual void OnDelKLine(userrec* source, std::string hostmask);
-00727         
-00733         virtual void OnDelQLine(userrec* source, std::string nickmask);
-00734 
-00740         virtual void OnDelELine(userrec* source, std::string hostmask);
-00741 
-00751         virtual void OnCleanup(int target_type, void* item);
-00752 
-00762         virtual void OnUserPostNick(userrec* user, std::string oldnick);
-00763 
-00789         virtual int OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type);
-00790 
-00795         virtual void On005Numeric(std::string &output);
-00796 
-00810         virtual int OnKill(userrec* source, userrec* dest, std::string reason);
-00811 
-00817         virtual void OnRemoteKill(userrec* source, userrec* dest, std::string reason);
-00818 
-00831         virtual void OnLoadModule(Module* mod,std::string name);
-00832 
-00845         virtual void OnUnloadModule(Module* mod,std::string name);
-00846 
-00853         virtual void OnBackgroundTimer(time_t curtime);
-00854 
-00865         virtual void OnSendList(userrec* user, chanrec* channel, char mode);
-00866 
-00882         virtual int OnPreCommand(std::string command, char **parameters, int pcnt, userrec *user);
-00883 
-00894         virtual bool OnCheckReady(userrec* user);
-00895 
-00904         virtual void OnUserRegister(userrec* user);
-00905 
-00918         virtual int OnRawMode(userrec* user, chanrec* chan, char mode, std::string param, bool adding, int pcnt);
-00919 
-00928         virtual int OnCheckInvite(userrec* user, chanrec* chan);
-00929 
-00939         virtual int OnCheckKey(userrec* user, chanrec* chan, std::string keygiven);
-00940 
-00949         virtual int OnCheckLimit(userrec* user, chanrec* chan);
-00950 
-00959         virtual int OnCheckBan(userrec* user, chanrec* chan);
-00960 
-00965         virtual void OnStats(char symbol);
-00966 
-00973         virtual int OnChangeLocalUserHost(userrec* user, std::string newhost);
-00974 
-00981         virtual int OnChangeLocalUserGECOS(userrec* user, std::string newhost); 
-00982 
-00990         virtual int OnLocalTopicChange(userrec* user, chanrec* chan, std::string topic);
-00991 
-00998         virtual void OnPostLocalTopicChange(userrec* user, chanrec* chan, std::string topic);
-00999 
-01006         virtual void OnEvent(Event* event);
-01007 
-01015         virtual char* OnRequest(Request* request);
-01016 
-01026         virtual int OnOperCompare(std::string password, std::string input);
-01027 
-01034         virtual void OnGlobalOper(userrec* user);
-01035 
-01041         virtual void OnGlobalConnect(userrec* user);
-01042 
-01050         virtual int OnAddBan(userrec* source, chanrec* channel,std::string banmask);
-01051 
-01059         virtual int OnDelBan(userrec* source, chanrec* channel,std::string banmask);
-01060 
-01070         virtual void OnRawSocketAccept(int fd, std::string ip, int localport);
-01071 
-01082         virtual int OnRawSocketWrite(int fd, char* buffer, int count);
-01083 
-01088         virtual void OnRawSocketClose(int fd);
-01089 
-01105         virtual int OnRawSocketRead(int fd, char* buffer, unsigned int count, int &readresult);
-01106 };
-01107 
-01108 
-01114 class Server : public classbase
-01115 {
-01116  public:
-01120         Server();
-01124         virtual ~Server();
-01129         ServerConfig* GetConfig();
-01133         virtual void SendOpers(std::string s);
-01136         std::string GetVersion();
-01141         virtual void Log(int level, std::string s);
-01146         virtual void Send(int Socket, std::string s);
-01151         virtual void SendServ(int Socket, std::string s);
-01155         virtual void SendChannelServerNotice(std::string ServName, chanrec* Channel, std::string text);
-01160         virtual void SendFrom(int Socket, userrec* User, std::string s);
-01175         virtual void SendTo(userrec* Source, userrec* Dest, std::string s);
-01182         virtual void SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender);
-01187         virtual bool CommonChannels(userrec* u1, userrec* u2);
-01195         virtual void SendCommon(userrec* User, std::string text,bool IncludeSender);
-01200         virtual void SendWallops(userrec* User, std::string text);
-01201 
-01205         virtual bool IsNick(std::string nick);
-01209         virtual int CountUsers(chanrec* c);
-01213         virtual userrec* FindNick(std::string nick);
-01217         virtual userrec* FindDescriptor(int socket);
-01221         virtual chanrec* FindChannel(std::string channel);
-01226         virtual std::string ChanMode(userrec* User, chanrec* Chan);
-01230         virtual bool IsOnChannel(userrec* User, chanrec* Chan);
-01233         virtual std::string GetServerName();
-01236         virtual std::string GetNetworkName();
-01239         virtual std::string GetServerDescription();
-01245         virtual Admin GetAdmin();
-01264         virtual bool AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off);
-01265 
-01287         virtual bool AddExtendedListMode(char modechar);
-01288 
-01306         virtual void AddCommand(command_t *f);
-01307          
-01329         virtual void SendMode(char **parameters, int pcnt, userrec *user);
-01330         
-01343         virtual void SendToModeMask(std::string modes, int flags, std::string text);
-01344 
-01350         virtual chanrec* JoinUserToChannel(userrec* user, std::string cname, std::string key);
-01351         
-01357         virtual chanrec* PartUserFromChannel(userrec* user, std::string cname, std::string reason);
-01358         
-01364         virtual void ChangeUserNick(userrec* user, std::string nickname);
-01365         
-01376         virtual void QuitUser(userrec* user, std::string reason);
-01377         
-01382         virtual bool MatchText(std::string sliteral, std::string spattern);
-01383         
-01395         virtual void CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user);
-01396 
-01397         virtual bool IsValidModuleCommand(std::string commandname, int pcnt, userrec* user);
-01398         
-01404         virtual void ChangeHost(userrec* user, std::string host);
-01405         
-01411         virtual void ChangeGECOS(userrec* user, std::string gecos);
-01412         
-01421         virtual bool IsUlined(std::string server);
-01422         
-01426         virtual chanuserlist GetUsers(chanrec* chan);
-01427 
-01434         virtual bool UserToPseudo(userrec* user,std::string message);
-01435 
-01442         virtual bool PseudoToUser(userrec* alive,userrec* zombie,std::string message);
-01443 
-01451         virtual void AddGLine(long duration, std::string source, std::string reason, std::string hostmask);
-01452 
-01460         virtual void AddQLine(long duration, std::string source, std::string reason, std::string nickname);
-01461 
-01469         virtual void AddZLine(long duration, std::string source, std::string reason, std::string ipaddr);
-01470 
-01478         virtual void AddKLine(long duration, std::string source, std::string reason, std::string hostmask);
-01479 
-01487         virtual void AddELine(long duration, std::string source, std::string reason, std::string hostmask);
-01488 
-01491         virtual bool DelGLine(std::string hostmask);
-01492 
-01495         virtual bool DelQLine(std::string nickname);
-01496 
-01499         virtual bool DelZLine(std::string ipaddr);
-01500 
-01503         virtual bool DelKLine(std::string hostmask);
-01504 
-01507         virtual bool DelELine(std::string hostmask);
-01508 
-01514         virtual long CalcDuration(std::string duration);
-01515 
-01518         virtual bool IsValidMask(std::string mask);
-01519 
-01524         virtual Module* FindModule(std::string name);
-01525 
-01528         virtual void AddSocket(InspSocket* sock);
-01529 
-01532         virtual void DelSocket(InspSocket* sock);
-01533 
-01534         virtual void RehashServer();
-01535 };
-01536 
-01537 
-01538 #define CONF_NOT_A_NUMBER       0x000010
-01539 #define CONF_NOT_UNSIGNED       0x000080
-01540 #define CONF_VALUE_NOT_FOUND    0x000100
-01541 #define CONF_FILE_NOT_FOUND     0x000200
-01542 
-01543 
-01550 class ConfigReader : public classbase
-01551 {
-01552   protected:
-01558         std::stringstream *cache;
-01559         std::stringstream *errorlog;
-01562         bool readerror;
-01563         long error;
-01564         
-01565   public:
-01570         ConfigReader();                 // default constructor reads ircd.conf
-01574         ConfigReader(std::string filename);     // read a module-specific config
-01578         ~ConfigReader();
-01583         std::string ReadValue(std::string tag, std::string name, int index);
-01589         bool ReadFlag(std::string tag, std::string name, int index);
-01598         long ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned);
-01603         long GetError();
-01610         int Enumerate(std::string tag);
-01615         bool Verify();
-01622         void DumpErrors(bool bail,userrec* user);
-01623 
-01629         int EnumerateValues(std::string tag, int index);
-01630 };
-01631 
-01632 
-01633 
-01639 class FileReader : public classbase
-01640 {
-01641  file_cache fc;
-01642  public:
-01647          FileReader();
-01648 
-01654          FileReader(std::string filename);
-01655 
-01659          ~FileReader();
-01660 
-01666          void LoadFile(std::string filename);
-01667 
-01671          bool Exists();
-01672          
-01677          std::string GetLine(int x);
-01678 
-01684          int FileSize();
-01685 };
-01686 
-01687 
-01694 class ModuleFactory : public classbase
-01695 {
-01696  public:
-01697         ModuleFactory() { }
-01698         virtual ~ModuleFactory() { }
-01703         virtual Module * CreateModule(Server* Me) = 0;
-01704 };
-01705 
-01706 
-01707 typedef DLLFactory<ModuleFactory> ircd_module;
-01708 
-01709 bool ModeDefined(char c, int i);
-01710 bool ModeDefinedOper(char c, int i);
-01711 int ModeDefinedOn(char c, int i);
-01712 int ModeDefinedOff(char c, int i);
-01713 void ModeMakeList(char modechar);
-01714 bool ModeIsListMode(char modechar, int type);
-01715 
-01716 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/modules_8h.html b/docs/module-doc/modules_8h.html deleted file mode 100644 index 3adc9eb2b..000000000 --- a/docs/module-doc/modules_8h.html +++ /dev/null @@ -1,1645 +0,0 @@ - - -InspIRCd: modules.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

modules.h File Reference

#include "dynamic.h"
-#include "base.h"
-#include "ctables.h"
-#include "socket.h"
-#include <string>
-#include <deque>
-#include <sstream>
- -

-Include dependency graph for modules.h:

- - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  Version
 Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module. More...
class  Admin
 Holds /ADMIN data This class contains the admin details of the local server. More...
class  ModuleMessage
 The ModuleMessage class is the base class of Request and Event This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. More...
class  Request
 The Request class is a unicast message directed at a given module. More...
class  Event
 The Event class is a unicast message directed at all modules. More...
class  ExtMode
 Holds an extended mode's details. More...
class  Module
 Base class for all InspIRCd modules This class is the base class for InspIRCd modules. More...
class  Server
 Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. More...
class  ConfigReader
 Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file. More...
class  FileReader
 Caches a text file into memory and can be used to retrieve lines from it. More...
class  ModuleFactory
 Instantiates classes inherited from Module This class creates a class inherited from type Module, using new. More...

Defines

#define DEBUG   10
 log levels
#define VERBOSE   20
#define DEFAULT   30
#define SPARSE   40
#define NONE   50
#define MT_CHANNEL   1
 Used with OnExtendedMode() method of modules.
#define MT_CLIENT   2
#define MT_SERVER   3
#define ACR_DEFAULT   0
 Used with OnAccessCheck() method of modules.
#define ACR_DENY   1
#define ACR_ALLOW   2
#define AC_KICK   0
#define AC_DEOP   1
#define AC_OP   2
#define AC_VOICE   3
#define AC_DEVOICE   4
#define AC_HALFOP   5
#define AC_DEHALFOP   6
#define AC_INVITE   7
#define AC_GENERAL_MODE   8
#define VF_STATIC   1
 Used to define a set of behavior bits for a module.
#define VF_VENDOR   2
#define VF_SERVICEPROVIDER   4
#define VF_COMMON   8
#define FOREACH_MOD   for (int _i = 0; _i <= MODCOUNT; _i++) modules[_i]->
#define FOREACH_RESULT(x)
#define FD_MAGIC_NUMBER   -42
#define IS_LOCAL(x)   (x->fd > -1)
#define IS_REMOTE(x)   (x->fd < 0)
#define IS_MODULE_CREATED(x)   (x->fd == FD_MAGIC_NUMBER)
#define WM_AND   1
#define WM_OR   2
#define TYPE_USER   1
#define TYPE_CHANNEL   2
#define TYPE_SERVER   3
#define CONF_NOT_A_NUMBER   0x000010
#define CONF_NOT_UNSIGNED   0x000080
#define CONF_VALUE_NOT_FOUND   0x000100
#define CONF_FILE_NOT_FOUND   0x000200

Typedefs

typedef std::deque< std::stringfile_cache
 Low level definition of a FileReader classes file cache area.
typedef file_cache string_list
typedef std::deque< userrec * > chanuserlist
 Holds a list of users in a channel.
typedef DLLFactory< ModuleFactoryircd_module

Functions

bool ModeDefined (char c, int i)
bool ModeDefinedOper (char c, int i)
int ModeDefinedOn (char c, int i)
int ModeDefinedOff (char c, int i)
void ModeMakeList (char modechar)
bool ModeIsListMode (char modechar, int type)
-


Define Documentation

-

- - - - -
- - - - -
#define AC_DEHALFOP   6
-
- - - - - -
-   - - -

- -

-Definition at line 46 of file modules.h.

-

- - - - -
- - - - -
#define AC_DEOP   1
-
- - - - - -
-   - - -

- -

-Definition at line 41 of file modules.h.

-

- - - - -
- - - - -
#define AC_DEVOICE   4
-
- - - - - -
-   - - -

- -

-Definition at line 44 of file modules.h.

-

- - - - -
- - - - -
#define AC_GENERAL_MODE   8
-
- - - - - -
-   - - -

- -

-Definition at line 48 of file modules.h.

-

- - - - -
- - - - -
#define AC_HALFOP   5
-
- - - - - -
-   - - -

- -

-Definition at line 45 of file modules.h.

-

- - - - -
- - - - -
#define AC_INVITE   7
-
- - - - - -
-   - - -

- -

-Definition at line 47 of file modules.h.

-

- - - - -
- - - - -
#define AC_KICK   0
-
- - - - - -
-   - - -

- -

-Definition at line 40 of file modules.h. -

-Referenced by kick_channel().

-

- - - - -
- - - - -
#define AC_OP   2
-
- - - - - -
-   - - -

- -

-Definition at line 42 of file modules.h.

-

- - - - -
- - - - -
#define AC_VOICE   3
-
- - - - - -
-   - - -

- -

-Definition at line 43 of file modules.h.

-

- - - - -
- - - - -
#define ACR_ALLOW   2
-
- - - - - -
-   - - -

- -

-Definition at line 39 of file modules.h.

-

- - - - -
- - - - -
#define ACR_DEFAULT   0
-
- - - - - -
-   - - -

-Used with OnAccessCheck() method of modules. -

- -

-Definition at line 37 of file modules.h. -

-Referenced by kick_channel(), and Module::OnAccessCheck().

-

- - - - -
- - - - -
#define ACR_DENY   1
-
- - - - - -
-   - - -

- -

-Definition at line 38 of file modules.h. -

-Referenced by kick_channel().

-

- - - - -
- - - - -
#define CONF_FILE_NOT_FOUND   0x000200
-
- - - - - -
-   - - -

- -

-Definition at line 1541 of file modules.h. -

-Referenced by ConfigReader::ConfigReader().

-

- - - - -
- - - - -
#define CONF_NOT_A_NUMBER   0x000010
-
- - - - - -
-   - - -

- -

-Definition at line 1538 of file modules.h. -

-Referenced by ConfigReader::ReadInteger().

-

- - - - -
- - - - -
#define CONF_NOT_UNSIGNED   0x000080
-
- - - - - -
-   - - -

- -

-Definition at line 1539 of file modules.h. -

-Referenced by ConfigReader::ReadInteger().

-

- - - - -
- - - - -
#define CONF_VALUE_NOT_FOUND   0x000100
-
- - - - - -
-   - - -

- -

-Definition at line 1540 of file modules.h. -

-Referenced by ConfigReader::ReadFlag(), ConfigReader::ReadInteger(), and ConfigReader::ReadValue().

-

- - - - -
- - - - -
#define DEBUG   10
-
- - - - - -
-   - - -

-log levels -

- -

-Definition at line 23 of file modules.h.

-

- - - - -
- - - - -
#define DEFAULT   30
-
- - - - - -
-   - - -

- -

-Definition at line 25 of file modules.h.

-

- - - - -
- - - - -
#define FD_MAGIC_NUMBER   -42
-
- - - - - -
-   - - -

- -

-Definition at line 102 of file modules.h. -

-Referenced by Server::PseudoToUser(), and Server::UserToPseudo().

-

- - - - -
- - - - -
#define FOREACH_MOD   for (int _i = 0; _i <= MODCOUNT; _i++) modules[_i]->
-
- - - - - -
-   - - -

- -

-Definition at line 82 of file modules.h. -

-Referenced by del_channel(), ForceChan(), FullConnectUser(), kick_channel(), kill_link(), kill_link_silent(), and Event::Send().

-

- - - - -
- - - - - - - - - -
#define FOREACH_RESULT  ) 
-
- - - - - -
-   - - -

-Value:

{ MOD_RESULT = 0; \
-                        for (int _i = 0; _i <= MODCOUNT; _i++) { \
-                        int res = modules[_i]->x ; \
-                        if (res != 0) { \
-                                MOD_RESULT = res; \
-                                break; \
-                        } \
-                } \
-        }
-
-

-Definition at line 90 of file modules.h. -

-Referenced by add_channel(), force_nickchange(), and kick_channel().

-

- - - - -
- - - - - - - - - -
#define IS_LOCAL  )    (x->fd > -1)
-
- - - - - -
-   - - -

- -

-Definition at line 106 of file modules.h.

-

- - - - -
- - - - - - - - - -
#define IS_MODULE_CREATED  )    (x->fd == FD_MAGIC_NUMBER)
-
- - - - - -
-   - - -

- -

-Definition at line 108 of file modules.h.

-

- - - - -
- - - - - - - - - -
#define IS_REMOTE  )    (x->fd < 0)
-
- - - - - -
-   - - -

- -

-Definition at line 107 of file modules.h.

-

- - - - -
- - - - -
#define MT_CHANNEL   1
-
- - - - - -
-   - - -

-Used with OnExtendedMode() method of modules. -

- -

-Definition at line 31 of file modules.h. -

-Referenced by Server::AddExtendedListMode(), and ModeMakeList().

-

- - - - -
- - - - -
#define MT_CLIENT   2
-
- - - - - -
-   - - -

- -

-Definition at line 32 of file modules.h. -

-Referenced by Server::AddExtendedMode().

-

- - - - -
- - - - -
#define MT_SERVER   3
-
- - - - - -
-   - - -

- -

-Definition at line 33 of file modules.h. -

-Referenced by Server::AddExtendedMode().

-

- - - - -
- - - - -
#define NONE   50
-
- - - - - -
-   - - -

- -

-Definition at line 27 of file modules.h.

-

- - - - -
- - - - -
#define SPARSE   40
-
- - - - - -
-   - - -

- -

-Definition at line 26 of file modules.h.

-

- - - - -
- - - - -
#define TYPE_CHANNEL   2
-
- - - - - -
-   - - -

- -

-Definition at line 118 of file modules.h.

-

- - - - -
- - - - -
#define TYPE_SERVER   3
-
- - - - - -
-   - - -

- -

-Definition at line 119 of file modules.h.

-

- - - - -
- - - - -
#define TYPE_USER   1
-
- - - - - -
-   - - -

- -

-Definition at line 117 of file modules.h.

-

- - - - -
- - - - -
#define VERBOSE   20
-
- - - - - -
-   - - -

- -

-Definition at line 24 of file modules.h.

-

- - - - -
- - - - -
#define VF_COMMON   8
-
- - - - - -
-   - - -

- -

-Definition at line 55 of file modules.h.

-

- - - - -
- - - - -
#define VF_SERVICEPROVIDER   4
-
- - - - - -
-   - - -

- -

-Definition at line 54 of file modules.h.

-

- - - - -
- - - - -
#define VF_STATIC   1
-
- - - - - -
-   - - -

-Used to define a set of behavior bits for a module. -

- -

-Definition at line 52 of file modules.h.

-

- - - - -
- - - - -
#define VF_VENDOR   2
-
- - - - - -
-   - - -

- -

-Definition at line 53 of file modules.h. -

-Referenced by Module::GetVersion().

-

- - - - -
- - - - -
#define WM_AND   1
-
- - - - - -
-   - - -

- -

-Definition at line 112 of file modules.h.

-

- - - - -
- - - - -
#define WM_OR   2
-
- - - - - -
-   - - -

- -

-Definition at line 113 of file modules.h.

-


Typedef Documentation

-

- - - - -
- - - - -
typedef std::deque<userrec*> chanuserlist
-
- - - - - -
-   - - -

-Holds a list of users in a channel. -

- -

-Definition at line 75 of file modules.h.

-

- - - - -
- - - - -
typedef std::deque<std::string> file_cache
-
- - - - - -
-   - - -

-Low level definition of a FileReader classes file cache area. -

- -

-Definition at line 66 of file modules.h.

-

- - - - -
- - - - -
typedef DLLFactory<ModuleFactory> ircd_module
-
- - - - - -
-   - - -

- -

-Definition at line 1707 of file modules.h.

-

- - - - -
- - - - -
typedef file_cache string_list
-
- - - - - -
-   - - -

- -

-Definition at line 71 of file modules.h.

-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ModeDefined char  c,
int  i
-
- - - - - -
-   - - -

- -

-Definition at line 70 of file modules.cpp. -

-References EMode. -

-Referenced by DoAddExtendedMode().

00071 {
-00072         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00073         {
-00074                 if ((i->modechar == modechar) && (i->type == type))
-00075                 {
-00076                         return true;
-00077                 }
-00078         }
-00079         return false;
-00080 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ModeDefinedOff char  c,
int  i
-
- - - - - -
-   - - -

- -

-Definition at line 120 of file modules.cpp. -

-References EMode.

00121 {
-00122         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00123         {
-00124                 if ((i->modechar == modechar) && (i->type == type))
-00125                 {
-00126                         return i->params_when_off;
-00127                 }
-00128         }
-00129         return 0;
-00130 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
int ModeDefinedOn char  c,
int  i
-
- - - - - -
-   - - -

- -

-Definition at line 107 of file modules.cpp. -

-References EMode.

00108 {
-00109         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00110         {
-00111                 if ((i->modechar == modechar) && (i->type == type))
-00112                 {
-00113                         return i->params_when_on;
-00114                 }
-00115         }
-00116         return 0;
-00117 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ModeDefinedOper char  c,
int  i
-
- - - - - -
-   - - -

- -

-Definition at line 94 of file modules.cpp. -

-References EMode.

00095 {
-00096         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00097         {
-00098                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
-00099                 {
-00100                         return true;
-00101                 }
-00102         }
-00103         return false;
-00104 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool ModeIsListMode char  modechar,
int  type
-
- - - - - -
-   - - -

- -

-Definition at line 82 of file modules.cpp. -

-References EMode.

00083 {
-00084         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00085         {
-00086                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
-00087                 {
-00088                         return true;
-00089                 }
-00090         }
-00091         return false;
-00092 }
-
-

-

-

- - - - -
- - - - - - - - - -
void ModeMakeList char  modechar  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 143 of file modules.cpp. -

-References EMode, and MT_CHANNEL. -

-Referenced by Server::AddExtendedListMode().

00144 {
-00145         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
-00146         {
-00147                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
-00148                 {
-00149                         i->list = true;
-00150                         return;
-00151                 }
-00152         }
-00153         return;
-00154 }
-
-

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/modules_8h__dep__incl.gif b/docs/module-doc/modules_8h__dep__incl.gif deleted file mode 100644 index 79ea1f1fb..000000000 Binary files a/docs/module-doc/modules_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/modules_8h__dep__incl.map b/docs/module-doc/modules_8h__dep__incl.map deleted file mode 100644 index d2382c473..000000000 --- a/docs/module-doc/modules_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $channels_8cpp-source.html 288,57 387,84 -rect $modules_8cpp-source.html 288,108 387,135 -rect $inspircd__io_8h-source.html 142,57 238,84 -rect $typedefs_8h-source.html 147,108 232,135 diff --git a/docs/module-doc/modules_8h__dep__incl.md5 b/docs/module-doc/modules_8h__dep__incl.md5 deleted file mode 100644 index 797e74981..000000000 --- a/docs/module-doc/modules_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a9c8e3f1de38b14742a7373870135e9c \ No newline at end of file diff --git a/docs/module-doc/modules_8h__incl.gif b/docs/module-doc/modules_8h__incl.gif deleted file mode 100644 index 2248e550f..000000000 Binary files a/docs/module-doc/modules_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/modules_8h__incl.map b/docs/module-doc/modules_8h__incl.map deleted file mode 100644 index 80950de97..000000000 --- a/docs/module-doc/modules_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $base_8h-source.html 152,159 214,185 -rect $ctables_8h-source.html 146,108 220,135 -rect $socket_8h-source.html 147,336 219,363 diff --git a/docs/module-doc/modules_8h__incl.md5 b/docs/module-doc/modules_8h__incl.md5 deleted file mode 100644 index 44632e2c0..000000000 --- a/docs/module-doc/modules_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -b8bad034c27cd1c2ec23841d82552230 \ No newline at end of file diff --git a/docs/module-doc/namespaceirc.html b/docs/module-doc/namespaceirc.html deleted file mode 100644 index cc21bcb26..000000000 --- a/docs/module-doc/namespaceirc.html +++ /dev/null @@ -1,63 +0,0 @@ - - -InspIRCd: irc Namespace Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

irc Namespace Reference

The irc namespace contains a number of helper classes. -More... -

- - - - - - - - - - - - - - - - -

Classes

struct  StrHashComp
 This class returns true if two strings match. More...
struct  InAddr_HashComp
 This class returns true if two in_addr structs match. More...
struct  irc_char_traits
 The irc_char_traits class is used for RFC-style comparison of strings. More...

Typedefs

typedef basic_string< char,
- irc_char_traits, allocator<
- char > > 
string
 This typedef declares irc::string based upon irc_char_traits.
-


Detailed Description

-The irc namespace contains a number of helper classes.

Typedef Documentation

-

- - - - -
- - - - -
typedef basic_string<char, irc_char_traits, allocator<char> > irc::string
-
- - - - - -
-   - - -

-This typedef declares irc::string based upon irc_char_traits. -

- -

-Definition at line 129 of file hashcomp.h.

-


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/namespacemembers.html b/docs/module-doc/namespacemembers.html deleted file mode 100644 index 53dfe521a..000000000 --- a/docs/module-doc/namespacemembers.html +++ /dev/null @@ -1,18 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Typedefs
-Here is a list of all namespace members with links to the namespace documentation for each member: -

-

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/namespacemembers_type.html b/docs/module-doc/namespacemembers_type.html deleted file mode 100644 index 9ff581e34..000000000 --- a/docs/module-doc/namespacemembers_type.html +++ /dev/null @@ -1,18 +0,0 @@ - - -InspIRCd: Class Members - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-
All | Typedefs
- -

-

-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/namespacenspace.html b/docs/module-doc/namespacenspace.html deleted file mode 100644 index 488dec58f..000000000 --- a/docs/module-doc/namespacenspace.html +++ /dev/null @@ -1,22 +0,0 @@ - - -InspIRCd: nspace Namespace Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

nspace Namespace Reference

-

- - - - - - - -

Classes

struct  hash< in_addr >
struct  hash< string >
-


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/namespaces.html b/docs/module-doc/namespaces.html deleted file mode 100644 index 17aba5d28..000000000 --- a/docs/module-doc/namespaces.html +++ /dev/null @@ -1,17 +0,0 @@ - - -InspIRCd: Namespace Index - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

InspIRCd Namespace List

Here is a list of all namespaces with brief descriptions: - - - -
ircThe irc namespace contains a number of helper classes
nspace
std
-
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/namespacestd.html b/docs/module-doc/namespacestd.html deleted file mode 100644 index 89c5abf58..000000000 --- a/docs/module-doc/namespacestd.html +++ /dev/null @@ -1,17 +0,0 @@ - - -InspIRCd: std Namespace Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

std Namespace Reference

-

- - -
-


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socket_8cpp-source.html b/docs/module-doc/socket_8cpp-source.html deleted file mode 100644 index 2d6673bd1..000000000 --- a/docs/module-doc/socket_8cpp-source.html +++ /dev/null @@ -1,293 +0,0 @@ - - -InspIRCd: socket.cpp Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socket.cpp

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 using namespace std;
-00018 
-00019 #include "inspircd_config.h"
-00020 #include <sys/time.h>
-00021 #include <sys/resource.h>
-00022 #include <sys/types.h>
-00023 #include <sys/socket.h>
-00024 #include <netinet/in.h>
-00025 #include <string>
-00026 #include <unistd.h>
-00027 #include <fcntl.h>
-00028 #include <poll.h>
-00029 #include <sstream>
-00030 #include <iostream>
-00031 #include <fstream>
-00032 #include "socket.h"
-00033 #include "inspircd.h"
-00034 #include "inspircd_io.h"
-00035 #include "inspstring.h"
-00036 #include "helperfuncs.h"
-00037 #include "socketengine.h"
-00038 
-00039 
-00040 extern InspIRCd* ServerInstance;
-00041 extern time_t TIME;
-00042 
-00043 InspSocket* socket_ref[65535];
-00044 
-00045 InspSocket::InspSocket()
-00046 {
-00047         this->state = I_DISCONNECTED;
-00048 }
-00049 
-00050 InspSocket::InspSocket(int newfd, char* ip)
-00051 {
-00052         this->fd = newfd;
-00053         this->state = I_CONNECTED;
-00054         this->IP = ip;
-00055         ServerInstance->SE->AddFd(this->fd,true,X_ESTAB_MODULE);
-00056         socket_ref[this->fd] = this;
-00057 }
-00058 
-00059 InspSocket::InspSocket(std::string host, int port, bool listening, unsigned long maxtime)
-00060 {
-00061         if (listening) {
-00062                 if ((this->fd = OpenTCPSocket()) == ERROR)
-00063                 {
-00064                         this->fd = -1;
-00065                         this->state = I_ERROR;
-00066                         this->OnError(I_ERR_SOCKET);
-00067                         log(DEBUG,"OpenTCPSocket() error");
-00068                         return;
-00069                 }
-00070                 else
-00071                 {
-00072                         if (BindSocket(this->fd,this->client,this->server,port,(char*)host.c_str()) == ERROR)
-00073                         {
-00074                                 this->Close();
-00075                                 this->fd = -1;
-00076                                 this->state = I_ERROR;
-00077                                 this->OnError(I_ERR_BIND);
-00078                                 log(DEBUG,"BindSocket() error %s",strerror(errno));
-00079                                 return;
-00080                         }
-00081                         else
-00082                         {
-00083                                 this->state = I_LISTENING;
-00084                                 ServerInstance->SE->AddFd(this->fd,true,X_ESTAB_MODULE);
-00085                                 socket_ref[this->fd] = this;
-00086                                 log(DEBUG,"New socket now in I_LISTENING state");
-00087                                 return;
-00088                         }
-00089                 }                       
-00090         } else {
-00091                 char* ip;
-00092                 this->host = host;
-00093                 hostent* hoste = gethostbyname(host.c_str());
-00094                 if (!hoste) {
-00095                         ip = (char*)host.c_str();
-00096                 } else {
-00097                         struct in_addr* ia = (in_addr*)hoste->h_addr;
-00098                         ip = inet_ntoa(*ia);
-00099                 }
-00100 
-00101                 this->IP = ip;
-00102 
-00103                 timeout_end = time(NULL)+maxtime;
-00104                 timeout = false;
-00105                 if ((this->fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
-00106                 {
-00107                         this->state = I_ERROR;
-00108                         this->OnError(I_ERR_SOCKET);
-00109                         return;
-00110                 }
-00111                 this->port = port;
-00112                 inet_aton(ip,&addy);
-00113                 addr.sin_family = AF_INET;
-00114                 addr.sin_addr = addy;
-00115                 addr.sin_port = htons(this->port);
-00116 
-00117                 int flags;
-00118                 flags = fcntl(this->fd, F_GETFL, 0);
-00119                 fcntl(this->fd, F_SETFL, flags | O_NONBLOCK);
-00120 
-00121                 if(connect(this->fd, (sockaddr*)&this->addr,sizeof(this->addr)) == -1)
-00122                 {
-00123                         if (errno != EINPROGRESS)
-00124                         {
-00125                                 this->Close();
-00126                                 this->OnError(I_ERR_CONNECT);
-00127                                 this->state = I_ERROR;
-00128                                 return;
-00129                         }
-00130                 }
-00131                 this->state = I_CONNECTING;
-00132                 ServerInstance->SE->AddFd(this->fd,false,X_ESTAB_MODULE);
-00133                 socket_ref[this->fd] = this;
-00134                 return;
-00135         }
-00136 }
-00137 
-00138 void InspSocket::Close()
-00139 {
-00140         if (this->fd != -1)
-00141         {
-00142                 this->OnClose();
-00143                 shutdown(this->fd,2);
-00144                 close(this->fd);
-00145                 socket_ref[this->fd] = NULL;
-00146                 this->fd = -1;
-00147         }
-00148 }
-00149 
-00150 std::string InspSocket::GetIP()
-00151 {
-00152         return this->IP;
-00153 }
-00154 
-00155 char* InspSocket::Read()
-00156 {
-00157         int n = recv(this->fd,this->ibuf,sizeof(this->ibuf),0);
-00158         if (n > 0)
-00159         {
-00160                 ibuf[n] = 0;
-00161                 return ibuf;
-00162         }
-00163         else
-00164         {
-00165                 log(DEBUG,"EOF or error on socket");
-00166                 return NULL;
-00167         }
-00168 }
-00169 
-00170 // There are two possible outcomes to this function.
-00171 // It will either write all of the data, or an undefined amount.
-00172 // If an undefined amount is written the connection has failed
-00173 // and should be aborted.
-00174 int InspSocket::Write(std::string data)
-00175 {
-00176         this->Buffer = this->Buffer + data;
-00177         this->FlushWriteBuffer();
-00178         return data.length();
-00179 }
-00180 
-00181 void InspSocket::FlushWriteBuffer()
-00182 {
-00183         int result = 0;
-00184         if (this->Buffer.length())
-00185         {
-00186                 result = send(this->fd,this->Buffer.c_str(),this->Buffer.length(),0);
-00187                 if (result > 0)
-00188                 {
-00189                         /* If we wrote some, advance the buffer forwards */
-00190                         char* n = (char*)this->Buffer.c_str();
-00191                         n += result;
-00192                         this->Buffer = n;
-00193                 }
-00194         }
-00195 }
-00196 
-00197 bool InspSocket::Timeout(time_t current)
-00198 {
-00199         if ((this->state == I_CONNECTING) && (current > timeout_end))
-00200         {
-00201                 // for non-listening sockets, the timeout can occur
-00202                 // which causes termination of the connection after
-00203                 // the given number of seconds without a successful
-00204                 // connection.
-00205                 this->OnTimeout();
-00206                 this->OnError(I_ERR_TIMEOUT);
-00207                 timeout = true;
-00208                 this->state = I_ERROR;
-00209                 return true;
-00210         }
-00211         if (this->Buffer.length())
-00212                 this->FlushWriteBuffer();
-00213         return false;
-00214 }
-00215 
-00216 bool InspSocket::Poll()
-00217 {
-00218         int incoming = -1;
-00219         
-00220         switch (this->state)
-00221         {
-00222                 case I_CONNECTING:
-00223                         this->SetState(I_CONNECTED);
-00224                         /* Our socket was in write-state, so delete it and re-add it
-00225                          * in read-state.
-00226                          */
-00227                         ServerInstance->SE->DelFd(this->fd);
-00228                         ServerInstance->SE->AddFd(this->fd,true,X_ESTAB_MODULE);
-00229                         return this->OnConnected();
-00230                 break;
-00231                 case I_LISTENING:
-00232                         length = sizeof (client);
-00233                         incoming = accept (this->fd, (sockaddr*)&client,&length);
-00234                         this->OnIncomingConnection(incoming,inet_ntoa(client.sin_addr));
-00235                         return true;
-00236                 break;
-00237                 case I_CONNECTED:
-00238                         return this->OnDataReady();
-00239                 break;
-00240                 default:
-00241                 break;
-00242         }
-00243 
-00244         return true;
-00245 }
-00246 
-00247 void InspSocket::SetState(InspSocketState s)
-00248 {
-00249         log(DEBUG,"Socket state change");
-00250         this->state = s;
-00251 }
-00252 
-00253 InspSocketState InspSocket::GetState()
-00254 {
-00255         return this->state;
-00256 }
-00257 
-00258 int InspSocket::GetFd()
-00259 {
-00260         return this->fd;
-00261 }
-00262 
-00263 bool InspSocket::OnConnected() { return true; }
-00264 void InspSocket::OnError(InspSocketError e) { return; }
-00265 int InspSocket::OnDisconnect() { return 0; }
-00266 int InspSocket::OnIncomingConnection(int newfd, char* ip) { return 0; }
-00267 bool InspSocket::OnDataReady() { return true; }
-00268 void InspSocket::OnTimeout() { return; }
-00269 void InspSocket::OnClose() { return; }
-00270 
-00271 InspSocket::~InspSocket()
-00272 {
-00273         this->Close();
-00274 }
-00275 
-00276 /*
-00277 int BindSocket (int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char* addr)
-00278 int OpenTCPSocket (void)
-00279 */
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socket_8cpp.html b/docs/module-doc/socket_8cpp.html deleted file mode 100644 index 76b9117ea..000000000 --- a/docs/module-doc/socket_8cpp.html +++ /dev/null @@ -1,126 +0,0 @@ - - -InspIRCd: socket.cpp File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socket.cpp File Reference

#include "inspircd_config.h"
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <string>
-#include <unistd.h>
-#include <fcntl.h>
-#include <poll.h>
-#include <sstream>
-#include <iostream>
-#include <fstream>
-#include "socket.h"
-#include "inspircd.h"
-#include "inspircd_io.h"
-#include "inspstring.h"
-#include "helperfuncs.h"
-#include "socketengine.h"
- -

-Include dependency graph for socket.cpp:

- - - - - - - -

-Go to the source code of this file. - - - - - - - - -

Variables

InspIRCdServerInstance
time_t TIME
InspSocketsocket_ref [65535]
-


Variable Documentation

-

- - - - -
- - - - -
InspIRCd* ServerInstance
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
InspSocket* socket_ref[65535]
-
- - - - - -
-   - - -

- -

-Definition at line 43 of file socket.cpp.

-

- - - - -
- - - - -
time_t TIME
-
- - - - - -
-   - - -

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socket_8cpp__incl.gif b/docs/module-doc/socket_8cpp__incl.gif deleted file mode 100644 index 51b0d7a39..000000000 Binary files a/docs/module-doc/socket_8cpp__incl.gif and /dev/null differ diff --git a/docs/module-doc/socket_8cpp__incl.map b/docs/module-doc/socket_8cpp__incl.map deleted file mode 100644 index 42039b390..000000000 --- a/docs/module-doc/socket_8cpp__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $socket_8h-source.html 318,463 390,490 -rect $inspircd_8h-source.html 155,424 235,451 -rect $inspircd__io_8h-source.html 306,564 402,591 -rect $socketengine_8h-source.html 298,210 410,236 diff --git a/docs/module-doc/socket_8cpp__incl.md5 b/docs/module-doc/socket_8cpp__incl.md5 deleted file mode 100644 index 0c7a5d7de..000000000 --- a/docs/module-doc/socket_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -03426437789107bb0505454dfe45ab2a \ No newline at end of file diff --git a/docs/module-doc/socket_8h-source.html b/docs/module-doc/socket_8h-source.html deleted file mode 100644 index 7c4beb64e..000000000 --- a/docs/module-doc/socket_8h-source.html +++ /dev/null @@ -1,121 +0,0 @@ - - -InspIRCd: socket.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socket.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __INSP_SOCKET_H__
-00018 #define __INSP_SOCKET_H__
-00019 
-00020 #include <sys/types.h>
-00021 #include <sys/socket.h>
-00022 #include <netinet/in.h>
-00023 #include <sstream>
-00024 #include <string>
-00025 
-00029 enum InspSocketState { I_DISCONNECTED, I_CONNECTING, I_CONNECTED, I_LISTENING, I_ERROR };
-00030 
-00034 enum InspSocketError { I_ERR_TIMEOUT, I_ERR_SOCKET, I_ERR_CONNECT, I_ERR_BIND };
-00035 
-00047 class InspSocket
-00048 {
-00049 private:
-00050 
-00054         int fd;
-00055 
-00059         std::string host;
-00060 
-00065         int port;
-00066 
-00072         InspSocketState state;
-00073 
-00078         sockaddr_in addr;
-00079 
-00084         in_addr addy;
-00085 
-00091         time_t timeout_end;
-00092 
-00097         bool timeout;
-00098         
-00106         char ibuf[65535];
-00107 
-00111         std::string Buffer;
-00112 
-00118         std::string IP;
-00119 
-00124         sockaddr_in client;
-00125 
-00130         sockaddr_in server;
-00131 
-00136         socklen_t length;
-00137 
-00140         void FlushWriteBuffer();
-00141 
-00142 public:
-00143 
-00148         InspSocket();
-00149 
-00158         InspSocket(int newfd, char* ip);
-00159 
-00169         InspSocket(std::string host, int port, bool listening, unsigned long maxtime);
-00170 
-00176         virtual bool OnConnected();
-00177 
-00184         virtual void OnError(InspSocketError e);
-00185 
-00190         virtual int OnDisconnect();
-00191 
-00204         virtual bool OnDataReady();
-00205 
-00213         virtual void OnTimeout();
-00214 
-00223         virtual void OnClose();
-00224 
-00230         virtual char* Read();
-00231 
-00237         std::string GetIP();
-00238 
-00245         bool Timeout(time_t current);
-00246 
-00252         virtual int Write(std::string data);
-00253 
-00267         virtual int OnIncomingConnection(int newfd, char* ip);
-00268 
-00274         void SetState(InspSocketState s);
-00275 
-00279         InspSocketState GetState();
-00280 
-00289         bool Poll();
-00290 
-00296         int GetFd();
-00297 
-00303         virtual void Close();
-00304 
-00310         virtual ~InspSocket();
-00311 };
-00312 
-00313 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socket_8h.html b/docs/module-doc/socket_8h.html deleted file mode 100644 index 2842111ce..000000000 --- a/docs/module-doc/socket_8h.html +++ /dev/null @@ -1,146 +0,0 @@ - - -InspIRCd: socket.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socket.h File Reference

#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <sstream>
-#include <string>
- -

-Include dependency graph for socket.h:

- -

-This graph shows which files directly or indirectly include this file:

- - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - -

Classes

class  InspSocket
 InspSocket is an extendable socket class which modules can use for TCP socket support. More...

Enumerations

enum  InspSocketState {
-  I_DISCONNECTED, -I_CONNECTING, -I_CONNECTED, -I_LISTENING, -
-  I_ERROR -
- }
 States which a socket may be in. More...
enum  InspSocketError { I_ERR_TIMEOUT, -I_ERR_SOCKET, -I_ERR_CONNECT, -I_ERR_BIND - }
 Error types which a socket may exhibit. More...
-


Enumeration Type Documentation

-

- - - - -
- - - - -
enum InspSocketError
-
- - - - - -
-   - - -

-Error types which a socket may exhibit. -

-

Enumerator:
- - - - - -
I_ERR_TIMEOUT  -
I_ERR_SOCKET  -
I_ERR_CONNECT  -
I_ERR_BIND  -
-
- -

-Definition at line 34 of file socket.h.

-

-

-

- - - - -
- - - - -
enum InspSocketState
-
- - - - - -
-   - - -

-States which a socket may be in. -

-

Enumerator:
- - - - - - -
I_DISCONNECTED  -
I_CONNECTING  -
I_CONNECTED  -
I_LISTENING  -
I_ERROR  -
-
- -

-Definition at line 29 of file socket.h.

-

-

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socket_8h__dep__incl.gif b/docs/module-doc/socket_8h__dep__incl.gif deleted file mode 100644 index ffc433408..000000000 Binary files a/docs/module-doc/socket_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/socket_8h__dep__incl.map b/docs/module-doc/socket_8h__dep__incl.map deleted file mode 100644 index 9aac42e32..000000000 --- a/docs/module-doc/socket_8h__dep__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $modules_8cpp-source.html 260,57 359,84 -rect $socket_8cpp-source.html 267,133 352,160 -rect $modules_8h-source.html 128,57 211,84 -rect $inspircd_8h-source.html 129,108 209,135 diff --git a/docs/module-doc/socket_8h__dep__incl.md5 b/docs/module-doc/socket_8h__dep__incl.md5 deleted file mode 100644 index f7ea8f6d9..000000000 --- a/docs/module-doc/socket_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -44d57d2060fc1c23df1ada0b15f0d062 \ No newline at end of file diff --git a/docs/module-doc/socket_8h__incl.gif b/docs/module-doc/socket_8h__incl.gif deleted file mode 100644 index 39f424ef0..000000000 Binary files a/docs/module-doc/socket_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/socket_8h__incl.map b/docs/module-doc/socket_8h__incl.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/socket_8h__incl.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/socket_8h__incl.md5 b/docs/module-doc/socket_8h__incl.md5 deleted file mode 100644 index b60362726..000000000 --- a/docs/module-doc/socket_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -8f5e3d3b55b1c9dc714368d5eb230e62 \ No newline at end of file diff --git a/docs/module-doc/socketengine_8cpp-source.html b/docs/module-doc/socketengine_8cpp-source.html deleted file mode 100644 index a972f3b29..000000000 --- a/docs/module-doc/socketengine_8cpp-source.html +++ /dev/null @@ -1,219 +0,0 @@ - - -InspIRCd: socketengine.cpp Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socketengine.cpp

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #include "inspircd_config.h"
-00018 #include "globals.h"
-00019 #include "inspircd.h"
-00020 #ifdef USE_EPOLL
-00021 #include <sys/epoll.h>
-00022 #define EP_DELAY 5
-00023 #endif
-00024 #ifdef USE_KQUEUE
-00025 #include <sys/types.h>
-00026 #include <sys/event.h>
-00027 #include <sys/time.h>
-00028 #endif
-00029 #include <vector>
-00030 #include <string>
-00031 #include "socketengine.h"
-00032 
-00033 char ref[65535];
-00034 
-00035 SocketEngine::SocketEngine()
-00036 {
-00037         log(DEBUG,"SocketEngine::SocketEngine()");
-00038 #ifdef USE_EPOLL
-00039         EngineHandle = epoll_create(65535);
-00040 #endif
-00041 #ifdef USE_KQUEUE
-00042         EngineHandle = kqueue();
-00043 #endif
-00044 }
-00045 
-00046 SocketEngine::~SocketEngine()
-00047 {
-00048         log(DEBUG,"SocketEngine::~SocketEngine()");
-00049 #ifdef USE_EPOLL
-00050         close(EngineHandle);
-00051 #endif
-00052 #ifdef USE_KQUEUE
-00053         close(EngineHandle);
-00054 #endif
-00055 }
-00056 
-00057 char SocketEngine::GetType(int fd)
-00058 {
-00059         if ((fd < 0) || (fd > 65535))
-00060                 return X_EMPTY_SLOT;
-00061         /* Mask off the top bit used for 'read/write' state */
-00062         return (ref[fd] & ~0x80);
-00063 }
-00064 
-00065 bool SocketEngine::AddFd(int fd, bool readable, char type)
-00066 {
-00067         if ((fd < 0) || (fd > 65535))
-00068                 return false;
-00069         this->fds.push_back(fd);
-00070         ref[fd] = type;
-00071         if (readable)
-00072         {
-00073                 log(DEBUG,"Set readbit");
-00074                 ref[fd] |= X_READBIT;
-00075         }
-00076         log(DEBUG,"Add socket %d",fd);
-00077 #ifdef USE_EPOLL
-00078         struct epoll_event ev;
-00079         log(DEBUG,"epoll: Add socket to events, ep=%d socket=%d",EngineHandle,fd);
-00080         readable ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-00081         ev.data.fd = fd;
-00082         int i = epoll_ctl(EngineHandle, EPOLL_CTL_ADD, fd, &ev);
-00083         if (i < 0)
-00084         {
-00085                 log(DEBUG,"epoll: List insertion failure!");
-00086                 return false;
-00087         }
-00088 #endif
-00089 #ifdef USE_KQUEUE
-00090         struct kevent ke;
-00091         log(DEBUG,"kqueue: Add socket to events, kq=%d socket=%d",EngineHandle,fd);
-00092         EV_SET(&ke, fd, readable ? EVFILT_READ : EVFILT_WRITE, EV_ADD, 0, 0, NULL);
-00093         int i = kevent(EngineHandle, &ke, 1, 0, 0, NULL);
-00094         if (i == -1)
-00095         {
-00096                 log(DEBUG,"kqueue: List insertion failure!");
-00097                 return false;
-00098         }
-00099 #endif
-00100 return true;
-00101 }
-00102 
-00103 bool SocketEngine::DelFd(int fd)
-00104 {
-00105         log(DEBUG,"SocketEngine::DelFd(%d)",fd);
-00106 
-00107         if ((fd < 0) || (fd > 65535))
-00108                 return false;
-00109 
-00110         bool found = false;
-00111         for (std::vector<int>::iterator i = fds.begin(); i != fds.end(); i++)
-00112         {
-00113                 if (*i == fd)
-00114                 {
-00115                         fds.erase(i);
-00116                         log(DEBUG,"Deleted fd %d",fd);
-00117                         found = true;
-00118                         break;
-00119                 }
-00120         }
-00121 #ifdef USE_KQUEUE
-00122         struct kevent ke;
-00123         EV_SET(&ke, fd, ref[fd] & X_READBIT ? EVFILT_READ : EVFILT_WRITE, EV_DELETE, 0, 0, NULL);
-00124         int i = kevent(EngineHandle, &ke, 1, 0, 0, NULL);
-00125         if (i == -1)
-00126         {
-00127                 log(DEBUG,"kqueue: Failed to remove socket from queue!");
-00128                 return false;
-00129         }
-00130 #endif
-00131 #ifdef USE_EPOLL
-00132         struct epoll_event ev;
-00133         ref[fd] && X_READBIT ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-00134         ev.data.fd = fd;
-00135         int i = epoll_ctl(EngineHandle, EPOLL_CTL_DEL, fd, &ev);
-00136         if (i < 0)
-00137         {
-00138                 log(DEBUG,"epoll: List deletion failure!");
-00139                 return false;
-00140         }
-00141 #endif
-00142         ref[fd] = 0;
-00143         return found;
-00144 }
-00145 
-00146 bool SocketEngine::Wait(std::vector<int> &fdlist)
-00147 {
-00148         fdlist.clear();
-00149 #ifdef USE_SELECT
-00150         FD_ZERO(&wfdset);
-00151         FD_ZERO(&rfdset);
-00152         timeval tval;
-00153         int sresult;
-00154         for (unsigned int a = 0; a < fds.size(); a++)
-00155         {
-00156                 if (ref[fds[a]] & X_READBIT)
-00157                 {
-00158                         FD_SET (fds[a], &rfdset);
-00159                 }
-00160                 else
-00161                 {
-00162                         FD_SET (fds[a], &wfdset);
-00163                 }
-00164                 
-00165         }
-00166         tval.tv_sec = 0;
-00167         tval.tv_usec = 100L;
-00168         sresult = select(FD_SETSIZE, &rfdset, &wfdset, NULL, &tval);
-00169         if (sresult > 0)
-00170         {
-00171                 for (unsigned int a = 0; a < fds.size(); a++)
-00172                 {
-00173                         if ((FD_ISSET (fds[a], &rfdset)) || (FD_ISSET (fds[a], &wfdset)))
-00174                                 fdlist.push_back(fds[a]);
-00175                 }
-00176         }
-00177 #endif
-00178 #ifdef USE_KQUEUE
-00179         ts.tv_nsec = 10000L;
-00180         ts.tv_sec = 0;
-00181         int i = kevent(EngineHandle, NULL, 0, &ke_list[0], 65535, &ts);
-00182         for (int j = 0; j < i; j++)
-00183                 fdlist.push_back(ke_list[j].ident);
-00184 #endif
-00185 #ifdef USE_EPOLL
-00186         int i = epoll_wait(EngineHandle, events, 65535, 100);
-00187         for (int j = 0; j < i; j++)
-00188                 fdlist.push_back(events[j].data.fd);
-00189 #endif
-00190         return true;
-00191 }
-00192 
-00193 std::string SocketEngine::GetName()
-00194 {
-00195 #ifdef USE_SELECT
-00196         return "select";
-00197 #endif
-00198 #ifdef USE_KQUEUE
-00199         return "kqueue";
-00200 #endif
-00201 #ifdef USE_EPOLL
-00202         return "epoll";
-00203 #endif
-00204         return "misconfigured";
-00205 }
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socketengine_8cpp.html b/docs/module-doc/socketengine_8cpp.html deleted file mode 100644 index 4aafbefab..000000000 --- a/docs/module-doc/socketengine_8cpp.html +++ /dev/null @@ -1,64 +0,0 @@ - - -InspIRCd: socketengine.cpp File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socketengine.cpp File Reference

#include "inspircd_config.h"
-#include "globals.h"
-#include "inspircd.h"
-#include <vector>
-#include <string>
-#include "socketengine.h"
- -

-Include dependency graph for socketengine.cpp:

- - - - - - -

-Go to the source code of this file. - - - - -

Variables

char ref [65535]
-


Variable Documentation

-

- - - - -
- - - - -
char ref[65535]
-
- - - - - -
-   - - -

- -

-Definition at line 33 of file socketengine.cpp. -

-Referenced by SocketEngine::AddFd(), SocketEngine::DelFd(), SocketEngine::GetType(), and SocketEngine::Wait().

-


Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socketengine_8cpp__incl.gif b/docs/module-doc/socketengine_8cpp__incl.gif deleted file mode 100644 index 59bcf3ae8..000000000 Binary files a/docs/module-doc/socketengine_8cpp__incl.gif and /dev/null differ diff --git a/docs/module-doc/socketengine_8cpp__incl.map b/docs/module-doc/socketengine_8cpp__incl.map deleted file mode 100644 index c2c0abf48..000000000 --- a/docs/module-doc/socketengine_8cpp__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $globals_8h-source.html 492,210 567,236 -rect $inspircd_8h-source.html 180,108 260,135 -rect $socketengine_8h-source.html 308,159 420,186 diff --git a/docs/module-doc/socketengine_8cpp__incl.md5 b/docs/module-doc/socketengine_8cpp__incl.md5 deleted file mode 100644 index e8adc4660..000000000 --- a/docs/module-doc/socketengine_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a9f3c9ef26b80d60108ae75da748354c \ No newline at end of file diff --git a/docs/module-doc/socketengine_8h-source.html b/docs/module-doc/socketengine_8h-source.html deleted file mode 100644 index 38021d437..000000000 --- a/docs/module-doc/socketengine_8h-source.html +++ /dev/null @@ -1,89 +0,0 @@ - - -InspIRCd: socketengine.h Source File - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socketengine.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2005 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015 */
-00016 
-00017 #ifndef __SOCKETENGINE__
-00018 #define __SOCKETENGINE__
-00019 
-00020 #include <vector>
-00021 #include <string>
-00022 #include "inspircd_config.h"
-00023 #include "globals.h"
-00024 #include "inspircd.h"
-00025 #ifdef USE_EPOLL
-00026 #include <sys/epoll.h>
-00027 #define EP_DELAY 5
-00028 #endif
-00029 #ifdef USE_KQUEUE
-00030 #include <sys/types.h>
-00031 #include <sys/event.h>
-00032 #include <sys/time.h>
-00033 #endif
-00034 
-00041 const char X_EMPTY_SLOT         = 0;
-00042 const char X_LISTEN             = 1;
-00043 const char X_ESTAB_CLIENT       = 2;
-00044 const char X_ESTAB_MODULE       = 3;
-00045 const char X_ESTAB_DNS          = 4;
-00046 
-00055 const char X_READBIT            = 0x80;
-00056 
-00066 class SocketEngine {
-00067 
-00068         std::vector<int> fds;                   /* List of file descriptors being monitored */
-00069         int EngineHandle;                       /* Handle to the socket engine if needed */
-00070 #ifdef USE_SELECT
-00071         fd_set wfdset, rfdset;                  /* Readable and writeable sets for select() */
-00072 #endif
-00073 #ifdef USE_KQUEUE
-00074         struct kevent ke_list[65535];           /* Up to 64k sockets for kqueue */
-00075         struct timespec ts;                     /* kqueue delay value */
-00076 #endif
-00077 #ifdef USE_EPOLL
-00078         struct epoll_event events[65535];       /* Up to 64k sockets for epoll */
-00079 #endif
-00080 
-00081 public:
-00082 
-00091         SocketEngine();
-00092 
-00097         ~SocketEngine();
-00098 
-00108         bool AddFd(int fd, bool readable, char type);
-00109 
-00120         char GetType(int fd);
-00121 
-00127         bool DelFd(int fd);
-00128 
-00135         bool Wait(std::vector<int> &fdlist);
-00136 
-00141         std::string GetName();
-00142 };
-00143 
-00144 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socketengine_8h.html b/docs/module-doc/socketengine_8h.html deleted file mode 100644 index 15303a901..000000000 --- a/docs/module-doc/socketengine_8h.html +++ /dev/null @@ -1,230 +0,0 @@ - - -InspIRCd: socketengine.h File Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

socketengine.h File Reference

#include <vector>
-#include <string>
-#include "inspircd_config.h"
-#include "globals.h"
-#include "inspircd.h"
-#include <sys/types.h>
-#include <sys/event.h>
-#include <sys/time.h>
- -

-Include dependency graph for socketengine.h:

- - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - -

Classes

class  SocketEngine
 The actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin. More...

Variables

const char X_EMPTY_SLOT = 0
 Each of these values represents a socket type in our reference table (the reference table itself is only accessible to socketengine.cpp).
const char X_LISTEN = 1
const char X_ESTAB_CLIENT = 2
const char X_ESTAB_MODULE = 3
const char X_ESTAB_DNS = 4
const char X_READBIT = 0x80
 To indicate that a socket is readable, we mask its top bit with this X_READBIT value.
-


Variable Documentation

-

- - - - -
- - - - -
const char X_EMPTY_SLOT = 0
-
- - - - - -
-   - - -

-Each of these values represents a socket type in our reference table (the reference table itself is only accessible to socketengine.cpp). -

- -

-Definition at line 41 of file socketengine.h. -

-Referenced by SocketEngine::GetType().

-

- - - - -
- - - - -
const char X_ESTAB_CLIENT = 2
-
- - - - - -
-   - - -

- -

-Definition at line 43 of file socketengine.h. -

-Referenced by AddClient().

-

- - - - -
- - - - -
const char X_ESTAB_DNS = 4
-
- - - - - -
-   - - -

- -

-Definition at line 45 of file socketengine.h.

-

- - - - -
- - - - -
const char X_ESTAB_MODULE = 3
-
- - - - - -
-   - - -

- -

-Definition at line 44 of file socketengine.h. -

-Referenced by InspSocket::InspSocket(), and InspSocket::Poll().

-

- - - - -
- - - - -
const char X_LISTEN = 1
-
- - - - - -
-   - - -

- -

-Definition at line 42 of file socketengine.h.

-

- - - - -
- - - - -
const char X_READBIT = 0x80
-
- - - - - -
-   - - -

-To indicate that a socket is readable, we mask its top bit with this X_READBIT value. -

-The socket engine can handle two types of socket, readable and writeable (error sockets are dealt with when read() and write() return negative or zero values). -

-Definition at line 55 of file socketengine.h. -

-Referenced by SocketEngine::AddFd(), SocketEngine::DelFd(), and SocketEngine::Wait().

-


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/socketengine_8h__dep__incl.gif b/docs/module-doc/socketengine_8h__dep__incl.gif deleted file mode 100644 index 7b835f18d..000000000 Binary files a/docs/module-doc/socketengine_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/socketengine_8h__dep__incl.map b/docs/module-doc/socketengine_8h__dep__incl.map deleted file mode 100644 index 50af03e3e..000000000 --- a/docs/module-doc/socketengine_8h__dep__incl.map +++ /dev/null @@ -1,10 +0,0 @@ -base referer -rect $modules_8cpp-source.html 469,311 568,338 -rect $socket_8cpp-source.html 476,412 561,439 -rect $socketengine_8cpp-source.html 295,58 420,84 -rect $users_8cpp-source.html 479,108 559,135 -rect $inspircd_8h-source.html 167,260 247,287 -rect $channels_8cpp-source.html 469,210 568,236 -rect $inspircd__io_8h-source.html 309,260 405,287 -rect $typedefs_8h-source.html 315,210 400,236 -rect $userprocess_8h-source.html 305,311 409,338 diff --git a/docs/module-doc/socketengine_8h__dep__incl.md5 b/docs/module-doc/socketengine_8h__dep__incl.md5 deleted file mode 100644 index 494132264..000000000 --- a/docs/module-doc/socketengine_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -5d41f86d6f67ff7b18b6ad71c4748bc2 \ No newline at end of file diff --git a/docs/module-doc/socketengine_8h__incl.gif b/docs/module-doc/socketengine_8h__incl.gif deleted file mode 100644 index bcaa0ce95..000000000 Binary files a/docs/module-doc/socketengine_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/socketengine_8h__incl.map b/docs/module-doc/socketengine_8h__incl.map deleted file mode 100644 index e57838a54..000000000 --- a/docs/module-doc/socketengine_8h__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $globals_8h-source.html 175,108 250,135 -rect $inspircd_8h-source.html 172,159 252,186 diff --git a/docs/module-doc/socketengine_8h__incl.md5 b/docs/module-doc/socketengine_8h__incl.md5 deleted file mode 100644 index 5f44e8306..000000000 --- a/docs/module-doc/socketengine_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9fbbbfd9144c559ad108601ee9a99b89 \ No newline at end of file diff --git a/docs/module-doc/structInAddr__HashComp-members.html b/docs/module-doc/structInAddr__HashComp-members.html deleted file mode 100644 index ccb39f559..000000000 --- a/docs/module-doc/structInAddr__HashComp-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

InAddr_HashComp Member List

This is the complete list of members for InAddr_HashComp, including all inherited members. - -
operator()(const in_addr &s1, const in_addr &s2) constInAddr_HashComp

Generated on Sun May 15 17:03:29 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/structInAddr__HashComp.html b/docs/module-doc/structInAddr__HashComp.html deleted file mode 100644 index 4aebb1d97..000000000 --- a/docs/module-doc/structInAddr__HashComp.html +++ /dev/null @@ -1,75 +0,0 @@ - - -InspIRCd: InAddr_HashComp struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

InAddr_HashComp Struct Reference

This class returns true if two in_addr structs match. -More... -

-#include <hashcomp.h> -

-List of all members. - - - - - -

Public Member Functions

bool operator() (const in_addr &s1, const in_addr &s2) const
 The operator () does the actual comparison in hash_map.

-


Detailed Description

-This class returns true if two in_addr structs match. -

-Checking is done by copying both into a size_t then doing a numeric comparison of the two. -

- -

-Definition at line 71 of file hashcomp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - -
bool InAddr_HashComp::operator() const in_addr &  s1,
const in_addr &  s2
const
-
- - - - - -
-   - - -

-The operator () does the actual comparison in hash_map. -

-

-


The documentation for this struct was generated from the following file: -
Generated on Sun May 15 17:03:29 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/structStrHashComp-members.html b/docs/module-doc/structStrHashComp-members.html deleted file mode 100644 index 98853fc0d..000000000 --- a/docs/module-doc/structStrHashComp-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

StrHashComp Member List

This is the complete list of members for StrHashComp, including all inherited members. - -
operator()(const string &s1, const string &s2) constStrHashComp

Generated on Sun May 15 17:03:46 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/structStrHashComp.html b/docs/module-doc/structStrHashComp.html deleted file mode 100644 index 23f3e82ef..000000000 --- a/docs/module-doc/structStrHashComp.html +++ /dev/null @@ -1,75 +0,0 @@ - - -InspIRCd: StrHashComp struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

StrHashComp Struct Reference

This class returns true if two strings match. -More... -

-#include <hashcomp.h> -

-List of all members. - - - - - -

Public Member Functions

bool operator() (const string &s1, const string &s2) const
 The operator () does the actual comparison in hash_map.

-


Detailed Description

-This class returns true if two strings match. -

-Case sensitivity is ignored, and the RFC 'character set' is adhered to -

- -

-Definition at line 60 of file hashcomp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - -
bool StrHashComp::operator() const string &  s1,
const string &  s2
const
-
- - - - - -
-   - - -

-The operator () does the actual comparison in hash_map. -

-

-


The documentation for this struct was generated from the following file: -
Generated on Sun May 15 17:03:46 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/structdns__ip4list-members.html b/docs/module-doc/structdns__ip4list-members.html deleted file mode 100644 index 71038e91a..000000000 --- a/docs/module-doc/structdns__ip4list-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

dns_ip4list Member List

This is the complete list of members for dns_ip4list, including all inherited members.

- - -
ipdns_ip4list
nextdns_ip4list


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structdns__ip4list.html b/docs/module-doc/structdns__ip4list.html deleted file mode 100644 index c9df88476..000000000 --- a/docs/module-doc/structdns__ip4list.html +++ /dev/null @@ -1,81 +0,0 @@ - - -InspIRCd: dns_ip4list Struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

dns_ip4list Struct Reference

#include <dns.h> -

-Collaboration diagram for dns_ip4list:

Collaboration graph
-
[legend]
List of all members. - - - - - - -

Public Attributes

in_addr ip
dns_ip4listnext
-

Detailed Description

- -

- -

-Definition at line 26 of file dns.h.


Member Data Documentation

-

- - - - -
- - - - -
in_addr dns_ip4list::ip
-
- - - - - -
-   - - -

- -

-Definition at line 27 of file dns.h.

-

- - - - -
- - - - -
dns_ip4list* dns_ip4list::next
-
- - - - - -
-   - - -

- -

-Definition at line 28 of file dns.h.

-


The documentation for this struct was generated from the following file: -
Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structdns__ip4list__coll__graph.gif b/docs/module-doc/structdns__ip4list__coll__graph.gif deleted file mode 100644 index 8ca7d4d91..000000000 Binary files a/docs/module-doc/structdns__ip4list__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/structdns__ip4list__coll__graph.map b/docs/module-doc/structdns__ip4list__coll__graph.map deleted file mode 100644 index 5a14779e7..000000000 --- a/docs/module-doc/structdns__ip4list__coll__graph.map +++ /dev/null @@ -1 +0,0 @@ -base referer diff --git a/docs/module-doc/structdns__ip4list__coll__graph.md5 b/docs/module-doc/structdns__ip4list__coll__graph.md5 deleted file mode 100644 index edc1ae44e..000000000 --- a/docs/module-doc/structdns__ip4list__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -3cb4501ab4b94d3da075a47d5eeb6ad8 \ No newline at end of file diff --git a/docs/module-doc/structirc_1_1InAddr__HashComp-members.html b/docs/module-doc/structirc_1_1InAddr__HashComp-members.html deleted file mode 100644 index 3f3c3d577..000000000 --- a/docs/module-doc/structirc_1_1InAddr__HashComp-members.html +++ /dev/null @@ -1,14 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

irc::InAddr_HashComp Member List

This is the complete list of members for irc::InAddr_HashComp, including all inherited members.

- -
operator()(const in_addr &s1, const in_addr &s2) const irc::InAddr_HashComp


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structirc_1_1InAddr__HashComp.html b/docs/module-doc/structirc_1_1InAddr__HashComp.html deleted file mode 100644 index 1e817c099..000000000 --- a/docs/module-doc/structirc_1_1InAddr__HashComp.html +++ /dev/null @@ -1,75 +0,0 @@ - - -InspIRCd: irc::InAddr_HashComp Struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

irc::InAddr_HashComp Struct Reference

This class returns true if two in_addr structs match. -More... -

-#include <hashcomp.h> -

-List of all members. - - - - - -

Public Member Functions

bool operator() (const in_addr &s1, const in_addr &s2) const
 The operator () does the actual comparison in hash_map.
-


Detailed Description

-This class returns true if two in_addr structs match. -

-Checking is done by copying both into a size_t then doing a numeric comparison of the two. -

- -

-Definition at line 92 of file hashcomp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool irc::InAddr_HashComp::operator() const in_addr &  s1,
const in_addr &  s2
const
-
- - - - - -
-   - - -

-The operator () does the actual comparison in hash_map. -

-

-


The documentation for this struct was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structirc_1_1StrHashComp-members.html b/docs/module-doc/structirc_1_1StrHashComp-members.html deleted file mode 100644 index 320cf12c8..000000000 --- a/docs/module-doc/structirc_1_1StrHashComp-members.html +++ /dev/null @@ -1,14 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

irc::StrHashComp Member List

This is the complete list of members for irc::StrHashComp, including all inherited members.

- -
operator()(const std::string &s1, const std::string &s2) const irc::StrHashComp


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structirc_1_1StrHashComp.html b/docs/module-doc/structirc_1_1StrHashComp.html deleted file mode 100644 index c8a50eb8f..000000000 --- a/docs/module-doc/structirc_1_1StrHashComp.html +++ /dev/null @@ -1,75 +0,0 @@ - - -InspIRCd: irc::StrHashComp Struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

irc::StrHashComp Struct Reference

This class returns true if two strings match. -More... -

-#include <hashcomp.h> -

-List of all members. - - - - - -

Public Member Functions

bool operator() (const std::string &s1, const std::string &s2) const
 The operator () does the actual comparison in hash_map.
-


Detailed Description

-This class returns true if two strings match. -

-Case sensitivity is ignored, and the RFC 'character set' is adhered to -

- -

-Definition at line 80 of file hashcomp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - -
bool irc::StrHashComp::operator() const std::string s1,
const std::string s2
const
-
- - - - - -
-   - - -

-The operator () does the actual comparison in hash_map. -

-

-


The documentation for this struct was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structirc_1_1irc__char__traits-members.html b/docs/module-doc/structirc_1_1irc__char__traits-members.html deleted file mode 100644 index 91745068c..000000000 --- a/docs/module-doc/structirc_1_1irc__char__traits-members.html +++ /dev/null @@ -1,18 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

irc::irc_char_traits Member List

This is the complete list of members for irc::irc_char_traits, including all inherited members.

- - - - - -
compare(const char *str1, const char *str2, size_t n)irc::irc_char_traits [static]
eq(char c1st, char c2nd)irc::irc_char_traits [static]
find(const char *s1, int n, char c)irc::irc_char_traits [static]
lt(char c1st, char c2nd)irc::irc_char_traits [static]
ne(char c1st, char c2nd)irc::irc_char_traits [static]


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structirc_1_1irc__char__traits.html b/docs/module-doc/structirc_1_1irc__char__traits.html deleted file mode 100644 index 62e9805a8..000000000 --- a/docs/module-doc/structirc_1_1irc__char__traits.html +++ /dev/null @@ -1,263 +0,0 @@ - - -InspIRCd: irc::irc_char_traits Struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

irc::irc_char_traits Struct Reference

The irc_char_traits class is used for RFC-style comparison of strings. -More... -

-#include <hashcomp.h> -

-Inheritance diagram for irc::irc_char_traits:

Inheritance graph
- - - -
[legend]
Collaboration diagram for irc::irc_char_traits:

Collaboration graph
- - - -
[legend]
List of all members. - - - - - - - - - - - - - - - - - -

Static Public Member Functions

static bool eq (char c1st, char c2nd)
 Check if two chars match.
static bool ne (char c1st, char c2nd)
 Check if two chars do NOT match.
static bool lt (char c1st, char c2nd)
 Check if one char is less than another.
static int compare (const char *str1, const char *str2, size_t n)
 Compare two strings of size n.
static const char * find (const char *s1, int n, char c)
 Find a char within a string up to position n.
-

Detailed Description

-The irc_char_traits class is used for RFC-style comparison of strings. -

-This class is used to implement irc::string, a case-insensitive, RFC- comparing string class. -

- -

-Definition at line 104 of file hashcomp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
static int irc::irc_char_traits::compare const char *  str1,
const char *  str2,
size_t  n
[static]
-
- - - - - -
-   - - -

-Compare two strings of size n. -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
static bool irc::irc_char_traits::eq char  c1st,
char  c2nd
[static]
-
- - - - - -
-   - - -

-Check if two chars match. -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
static const char* irc::irc_char_traits::find const char *  s1,
int  n,
char  c
[static]
-
- - - - - -
-   - - -

-Find a char within a string up to position n. -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
static bool irc::irc_char_traits::lt char  c1st,
char  c2nd
[static]
-
- - - - - -
-   - - -

-Check if one char is less than another. -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
static bool irc::irc_char_traits::ne char  c1st,
char  c2nd
[static]
-
- - - - - -
-   - - -

-Check if two chars do NOT match. -

-

-


The documentation for this struct was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.gif b/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.gif deleted file mode 100644 index 76951b859..000000000 Binary files a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.gif and /dev/null differ diff --git a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.map b/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.map deleted file mode 100644 index be3cc4f79..000000000 --- a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classstd_1_1char__traits.html 7,7 159,34 diff --git a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.md5 b/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.md5 deleted file mode 100644 index 748031b4f..000000000 --- a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7ee2a692b6c22ce46dde4bd8f592bb51 \ No newline at end of file diff --git a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.gif b/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.gif deleted file mode 100644 index 76951b859..000000000 Binary files a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.gif and /dev/null differ diff --git a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.map b/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.map deleted file mode 100644 index be3cc4f79..000000000 --- a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.map +++ /dev/null @@ -1,2 +0,0 @@ -base referer -rect $classstd_1_1char__traits.html 7,7 159,34 diff --git a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.md5 b/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.md5 deleted file mode 100644 index 748031b4f..000000000 --- a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.md5 +++ /dev/null @@ -1 +0,0 @@ -7ee2a692b6c22ce46dde4bd8f592bb51 \ No newline at end of file diff --git a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html b/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html deleted file mode 100644 index bb0b5f241..000000000 --- a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html +++ /dev/null @@ -1,14 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

nspace::hash< in_addr > Member List

This is the complete list of members for nspace::hash< in_addr >, including all inherited members.

- -
operator()(const struct in_addr &a) const nspace::hash< in_addr >


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html b/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html deleted file mode 100644 index 6d867203d..000000000 --- a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html +++ /dev/null @@ -1,61 +0,0 @@ - - -InspIRCd: nspace::hash< in_addr > Struct Template Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

nspace::hash< in_addr > Struct Template Reference

#include <hashcomp.h> -

-List of all members. - - - - -

Public Member Functions

size_t operator() (const struct in_addr &a) const
-


Detailed Description

-

template<>
- struct nspace::hash< in_addr >

- - -

- -

-Definition at line 54 of file hashcomp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
size_t nspace::hash< in_addr >::operator() const struct in_addr &  a  )  const
-
- - - - - -
-   - - -

-

-


The documentation for this struct was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html b/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html deleted file mode 100644 index fd2ff01a9..000000000 --- a/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html +++ /dev/null @@ -1,14 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
-

nspace::hash< string > Member List

This is the complete list of members for nspace::hash< string >, including all inherited members.

- -
operator()(const string &s) const nspace::hash< string >


Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html b/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html deleted file mode 100644 index 0b3cfa9f0..000000000 --- a/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html +++ /dev/null @@ -1,61 +0,0 @@ - - -InspIRCd: nspace::hash< string > Struct Template Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members
- -

nspace::hash< string > Struct Template Reference

#include <hashcomp.h> -

-List of all members. - - - - -

Public Member Functions

size_t operator() (const string &s) const
-


Detailed Description

-

template<>
- struct nspace::hash< string >

- - -

- -

-Definition at line 62 of file hashcomp.h.


Member Function Documentation

-

- - - - -
- - - - - - - - - -
size_t nspace::hash< string >::operator() const string s  )  const
-
- - - - - -
-   - - -

-

-


The documentation for this struct was generated from the following file: -
Generated on Mon Dec 19 18:05:24 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html deleted file mode 100644 index 490602a5f..000000000 --- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

nspace::hash< in_addr > Member List

This is the complete list of members for nspace::hash< in_addr >, including all inherited members. - -
operator()(const struct in_addr &a) constnspace::hash< in_addr >

Generated on Mon May 30 05:17:50 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html deleted file mode 100644 index 40bf44d09..000000000 --- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html +++ /dev/null @@ -1,56 +0,0 @@ - - -InspIRCd: Templatenspace::hash< in_addr > struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

nspace::hash< in_addr > Struct Template Reference

#include <hashcomp.h> -

-List of all members. - - - - -

Public Member Functions

size_t operator() (const struct in_addr &a) const
-

template<>
- struct nspace::hash< in_addr >

- -

Member Function Documentation

-

- - - - -
- - - - - - - - - - -
size_t nspace::hash< in_addr >::operator() const struct in_addr &  a  )  const
-
- - - - - -
-   - - -

-

-


The documentation for this struct was generated from the following file: -
Generated on Mon May 30 05:17:50 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html deleted file mode 100644 index 9501b6c61..000000000 --- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html +++ /dev/null @@ -1,15 +0,0 @@ - - -InspIRCd: Member List - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

nspace::hash< string > Member List

This is the complete list of members for nspace::hash< string >, including all inherited members. - -
operator()(const string &s) constnspace::hash< string >

Generated on Mon May 30 05:17:50 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html deleted file mode 100644 index b5995ec50..000000000 --- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html +++ /dev/null @@ -1,56 +0,0 @@ - - -InspIRCd: Templatenspace::hash< string > struct Reference - - - -
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members
-

nspace::hash< string > Struct Template Reference

#include <hashcomp.h> -

-List of all members. - - - - -

Public Member Functions

size_t operator() (const string &s) const
-

template<>
- struct nspace::hash< string >

- -

Member Function Documentation

-

- - - - -
- - - - - - - - - - -
size_t nspace::hash< string >::operator() const string &  s  )  const
-
- - - - - -
-   - - -

-

-


The documentation for this struct was generated from the following file: -
Generated on Mon May 30 05:17:50 2005 for InspIRCd by - -doxygen -1.3.3
- - diff --git a/docs/module-doc/tree.html b/docs/module-doc/tree.html deleted file mode 100644 index 1c7b81379..000000000 --- a/docs/module-doc/tree.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - TreeView - - - - - -
-

InspIRCd

-
-

o+File List

- -

o+Class List

- -

o+Class Hierarchy

- -

o*Class Members

-

o+Namespace List

-
-

|o*irc

-

|o*nspace

-

|\*std

-
-

o+Directories

-
-

|\+home

-
-

| \+brain

-
-

|  \+inspircd-cvs

-
-

|   \+inspircd

-
-

|    o+include

-
-
-

|    \+src

-
-
-
-
-
-
-
-

o*File Members

-

o*Namespace Members

-

\*Graphical Class Hierarchy

-
-
- - diff --git a/docs/module-doc/tree.js b/docs/module-doc/tree.js deleted file mode 100644 index f6bf6e04d..000000000 --- a/docs/module-doc/tree.js +++ /dev/null @@ -1 +0,0 @@ -foldersTree = gFld("InspIRCd", "", "") diff --git a/docs/module-doc/treeview.js b/docs/module-doc/treeview.js deleted file mode 100644 index 6b5ef5110..000000000 --- a/docs/module-doc/treeview.js +++ /dev/null @@ -1,500 +0,0 @@ -//**************************************************************** -// You are free to copy the "Folder-Tree" script as long as you -// keep this copyright notice: -// Script found in: http://www.geocities.com/Paris/LeftBank/2178/ -// Author: Marcelino Alves Martins (martins@hks.com) December '97. -//**************************************************************** - -//Log of changes: -// 17 Feb 98 - Fix initialization flashing problem with Netscape -// -// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS; -// make the ftien4 a js file -// -// DvH: Dec 2000 - Made some minor changes to support external -// references - -// Definition of class Folder -// ***************************************************************** - -function Folder(folderDescription, tagName, hreference) //constructor -{ - //constant data - this.desc = folderDescription - this.tagName = tagName - this.hreference = hreference - this.id = -1 - this.navObj = 0 - this.iconImg = 0 - this.nodeImg = 0 - this.isLastNode = 0 - - //dynamic data - this.isOpen = true - this.iconSrc = "ftv2folderopen.png" - this.children = new Array - this.nChildren = 0 - - //methods - this.initialize = initializeFolder - this.setState = setStateFolder - this.addChild = addChild - this.createIndex = createEntryIndex - this.hide = hideFolder - this.display = display - this.renderOb = drawFolder - this.totalHeight = totalHeight - this.subEntries = folderSubEntries - this.outputLink = outputFolderLink -} - -function setStateFolder(isOpen) -{ - var subEntries - var totalHeight - var fIt = 0 - var i=0 - - if (isOpen == this.isOpen) - return - - if (browserVersion == 2) - { - totalHeight = 0 - for (i=0; i < this.nChildren; i++) - totalHeight = totalHeight + this.children[i].navObj.clip.height - subEntries = this.subEntries() - if (this.isOpen) - totalHeight = 0 - totalHeight - for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++) - indexOfEntries[fIt].navObj.moveBy(0, totalHeight) - } - this.isOpen = isOpen - propagateChangesInState(this) -} - -function propagateChangesInState(folder) -{ - var i=0 - - if (folder.isOpen) - { - if (folder.nodeImg) - if (folder.isLastNode) - folder.nodeImg.src = "ftv2mlastnode.png" - else - folder.nodeImg.src = "ftv2mnode.png" - folder.iconImg.src = "ftv2folderopen.png" - for (i=0; i 0) - auxEv = "" - else - auxEv = "" - - if (level>0) - if (lastNode) //the last 'brother' in the children array - { - this.renderOb(leftSide + auxEv + "") - leftSide = leftSide + "" - this.isLastNode = 1 - } - else - { - this.renderOb(leftSide + auxEv + "") - leftSide = leftSide + "" - this.isLastNode = 0 - } - else - this.renderOb("") - - if (nc > 0) - { - level = level + 1 - for (i=0 ; i < this.nChildren; i++) - { - if (i == this.nChildren-1) - this.children[i].initialize(level, 1, leftSide) - else - this.children[i].initialize(level, 0, leftSide) - } - } -} - -function drawFolder(leftSide) -{ - if (browserVersion == 2) { - if (!doc.yPos) - doc.yPos=8 - doc.write("") - } - if (browserVersion == 3) - { - doc.write("
") - } - - doc.write("\n") - doc.write("\n\n") - doc.write("\n
") - doc.write(leftSide) - this.outputLink() - doc.write("") - doc.write("") - if (USETEXTLINKS) - { - this.outputLink() - doc.write(this.desc + "") - } - else - doc.write(this.desc) - if (this.tagName!="") - { - doc.write(" [external]") - } - doc.write("
\n") - - if (browserVersion == 2) { - doc.write("") - } - if (browserVersion == 3) { - doc.write("
") - } - - if (browserVersion == 1) { - this.navObj = doc.all["folder"+this.id] - this.iconImg = doc.all["folderIcon"+this.id] - this.nodeImg = doc.all["nodeIcon"+this.id] - } else if (browserVersion == 2) { - this.navObj = doc.layers["folder"+this.id] - this.iconImg = this.navObj.document.images["folderIcon"+this.id] - this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] - doc.yPos=doc.yPos+this.navObj.clip.height - } else if (browserVersion == 3) { - this.navObj = doc.getElementById("folder"+this.id) - this.iconImg = doc.images.namedItem("folderIcon"+this.id) - this.nodeImg = doc.images.namedItem("nodeIcon"+this.id) - } -} - -function outputFolderLink() -{ - if (this.hreference) - { - doc.write(" 0) - doc.write("onClick='javascript:clickOnFolder("+this.id+")'") - doc.write(">") - } - else - doc.write("") -} - -function addChild(childNode) -{ - this.children[this.nChildren] = childNode - this.nChildren++ - return childNode -} - -function folderSubEntries() -{ - var i = 0 - var se = this.nChildren - - for (i=0; i < this.nChildren; i++){ - if (this.children[i].children) //is a folder - se = se + this.children[i].subEntries() - } - - return se -} - - -// Definition of class Item (a document or link inside a Folder) -// ************************************************************* - -function Item(itemDescription, tagName, itemLink) // Constructor -{ - // constant data - this.desc = itemDescription - this.tagName = tagName - this.link = itemLink - this.id = -1 //initialized in initalize() - this.navObj = 0 //initialized in render() - this.iconImg = 0 //initialized in render() - this.iconSrc = "ftv2doc.png" - - // methods - this.initialize = initializeItem - this.createIndex = createEntryIndex - this.hide = hideItem - this.display = display - this.renderOb = drawItem - this.totalHeight = totalHeight -} - -function hideItem() -{ - if (browserVersion == 1 || browserVersion == 3) { - if (this.navObj.style.display == "none") - return - this.navObj.style.display = "none" - } else { - if (this.navObj.visibility == "hidden") - return - this.navObj.visibility = "hidden" - } -} - -function initializeItem(level, lastNode, leftSide) -{ - this.createIndex() - - if (level>0) - if (lastNode) //the last 'brother' in the children array - { - this.renderOb(leftSide + "") - leftSide = leftSide + "" - } - else - { - this.renderOb(leftSide + "") - leftSide = leftSide + "" - } - else - this.renderOb("") -} - -function drawItem(leftSide) -{ - if (browserVersion == 2) - doc.write("") - if (browserVersion == 3) - doc.write("
") - - doc.write("\n\n") - doc.write("\n
") - doc.write(leftSide) - if (this.link!="") - { - doc.write("") - } - doc.write("") - if (this.link!="") - { - doc.write("") - } - doc.write("") - if (USETEXTLINKS && this.link!="") - doc.write("" + this.desc + "") - else - doc.write(this.desc) - if (this.tagName!="") - { - doc.write(" [external]"); - } - doc.write("\n
\n") - - if (browserVersion == 2) - doc.write("") - if (browserVersion == 3) - doc.write("
") - - if (browserVersion == 1) { - this.navObj = doc.all["item"+this.id] - this.iconImg = doc.all["itemIcon"+this.id] - } else if (browserVersion == 2) { - this.navObj = doc.layers["item"+this.id] - this.iconImg = this.navObj.document.images["itemIcon"+this.id] - doc.yPos=doc.yPos+this.navObj.clip.height - } else if (browserVersion == 3) { - this.navObj = doc.getElementById("item"+this.id) - this.iconImg = doc.images.namedItem("itemIcon"+this.id) - } -} - - -// Methods common to both objects (pseudo-inheritance) -// ******************************************************** - -function display() -{ - if (browserVersion == 1 || browserVersion == 3) - this.navObj.style.display = "block" - else - this.navObj.visibility = "show" -} - -function createEntryIndex() -{ - this.id = nEntries - indexOfEntries[nEntries] = this - nEntries++ -} - -// total height of subEntries open -function totalHeight() //used with browserVersion == 2 -{ - var h = this.navObj.clip.height - var i = 0 - - if (this.isOpen) //is a folder and _is_ open - for (i=0 ; i < this.nChildren; i++) - h = h + this.children[i].totalHeight() - - return h -} - - -// Events -// ********************************************************* - -function clickOnFolder(folderId) -{ - var clicked = indexOfEntries[folderId] - - if (!clicked.isOpen) - clickOnNode(folderId) - - return - - if (clicked.isSelected) - return -} - -function clickOnNode(folderId) -{ - var clickedFolder = 0 - var state = 0 - - clickedFolder = indexOfEntries[folderId] - state = clickedFolder.isOpen - - clickedFolder.setState(!state) //open<->close -} - -function initializeDocument() -{ - doc = document; - if (doc.all) - browserVersion = 1 //IE4 - else - if (doc.layers) - browserVersion = 2 //NS4 - else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1) - browserVersion = 3 //mozilla - else - browserVersion = 0 //other - - foldersTree.initialize(0, 1, "") - foldersTree.display() - - if (browserVersion > 0) - { - if(browserVersion != 3) - doc.write(" ") - - // close the whole tree - clickOnNode(0) - // open the root folder - clickOnNode(0) - } -} - -// Auxiliary Functions for Folder-Treee backward compatibility -// ********************************************************* - -function gFld(description, tagName, hreference) -{ - folder = new Folder(description, tagName, hreference) - return folder -} - -function gLnk(description, tagName, linkData) -{ - fullLink = "" - - if (linkData!="") - { - fullLink = "'"+linkData+"' target=\"basefrm\"" - } - - linkItem = new Item(description, tagName, fullLink) - return linkItem -} - -function insFld(parentFolder, childFolder) -{ - return parentFolder.addChild(childFolder) -} - -function insDoc(parentFolder, document) -{ - parentFolder.addChild(document) -} - -// Global variables -// **************** - -USETEXTLINKS = 1 -indexOfEntries = new Array -nEntries = 0 -doc = document -browserVersion = 0 -selectedFolder=0 diff --git a/docs/module-doc/typedefs_8h-source.html b/docs/module-doc/typedefs_8h-source.html deleted file mode 100644 index cf0d2b97d..000000000 --- a/docs/module-doc/typedefs_8h-source.html +++ /dev/null @@ -1,43 +0,0 @@ - - -InspIRCd: typedefs.h Source File - - - -
- -

typedefs.h

Go to the documentation of this file.
00001 #ifndef __TYPEDEF_H__
-00002 #define __TYPEDEF_H__
-00003 
-00004 #include "users.h"
-00005 #include "channels.h"
-00006 #include "hashcomp.h"
-00007 #include "inspstring.h"
-00008 #include "ctables.h"
-00009 #include "inspircd.h"
-00010 #include "modules.h"
-00011 #include "globals.h"
-00012 #include "inspircd_config.h"
-00013 #include <string>
-00014 #ifdef GCC3
-00015 #include <ext/hash_map>
-00016 #else
-00017 #include <hash_map>
-00018 #endif
-00019 
-00020 typedef nspace::hash_map<std::string, userrec*, nspace::hash<string>, irc::StrHashComp> user_hash;
-00021 typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, irc::StrHashComp> chan_hash;
-00022 typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, irc::InAddr_HashComp> address_cache;
-00023 typedef nspace::hash_map<std::string, WhoWasUser*, nspace::hash<string>, irc::StrHashComp> whowas_hash;
-00024 typedef std::vector<std::string> servernamelist;
-00025 typedef std::vector<ExtMode> ExtModeList;
-00026 typedef ExtModeList::iterator ExtModeListIter;
-00027 typedef std::deque<std::string> file_cache;
-00028 
-00029 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/typedefs_8h.html b/docs/module-doc/typedefs_8h.html deleted file mode 100644 index 75934bc0d..000000000 --- a/docs/module-doc/typedefs_8h.html +++ /dev/null @@ -1,276 +0,0 @@ - - -InspIRCd: typedefs.h File Reference - - - - - -

typedefs.h File Reference

#include "users.h"
-#include "channels.h"
-#include "hashcomp.h"
-#include "inspstring.h"
-#include "ctables.h"
-#include "inspircd.h"
-#include "modules.h"
-#include "globals.h"
-#include "inspircd_config.h"
-#include <string>
-#include <ext/hash_map>
- -

-Include dependency graph for typedefs.h:

- - - - - - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - -

Typedefs

typedef nspace::hash_map<
- std::string, userrec *, nspace::hash<
- string >, irc::StrHashComp
user_hash
typedef nspace::hash_map<
- std::string, chanrec *, nspace::hash<
- string >, irc::StrHashComp
chan_hash
typedef nspace::hash_map<
- in_addr, string *, nspace::hash<
- in_addr >, irc::InAddr_HashComp
address_cache
typedef nspace::hash_map<
- std::string, WhoWasUser *,
- nspace::hash< string >, irc::StrHashComp
whowas_hash
typedef std::vector< std::stringservernamelist
typedef std::vector< ExtModeExtModeList
typedef ExtModeList::iterator ExtModeListIter
typedef std::deque< std::stringfile_cache
-


Typedef Documentation

-

- - - - -
- - - - -
typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, irc::InAddr_HashComp> address_cache
-
- - - - - -
-   - - -

- -

-Definition at line 22 of file typedefs.h.

-

- - - - -
- - - - -
typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, irc::StrHashComp> chan_hash
-
- - - - - -
-   - - -

- -

-Definition at line 21 of file typedefs.h.

-

- - - - -
- - - - -
typedef std::vector<ExtMode> ExtModeList
-
- - - - - -
-   - - -

- -

-Definition at line 25 of file typedefs.h.

-

- - - - -
- - - - -
typedef ExtModeList::iterator ExtModeListIter
-
- - - - - -
-   - - -

- -

-Definition at line 26 of file typedefs.h.

-

- - - - -
- - - - -
typedef std::deque<std::string> file_cache
-
- - - - - -
-   - - -

- -

-Definition at line 27 of file typedefs.h.

-

- - - - -
- - - - -
typedef std::vector<std::string> servernamelist
-
- - - - - -
-   - - -

- -

-Definition at line 24 of file typedefs.h.

-

- - - - -
- - - - -
typedef nspace::hash_map<std::string, userrec*, nspace::hash<string>, irc::StrHashComp> user_hash
-
- - - - - -
-   - - -

- -

-Definition at line 20 of file typedefs.h.

-

- - - - -
- - - - -
typedef nspace::hash_map<std::string, WhoWasUser*, nspace::hash<string>, irc::StrHashComp> whowas_hash
-
- - - - - -
-   - - -

- -

-Definition at line 23 of file typedefs.h.

-


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/typedefs_8h__dep__incl.gif b/docs/module-doc/typedefs_8h__dep__incl.gif deleted file mode 100644 index 83917f390..000000000 Binary files a/docs/module-doc/typedefs_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/typedefs_8h__dep__incl.map b/docs/module-doc/typedefs_8h__dep__incl.map deleted file mode 100644 index 122b85584..000000000 --- a/docs/module-doc/typedefs_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $channels_8cpp-source.html 141,7 240,33 -rect $modules_8cpp-source.html 141,57 240,84 -rect $users_8cpp-source.html 151,108 231,135 diff --git a/docs/module-doc/typedefs_8h__dep__incl.md5 b/docs/module-doc/typedefs_8h__dep__incl.md5 deleted file mode 100644 index 9905c76fe..000000000 --- a/docs/module-doc/typedefs_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9650d15ddf009f9c420b6ac64e094f58 \ No newline at end of file diff --git a/docs/module-doc/typedefs_8h__incl.gif b/docs/module-doc/typedefs_8h__incl.gif deleted file mode 100644 index 54765764d..000000000 Binary files a/docs/module-doc/typedefs_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/typedefs_8h__incl.map b/docs/module-doc/typedefs_8h__incl.map deleted file mode 100644 index 214c3651f..000000000 --- a/docs/module-doc/typedefs_8h__incl.map +++ /dev/null @@ -1,8 +0,0 @@ -base referer -rect $users_8h-source.html 280,245 344,272 -rect $channels_8h-source.html 404,448 489,475 -rect $hashcomp_8h-source.html 400,93 493,120 -rect $ctables_8h-source.html 275,600 349,627 -rect $inspircd_8h-source.html 143,335 223,361 -rect $modules_8h-source.html 141,600 224,627 -rect $globals_8h-source.html 145,423 220,449 diff --git a/docs/module-doc/typedefs_8h__incl.md5 b/docs/module-doc/typedefs_8h__incl.md5 deleted file mode 100644 index 8797dc7d4..000000000 --- a/docs/module-doc/typedefs_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -74b3db4e6e9c4732328fa3d4f91f37f3 \ No newline at end of file diff --git a/docs/module-doc/userprocess_8h-source.html b/docs/module-doc/userprocess_8h-source.html deleted file mode 100644 index 081dc5134..000000000 --- a/docs/module-doc/userprocess_8h-source.html +++ /dev/null @@ -1,28 +0,0 @@ - - -InspIRCd: userprocess.h Source File - - - - - -

userprocess.h

Go to the documentation of this file.
00001 #ifndef __USERPROCESS_H__
-00002 #define __USERPROCESS_H__
-00003 
-00004 #include "users.h"
-00005 #include "inspircd.h"
-00006 
-00007 void CheckDie();
-00008 void LoadAllModules(InspIRCd* ServerInstance);
-00009 void CheckRoot();
-00010 void OpenLog(char** argv, int argc);
-00011 bool DoBackgroundUserStuff(time_t TIME);
-00012 void ProcessUser(userrec* cu);
-00013 
-00014 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/userprocess_8h.html b/docs/module-doc/userprocess_8h.html deleted file mode 100644 index 214521d24..000000000 --- a/docs/module-doc/userprocess_8h.html +++ /dev/null @@ -1,217 +0,0 @@ - - -InspIRCd: userprocess.h File Reference - - - - - -

userprocess.h File Reference

#include "users.h"
-#include "inspircd.h"
- -

-Include dependency graph for userprocess.h:

- - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - -

Functions

void CheckDie ()
void LoadAllModules (InspIRCd *ServerInstance)
void CheckRoot ()
void OpenLog (char **argv, int argc)
bool DoBackgroundUserStuff (time_t TIME)
void ProcessUser (userrec *cu)
-


Function Documentation

-

- - - - -
- - - - - - - - -
void CheckDie  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
void CheckRoot  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool DoBackgroundUserStuff time_t  TIME  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void LoadAllModules InspIRCd ServerInstance  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void OpenLog char **  argv,
int  argc
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void ProcessUser userrec cu  ) 
-
- - - - - -
-   - - -

-

-


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/userprocess_8h__incl.gif b/docs/module-doc/userprocess_8h__incl.gif deleted file mode 100644 index 594200be4..000000000 Binary files a/docs/module-doc/userprocess_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/userprocess_8h__incl.map b/docs/module-doc/userprocess_8h__incl.map deleted file mode 100644 index 2c35162eb..000000000 --- a/docs/module-doc/userprocess_8h__incl.map +++ /dev/null @@ -1,3 +0,0 @@ -base referer -rect $users_8h-source.html 291,32 355,59 -rect $inspircd_8h-source.html 162,58 242,84 diff --git a/docs/module-doc/userprocess_8h__incl.md5 b/docs/module-doc/userprocess_8h__incl.md5 deleted file mode 100644 index d8ff2f5d6..000000000 --- a/docs/module-doc/userprocess_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1cd979ceea10e39121f05ee648f60ec5 \ No newline at end of file diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html deleted file mode 100644 index 8b129741a..000000000 --- a/docs/module-doc/users_8cpp-source.html +++ /dev/null @@ -1,818 +0,0 @@ - - -InspIRCd: users.cpp Source File - - - - - -

users.cpp

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 using namespace std;
-00018 
-00019 #include "inspircd_config.h" 
-00020 #include "channels.h"
-00021 #include "connection.h"
-00022 #include "users.h"
-00023 #include "inspircd.h"
-00024 #include <stdio.h>
-00025 #ifdef THREADED_DNS
-00026 #include <pthread.h>
-00027 #include <signal.h>
-00028 #endif
-00029 #include "inspstring.h"
-00030 #include "commands.h"
-00031 #include "helperfuncs.h"
-00032 #include "typedefs.h"
-00033 #include "socketengine.h"
-00034 #include "hashcomp.h"
-00035 #include "message.h"
-00036 #include "wildcard.h"
-00037 #include "xline.h"
-00038 
-00039 extern InspIRCd* ServerInstance;
-00040 extern int WHOWAS_STALE;
-00041 extern int WHOWAS_MAX;
-00042 extern std::vector<Module*> modules;
-00043 extern std::vector<ircd_module*> factory;
-00044 extern std::vector<InspSocket*> module_sockets;
-00045 extern int MODCOUNT;
-00046 extern InspSocket* socket_ref[65535];
-00047 extern time_t TIME;
-00048 extern userrec* fd_ref_table[65536];
-00049 extern ServerConfig *Config;
-00050 extern user_hash clientlist;
-00051 extern whowas_hash whowas;
-00052 std::vector<userrec*> local_users;
-00053 
-00054 std::vector<userrec*> all_opers;
-00055 
-00056 template<typename T> inline string ConvToStr(const T &in)
-00057 {
-00058         stringstream tmp;
-00059         if (!(tmp << in)) return string();
-00060         return tmp.str();
-00061 }
-00062 
-00063 userrec::userrec()
-00064 {
-00065         // the PROPER way to do it, AVOID bzero at *ALL* costs
-00066         strcpy(nick,"");
-00067         strcpy(ip,"127.0.0.1");
-00068         timeout = 0;
-00069         strcpy(ident,"");
-00070         strcpy(host,"");
-00071         strcpy(dhost,"");
-00072         strcpy(fullname,"");
-00073         strcpy(modes,"");
-00074         server = (char*)FindServerNamePtr(Config->ServerName);
-00075         strcpy(awaymsg,"");
-00076         strcpy(oper,"");
-00077         reset_due = TIME;
-00078         lines_in = 0;
-00079         fd = lastping = signon = idle_lastmsg = nping = registered = 0;
-00080         flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0;
-00081         haspassed = false;
-00082         dns_done = false;
-00083         recvq = "";
-00084         sendq = "";
-00085         chans.clear();
-00086         invites.clear();
-00087 }
-00088 
-00089 userrec::~userrec()
-00090 {
-00091 }
-00092 
-00093 void userrec::CloseSocket()
-00094 {
-00095         shutdown(this->fd,2);
-00096         close(this->fd);
-00097 }
-00098  
-00099 char* userrec::GetFullHost()
-00100 {
-00101         static char result[MAXBUF];
-00102         snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,dhost);
-00103         return result;
-00104 }
-00105 
-00106 int userrec::ReadData(void* buffer, size_t size)
-00107 {
-00108         if (this->fd > -1)
-00109         {
-00110                 return read(this->fd, buffer, size);
-00111         }
-00112         else return 0;
-00113 }
-00114 
-00115 
-00116 char* userrec::GetFullRealHost()
-00117 {
-00118         static char fresult[MAXBUF];
-00119         snprintf(fresult,MAXBUF,"%s!%s@%s",nick,ident,host);
-00120         return fresult;
-00121 }
-00122 
-00123 bool userrec::IsInvited(irc::string &channel)
-00124 {
-00125         for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-00126         {
-00127                 irc::string compare = i->channel;
-00128                 if (compare == channel)
-00129                 {
-00130                         return true;
-00131                 }
-00132         }
-00133         return false;
-00134 }
-00135 
-00136 InvitedList* userrec::GetInviteList()
-00137 {
-00138         return &invites;
-00139 }
-00140 
-00141 void userrec::InviteTo(irc::string &channel)
-00142 {
-00143         Invited i;
-00144         i.channel = channel;
-00145         invites.push_back(i);
-00146 }
-00147 
-00148 void userrec::RemoveInvite(irc::string &channel)
-00149 {
-00150         log(DEBUG,"Removing invites");
-00151         if (invites.size())
-00152         {
-00153                 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-00154                 {
-00155                         irc::string compare = i->channel;
-00156                         if (compare == channel)
-00157                         {
-00158                                 invites.erase(i);
-00159                                 return;
-00160                         }
-00161                 }
-00162         }
-00163 }
-00164 
-00165 bool userrec::HasPermission(std::string &command)
-00166 {
-00167         char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-00168         char* mycmd;
-00169         char* savept;
-00170         char* savept2;
-00171         
-00172         // users on u-lined servers can completely bypass
-00173         // all permissions based checks.
-00174         //
-00175         // of course, if this is sent to a remote server and this
-00176         // server is not ulined there, then that other server
-00177         // silently drops the command.
-00178         if (is_uline(this->server))
-00179                 return true;
-00180         
-00181         // are they even an oper at all?
-00182         if (strchr(this->modes,'o'))
-00183         {
-00184                 for (int j =0; j < Config->ConfValueEnum("type",&Config->config_f); j++)
-00185                 {
-00186                         Config->ConfValue("type","name",j,TypeName,&Config->config_f);
-00187                         if (!strcmp(TypeName,this->oper))
-00188                         {
-00189                                 Config->ConfValue("type","classes",j,Classes,&Config->config_f);
-00190                                 char* myclass = strtok_r(Classes," ",&savept);
-00191                                 while (myclass)
-00192                                 {
-00193                                         for (int k =0; k < Config->ConfValueEnum("class",&Config->config_f); k++)
-00194                                         {
-00195                                                 Config->ConfValue("class","name",k,ClassName,&Config->config_f);
-00196                                                 if (!strcmp(ClassName,myclass))
-00197                                                 {
-00198                                                         Config->ConfValue("class","commands",k,CommandList,&Config->config_f);
-00199                                                         mycmd = strtok_r(CommandList," ",&savept2);
-00200                                                         while (mycmd)
-00201                                                         {
-00202                                                                 if ((!strcasecmp(mycmd,command.c_str())) || (*mycmd == '*'))
-00203                                                                 {
-00204                                                                         return true;
-00205                                                                 }
-00206                                                                 mycmd = strtok_r(NULL," ",&savept2);
-00207                                                         }
-00208                                                 }
-00209                                         }
-00210                                         myclass = strtok_r(NULL," ",&savept);
-00211                                 }
-00212                         }
-00213                 }
-00214         }
-00215         return false;
-00216 }
-00217 
-00218 
-00219 bool userrec::AddBuffer(std::string a)
-00220 {
-00221         std::string b = "";
-00222         for (unsigned int i = 0; i < a.length(); i++)
-00223                 if ((a[i] != '\r') && (a[i] != '\0') && (a[i] != 7))
-00224                         b = b + a[i];
-00225         std::stringstream stream(recvq);
-00226         stream << b;
-00227         recvq = stream.str();
-00228         unsigned int i = 0;
-00229         // count the size of the first line in the buffer.
-00230         while (i < recvq.length())
-00231         {
-00232                 if (recvq[i++] == '\n')
-00233                         break;
-00234         }
-00235         if (recvq.length() > (unsigned)this->recvqmax)
-00236         {
-00237                 this->SetWriteError("RecvQ exceeded");
-00238                 WriteOpers("*** User %s RecvQ of %d exceeds connect class maximum of %d",this->nick,recvq.length(),this->recvqmax);
-00239         }
-00240         // return false if we've had more than 600 characters WITHOUT
-00241         // a carriage return (this is BAD, drop the socket)
-00242         return (i < 600);
-00243 }
-00244 
-00245 bool userrec::BufferIsReady()
-00246 {
-00247         for (unsigned int i = 0; i < recvq.length(); i++)
-00248                 if (recvq[i] == '\n')
-00249                         return true;
-00250         return false;
-00251 }
-00252 
-00253 void userrec::ClearBuffer()
-00254 {
-00255         recvq = "";
-00256 }
-00257 
-00258 std::string userrec::GetBuffer()
-00259 {
-00260         if (recvq == "")
-00261                 return "";
-00262         char* line = (char*)recvq.c_str();
-00263         std::string ret = "";
-00264         while ((*line != '\n') && (strlen(line)))
-00265         {
-00266                 ret = ret + *line;
-00267                 line++;
-00268         }
-00269         if ((*line == '\n') || (*line == '\r'))
-00270                 line++;
-00271         recvq = line;
-00272         return ret;
-00273 }
-00274 
-00275 void userrec::AddWriteBuf(std::string data)
-00276 {
-00277         if (this->GetWriteError() != "")
-00278                 return;
-00279         if (sendq.length() + data.length() > (unsigned)this->sendqmax)
-00280         {
-00281                 /* Fix by brain - Set the error text BEFORE calling writeopers, because
-00282                  * if we dont it'll recursively  call here over and over again trying
-00283                  * to repeatedly add the text to the sendq!
-00284                  */
-00285                 this->SetWriteError("SendQ exceeded");
-00286                 WriteOpers("*** User %s SendQ of %d exceeds connect class maximum of %d",this->nick,sendq.length() + data.length(),this->sendqmax);
-00287                 return;
-00288         }
-00289         std::stringstream stream;
-00290         stream << sendq << data;
-00291         sendq = stream.str();
-00292 }
-00293 
-00294 // send AS MUCH OF THE USERS SENDQ as we are able to (might not be all of it)
-00295 void userrec::FlushWriteBuf()
-00296 {
-00297         if (sendq.length())
-00298         {
-00299                 char* tb = (char*)this->sendq.c_str();
-00300                 int n_sent = write(this->fd,tb,this->sendq.length());
-00301                 if (n_sent == -1)
-00302                 {
-00303                         this->SetWriteError(strerror(errno));
-00304                 }
-00305                 else
-00306                 {
-00307                         // advance the queue
-00308                         tb += n_sent;
-00309                         this->sendq = tb;
-00310                         // update the user's stats counters
-00311                         this->bytes_out += n_sent;
-00312                         this->cmds_out++;
-00313                 }
-00314         }
-00315 }
-00316 
-00317 void userrec::SetWriteError(std::string error)
-00318 {
-00319         log(DEBUG,"Setting error string for %s to '%s'",this->nick,error.c_str());
-00320         // don't try to set the error twice, its already set take the first string.
-00321         if (this->WriteError == "")
-00322                 this->WriteError = error;
-00323 }
-00324 
-00325 std::string userrec::GetWriteError()
-00326 {
-00327         return this->WriteError;
-00328 }
-00329 
-00330 void AddOper(userrec* user)
-00331 {
-00332         log(DEBUG,"Oper added to optimization list");
-00333         all_opers.push_back(user);
-00334 }
-00335 
-00336 void DeleteOper(userrec* user)
-00337 {
-00338         for (std::vector<userrec*>::iterator a = all_opers.begin(); a < all_opers.end(); a++)
-00339         {
-00340                 if (*a == user)
-00341                 {
-00342                         log(DEBUG,"Oper removed from optimization list");
-00343                         all_opers.erase(a);
-00344                         return;
-00345                 }
-00346         }
-00347 }
-00348 
-00349 void kill_link(userrec *user,const char* r)
-00350 {
-00351         user_hash::iterator iter = clientlist.find(user->nick);
-00352 
-00353         char reason[MAXBUF];
-00354 
-00355         strncpy(reason,r,MAXBUF);
-00356 
-00357         if (strlen(reason)>MAXQUIT)
-00358         {
-00359                 reason[MAXQUIT-1] = '\0';
-00360         }
-00361 
-00362         log(DEBUG,"kill_link: %s '%s'",user->nick,reason);
-00363         Write(user->fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,reason);
-00364         log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
-00365 
-00366         if (user->registered == 7) {
-00367                 FOREACH_MOD OnUserQuit(user,reason);
-00368                 WriteCommonExcept(user,"QUIT :%s",reason);
-00369         }
-00370 
-00371         user->FlushWriteBuf();
-00372 
-00373         FOREACH_MOD OnUserDisconnect(user);
-00374 
-00375         if (user->fd > -1)
-00376         {
-00377                 if (Config->GetIOHook(user->port))
-00378                 {
-00379                         Config->GetIOHook(user->port)->OnRawSocketClose(user->fd);
-00380                 }
-00381                 ServerInstance->SE->DelFd(user->fd);
-00382                 user->CloseSocket();
-00383         }
-00384 
-00385         // this must come before the WriteOpers so that it doesnt try to fill their buffer with anything
-00386         // if they were an oper with +s.
-00387         if (user->registered == 7) {
-00388                 purge_empty_chans(user);
-00389                 // fix by brain: only show local quits because we only show local connects (it just makes SENSE)
-00390                 if (user->fd > -1)
-00391                         WriteOpers("*** Client exiting: %s!%s@%s [%s]",user->nick,user->ident,user->host,reason);
-00392                 AddWhoWas(user);
-00393         }
-00394 
-00395         if (iter != clientlist.end())
-00396         {
-00397                 log(DEBUG,"deleting user hash value %lu",(unsigned long)user);
-00398                 if (user->fd > -1)
-00399                 {
-00400                         fd_ref_table[user->fd] = NULL;
-00401                         if (find(local_users.begin(),local_users.end(),user) != local_users.end())
-00402                         {
-00403                                 local_users.erase(find(local_users.begin(),local_users.end(),user));
-00404                                 log(DEBUG,"Delete local user");
-00405                         }
-00406                 }
-00407                 clientlist.erase(iter);
-00408         }
-00409         delete user;
-00410 }
-00411 
-00412 void kill_link_silent(userrec *user,const char* r)
-00413 {
-00414         user_hash::iterator iter = clientlist.find(user->nick);
-00415 
-00416         char reason[MAXBUF];
-00417 
-00418         strncpy(reason,r,MAXBUF);
-00419 
-00420         if (strlen(reason)>MAXQUIT)
-00421         {
-00422                 reason[MAXQUIT-1] = '\0';
-00423         }
-00424 
-00425         log(DEBUG,"kill_link: %s '%s'",user->nick,reason);
-00426         Write(user->fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,reason);
-00427         log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
-00428 
-00429         user->FlushWriteBuf();
-00430 
-00431         if (user->registered == 7) {
-00432                 FOREACH_MOD OnUserQuit(user,reason);
-00433                 WriteCommonExcept(user,"QUIT :%s",reason);
-00434         }
-00435 
-00436         FOREACH_MOD OnUserDisconnect(user);
-00437 
-00438         if (user->fd > -1)
-00439         {
-00440                 if (Config->GetIOHook(user->port))
-00441                 {
-00442                         Config->GetIOHook(user->port)->OnRawSocketClose(user->fd);
-00443                 }
-00444                 ServerInstance->SE->DelFd(user->fd);
-00445                 user->CloseSocket();
-00446         }
-00447 
-00448         if (user->registered == 7) {
-00449                 purge_empty_chans(user);
-00450         }
-00451 
-00452         if (iter != clientlist.end())
-00453         {
-00454                 log(DEBUG,"deleting user hash value %lu",(unsigned long)user);
-00455                 if (user->fd > -1)
-00456                 {
-00457                         fd_ref_table[user->fd] = NULL;
-00458                         if (find(local_users.begin(),local_users.end(),user) != local_users.end())
-00459                         {
-00460                                 log(DEBUG,"Delete local user");
-00461                                 local_users.erase(find(local_users.begin(),local_users.end(),user));
-00462                         }
-00463                 }
-00464                 clientlist.erase(iter);
-00465         }
-00466         delete user;
-00467 }
-00468 
-00469 
-00470 /* adds or updates an entry in the whowas list */
-00471 void AddWhoWas(userrec* u)
-00472 {
-00473         whowas_hash::iterator iter = whowas.find(u->nick);
-00474         WhoWasUser *a = new WhoWasUser();
-00475         strlcpy(a->nick,u->nick,NICKMAX);
-00476         strlcpy(a->ident,u->ident,IDENTMAX);
-00477         strlcpy(a->dhost,u->dhost,160);
-00478         strlcpy(a->host,u->host,160);
-00479         strlcpy(a->fullname,u->fullname,MAXGECOS);
-00480         strlcpy(a->server,u->server,256);
-00481         a->signon = u->signon;
-00482 
-00483         /* MAX_WHOWAS:   max number of /WHOWAS items
-00484          * WHOWAS_STALE: number of hours before a WHOWAS item is marked as stale and
-00485          *               can be replaced by a newer one
-00486          */
-00487 
-00488         if (iter == whowas.end())
-00489         {
-00490                 if (whowas.size() >= (unsigned)WHOWAS_MAX)
-00491                 {
-00492                         for (whowas_hash::iterator i = whowas.begin(); i != whowas.end(); i++)
-00493                         {
-00494                                 // 3600 seconds in an hour ;)
-00495                                 if ((i->second->signon)<(TIME-(WHOWAS_STALE*3600)))
-00496                                 {
-00497                                         // delete the old one
-00498                                         if (i->second) delete i->second;
-00499                                         // replace with new one
-00500                                         i->second = a;
-00501                                         log(DEBUG,"added WHOWAS entry, purged an old record");
-00502                                         return;
-00503                                 }
-00504                         }
-00505                         // no space left and user doesnt exist. Don't leave ram in use!
-00506                         log(DEBUG,"Not able to update whowas (list at WHOWAS_MAX entries and trying to add new?), freeing excess ram");
-00507                         delete a;
-00508                 }
-00509                 else
-00510                 {
-00511                         log(DEBUG,"added fresh WHOWAS entry");
-00512                         whowas[a->nick] = a;
-00513                 }
-00514         }
-00515         else
-00516         {
-00517                 log(DEBUG,"updated WHOWAS entry");
-00518                 if (iter->second) delete iter->second;
-00519                 iter->second = a;
-00520         }
-00521 }
-00522 
-00523 /* add a client connection to the sockets list */
-00524 void AddClient(int socket, char* host, int port, bool iscached, char* ip)
-00525 {
-00526         string tempnick;
-00527         char tn2[MAXBUF];
-00528         user_hash::iterator iter;
-00529 
-00530         tempnick = ConvToStr(socket) + "-unknown";
-00531         sprintf(tn2,"%lu-unknown",(unsigned long)socket);
-00532 
-00533         iter = clientlist.find(tempnick);
-00534 
-00535         // fix by brain.
-00536         // as these nicknames are 'RFC impossible', we can be sure nobody is going to be
-00537         // using one as a registered connection. As theyre per fd, we can also safely assume
-00538         // that we wont have collisions. Therefore, if the nick exists in the list, its only
-00539         // used by a dead socket, erase the iterator so that the new client may reclaim it.
-00540         // this was probably the cause of 'server ignores me when i hammer it with reconnects'
-00541         // issue in earlier alphas/betas
-00542         if (iter != clientlist.end())
-00543         {
-00544                 userrec* goner = iter->second;
-00545                 delete goner;
-00546                 clientlist.erase(iter);
-00547         }
-00548 
-00549         /*
-00550          * It is OK to access the value here this way since we know
-00551          * it exists, we just created it above.
-00552          *
-00553          * At NO other time should you access a value in a map or a
-00554          * hash_map this way.
-00555          */
-00556         clientlist[tempnick] = new userrec();
-00557 
-00558         log(DEBUG,"AddClient: %lu %s %d %s",(unsigned long)socket,host,port,ip);
-00559 
-00560         clientlist[tempnick]->fd = socket;
-00561         strlcpy(clientlist[tempnick]->nick, tn2,NICKMAX);
-00562         strlcpy(clientlist[tempnick]->host, host,160);
-00563         strlcpy(clientlist[tempnick]->dhost, host,160);
-00564         clientlist[tempnick]->server = (char*)FindServerNamePtr(Config->ServerName);
-00565         strlcpy(clientlist[tempnick]->ident, "unknown",IDENTMAX);
-00566         clientlist[tempnick]->registered = 0;
-00567         clientlist[tempnick]->signon = TIME + Config->dns_timeout;
-00568         clientlist[tempnick]->lastping = 1;
-00569         clientlist[tempnick]->port = port;
-00570         strlcpy(clientlist[tempnick]->ip,ip,16);
-00571 
-00572         // set the registration timeout for this user
-00573         unsigned long class_regtimeout = 90;
-00574         int class_flood = 0;
-00575         long class_threshold = 5;
-00576         long class_sqmax = 262144;      // 256kb
-00577         long class_rqmax = 4096;        // 4k
-00578 
-00579         for (ClassVector::iterator i = Config->Classes.begin(); i != Config->Classes.end(); i++)
-00580         {
-00581                 if (match(clientlist[tempnick]->host,i->host) && (i->type == CC_ALLOW))
-00582                 {
-00583                         class_regtimeout = (unsigned long)i->registration_timeout;
-00584                         class_flood = i->flood;
-00585                         clientlist[tempnick]->pingmax = i->pingtime;
-00586                         class_threshold = i->threshold;
-00587                         class_sqmax = i->sendqmax;
-00588                         class_rqmax = i->recvqmax;
-00589                         break;
-00590                 }
-00591         }
-00592 
-00593         clientlist[tempnick]->nping = TIME+clientlist[tempnick]->pingmax + Config->dns_timeout;
-00594         clientlist[tempnick]->timeout = TIME+class_regtimeout;
-00595         clientlist[tempnick]->flood = class_flood;
-00596         clientlist[tempnick]->threshold = class_threshold;
-00597         clientlist[tempnick]->sendqmax = class_sqmax;
-00598         clientlist[tempnick]->recvqmax = class_rqmax;
-00599 
-00600         ucrec a;
-00601         a.channel = NULL;
-00602         a.uc_modes = 0;
-00603         for (int i = 0; i < MAXCHANS; i++)
-00604                 clientlist[tempnick]->chans.push_back(a);
-00605 
-00606         if (clientlist.size() > Config->SoftLimit)
-00607         {
-00608                 kill_link(clientlist[tempnick],"No more connections allowed");
-00609                 return;
-00610         }
-00611 
-00612         if (clientlist.size() >= MAXCLIENTS)
-00613         {
-00614                 kill_link(clientlist[tempnick],"No more connections allowed");
-00615                 return;
-00616         }
-00617 
-00618         // this is done as a safety check to keep the file descriptors within range of fd_ref_table.
-00619         // its a pretty big but for the moment valid assumption:
-00620         // file descriptors are handed out starting at 0, and are recycled as theyre freed.
-00621         // therefore if there is ever an fd over 65535, 65536 clients must be connected to the
-00622         // irc server at once (or the irc server otherwise initiating this many connections, files etc)
-00623         // which for the time being is a physical impossibility (even the largest networks dont have more
-00624         // than about 10,000 users on ONE server!)
-00625         if ((unsigned)socket > 65534)
-00626         {
-00627                 kill_link(clientlist[tempnick],"Server is full");
-00628                 return;
-00629         }
-00630         char* e = matches_exception(ip);
-00631         if (!e)
-00632         {
-00633                 char* r = matches_zline(ip);
-00634                 if (r)
-00635                 {
-00636                         char reason[MAXBUF];
-00637                         snprintf(reason,MAXBUF,"Z-Lined: %s",r);
-00638                         kill_link(clientlist[tempnick],reason);
-00639                         return;
-00640                 }
-00641         }
-00642         fd_ref_table[socket] = clientlist[tempnick];
-00643         local_users.push_back(clientlist[tempnick]);
-00644         ServerInstance->SE->AddFd(socket,true,X_ESTAB_CLIENT);
-00645 }
-00646 
-00647 void FullConnectUser(userrec* user)
-00648 {
-00649         ServerInstance->stats->statsConnects++;
-00650         user->idle_lastmsg = TIME;
-00651         log(DEBUG,"ConnectUser: %s",user->nick);
-00652 
-00653         if ((strcmp(Passwd(user),"")) && (!user->haspassed))
-00654         {
-00655                 kill_link(user,"Invalid password");
-00656                 return;
-00657         }
-00658         if (IsDenied(user))
-00659         {
-00660                 kill_link(user,"Unauthorised connection");
-00661                 return;
-00662         }
-00663 
-00664         char match_against[MAXBUF];
-00665         snprintf(match_against,MAXBUF,"%s@%s",user->ident,user->host);
-00666         char* e = matches_exception(match_against);
-00667         if (!e)
-00668         {
-00669                 char* r = matches_gline(match_against);
-00670                 if (r)
-00671                 {
-00672                         char reason[MAXBUF];
-00673                         snprintf(reason,MAXBUF,"G-Lined: %s",r);
-00674                         kill_link_silent(user,reason);
-00675                         return;
-00676                 }
-00677                 r = matches_kline(user->host);
-00678                 if (r)
-00679                 {
-00680                         char reason[MAXBUF];
-00681                         snprintf(reason,MAXBUF,"K-Lined: %s",r);
-00682                         kill_link_silent(user,reason);
-00683                         return;
-00684                 }
-00685         }
-00686 
-00687 
-00688         WriteServ(user->fd,"NOTICE Auth :Welcome to \002%s\002!",Config->Network);
-00689         WriteServ(user->fd,"001 %s :Welcome to the %s IRC Network %s!%s@%s",user->nick,Config->Network,user->nick,user->ident,user->host);
-00690         WriteServ(user->fd,"002 %s :Your host is %s, running version %s",user->nick,Config->ServerName,VERSION);
-00691         WriteServ(user->fd,"003 %s :This server was created %s %s",user->nick,__TIME__,__DATE__);
-00692         WriteServ(user->fd,"004 %s %s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN",user->nick,Config->ServerName,VERSION);
-00693         // the neatest way to construct the initial 005 numeric, considering the number of configure constants to go in it...
-00694         std::stringstream v;
-00695         v << "WALLCHOPS MODES=13 CHANTYPES=# PREFIX=(ohv)@%+ MAP SAFELIST MAXCHANNELS=" << MAXCHANS;
-00696         v << " MAXBANS=60 NICKLEN=" << NICKMAX;
-00697         v << " TOPICLEN=" << MAXTOPIC << " KICKLEN=" << MAXKICK << " MAXTARGETS=20 AWAYLEN=" << MAXAWAY << " CHANMODES=ohvb,k,l,psmnti NETWORK=";
-00698         v << Config->Network;
-00699         std::string data005 = v.str();
-00700         FOREACH_MOD On005Numeric(data005);
-00701         // anfl @ #ratbox, efnet reminded me that according to the RFC this cant contain more than 13 tokens per line...
-00702         // so i'd better split it :)
-00703         std::stringstream out(data005);
-00704         std::string token = "";
-00705         std::string line5 = "";
-00706         int token_counter = 0;
-00707         while (!out.eof())
-00708         {
-00709                 out >> token;
-00710                 line5 = line5 + token + " ";
-00711                 token_counter++;
-00712                 if ((token_counter >= 13) || (out.eof() == true))
-00713                 {
-00714                         WriteServ(user->fd,"005 %s %s:are supported by this server",user->nick,line5.c_str());
-00715                         line5 = "";
-00716                         token_counter = 0;
-00717                 }
-00718         }
-00719         ShowMOTD(user);
-00720 
-00721         // fix 3 by brain, move registered = 7 below these so that spurious modes and host changes dont go out
-00722         // onto the network and produce 'fake direction'
-00723         FOREACH_MOD OnUserConnect(user);
-00724         FOREACH_MOD OnGlobalConnect(user);
-00725         user->registered = 7;
-00726         WriteOpers("*** Client connecting on port %lu: %s!%s@%s [%s]",(unsigned long)user->port,user->nick,user->ident,user->host,user->ip);
-00727 }
-00728 
-00729 
-00730 /* shows the message of the day, and any other on-logon stuff */
-00731 void ConnectUser(userrec *user)
-00732 {
-00733         // dns is already done, things are fast. no need to wait for dns to complete just pass them straight on
-00734         if ((user->dns_done) && (user->registered >= 3) && (AllModulesReportReady(user)))
-00735         {
-00736                 FullConnectUser(user);
-00737         }
-00738 }
-00739 
-00740 /* re-allocates a nick in the user_hash after they change nicknames,
-00741  * returns a pointer to the new user as it may have moved */
-00742 
-00743 userrec* ReHashNick(char* Old, char* New)
-00744 {
-00745         //user_hash::iterator newnick;
-00746         user_hash::iterator oldnick = clientlist.find(Old);
-00747 
-00748         log(DEBUG,"ReHashNick: %s %s",Old,New);
-00749 
-00750         if (!strcasecmp(Old,New))
-00751         {
-00752                 log(DEBUG,"old nick is new nick, skipping");
-00753                 return oldnick->second;
-00754         }
-00755 
-00756         if (oldnick == clientlist.end()) return NULL; /* doesnt exist */
-00757 
-00758         log(DEBUG,"ReHashNick: Found hashed nick %s",Old);
-00759 
-00760         userrec* olduser = oldnick->second;
-00761         clientlist[New] = olduser;
-00762         clientlist.erase(oldnick);
-00763 
-00764         log(DEBUG,"ReHashNick: Nick rehashed as %s",New);
-00765 
-00766         return clientlist[New];
-00767 }
-00768 
-00769 void force_nickchange(userrec* user,const char* newnick)
-00770 {
-00771         char nick[MAXBUF];
-00772         int MOD_RESULT = 0;
-00773 
-00774         strcpy(nick,"");
-00775 
-00776         FOREACH_RESULT(OnUserPreNick(user,newnick));
-00777         if (MOD_RESULT) {
-00778                 ServerInstance->stats->statsCollisions++;
-00779                 kill_link(user,"Nickname collision");
-00780                 return;
-00781         }
-00782         if (matches_qline(newnick))
-00783         {
-00784                 ServerInstance->stats->statsCollisions++;
-00785                 kill_link(user,"Nickname collision");
-00786                 return;
-00787         }
-00788 
-00789         if (user)
-00790         {
-00791                 if (newnick)
-00792                 {
-00793                         strncpy(nick,newnick,MAXBUF);
-00794                 }
-00795                 if (user->registered == 7)
-00796                 {
-00797                         char* pars[1];
-00798                         pars[0] = nick;
-00799                         std::string cmd = "NICK";
-00800                         ServerInstance->Parser->CallHandler(cmd,pars,1,user);
-00801                 }
-00802         }
-00803 }
-00804 
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/users_8cpp.html b/docs/module-doc/users_8cpp.html deleted file mode 100644 index ac1655953..000000000 --- a/docs/module-doc/users_8cpp.html +++ /dev/null @@ -1,1366 +0,0 @@ - - -InspIRCd: users.cpp File Reference - - - - - -

users.cpp File Reference

#include "inspircd_config.h"
-#include "channels.h"
-#include "connection.h"
-#include "users.h"
-#include "inspircd.h"
-#include <stdio.h>
-#include "inspstring.h"
-#include "commands.h"
-#include "helperfuncs.h"
-#include "typedefs.h"
-#include "socketengine.h"
-#include "hashcomp.h"
-#include "message.h"
-#include "wildcard.h"
-#include "xline.h"
- -

-Include dependency graph for users.cpp:

- - - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Functions

template<typename T>
string ConvToStr (const T &in)
void AddOper (userrec *user)
void DeleteOper (userrec *user)
void kill_link (userrec *user, const char *r)
void kill_link_silent (userrec *user, const char *r)
void AddWhoWas (userrec *u)
void AddClient (int socket, char *host, int port, bool iscached, char *ip)
void FullConnectUser (userrec *user)
void ConnectUser (userrec *user)
userrecReHashNick (char *Old, char *New)
void force_nickchange (userrec *user, const char *newnick)

Variables

InspIRCdServerInstance
int WHOWAS_STALE
int WHOWAS_MAX
std::vector< Module * > modules
std::vector< ircd_module * > factory
std::vector< InspSocket * > module_sockets
int MODCOUNT
InspSocketsocket_ref [65535]
time_t TIME
userrecfd_ref_table [65536]
ServerConfigConfig
user_hash clientlist
whowas_hash whowas
std::vector< userrec * > local_users
std::vector< userrec * > all_opers
-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void AddClient int  socket,
char *  host,
int  port,
bool  iscached,
char *  ip
-
- - - - - -
-   - - -

- -

-Definition at line 524 of file users.cpp. -

-References SocketEngine::AddFd(), CC_ALLOW, ucrec::channel, ServerConfig::Classes, clientlist, ConvToStr(), DEBUG, ServerConfig::dns_timeout, FindServerNamePtr(), kill_link(), local_users, log(), matches_exception(), matches_zline(), InspIRCd::SE, ServerConfig::ServerName, ServerConfig::SoftLimit, TIME, ucrec::uc_modes, and X_ESTAB_CLIENT.

00525 {
-00526         string tempnick;
-00527         char tn2[MAXBUF];
-00528         user_hash::iterator iter;
-00529 
-00530         tempnick = ConvToStr(socket) + "-unknown";
-00531         sprintf(tn2,"%lu-unknown",(unsigned long)socket);
-00532 
-00533         iter = clientlist.find(tempnick);
-00534 
-00535         // fix by brain.
-00536         // as these nicknames are 'RFC impossible', we can be sure nobody is going to be
-00537         // using one as a registered connection. As theyre per fd, we can also safely assume
-00538         // that we wont have collisions. Therefore, if the nick exists in the list, its only
-00539         // used by a dead socket, erase the iterator so that the new client may reclaim it.
-00540         // this was probably the cause of 'server ignores me when i hammer it with reconnects'
-00541         // issue in earlier alphas/betas
-00542         if (iter != clientlist.end())
-00543         {
-00544                 userrec* goner = iter->second;
-00545                 delete goner;
-00546                 clientlist.erase(iter);
-00547         }
-00548 
-00549         /*
-00550          * It is OK to access the value here this way since we know
-00551          * it exists, we just created it above.
-00552          *
-00553          * At NO other time should you access a value in a map or a
-00554          * hash_map this way.
-00555          */
-00556         clientlist[tempnick] = new userrec();
-00557 
-00558         log(DEBUG,"AddClient: %lu %s %d %s",(unsigned long)socket,host,port,ip);
-00559 
-00560         clientlist[tempnick]->fd = socket;
-00561         strlcpy(clientlist[tempnick]->nick, tn2,NICKMAX);
-00562         strlcpy(clientlist[tempnick]->host, host,160);
-00563         strlcpy(clientlist[tempnick]->dhost, host,160);
-00564         clientlist[tempnick]->server = (char*)FindServerNamePtr(Config->ServerName);
-00565         strlcpy(clientlist[tempnick]->ident, "unknown",IDENTMAX);
-00566         clientlist[tempnick]->registered = 0;
-00567         clientlist[tempnick]->signon = TIME + Config->dns_timeout;
-00568         clientlist[tempnick]->lastping = 1;
-00569         clientlist[tempnick]->port = port;
-00570         strlcpy(clientlist[tempnick]->ip,ip,16);
-00571 
-00572         // set the registration timeout for this user
-00573         unsigned long class_regtimeout = 90;
-00574         int class_flood = 0;
-00575         long class_threshold = 5;
-00576         long class_sqmax = 262144;      // 256kb
-00577         long class_rqmax = 4096;        // 4k
-00578 
-00579         for (ClassVector::iterator i = Config->Classes.begin(); i != Config->Classes.end(); i++)
-00580         {
-00581                 if (match(clientlist[tempnick]->host,i->host) && (i->type == CC_ALLOW))
-00582                 {
-00583                         class_regtimeout = (unsigned long)i->registration_timeout;
-00584                         class_flood = i->flood;
-00585                         clientlist[tempnick]->pingmax = i->pingtime;
-00586                         class_threshold = i->threshold;
-00587                         class_sqmax = i->sendqmax;
-00588                         class_rqmax = i->recvqmax;
-00589                         break;
-00590                 }
-00591         }
-00592 
-00593         clientlist[tempnick]->nping = TIME+clientlist[tempnick]->pingmax + Config->dns_timeout;
-00594         clientlist[tempnick]->timeout = TIME+class_regtimeout;
-00595         clientlist[tempnick]->flood = class_flood;
-00596         clientlist[tempnick]->threshold = class_threshold;
-00597         clientlist[tempnick]->sendqmax = class_sqmax;
-00598         clientlist[tempnick]->recvqmax = class_rqmax;
-00599 
-00600         ucrec a;
-00601         a.channel = NULL;
-00602         a.uc_modes = 0;
-00603         for (int i = 0; i < MAXCHANS; i++)
-00604                 clientlist[tempnick]->chans.push_back(a);
-00605 
-00606         if (clientlist.size() > Config->SoftLimit)
-00607         {
-00608                 kill_link(clientlist[tempnick],"No more connections allowed");
-00609                 return;
-00610         }
-00611 
-00612         if (clientlist.size() >= MAXCLIENTS)
-00613         {
-00614                 kill_link(clientlist[tempnick],"No more connections allowed");
-00615                 return;
-00616         }
-00617 
-00618         // this is done as a safety check to keep the file descriptors within range of fd_ref_table.
-00619         // its a pretty big but for the moment valid assumption:
-00620         // file descriptors are handed out starting at 0, and are recycled as theyre freed.
-00621         // therefore if there is ever an fd over 65535, 65536 clients must be connected to the
-00622         // irc server at once (or the irc server otherwise initiating this many connections, files etc)
-00623         // which for the time being is a physical impossibility (even the largest networks dont have more
-00624         // than about 10,000 users on ONE server!)
-00625         if ((unsigned)socket > 65534)
-00626         {
-00627                 kill_link(clientlist[tempnick],"Server is full");
-00628                 return;
-00629         }
-00630         char* e = matches_exception(ip);
-00631         if (!e)
-00632         {
-00633                 char* r = matches_zline(ip);
-00634                 if (r)
-00635                 {
-00636                         char reason[MAXBUF];
-00637                         snprintf(reason,MAXBUF,"Z-Lined: %s",r);
-00638                         kill_link(clientlist[tempnick],reason);
-00639                         return;
-00640                 }
-00641         }
-00642         fd_ref_table[socket] = clientlist[tempnick];
-00643         local_users.push_back(clientlist[tempnick]);
-00644         ServerInstance->SE->AddFd(socket,true,X_ESTAB_CLIENT);
-00645 }
-
-

-

-

- - - - -
- - - - - - - - - -
void AddOper userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 330 of file users.cpp. -

-References all_opers, DEBUG, and log().

00331 {
-00332         log(DEBUG,"Oper added to optimization list");
-00333         all_opers.push_back(user);
-00334 }
-
-

-

-

- - - - -
- - - - - - - - - -
void AddWhoWas userrec u  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 471 of file users.cpp. -

-References DEBUG, WhoWasUser::dhost, userrec::dhost, WhoWasUser::fullname, userrec::fullname, WhoWasUser::host, connection::host, WhoWasUser::ident, userrec::ident, log(), userrec::nick, WhoWasUser::nick, WhoWasUser::server, userrec::server, WhoWasUser::signon, connection::signon, TIME, whowas, WHOWAS_MAX, and WHOWAS_STALE. -

-Referenced by kill_link().

00472 {
-00473         whowas_hash::iterator iter = whowas.find(u->nick);
-00474         WhoWasUser *a = new WhoWasUser();
-00475         strlcpy(a->nick,u->nick,NICKMAX);
-00476         strlcpy(a->ident,u->ident,IDENTMAX);
-00477         strlcpy(a->dhost,u->dhost,160);
-00478         strlcpy(a->host,u->host,160);
-00479         strlcpy(a->fullname,u->fullname,MAXGECOS);
-00480         strlcpy(a->server,u->server,256);
-00481         a->signon = u->signon;
-00482 
-00483         /* MAX_WHOWAS:   max number of /WHOWAS items
-00484          * WHOWAS_STALE: number of hours before a WHOWAS item is marked as stale and
-00485          *               can be replaced by a newer one
-00486          */
-00487 
-00488         if (iter == whowas.end())
-00489         {
-00490                 if (whowas.size() >= (unsigned)WHOWAS_MAX)
-00491                 {
-00492                         for (whowas_hash::iterator i = whowas.begin(); i != whowas.end(); i++)
-00493                         {
-00494                                 // 3600 seconds in an hour ;)
-00495                                 if ((i->second->signon)<(TIME-(WHOWAS_STALE*3600)))
-00496                                 {
-00497                                         // delete the old one
-00498                                         if (i->second) delete i->second;
-00499                                         // replace with new one
-00500                                         i->second = a;
-00501                                         log(DEBUG,"added WHOWAS entry, purged an old record");
-00502                                         return;
-00503                                 }
-00504                         }
-00505                         // no space left and user doesnt exist. Don't leave ram in use!
-00506                         log(DEBUG,"Not able to update whowas (list at WHOWAS_MAX entries and trying to add new?), freeing excess ram");
-00507                         delete a;
-00508                 }
-00509                 else
-00510                 {
-00511                         log(DEBUG,"added fresh WHOWAS entry");
-00512                         whowas[a->nick] = a;
-00513                 }
-00514         }
-00515         else
-00516         {
-00517                 log(DEBUG,"updated WHOWAS entry");
-00518                 if (iter->second) delete iter->second;
-00519                 iter->second = a;
-00520         }
-00521 }
-
-

-

-

- - - - -
- - - - - - - - - -
void ConnectUser userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 731 of file users.cpp. -

-References userrec::dns_done, FullConnectUser(), and connection::registered.

00732 {
-00733         // dns is already done, things are fast. no need to wait for dns to complete just pass them straight on
-00734         if ((user->dns_done) && (user->registered >= 3) && (AllModulesReportReady(user)))
-00735         {
-00736                 FullConnectUser(user);
-00737         }
-00738 }
-
-

-

-

- - - - -
- - - - - - - - - - - - -
-template<typename T>
string ConvToStr const T &  in  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 56 of file users.cpp. -

-Referenced by AddClient().

00057 {
-00058         stringstream tmp;
-00059         if (!(tmp << in)) return string();
-00060         return tmp.str();
-00061 }
-
-

-

-

- - - - -
- - - - - - - - - -
void DeleteOper userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 336 of file users.cpp. -

-References all_opers, DEBUG, and log().

00337 {
-00338         for (std::vector<userrec*>::iterator a = all_opers.begin(); a < all_opers.end(); a++)
-00339         {
-00340                 if (*a == user)
-00341                 {
-00342                         log(DEBUG,"Oper removed from optimization list");
-00343                         all_opers.erase(a);
-00344                         return;
-00345                 }
-00346         }
-00347 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void force_nickchange userrec user,
const char *  newnick
-
- - - - - -
-   - - -

- -

-Definition at line 769 of file users.cpp. -

-References FOREACH_RESULT, kill_link(), matches_qline(), InspIRCd::Parser, connection::registered, InspIRCd::stats, and serverstats::statsCollisions. -

-Referenced by Server::ChangeUserNick().

00770 {
-00771         char nick[MAXBUF];
-00772         int MOD_RESULT = 0;
-00773 
-00774         strcpy(nick,"");
-00775 
-00776         FOREACH_RESULT(OnUserPreNick(user,newnick));
-00777         if (MOD_RESULT) {
-00778                 ServerInstance->stats->statsCollisions++;
-00779                 kill_link(user,"Nickname collision");
-00780                 return;
-00781         }
-00782         if (matches_qline(newnick))
-00783         {
-00784                 ServerInstance->stats->statsCollisions++;
-00785                 kill_link(user,"Nickname collision");
-00786                 return;
-00787         }
-00788 
-00789         if (user)
-00790         {
-00791                 if (newnick)
-00792                 {
-00793                         strncpy(nick,newnick,MAXBUF);
-00794                 }
-00795                 if (user->registered == 7)
-00796                 {
-00797                         char* pars[1];
-00798                         pars[0] = nick;
-00799                         std::string cmd = "NICK";
-00800                         ServerInstance->Parser->CallHandler(cmd,pars,1,user);
-00801                 }
-00802         }
-00803 }
-
-

-

-

- - - - -
- - - - - - - - - -
void FullConnectUser userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 647 of file users.cpp. -

-References DEBUG, connection::fd, FOREACH_MOD, connection::haspassed, connection::host, userrec::ident, connection::idle_lastmsg, connection::ip, kill_link(), kill_link_silent(), log(), matches_exception(), matches_gline(), matches_kline(), ServerConfig::Network, userrec::nick, connection::port, connection::registered, ServerConfig::ServerName, InspIRCd::stats, serverstats::statsConnects, TIME, WriteOpers(), and WriteServ(). -

-Referenced by ConnectUser().

00648 {
-00649         ServerInstance->stats->statsConnects++;
-00650         user->idle_lastmsg = TIME;
-00651         log(DEBUG,"ConnectUser: %s",user->nick);
-00652 
-00653         if ((strcmp(Passwd(user),"")) && (!user->haspassed))
-00654         {
-00655                 kill_link(user,"Invalid password");
-00656                 return;
-00657         }
-00658         if (IsDenied(user))
-00659         {
-00660                 kill_link(user,"Unauthorised connection");
-00661                 return;
-00662         }
-00663 
-00664         char match_against[MAXBUF];
-00665         snprintf(match_against,MAXBUF,"%s@%s",user->ident,user->host);
-00666         char* e = matches_exception(match_against);
-00667         if (!e)
-00668         {
-00669                 char* r = matches_gline(match_against);
-00670                 if (r)
-00671                 {
-00672                         char reason[MAXBUF];
-00673                         snprintf(reason,MAXBUF,"G-Lined: %s",r);
-00674                         kill_link_silent(user,reason);
-00675                         return;
-00676                 }
-00677                 r = matches_kline(user->host);
-00678                 if (r)
-00679                 {
-00680                         char reason[MAXBUF];
-00681                         snprintf(reason,MAXBUF,"K-Lined: %s",r);
-00682                         kill_link_silent(user,reason);
-00683                         return;
-00684                 }
-00685         }
-00686 
-00687 
-00688         WriteServ(user->fd,"NOTICE Auth :Welcome to \002%s\002!",Config->Network);
-00689         WriteServ(user->fd,"001 %s :Welcome to the %s IRC Network %s!%s@%s",user->nick,Config->Network,user->nick,user->ident,user->host);
-00690         WriteServ(user->fd,"002 %s :Your host is %s, running version %s",user->nick,Config->ServerName,VERSION);
-00691         WriteServ(user->fd,"003 %s :This server was created %s %s",user->nick,__TIME__,__DATE__);
-00692         WriteServ(user->fd,"004 %s %s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN",user->nick,Config->ServerName,VERSION);
-00693         // the neatest way to construct the initial 005 numeric, considering the number of configure constants to go in it...
-00694         std::stringstream v;
-00695         v << "WALLCHOPS MODES=13 CHANTYPES=# PREFIX=(ohv)@%+ MAP SAFELIST MAXCHANNELS=" << MAXCHANS;
-00696         v << " MAXBANS=60 NICKLEN=" << NICKMAX;
-00697         v << " TOPICLEN=" << MAXTOPIC << " KICKLEN=" << MAXKICK << " MAXTARGETS=20 AWAYLEN=" << MAXAWAY << " CHANMODES=ohvb,k,l,psmnti NETWORK=";
-00698         v << Config->Network;
-00699         std::string data005 = v.str();
-00700         FOREACH_MOD On005Numeric(data005);
-00701         // anfl @ #ratbox, efnet reminded me that according to the RFC this cant contain more than 13 tokens per line...
-00702         // so i'd better split it :)
-00703         std::stringstream out(data005);
-00704         std::string token = "";
-00705         std::string line5 = "";
-00706         int token_counter = 0;
-00707         while (!out.eof())
-00708         {
-00709                 out >> token;
-00710                 line5 = line5 + token + " ";
-00711                 token_counter++;
-00712                 if ((token_counter >= 13) || (out.eof() == true))
-00713                 {
-00714                         WriteServ(user->fd,"005 %s %s:are supported by this server",user->nick,line5.c_str());
-00715                         line5 = "";
-00716                         token_counter = 0;
-00717                 }
-00718         }
-00719         ShowMOTD(user);
-00720 
-00721         // fix 3 by brain, move registered = 7 below these so that spurious modes and host changes dont go out
-00722         // onto the network and produce 'fake direction'
-00723         FOREACH_MOD OnUserConnect(user);
-00724         FOREACH_MOD OnGlobalConnect(user);
-00725         user->registered = 7;
-00726         WriteOpers("*** Client connecting on port %lu: %s!%s@%s [%s]",(unsigned long)user->port,user->nick,user->ident,user->host,user->ip);
-00727 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void kill_link userrec user,
const char *  r
-
- - - - - -
-   - - -

- -

-Definition at line 349 of file users.cpp. -

-References AddWhoWas(), clientlist, userrec::CloseSocket(), DEBUG, SocketEngine::DelFd(), connection::fd, userrec::FlushWriteBuf(), FOREACH_MOD, ServerConfig::GetIOHook(), connection::host, userrec::ident, local_users, log(), userrec::nick, Module::OnRawSocketClose(), connection::port, connection::registered, InspIRCd::SE, Write(), WriteCommonExcept(), and WriteOpers(). -

-Referenced by AddClient(), force_nickchange(), FullConnectUser(), Server::PseudoToUser(), and Server::QuitUser().

00350 {
-00351         user_hash::iterator iter = clientlist.find(user->nick);
-00352 
-00353         char reason[MAXBUF];
-00354 
-00355         strncpy(reason,r,MAXBUF);
-00356 
-00357         if (strlen(reason)>MAXQUIT)
-00358         {
-00359                 reason[MAXQUIT-1] = '\0';
-00360         }
-00361 
-00362         log(DEBUG,"kill_link: %s '%s'",user->nick,reason);
-00363         Write(user->fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,reason);
-00364         log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
-00365 
-00366         if (user->registered == 7) {
-00367                 FOREACH_MOD OnUserQuit(user,reason);
-00368                 WriteCommonExcept(user,"QUIT :%s",reason);
-00369         }
-00370 
-00371         user->FlushWriteBuf();
-00372 
-00373         FOREACH_MOD OnUserDisconnect(user);
-00374 
-00375         if (user->fd > -1)
-00376         {
-00377                 if (Config->GetIOHook(user->port))
-00378                 {
-00379                         Config->GetIOHook(user->port)->OnRawSocketClose(user->fd);
-00380                 }
-00381                 ServerInstance->SE->DelFd(user->fd);
-00382                 user->CloseSocket();
-00383         }
-00384 
-00385         // this must come before the WriteOpers so that it doesnt try to fill their buffer with anything
-00386         // if they were an oper with +s.
-00387         if (user->registered == 7) {
-00388                 purge_empty_chans(user);
-00389                 // fix by brain: only show local quits because we only show local connects (it just makes SENSE)
-00390                 if (user->fd > -1)
-00391                         WriteOpers("*** Client exiting: %s!%s@%s [%s]",user->nick,user->ident,user->host,reason);
-00392                 AddWhoWas(user);
-00393         }
-00394 
-00395         if (iter != clientlist.end())
-00396         {
-00397                 log(DEBUG,"deleting user hash value %lu",(unsigned long)user);
-00398                 if (user->fd > -1)
-00399                 {
-00400                         fd_ref_table[user->fd] = NULL;
-00401                         if (find(local_users.begin(),local_users.end(),user) != local_users.end())
-00402                         {
-00403                                 local_users.erase(find(local_users.begin(),local_users.end(),user));
-00404                                 log(DEBUG,"Delete local user");
-00405                         }
-00406                 }
-00407                 clientlist.erase(iter);
-00408         }
-00409         delete user;
-00410 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void kill_link_silent userrec user,
const char *  r
-
- - - - - -
-   - - -

- -

-Definition at line 412 of file users.cpp. -

-References clientlist, userrec::CloseSocket(), DEBUG, SocketEngine::DelFd(), connection::fd, userrec::FlushWriteBuf(), FOREACH_MOD, ServerConfig::GetIOHook(), connection::host, userrec::ident, local_users, log(), userrec::nick, Module::OnRawSocketClose(), connection::port, connection::registered, InspIRCd::SE, Write(), and WriteCommonExcept(). -

-Referenced by FullConnectUser().

00413 {
-00414         user_hash::iterator iter = clientlist.find(user->nick);
-00415 
-00416         char reason[MAXBUF];
-00417 
-00418         strncpy(reason,r,MAXBUF);
-00419 
-00420         if (strlen(reason)>MAXQUIT)
-00421         {
-00422                 reason[MAXQUIT-1] = '\0';
-00423         }
-00424 
-00425         log(DEBUG,"kill_link: %s '%s'",user->nick,reason);
-00426         Write(user->fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,reason);
-00427         log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
-00428 
-00429         user->FlushWriteBuf();
-00430 
-00431         if (user->registered == 7) {
-00432                 FOREACH_MOD OnUserQuit(user,reason);
-00433                 WriteCommonExcept(user,"QUIT :%s",reason);
-00434         }
-00435 
-00436         FOREACH_MOD OnUserDisconnect(user);
-00437 
-00438         if (user->fd > -1)
-00439         {
-00440                 if (Config->GetIOHook(user->port))
-00441                 {
-00442                         Config->GetIOHook(user->port)->OnRawSocketClose(user->fd);
-00443                 }
-00444                 ServerInstance->SE->DelFd(user->fd);
-00445                 user->CloseSocket();
-00446         }
-00447 
-00448         if (user->registered == 7) {
-00449                 purge_empty_chans(user);
-00450         }
-00451 
-00452         if (iter != clientlist.end())
-00453         {
-00454                 log(DEBUG,"deleting user hash value %lu",(unsigned long)user);
-00455                 if (user->fd > -1)
-00456                 {
-00457                         fd_ref_table[user->fd] = NULL;
-00458                         if (find(local_users.begin(),local_users.end(),user) != local_users.end())
-00459                         {
-00460                                 log(DEBUG,"Delete local user");
-00461                                 local_users.erase(find(local_users.begin(),local_users.end(),user));
-00462                         }
-00463                 }
-00464                 clientlist.erase(iter);
-00465         }
-00466         delete user;
-00467 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
userrec* ReHashNick char *  Old,
char *  New
-
- - - - - -
-   - - -

- -

-Definition at line 743 of file users.cpp. -

-References clientlist, DEBUG, and log().

00744 {
-00745         //user_hash::iterator newnick;
-00746         user_hash::iterator oldnick = clientlist.find(Old);
-00747 
-00748         log(DEBUG,"ReHashNick: %s %s",Old,New);
-00749 
-00750         if (!strcasecmp(Old,New))
-00751         {
-00752                 log(DEBUG,"old nick is new nick, skipping");
-00753                 return oldnick->second;
-00754         }
-00755 
-00756         if (oldnick == clientlist.end()) return NULL; /* doesnt exist */
-00757 
-00758         log(DEBUG,"ReHashNick: Found hashed nick %s",Old);
-00759 
-00760         userrec* olduser = oldnick->second;
-00761         clientlist[New] = olduser;
-00762         clientlist.erase(oldnick);
-00763 
-00764         log(DEBUG,"ReHashNick: Nick rehashed as %s",New);
-00765 
-00766         return clientlist[New];
-00767 }
-
-

-

-


Variable Documentation

-

- - - - -
- - - - -
std::vector<userrec*> all_opers
-
- - - - - -
-   - - -

- -

-Definition at line 54 of file users.cpp. -

-Referenced by AddOper(), and DeleteOper().

-

- - - - -
- - - - -
user_hash clientlist
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
ServerConfig* Config
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
std::vector<ircd_module*> factory
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
userrec* fd_ref_table[65536]
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
std::vector<userrec*> local_users
-
- - - - - -
-   - - -

- -

-Definition at line 52 of file users.cpp. -

-Referenced by AddClient(), kill_link(), and kill_link_silent().

-

- - - - -
- - - - -
int MODCOUNT
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
std::vector<InspSocket*> module_sockets
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
std::vector<Module*> modules
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
InspIRCd* ServerInstance
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
InspSocket* socket_ref[65535]
-
- - - - - -
-   - - -

- -

-Definition at line 43 of file socket.cpp.

-

- - - - -
- - - - -
time_t TIME
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
whowas_hash whowas
-
- - - - - -
-   - - -

- -

-Referenced by AddWhoWas().

-

- - - - -
- - - - -
int WHOWAS_MAX
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - -
int WHOWAS_STALE
-
- - - - - -
-   - - -

-

-


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/users_8cpp__incl.gif b/docs/module-doc/users_8cpp__incl.gif deleted file mode 100644 index cf7ff8676..000000000 Binary files a/docs/module-doc/users_8cpp__incl.gif and /dev/null differ diff --git a/docs/module-doc/users_8cpp__incl.map b/docs/module-doc/users_8cpp__incl.map deleted file mode 100644 index 10b1319b3..000000000 --- a/docs/module-doc/users_8cpp__incl.map +++ /dev/null @@ -1,11 +0,0 @@ -base referer -rect $channels_8h-source.html 600,640 685,667 -rect $connection_8h-source.html 593,260 692,287 -rect $users_8h-source.html 457,564 521,591 -rect $hashcomp_8h-source.html 596,438 689,464 -rect $inspircd_8h-source.html 296,210 376,236 -rect $socketengine_8h-source.html 433,159 545,186 -rect $commands_8h-source.html 287,716 385,743 -rect $typedefs_8h-source.html 144,412 229,439 -rect $message_8h-source.html 293,666 379,692 -rect $xline_8h-source.html 305,767 367,794 diff --git a/docs/module-doc/users_8cpp__incl.md5 b/docs/module-doc/users_8cpp__incl.md5 deleted file mode 100644 index b5702ddcc..000000000 --- a/docs/module-doc/users_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6b9b901afd1c7a5528dabf33f5a1687e \ No newline at end of file diff --git a/docs/module-doc/users_8h-source.html b/docs/module-doc/users_8h-source.html deleted file mode 100644 index 592526d3c..000000000 --- a/docs/module-doc/users_8h-source.html +++ /dev/null @@ -1,214 +0,0 @@ - - -InspIRCd: users.h Source File - - - - - -

users.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #include "inspircd_config.h" 
-00018 #include "channels.h"
-00019 #include "inspstring.h"
-00020 #include "connection.h"
-00021 #include <string>
-00022 #ifdef THREADED_DNS
-00023 #include <pthread.h>
-00024 #endif
-00025  
-00026 #ifndef __USERS_H__ 
-00027 #define __USERS_H__ 
-00028 
-00029 #include "hashcomp.h"
-00030  
-00031 #define STATUS_OP       4
-00032 #define STATUS_HOP      2
-00033 #define STATUS_VOICE    1
-00034 #define STATUS_NORMAL   0
-00035 
-00036 #define CC_ALLOW        0
-00037 #define CC_DENY         1
-00038 
-00039 template<typename T> inline string ConvToStr(const T &in);
-00040 
-00043 class Invited : public classbase
-00044 {
-00045  public:
-00046          irc::string channel;
-00047 };
-00048 
-00049 
-00052 class ConnectClass : public classbase
-00053 {
-00054  public:
-00057         char type;
-00060         int registration_timeout;
-00063         int flood;
-00066         char host[MAXBUF];
-00069         int pingtime;
-00072         char pass[MAXBUF];
-00073 
-00076         int threshold;
-00077 
-00080         long sendqmax;
-00081 
-00084         long recvqmax;
-00085         
-00086         ConnectClass()
-00087         {
-00088                 registration_timeout = 0;
-00089                 flood = 0;
-00090                 pingtime = 0;
-00091                 threshold = 0;
-00092                 sendqmax = 0;
-00093                 recvqmax = 0;
-00094                 strlcpy(host,"",MAXBUF);
-00095                 strlcpy(pass,"",MAXBUF);
-00096         }
-00097 };
-00098 
-00101 typedef std::vector<Invited> InvitedList;
-00102 
-00103 
-00104 
-00107 typedef std::vector<ConnectClass> ClassVector;
-00108 
-00115 class userrec : public connection
-00116 {
-00117  private:
-00118 
-00121         InvitedList invites;
-00122  public:
-00123         
-00128         char nick[NICKMAX];
-00129         
-00133         char ident[IDENTMAX+2];
-00134 
-00138         char dhost[160];
-00139         
-00142         char fullname[MAXGECOS+1];
-00143         
-00151         char modes[54];
-00152         
-00153         std::vector<ucrec> chans;
-00154         
-00157         char* server;
-00158         
-00162         char awaymsg[MAXAWAY+1];
-00163         
-00168         int flood;
-00169         
-00174         unsigned int timeout;
-00175         
-00181         char oper[NICKMAX];
-00182 
-00185         bool dns_done;
-00186 
-00189         unsigned int pingmax;
-00190 
-00195         char password[MAXBUF];
-00196 
-00201         std::string recvq;
-00202 
-00206         std::string sendq;
-00207 
-00210         int lines_in;
-00211         time_t reset_due;
-00212         long threshold;
-00213 
-00214         /* Write error string
-00215          */
-00216         std::string WriteError;
-00217 
-00220         long sendqmax;
-00221 
-00224         long recvqmax;
-00225 
-00226         userrec();
-00227         
-00232         virtual char* GetFullHost();
-00233         
-00239         virtual char* GetFullRealHost();
-00240         
-00243         virtual bool IsInvited(irc::string &channel);
-00244         
-00247         virtual void InviteTo(irc::string &channel);
-00248         
-00253         virtual void RemoveInvite(irc::string &channel);
-00254         
-00259         bool HasPermission(std::string &command);
-00260 
-00263         int ReadData(void* buffer, size_t size);
-00264 
-00272         bool AddBuffer(std::string a);
-00273 
-00277         bool BufferIsReady();
-00278 
-00281         void ClearBuffer();
-00282 
-00290         std::string GetBuffer();
-00291 
-00297         void SetWriteError(std::string error);
-00298 
-00302         std::string GetWriteError();
-00303 
-00309         void AddWriteBuf(std::string data);
-00310 
-00317         void FlushWriteBuf();
-00318 
-00321         InvitedList* GetInviteList();
-00322 
-00325         void CloseSocket();
-00326 
-00327         virtual ~userrec();
-00328 
-00329 #ifdef THREADED_DNS
-00330         pthread_t dnsthread;
-00331 #endif
-00332 };
-00333 
-00336 class WhoWasUser
-00337 {
-00338  public:
-00339         char nick[NICKMAX];
-00340         char ident[IDENTMAX+1];
-00341         char dhost[160];
-00342         char host[160];
-00343         char fullname[MAXGECOS+1];
-00344         char server[256];
-00345         time_t signon;
-00346 };
-00347 
-00348 void AddOper(userrec* user);
-00349 void DeleteOper(userrec* user);
-00350 void kill_link(userrec *user,const char* r);
-00351 void kill_link_silent(userrec *user,const char* r);
-00352 void AddWhoWas(userrec* u);
-00353 void AddClient(int socket, char* host, int port, bool iscached, char* ip);
-00354 void FullConnectUser(userrec* user);
-00355 void ConnectUser(userrec *user);
-00356 userrec* ReHashNick(char* Old, char* New);
-00357 void force_nickchange(userrec* user,const char* newnick);
-00358 
-00359 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/users_8h.html b/docs/module-doc/users_8h.html deleted file mode 100644 index c8bbbca30..000000000 --- a/docs/module-doc/users_8h.html +++ /dev/null @@ -1,1221 +0,0 @@ - - -InspIRCd: users.h File Reference - - - - - -

users.h File Reference

#include "inspircd_config.h"
-#include "channels.h"
-#include "inspstring.h"
-#include "connection.h"
-#include <string>
-#include "hashcomp.h"
- -

-Include dependency graph for users.h:

- - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - - - - - - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  Invited
 Holds a channel name to which a user has been invited. More...
class  ConnectClass
 Holds information relevent to <connect allow> and <connect deny> tags in the config file. More...
class  userrec
 Holds all information about a user This class stores all information about a user connected to the irc server. More...
class  WhoWasUser
 A lightweight userrec used by WHOWAS. More...

Defines

#define STATUS_OP   4
#define STATUS_HOP   2
#define STATUS_VOICE   1
#define STATUS_NORMAL   0
#define CC_ALLOW   0
#define CC_DENY   1

Typedefs

typedef std::vector< InvitedInvitedList
 Holds a complete list of all channels to which a user has been invited and has not yet joined.
typedef std::vector< ConnectClassClassVector
 Holds a complete list of all allow and deny tags from the configuration file (connection classes).

Functions

template<typename T>
string ConvToStr (const T &in)
void AddOper (userrec *user)
void DeleteOper (userrec *user)
void kill_link (userrec *user, const char *r)
void kill_link_silent (userrec *user, const char *r)
void AddWhoWas (userrec *u)
void AddClient (int socket, char *host, int port, bool iscached, char *ip)
void FullConnectUser (userrec *user)
void ConnectUser (userrec *user)
userrecReHashNick (char *Old, char *New)
void force_nickchange (userrec *user, const char *newnick)
-


Define Documentation

-

- - - - -
- - - - -
#define CC_ALLOW   0
-
- - - - - -
-   - - -

- -

-Definition at line 36 of file users.h. -

-Referenced by AddClient().

-

- - - - -
- - - - -
#define CC_DENY   1
-
- - - - - -
-   - - -

- -

-Definition at line 37 of file users.h.

-

- - - - -
- - - - -
#define STATUS_HOP   2
-
- - - - - -
-   - - -

- -

-Definition at line 32 of file users.h. -

-Referenced by kick_channel().

-

- - - - -
- - - - -
#define STATUS_NORMAL   0
-
- - - - - -
-   - - -

- -

-Definition at line 34 of file users.h.

-

- - - - -
- - - - -
#define STATUS_OP   4
-
- - - - - -
-   - - -

- -

-Definition at line 31 of file users.h.

-

- - - - -
- - - - -
#define STATUS_VOICE   1
-
- - - - - -
-   - - -

- -

-Definition at line 33 of file users.h.

-


Typedef Documentation

-

- - - - -
- - - - -
typedef std::vector<ConnectClass> ClassVector
-
- - - - - -
-   - - -

-Holds a complete list of all allow and deny tags from the configuration file (connection classes). -

- -

-Definition at line 107 of file users.h.

-

- - - - -
- - - - -
typedef std::vector<Invited> InvitedList
-
- - - - - -
-   - - -

-Holds a complete list of all channels to which a user has been invited and has not yet joined. -

- -

-Definition at line 101 of file users.h.

-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void AddClient int  socket,
char *  host,
int  port,
bool  iscached,
char *  ip
-
- - - - - -
-   - - -

- -

-Definition at line 524 of file users.cpp. -

-References SocketEngine::AddFd(), CC_ALLOW, ucrec::channel, ServerConfig::Classes, clientlist, ConvToStr(), DEBUG, ServerConfig::dns_timeout, FindServerNamePtr(), kill_link(), local_users, log(), matches_exception(), matches_zline(), InspIRCd::SE, ServerConfig::ServerName, ServerConfig::SoftLimit, TIME, ucrec::uc_modes, and X_ESTAB_CLIENT.

00525 {
-00526         string tempnick;
-00527         char tn2[MAXBUF];
-00528         user_hash::iterator iter;
-00529 
-00530         tempnick = ConvToStr(socket) + "-unknown";
-00531         sprintf(tn2,"%lu-unknown",(unsigned long)socket);
-00532 
-00533         iter = clientlist.find(tempnick);
-00534 
-00535         // fix by brain.
-00536         // as these nicknames are 'RFC impossible', we can be sure nobody is going to be
-00537         // using one as a registered connection. As theyre per fd, we can also safely assume
-00538         // that we wont have collisions. Therefore, if the nick exists in the list, its only
-00539         // used by a dead socket, erase the iterator so that the new client may reclaim it.
-00540         // this was probably the cause of 'server ignores me when i hammer it with reconnects'
-00541         // issue in earlier alphas/betas
-00542         if (iter != clientlist.end())
-00543         {
-00544                 userrec* goner = iter->second;
-00545                 delete goner;
-00546                 clientlist.erase(iter);
-00547         }
-00548 
-00549         /*
-00550          * It is OK to access the value here this way since we know
-00551          * it exists, we just created it above.
-00552          *
-00553          * At NO other time should you access a value in a map or a
-00554          * hash_map this way.
-00555          */
-00556         clientlist[tempnick] = new userrec();
-00557 
-00558         log(DEBUG,"AddClient: %lu %s %d %s",(unsigned long)socket,host,port,ip);
-00559 
-00560         clientlist[tempnick]->fd = socket;
-00561         strlcpy(clientlist[tempnick]->nick, tn2,NICKMAX);
-00562         strlcpy(clientlist[tempnick]->host, host,160);
-00563         strlcpy(clientlist[tempnick]->dhost, host,160);
-00564         clientlist[tempnick]->server = (char*)FindServerNamePtr(Config->ServerName);
-00565         strlcpy(clientlist[tempnick]->ident, "unknown",IDENTMAX);
-00566         clientlist[tempnick]->registered = 0;
-00567         clientlist[tempnick]->signon = TIME + Config->dns_timeout;
-00568         clientlist[tempnick]->lastping = 1;
-00569         clientlist[tempnick]->port = port;
-00570         strlcpy(clientlist[tempnick]->ip,ip,16);
-00571 
-00572         // set the registration timeout for this user
-00573         unsigned long class_regtimeout = 90;
-00574         int class_flood = 0;
-00575         long class_threshold = 5;
-00576         long class_sqmax = 262144;      // 256kb
-00577         long class_rqmax = 4096;        // 4k
-00578 
-00579         for (ClassVector::iterator i = Config->Classes.begin(); i != Config->Classes.end(); i++)
-00580         {
-00581                 if (match(clientlist[tempnick]->host,i->host) && (i->type == CC_ALLOW))
-00582                 {
-00583                         class_regtimeout = (unsigned long)i->registration_timeout;
-00584                         class_flood = i->flood;
-00585                         clientlist[tempnick]->pingmax = i->pingtime;
-00586                         class_threshold = i->threshold;
-00587                         class_sqmax = i->sendqmax;
-00588                         class_rqmax = i->recvqmax;
-00589                         break;
-00590                 }
-00591         }
-00592 
-00593         clientlist[tempnick]->nping = TIME+clientlist[tempnick]->pingmax + Config->dns_timeout;
-00594         clientlist[tempnick]->timeout = TIME+class_regtimeout;
-00595         clientlist[tempnick]->flood = class_flood;
-00596         clientlist[tempnick]->threshold = class_threshold;
-00597         clientlist[tempnick]->sendqmax = class_sqmax;
-00598         clientlist[tempnick]->recvqmax = class_rqmax;
-00599 
-00600         ucrec a;
-00601         a.channel = NULL;
-00602         a.uc_modes = 0;
-00603         for (int i = 0; i < MAXCHANS; i++)
-00604                 clientlist[tempnick]->chans.push_back(a);
-00605 
-00606         if (clientlist.size() > Config->SoftLimit)
-00607         {
-00608                 kill_link(clientlist[tempnick],"No more connections allowed");
-00609                 return;
-00610         }
-00611 
-00612         if (clientlist.size() >= MAXCLIENTS)
-00613         {
-00614                 kill_link(clientlist[tempnick],"No more connections allowed");
-00615                 return;
-00616         }
-00617 
-00618         // this is done as a safety check to keep the file descriptors within range of fd_ref_table.
-00619         // its a pretty big but for the moment valid assumption:
-00620         // file descriptors are handed out starting at 0, and are recycled as theyre freed.
-00621         // therefore if there is ever an fd over 65535, 65536 clients must be connected to the
-00622         // irc server at once (or the irc server otherwise initiating this many connections, files etc)
-00623         // which for the time being is a physical impossibility (even the largest networks dont have more
-00624         // than about 10,000 users on ONE server!)
-00625         if ((unsigned)socket > 65534)
-00626         {
-00627                 kill_link(clientlist[tempnick],"Server is full");
-00628                 return;
-00629         }
-00630         char* e = matches_exception(ip);
-00631         if (!e)
-00632         {
-00633                 char* r = matches_zline(ip);
-00634                 if (r)
-00635                 {
-00636                         char reason[MAXBUF];
-00637                         snprintf(reason,MAXBUF,"Z-Lined: %s",r);
-00638                         kill_link(clientlist[tempnick],reason);
-00639                         return;
-00640                 }
-00641         }
-00642         fd_ref_table[socket] = clientlist[tempnick];
-00643         local_users.push_back(clientlist[tempnick]);
-00644         ServerInstance->SE->AddFd(socket,true,X_ESTAB_CLIENT);
-00645 }
-
-

-

-

- - - - -
- - - - - - - - - -
void AddOper userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 330 of file users.cpp. -

-References all_opers, DEBUG, and log().

00331 {
-00332         log(DEBUG,"Oper added to optimization list");
-00333         all_opers.push_back(user);
-00334 }
-
-

-

-

- - - - -
- - - - - - - - - -
void AddWhoWas userrec u  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 471 of file users.cpp. -

-References DEBUG, userrec::dhost, WhoWasUser::dhost, userrec::fullname, WhoWasUser::fullname, connection::host, WhoWasUser::host, userrec::ident, WhoWasUser::ident, log(), WhoWasUser::nick, userrec::nick, userrec::server, WhoWasUser::server, connection::signon, WhoWasUser::signon, TIME, whowas, WHOWAS_MAX, and WHOWAS_STALE. -

-Referenced by kill_link().

00472 {
-00473         whowas_hash::iterator iter = whowas.find(u->nick);
-00474         WhoWasUser *a = new WhoWasUser();
-00475         strlcpy(a->nick,u->nick,NICKMAX);
-00476         strlcpy(a->ident,u->ident,IDENTMAX);
-00477         strlcpy(a->dhost,u->dhost,160);
-00478         strlcpy(a->host,u->host,160);
-00479         strlcpy(a->fullname,u->fullname,MAXGECOS);
-00480         strlcpy(a->server,u->server,256);
-00481         a->signon = u->signon;
-00482 
-00483         /* MAX_WHOWAS:   max number of /WHOWAS items
-00484          * WHOWAS_STALE: number of hours before a WHOWAS item is marked as stale and
-00485          *               can be replaced by a newer one
-00486          */
-00487 
-00488         if (iter == whowas.end())
-00489         {
-00490                 if (whowas.size() >= (unsigned)WHOWAS_MAX)
-00491                 {
-00492                         for (whowas_hash::iterator i = whowas.begin(); i != whowas.end(); i++)
-00493                         {
-00494                                 // 3600 seconds in an hour ;)
-00495                                 if ((i->second->signon)<(TIME-(WHOWAS_STALE*3600)))
-00496                                 {
-00497                                         // delete the old one
-00498                                         if (i->second) delete i->second;
-00499                                         // replace with new one
-00500                                         i->second = a;
-00501                                         log(DEBUG,"added WHOWAS entry, purged an old record");
-00502                                         return;
-00503                                 }
-00504                         }
-00505                         // no space left and user doesnt exist. Don't leave ram in use!
-00506                         log(DEBUG,"Not able to update whowas (list at WHOWAS_MAX entries and trying to add new?), freeing excess ram");
-00507                         delete a;
-00508                 }
-00509                 else
-00510                 {
-00511                         log(DEBUG,"added fresh WHOWAS entry");
-00512                         whowas[a->nick] = a;
-00513                 }
-00514         }
-00515         else
-00516         {
-00517                 log(DEBUG,"updated WHOWAS entry");
-00518                 if (iter->second) delete iter->second;
-00519                 iter->second = a;
-00520         }
-00521 }
-
-

-

-

- - - - -
- - - - - - - - - -
void ConnectUser userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 731 of file users.cpp. -

-References userrec::dns_done, FullConnectUser(), and connection::registered.

00732 {
-00733         // dns is already done, things are fast. no need to wait for dns to complete just pass them straight on
-00734         if ((user->dns_done) && (user->registered >= 3) && (AllModulesReportReady(user)))
-00735         {
-00736                 FullConnectUser(user);
-00737         }
-00738 }
-
-

-

-

- - - - -
- - - - - - - - - - - - -
-template<typename T>
string ConvToStr const T &  in  )  [inline]
-
- - - - - -
-   - - -

- -

-Definition at line 56 of file users.cpp. -

-Referenced by AddClient().

00057 {
-00058         stringstream tmp;
-00059         if (!(tmp << in)) return string();
-00060         return tmp.str();
-00061 }
-
-

-

-

- - - - -
- - - - - - - - - -
void DeleteOper userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 336 of file users.cpp. -

-References all_opers, DEBUG, and log().

00337 {
-00338         for (std::vector<userrec*>::iterator a = all_opers.begin(); a < all_opers.end(); a++)
-00339         {
-00340                 if (*a == user)
-00341                 {
-00342                         log(DEBUG,"Oper removed from optimization list");
-00343                         all_opers.erase(a);
-00344                         return;
-00345                 }
-00346         }
-00347 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void force_nickchange userrec user,
const char *  newnick
-
- - - - - -
-   - - -

- -

-Definition at line 769 of file users.cpp. -

-References FOREACH_RESULT, kill_link(), matches_qline(), InspIRCd::Parser, connection::registered, InspIRCd::stats, and serverstats::statsCollisions. -

-Referenced by Server::ChangeUserNick().

00770 {
-00771         char nick[MAXBUF];
-00772         int MOD_RESULT = 0;
-00773 
-00774         strcpy(nick,"");
-00775 
-00776         FOREACH_RESULT(OnUserPreNick(user,newnick));
-00777         if (MOD_RESULT) {
-00778                 ServerInstance->stats->statsCollisions++;
-00779                 kill_link(user,"Nickname collision");
-00780                 return;
-00781         }
-00782         if (matches_qline(newnick))
-00783         {
-00784                 ServerInstance->stats->statsCollisions++;
-00785                 kill_link(user,"Nickname collision");
-00786                 return;
-00787         }
-00788 
-00789         if (user)
-00790         {
-00791                 if (newnick)
-00792                 {
-00793                         strncpy(nick,newnick,MAXBUF);
-00794                 }
-00795                 if (user->registered == 7)
-00796                 {
-00797                         char* pars[1];
-00798                         pars[0] = nick;
-00799                         std::string cmd = "NICK";
-00800                         ServerInstance->Parser->CallHandler(cmd,pars,1,user);
-00801                 }
-00802         }
-00803 }
-
-

-

-

- - - - -
- - - - - - - - - -
void FullConnectUser userrec user  ) 
-
- - - - - -
-   - - -

- -

-Definition at line 647 of file users.cpp. -

-References DEBUG, connection::fd, FOREACH_MOD, connection::haspassed, connection::host, userrec::ident, connection::idle_lastmsg, connection::ip, kill_link(), kill_link_silent(), log(), matches_exception(), matches_gline(), matches_kline(), ServerConfig::Network, userrec::nick, connection::port, connection::registered, ServerConfig::ServerName, InspIRCd::stats, serverstats::statsConnects, TIME, WriteOpers(), and WriteServ(). -

-Referenced by ConnectUser().

00648 {
-00649         ServerInstance->stats->statsConnects++;
-00650         user->idle_lastmsg = TIME;
-00651         log(DEBUG,"ConnectUser: %s",user->nick);
-00652 
-00653         if ((strcmp(Passwd(user),"")) && (!user->haspassed))
-00654         {
-00655                 kill_link(user,"Invalid password");
-00656                 return;
-00657         }
-00658         if (IsDenied(user))
-00659         {
-00660                 kill_link(user,"Unauthorised connection");
-00661                 return;
-00662         }
-00663 
-00664         char match_against[MAXBUF];
-00665         snprintf(match_against,MAXBUF,"%s@%s",user->ident,user->host);
-00666         char* e = matches_exception(match_against);
-00667         if (!e)
-00668         {
-00669                 char* r = matches_gline(match_against);
-00670                 if (r)
-00671                 {
-00672                         char reason[MAXBUF];
-00673                         snprintf(reason,MAXBUF,"G-Lined: %s",r);
-00674                         kill_link_silent(user,reason);
-00675                         return;
-00676                 }
-00677                 r = matches_kline(user->host);
-00678                 if (r)
-00679                 {
-00680                         char reason[MAXBUF];
-00681                         snprintf(reason,MAXBUF,"K-Lined: %s",r);
-00682                         kill_link_silent(user,reason);
-00683                         return;
-00684                 }
-00685         }
-00686 
-00687 
-00688         WriteServ(user->fd,"NOTICE Auth :Welcome to \002%s\002!",Config->Network);
-00689         WriteServ(user->fd,"001 %s :Welcome to the %s IRC Network %s!%s@%s",user->nick,Config->Network,user->nick,user->ident,user->host);
-00690         WriteServ(user->fd,"002 %s :Your host is %s, running version %s",user->nick,Config->ServerName,VERSION);
-00691         WriteServ(user->fd,"003 %s :This server was created %s %s",user->nick,__TIME__,__DATE__);
-00692         WriteServ(user->fd,"004 %s %s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN",user->nick,Config->ServerName,VERSION);
-00693         // the neatest way to construct the initial 005 numeric, considering the number of configure constants to go in it...
-00694         std::stringstream v;
-00695         v << "WALLCHOPS MODES=13 CHANTYPES=# PREFIX=(ohv)@%+ MAP SAFELIST MAXCHANNELS=" << MAXCHANS;
-00696         v << " MAXBANS=60 NICKLEN=" << NICKMAX;
-00697         v << " TOPICLEN=" << MAXTOPIC << " KICKLEN=" << MAXKICK << " MAXTARGETS=20 AWAYLEN=" << MAXAWAY << " CHANMODES=ohvb,k,l,psmnti NETWORK=";
-00698         v << Config->Network;
-00699         std::string data005 = v.str();
-00700         FOREACH_MOD On005Numeric(data005);
-00701         // anfl @ #ratbox, efnet reminded me that according to the RFC this cant contain more than 13 tokens per line...
-00702         // so i'd better split it :)
-00703         std::stringstream out(data005);
-00704         std::string token = "";
-00705         std::string line5 = "";
-00706         int token_counter = 0;
-00707         while (!out.eof())
-00708         {
-00709                 out >> token;
-00710                 line5 = line5 + token + " ";
-00711                 token_counter++;
-00712                 if ((token_counter >= 13) || (out.eof() == true))
-00713                 {
-00714                         WriteServ(user->fd,"005 %s %s:are supported by this server",user->nick,line5.c_str());
-00715                         line5 = "";
-00716                         token_counter = 0;
-00717                 }
-00718         }
-00719         ShowMOTD(user);
-00720 
-00721         // fix 3 by brain, move registered = 7 below these so that spurious modes and host changes dont go out
-00722         // onto the network and produce 'fake direction'
-00723         FOREACH_MOD OnUserConnect(user);
-00724         FOREACH_MOD OnGlobalConnect(user);
-00725         user->registered = 7;
-00726         WriteOpers("*** Client connecting on port %lu: %s!%s@%s [%s]",(unsigned long)user->port,user->nick,user->ident,user->host,user->ip);
-00727 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void kill_link userrec user,
const char *  r
-
- - - - - -
-   - - -

- -

-Definition at line 349 of file users.cpp. -

-References AddWhoWas(), clientlist, userrec::CloseSocket(), DEBUG, SocketEngine::DelFd(), connection::fd, userrec::FlushWriteBuf(), FOREACH_MOD, ServerConfig::GetIOHook(), connection::host, userrec::ident, local_users, log(), userrec::nick, Module::OnRawSocketClose(), connection::port, connection::registered, InspIRCd::SE, Write(), WriteCommonExcept(), and WriteOpers(). -

-Referenced by AddClient(), force_nickchange(), FullConnectUser(), Server::PseudoToUser(), and Server::QuitUser().

00350 {
-00351         user_hash::iterator iter = clientlist.find(user->nick);
-00352 
-00353         char reason[MAXBUF];
-00354 
-00355         strncpy(reason,r,MAXBUF);
-00356 
-00357         if (strlen(reason)>MAXQUIT)
-00358         {
-00359                 reason[MAXQUIT-1] = '\0';
-00360         }
-00361 
-00362         log(DEBUG,"kill_link: %s '%s'",user->nick,reason);
-00363         Write(user->fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,reason);
-00364         log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
-00365 
-00366         if (user->registered == 7) {
-00367                 FOREACH_MOD OnUserQuit(user,reason);
-00368                 WriteCommonExcept(user,"QUIT :%s",reason);
-00369         }
-00370 
-00371         user->FlushWriteBuf();
-00372 
-00373         FOREACH_MOD OnUserDisconnect(user);
-00374 
-00375         if (user->fd > -1)
-00376         {
-00377                 if (Config->GetIOHook(user->port))
-00378                 {
-00379                         Config->GetIOHook(user->port)->OnRawSocketClose(user->fd);
-00380                 }
-00381                 ServerInstance->SE->DelFd(user->fd);
-00382                 user->CloseSocket();
-00383         }
-00384 
-00385         // this must come before the WriteOpers so that it doesnt try to fill their buffer with anything
-00386         // if they were an oper with +s.
-00387         if (user->registered == 7) {
-00388                 purge_empty_chans(user);
-00389                 // fix by brain: only show local quits because we only show local connects (it just makes SENSE)
-00390                 if (user->fd > -1)
-00391                         WriteOpers("*** Client exiting: %s!%s@%s [%s]",user->nick,user->ident,user->host,reason);
-00392                 AddWhoWas(user);
-00393         }
-00394 
-00395         if (iter != clientlist.end())
-00396         {
-00397                 log(DEBUG,"deleting user hash value %lu",(unsigned long)user);
-00398                 if (user->fd > -1)
-00399                 {
-00400                         fd_ref_table[user->fd] = NULL;
-00401                         if (find(local_users.begin(),local_users.end(),user) != local_users.end())
-00402                         {
-00403                                 local_users.erase(find(local_users.begin(),local_users.end(),user));
-00404                                 log(DEBUG,"Delete local user");
-00405                         }
-00406                 }
-00407                 clientlist.erase(iter);
-00408         }
-00409         delete user;
-00410 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void kill_link_silent userrec user,
const char *  r
-
- - - - - -
-   - - -

- -

-Definition at line 412 of file users.cpp. -

-References clientlist, userrec::CloseSocket(), DEBUG, SocketEngine::DelFd(), connection::fd, userrec::FlushWriteBuf(), FOREACH_MOD, ServerConfig::GetIOHook(), connection::host, userrec::ident, local_users, log(), userrec::nick, Module::OnRawSocketClose(), connection::port, connection::registered, InspIRCd::SE, Write(), and WriteCommonExcept(). -

-Referenced by FullConnectUser().

00413 {
-00414         user_hash::iterator iter = clientlist.find(user->nick);
-00415 
-00416         char reason[MAXBUF];
-00417 
-00418         strncpy(reason,r,MAXBUF);
-00419 
-00420         if (strlen(reason)>MAXQUIT)
-00421         {
-00422                 reason[MAXQUIT-1] = '\0';
-00423         }
-00424 
-00425         log(DEBUG,"kill_link: %s '%s'",user->nick,reason);
-00426         Write(user->fd,"ERROR :Closing link (%s@%s) [%s]",user->ident,user->host,reason);
-00427         log(DEBUG,"closing fd %lu",(unsigned long)user->fd);
-00428 
-00429         user->FlushWriteBuf();
-00430 
-00431         if (user->registered == 7) {
-00432                 FOREACH_MOD OnUserQuit(user,reason);
-00433                 WriteCommonExcept(user,"QUIT :%s",reason);
-00434         }
-00435 
-00436         FOREACH_MOD OnUserDisconnect(user);
-00437 
-00438         if (user->fd > -1)
-00439         {
-00440                 if (Config->GetIOHook(user->port))
-00441                 {
-00442                         Config->GetIOHook(user->port)->OnRawSocketClose(user->fd);
-00443                 }
-00444                 ServerInstance->SE->DelFd(user->fd);
-00445                 user->CloseSocket();
-00446         }
-00447 
-00448         if (user->registered == 7) {
-00449                 purge_empty_chans(user);
-00450         }
-00451 
-00452         if (iter != clientlist.end())
-00453         {
-00454                 log(DEBUG,"deleting user hash value %lu",(unsigned long)user);
-00455                 if (user->fd > -1)
-00456                 {
-00457                         fd_ref_table[user->fd] = NULL;
-00458                         if (find(local_users.begin(),local_users.end(),user) != local_users.end())
-00459                         {
-00460                                 log(DEBUG,"Delete local user");
-00461                                 local_users.erase(find(local_users.begin(),local_users.end(),user));
-00462                         }
-00463                 }
-00464                 clientlist.erase(iter);
-00465         }
-00466         delete user;
-00467 }
-
-

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
userrec* ReHashNick char *  Old,
char *  New
-
- - - - - -
-   - - -

- -

-Definition at line 743 of file users.cpp. -

-References clientlist, DEBUG, and log().

00744 {
-00745         //user_hash::iterator newnick;
-00746         user_hash::iterator oldnick = clientlist.find(Old);
-00747 
-00748         log(DEBUG,"ReHashNick: %s %s",Old,New);
-00749 
-00750         if (!strcasecmp(Old,New))
-00751         {
-00752                 log(DEBUG,"old nick is new nick, skipping");
-00753                 return oldnick->second;
-00754         }
-00755 
-00756         if (oldnick == clientlist.end()) return NULL; /* doesnt exist */
-00757 
-00758         log(DEBUG,"ReHashNick: Found hashed nick %s",Old);
-00759 
-00760         userrec* olduser = oldnick->second;
-00761         clientlist[New] = olduser;
-00762         clientlist.erase(oldnick);
-00763 
-00764         log(DEBUG,"ReHashNick: Nick rehashed as %s",New);
-00765 
-00766         return clientlist[New];
-00767 }
-
-

-

-


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/users_8h__dep__incl.gif b/docs/module-doc/users_8h__dep__incl.gif deleted file mode 100644 index 989f855cd..000000000 Binary files a/docs/module-doc/users_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/users_8h__dep__incl.map b/docs/module-doc/users_8h__dep__incl.map deleted file mode 100644 index 8d3acb66f..000000000 --- a/docs/module-doc/users_8h__dep__incl.map +++ /dev/null @@ -1,13 +0,0 @@ -base referer -rect $channels_8cpp-source.html 531,235 629,261 -rect $modules_8cpp-source.html 531,387 629,413 -rect $users_8cpp-source.html 540,564 620,591 -rect $commands_8h-source.html 379,615 477,641 -rect $cull__list_8h-source.html 121,311 199,337 -rect $globals_8h-source.html 249,159 324,185 -rect $typedefs_8h-source.html 385,260 471,287 -rect $inspircd_8h-source.html 247,412 327,439 -rect $userprocess_8h-source.html 376,463 480,489 -rect $mode_8h-source.html 127,361 193,388 -rect $message_8h-source.html 385,311 471,337 -rect $xline_8h-source.html 397,513 459,540 diff --git a/docs/module-doc/users_8h__dep__incl.md5 b/docs/module-doc/users_8h__dep__incl.md5 deleted file mode 100644 index 9619fc58f..000000000 --- a/docs/module-doc/users_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -b1eec238e42f7d91bc0d7f5a3b91a235 \ No newline at end of file diff --git a/docs/module-doc/users_8h__incl.gif b/docs/module-doc/users_8h__incl.gif deleted file mode 100644 index e8c9defe4..000000000 Binary files a/docs/module-doc/users_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/users_8h__incl.map b/docs/module-doc/users_8h__incl.map deleted file mode 100644 index de04ab43e..000000000 --- a/docs/module-doc/users_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $channels_8h-source.html 128,108 213,135 -rect $connection_8h-source.html 121,159 220,185 -rect $hashcomp_8h-source.html 124,57 217,84 diff --git a/docs/module-doc/users_8h__incl.md5 b/docs/module-doc/users_8h__incl.md5 deleted file mode 100644 index da43ba319..000000000 --- a/docs/module-doc/users_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -24445b415c7267f43aad5464edd11467 \ No newline at end of file diff --git a/docs/module-doc/xline_8h-source.html b/docs/module-doc/xline_8h-source.html deleted file mode 100644 index 6ea6891fc..000000000 --- a/docs/module-doc/xline_8h-source.html +++ /dev/null @@ -1,136 +0,0 @@ - - -InspIRCd: xline.h Source File - - - - - -

xline.h

Go to the documentation of this file.
00001 /*       +------------------------------------+
-00002  *       | Inspire Internet Relay Chat Daemon |
-00003  *       +------------------------------------+
-00004  *
-00005  *  Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
-00006  *                       E-mail:
-00007  *                <brain@chatspike.net>
-00008  *                <Craig@chatspike.net>
-00009  *     
-00010  * Written by Craig Edwards, Craig McLure, and others.
-00011  * This program is free but copyrighted software; see
-00012  *            the file COPYING for details.
-00013  *
-00014  * ---------------------------------------------------
-00015  */
-00016 
-00017 #ifndef __XLINE_H
-00018 #define __XLINE_H
-00019 
-00020 // include the common header files
-00021 
-00022 #include <typeinfo>
-00023 #include <iostream>
-00024 #include <string>
-00025 #include <deque>
-00026 #include <sstream>
-00027 #include <vector>
-00028 #include "users.h"
-00029 #include "channels.h"
-00030 
-00031 const int APPLY_GLINES  = 1;
-00032 const int APPLY_KLINES  = 2;
-00033 const int APPLY_QLINES  = 4;
-00034 const int APPLY_ZLINES  = 8;
-00035 const int APPLY_ALL     = APPLY_GLINES | APPLY_KLINES | APPLY_QLINES | APPLY_ZLINES;
-00036 
-00039 class XLine : public classbase
-00040 {
-00041   public:
-00042 
-00045         time_t set_time;
-00046         
-00049         long duration;
-00050         
-00053         char source[256];
-00054         
-00057         char reason[MAXBUF];
-00058         
-00061         long n_matches;
-00062         
-00063 };
-00064 
-00067 class KLine : public XLine
-00068 {
-00069   public:
-00073         char hostmask[200];
-00074 };
-00075 
-00078 class GLine : public XLine
-00079 {
-00080   public:
-00084         char hostmask[200];
-00085 };
-00086 
-00087 class ELine : public XLine
-00088 {
-00089   public:
-00093         char hostmask[200];
-00094 };
-00095 
-00098 class ZLine : public XLine
-00099 {
-00100   public:
-00104         char ipaddr[40];
-00108         bool is_global;
-00109 };
-00110 
-00113 class QLine : public XLine
-00114 {
-00115   public:
-00119         char nick[64];
-00123         bool is_global;
-00124 };
-00125 
-00126 void read_xline_defaults();
-00127 
-00128 void add_gline(long duration, const char* source, const char* reason, const char* hostmask);
-00129 void add_qline(long duration, const char* source, const char* reason, const char* nickname);
-00130 void add_zline(long duration, const char* source, const char* reason, const char* ipaddr);
-00131 void add_kline(long duration, const char* source, const char* reason, const char* hostmask);
-00132 void add_eline(long duration, const char* source, const char* reason, const char* hostmask);
-00133 
-00134 bool del_gline(const char* hostmask);
-00135 bool del_qline(const char* nickname);
-00136 bool del_zline(const char* ipaddr);
-00137 bool del_kline(const char* hostmask);
-00138 bool del_eline(const char* hostmask);
-00139 
-00140 char* matches_qline(const char* nick);
-00141 char* matches_gline(const char* host);
-00142 char* matches_zline(const char* ipaddr);
-00143 char* matches_kline(const char* host);
-00144 char* matches_exception(const char* host);
-00145 
-00146 void expire_lines();
-00147 void apply_lines(const int What);
-00148 
-00149 void stats_k(userrec* user);
-00150 void stats_g(userrec* user);
-00151 void stats_q(userrec* user);
-00152 void stats_z(userrec* user);
-00153 void stats_e(userrec* user);
-00154 
-00155 void gline_set_creation_time(char* host, time_t create_time);
-00156 void qline_set_creation_time(char* nick, time_t create_time);
-00157 void zline_set_creation_time(char* ip, time_t create_time);
-00158 void eline_set_creation_time(char* host, time_t create_time);
-00159         
-00160 bool zline_make_global(const char* ipaddr);
-00161 bool qline_make_global(const char* nickname);
-00162 
-00163 #endif
-

Generated on Mon Dec 19 18:05:20 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/xline_8h.html b/docs/module-doc/xline_8h.html deleted file mode 100644 index 29f5a04b1..000000000 --- a/docs/module-doc/xline_8h.html +++ /dev/null @@ -1,1240 +0,0 @@ - - -InspIRCd: xline.h File Reference - - - - - -

xline.h File Reference

#include <typeinfo>
-#include <iostream>
-#include <string>
-#include <deque>
-#include <sstream>
-#include <vector>
-#include "users.h"
-#include "channels.h"
- -

-Include dependency graph for xline.h:

- - - - - - - -

-This graph shows which files directly or indirectly include this file:

- - - - - - -

-Go to the source code of this file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  XLine
 XLine is the base class for ban lines such as G lines and K lines. More...
class  KLine
 KLine class. More...
class  GLine
 GLine class. More...
class  ELine
class  ZLine
 ZLine class. More...
class  QLine
 QLine class. More...

Functions

void read_xline_defaults ()
void add_gline (long duration, const char *source, const char *reason, const char *hostmask)
void add_qline (long duration, const char *source, const char *reason, const char *nickname)
void add_zline (long duration, const char *source, const char *reason, const char *ipaddr)
void add_kline (long duration, const char *source, const char *reason, const char *hostmask)
void add_eline (long duration, const char *source, const char *reason, const char *hostmask)
bool del_gline (const char *hostmask)
bool del_qline (const char *nickname)
bool del_zline (const char *ipaddr)
bool del_kline (const char *hostmask)
bool del_eline (const char *hostmask)
char * matches_qline (const char *nick)
char * matches_gline (const char *host)
char * matches_zline (const char *ipaddr)
char * matches_kline (const char *host)
char * matches_exception (const char *host)
void expire_lines ()
void apply_lines (const int What)
void stats_k (userrec *user)
void stats_g (userrec *user)
void stats_q (userrec *user)
void stats_z (userrec *user)
void stats_e (userrec *user)
void gline_set_creation_time (char *host, time_t create_time)
void qline_set_creation_time (char *nick, time_t create_time)
void zline_set_creation_time (char *ip, time_t create_time)
void eline_set_creation_time (char *host, time_t create_time)
bool zline_make_global (const char *ipaddr)
bool qline_make_global (const char *nickname)

Variables

const int APPLY_GLINES = 1
const int APPLY_KLINES = 2
const int APPLY_QLINES = 4
const int APPLY_ZLINES = 8
const int APPLY_ALL = APPLY_GLINES | APPLY_KLINES | APPLY_QLINES | APPLY_ZLINES
-


Function Documentation

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void add_eline long  duration,
const char *  source,
const char *  reason,
const char *  hostmask
-
- - - - - -
-   - - -

- -

-Referenced by Server::AddELine().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void add_gline long  duration,
const char *  source,
const char *  reason,
const char *  hostmask
-
- - - - - -
-   - - -

- -

-Referenced by Server::AddGLine().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void add_kline long  duration,
const char *  source,
const char *  reason,
const char *  hostmask
-
- - - - - -
-   - - -

- -

-Referenced by Server::AddKLine().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void add_qline long  duration,
const char *  source,
const char *  reason,
const char *  nickname
-
- - - - - -
-   - - -

- -

-Referenced by Server::AddQLine().

-

- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void add_zline long  duration,
const char *  source,
const char *  reason,
const char *  ipaddr
-
- - - - - -
-   - - -

- -

-Referenced by Server::AddZLine().

-

- - - - -
- - - - - - - - - -
void apply_lines const int  What  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool del_eline const char *  hostmask  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::DelELine().

-

- - - - -
- - - - - - - - - -
bool del_gline const char *  hostmask  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::DelGLine().

-

- - - - -
- - - - - - - - - -
bool del_kline const char *  hostmask  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::DelKLine().

-

- - - - -
- - - - - - - - - -
bool del_qline const char *  nickname  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::DelQLine().

-

- - - - -
- - - - - - - - - -
bool del_zline const char *  ipaddr  ) 
-
- - - - - -
-   - - -

- -

-Referenced by Server::DelZLine().

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void eline_set_creation_time char *  host,
time_t  create_time
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
void expire_lines  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void gline_set_creation_time char *  host,
time_t  create_time
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
char* matches_exception const char *  host  ) 
-
- - - - - -
-   - - -

- -

-Referenced by AddClient(), and FullConnectUser().

-

- - - - -
- - - - - - - - - -
char* matches_gline const char *  host  ) 
-
- - - - - -
-   - - -

- -

-Referenced by FullConnectUser().

-

- - - - -
- - - - - - - - - -
char* matches_kline const char *  host  ) 
-
- - - - - -
-   - - -

- -

-Referenced by FullConnectUser().

-

- - - - -
- - - - - - - - - -
char* matches_qline const char *  nick  ) 
-
- - - - - -
-   - - -

- -

-Referenced by force_nickchange().

-

- - - - -
- - - - - - - - - -
char* matches_zline const char *  ipaddr  ) 
-
- - - - - -
-   - - -

- -

-Referenced by AddClient().

-

- - - - -
- - - - - - - - - -
bool qline_make_global const char *  nickname  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void qline_set_creation_time char *  nick,
time_t  create_time
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - -
void read_xline_defaults  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void stats_e userrec user  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void stats_g userrec user  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void stats_k userrec user  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void stats_q userrec user  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
void stats_z userrec user  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - -
bool zline_make_global const char *  ipaddr  ) 
-
- - - - - -
-   - - -

-

-

- - - - -
- - - - - - - - - - - - - - - - - - -
void zline_set_creation_time char *  ip,
time_t  create_time
-
- - - - - -
-   - - -

-

-


Variable Documentation

-

- - - - -
- - - - -
const int APPLY_ALL = APPLY_GLINES | APPLY_KLINES | APPLY_QLINES | APPLY_ZLINES
-
- - - - - -
-   - - -

- -

-Definition at line 35 of file xline.h.

-

- - - - -
- - - - -
const int APPLY_GLINES = 1
-
- - - - - -
-   - - -

- -

-Definition at line 31 of file xline.h.

-

- - - - -
- - - - -
const int APPLY_KLINES = 2
-
- - - - - -
-   - - -

- -

-Definition at line 32 of file xline.h.

-

- - - - -
- - - - -
const int APPLY_QLINES = 4
-
- - - - - -
-   - - -

- -

-Definition at line 33 of file xline.h.

-

- - - - -
- - - - -
const int APPLY_ZLINES = 8
-
- - - - - -
-   - - -

- -

-Definition at line 34 of file xline.h.

-


Generated on Mon Dec 19 18:05:21 2005 for InspIRCd by  - -doxygen 1.4.4-20050815
- - diff --git a/docs/module-doc/xline_8h__dep__incl.gif b/docs/module-doc/xline_8h__dep__incl.gif deleted file mode 100644 index f159c57da..000000000 Binary files a/docs/module-doc/xline_8h__dep__incl.gif and /dev/null differ diff --git a/docs/module-doc/xline_8h__dep__incl.map b/docs/module-doc/xline_8h__dep__incl.map deleted file mode 100644 index 3000d3ddf..000000000 --- a/docs/module-doc/xline_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ -base referer -rect $channels_8cpp-source.html 120,7 219,33 -rect $modules_8cpp-source.html 120,57 219,84 -rect $users_8cpp-source.html 130,108 210,135 diff --git a/docs/module-doc/xline_8h__dep__incl.md5 b/docs/module-doc/xline_8h__dep__incl.md5 deleted file mode 100644 index 842472c9b..000000000 --- a/docs/module-doc/xline_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c8590565d44b3716ffcd0bac63383582 \ No newline at end of file diff --git a/docs/module-doc/xline_8h__incl.gif b/docs/module-doc/xline_8h__incl.gif deleted file mode 100644 index 5d89df74b..000000000 Binary files a/docs/module-doc/xline_8h__incl.gif and /dev/null differ diff --git a/docs/module-doc/xline_8h__incl.map b/docs/module-doc/xline_8h__incl.map deleted file mode 100644 index a0ec2f1b6..000000000 --- a/docs/module-doc/xline_8h__incl.map +++ /dev/null @@ -1,5 +0,0 @@ -base referer -rect $users_8h-source.html 124,260 188,287 -rect $channels_8h-source.html 248,209 333,236 -rect $connection_8h-source.html 241,412 340,439 -rect $hashcomp_8h-source.html 244,311 337,337 diff --git a/docs/module-doc/xline_8h__incl.md5 b/docs/module-doc/xline_8h__incl.md5 deleted file mode 100644 index db8dff57e..000000000 --- a/docs/module-doc/xline_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -923f635ea1c21953bb7135ac47173dce \ No newline at end of file