From f326e475e311bf0fa211ccd052ba38d8235efa12 Mon Sep 17 00:00:00 2001 From: brain Date: Fri, 1 Apr 2005 17:07:42 +0000 Subject: Updated documentation (html) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@937 e03df62e-2008-0410-955e-edbf42e46eb7 --- docs/module-doc/annotated.html | 2 +- docs/module-doc/base_8h-source.html | 2 +- docs/module-doc/base_8h.html | 2 +- docs/module-doc/channels_8cpp-source.html | 289 ++--- docs/module-doc/channels_8cpp.html | 91 +- docs/module-doc/channels_8h-source.html | 2 +- docs/module-doc/channels_8h.html | 2 +- docs/module-doc/classAdmin-members.html | 2 +- docs/module-doc/classAdmin.html | 6 +- docs/module-doc/classBanItem-members.html | 2 +- docs/module-doc/classBanItem.html | 2 +- docs/module-doc/classConfigReader-members.html | 2 +- docs/module-doc/classConfigReader.html | 320 ++--- docs/module-doc/classConnectClass-members.html | 2 +- docs/module-doc/classConnectClass.html | 2 +- docs/module-doc/classExemptItem-members.html | 2 +- docs/module-doc/classExemptItem.html | 2 +- docs/module-doc/classExtMode-members.html | 2 +- docs/module-doc/classExtMode.html | 30 +- docs/module-doc/classExtensible-members.html | 2 +- docs/module-doc/classExtensible.html | 2 +- docs/module-doc/classFileReader-members.html | 2 +- docs/module-doc/classFileReader.html | 96 +- docs/module-doc/classGLine-members.html | 2 +- docs/module-doc/classGLine.html | 2 +- docs/module-doc/classHostItem-members.html | 2 +- docs/module-doc/classHostItem.html | 2 +- docs/module-doc/classInviteItem-members.html | 2 +- docs/module-doc/classInviteItem.html | 2 +- docs/module-doc/classInvited-members.html | 2 +- docs/module-doc/classInvited.html | 4 +- docs/module-doc/classKLine-members.html | 2 +- docs/module-doc/classKLine.html | 2 +- docs/module-doc/classModeParameter-members.html | 2 +- docs/module-doc/classModeParameter.html | 8 +- docs/module-doc/classModule-members.html | 5 +- docs/module-doc/classModule.html | 235 +++- docs/module-doc/classModuleFactory-members.html | 2 +- docs/module-doc/classModuleFactory.html | 12 +- docs/module-doc/classQLine-members.html | 2 +- docs/module-doc/classQLine.html | 2 +- docs/module-doc/classServer-members.html | 2 +- docs/module-doc/classServer.html | 420 +++---- docs/module-doc/classVersion-members.html | 2 +- docs/module-doc/classVersion.html | 6 +- docs/module-doc/classXLine-members.html | 2 +- docs/module-doc/classXLine.html | 2 +- docs/module-doc/classZLine-members.html | 2 +- docs/module-doc/classZLine.html | 2 +- docs/module-doc/classchanrec-members.html | 2 +- docs/module-doc/classchanrec.html | 216 ++-- docs/module-doc/classclassbase-members.html | 2 +- docs/module-doc/classclassbase.html | 2 +- docs/module-doc/classcommand__t-members.html | 2 +- docs/module-doc/classcommand__t.html | 2 +- docs/module-doc/classconnection-members.html | 2 +- docs/module-doc/classconnection.html | 32 +- docs/module-doc/classes.html | 2 +- docs/module-doc/classircd__connector-members.html | 2 +- docs/module-doc/classircd__connector.html | 2 +- docs/module-doc/classpacket-members.html | 2 +- docs/module-doc/classpacket.html | 2 +- docs/module-doc/classserverrec-members.html | 2 +- docs/module-doc/classserverrec.html | 80 +- docs/module-doc/classucrec-members.html | 2 +- docs/module-doc/classucrec.html | 6 +- docs/module-doc/classuserrec-members.html | 2 +- docs/module-doc/classuserrec.html | 295 ++--- docs/module-doc/commands_8h-source.html | 2 +- docs/module-doc/commands_8h.html | 4 +- docs/module-doc/connection_8h-source.html | 2 +- docs/module-doc/connection_8h.html | 2 +- docs/module-doc/ctables_8h-source.html | 2 +- docs/module-doc/ctables_8h.html | 2 +- docs/module-doc/files.html | 2 +- docs/module-doc/functions.html | 15 +- docs/module-doc/functions_func.html | 9 +- docs/module-doc/functions_vars.html | 2 +- docs/module-doc/globals.html | 2 +- docs/module-doc/globals_defs.html | 2 +- docs/module-doc/globals_func.html | 2 +- docs/module-doc/globals_type.html | 2 +- docs/module-doc/globals_vars.html | 2 +- docs/module-doc/hierarchy.html | 2 +- docs/module-doc/main.html | 2 +- docs/module-doc/message_8h-source.html | 2 +- docs/module-doc/message_8h.html | 16 +- docs/module-doc/mode_8h-source.html | 2 +- docs/module-doc/mode_8h.html | 2 +- docs/module-doc/modules_8cpp-source.html | 1292 ++++++++++---------- docs/module-doc/modules_8cpp.html | 295 ++--- docs/module-doc/modules_8h-source.html | 248 ++-- docs/module-doc/modules_8h.html | 40 +- docs/module-doc/namespacenspace.html | 2 +- docs/module-doc/namespaces.html | 2 +- docs/module-doc/namespacestd.html | 2 +- docs/module-doc/servers_8cpp-source.html | 71 +- docs/module-doc/servers_8cpp.html | 3 +- docs/module-doc/servers_8h-source.html | 2 +- docs/module-doc/servers_8h.html | 2 +- .../module-doc/structInAddr__HashComp-members.html | 2 +- docs/module-doc/structInAddr__HashComp.html | 22 +- docs/module-doc/structStrHashComp-members.html | 2 +- docs/module-doc/structStrHashComp.html | 16 +- ..._1nspace_1_1hash_3_01in__addr_01_4-members.html | 2 +- ...nspace_1_1nspace_1_1hash_3_01in__addr_01_4.html | 14 +- ..._1_1nspace_1_1hash_3_01string_01_4-members.html | 2 +- ...ctnspace_1_1nspace_1_1hash_3_01string_01_4.html | 18 +- docs/module-doc/users_8cpp-source.html | 284 ++--- docs/module-doc/users_8cpp.html | 5 +- docs/module-doc/users_8h-source.html | 4 +- docs/module-doc/users_8h.html | 3 +- docs/module-doc/xline_8h-source.html | 2 +- docs/module-doc/xline_8h.html | 2 +- 114 files changed, 2428 insertions(+), 2238 deletions(-) (limited to 'docs/module-doc') diff --git a/docs/module-doc/annotated.html b/docs/module-doc/annotated.html index 248e8ce91..b7b437776 100644 --- a/docs/module-doc/annotated.html +++ b/docs/module-doc/annotated.html @@ -41,7 +41,7 @@ XLineXLine is the base class for ban lines such as G lines and K lines ZLineZLine class -
Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/base_8h-source.html b/docs/module-doc/base_8h-source.html index 8adefdfe8..2b579e73e 100644 --- a/docs/module-doc/base_8h-source.html +++ b/docs/module-doc/base_8h-source.html @@ -55,7 +55,7 @@ 00079 00080 #endif 00081 -
Generated on Fri Mar 25 03:49:26 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:23 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/base_8h.html b/docs/module-doc/base_8h.html index 46e433aab..df6319c37 100644 --- a/docs/module-doc/base_8h.html +++ b/docs/module-doc/base_8h.html @@ -49,7 +49,7 @@ Definition at line 25 of file base.h. -
Generated on Fri Mar 25 03:49:29 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html index 2e474e22d..70440fd36 100644 --- a/docs/module-doc/channels_8cpp-source.html +++ b/docs/module-doc/channels_8cpp-source.html @@ -57,152 +57,153 @@ 00050 #include "message.h" 00051 #include "mode.h" 00052 #include "xline.h" -00053 -00054 #ifdef GCC3 -00055 #define nspace __gnu_cxx -00056 #else -00057 #define nspace std -00058 #endif -00059 -00060 using namespace std; -00061 -00062 extern int MODCOUNT; -00063 extern vector<Module*> modules; -00064 extern vector<ircd_module*> factory; -00065 -00066 extern int LogLevel; -00067 extern char ServerName[MAXBUF]; -00068 extern char Network[MAXBUF]; -00069 extern char ServerDesc[MAXBUF]; -00070 extern char AdminName[MAXBUF]; -00071 extern char AdminEmail[MAXBUF]; -00072 extern char AdminNick[MAXBUF]; -00073 extern char diepass[MAXBUF]; -00074 extern char restartpass[MAXBUF]; -00075 extern char motd[MAXBUF]; -00076 extern char rules[MAXBUF]; -00077 extern char list[MAXBUF]; -00078 extern char PrefixQuit[MAXBUF]; -00079 extern char DieValue[MAXBUF]; -00080 -00081 extern int debugging; -00082 extern int WHOWAS_STALE; -00083 extern int WHOWAS_MAX; -00084 extern int DieDelay; -00085 extern time_t startup_time; -00086 extern int NetBufferSize; -00087 int MaxWhoResults; -00088 extern time_t nb_start; -00089 -00090 extern std::vector<int> fd_reap; -00091 extern std::vector<std::string> module_names; -00092 -00093 extern int boundPortCount; -00094 extern int portCount; -00095 extern int UDPportCount; -00096 extern int ports[MAXSOCKS]; -00097 extern int defaultRoute; -00098 -00099 extern std::vector<long> auth_cookies; -00100 extern std::stringstream config_f; -00101 -00102 extern serverrec* me[32]; -00103 -00104 extern FILE *log_file; -00105 +00053 #include "inspstring.h" +00054 +00055 #ifdef GCC3 +00056 #define nspace __gnu_cxx +00057 #else +00058 #define nspace std +00059 #endif +00060 +00061 using namespace std; +00062 +00063 extern int MODCOUNT; +00064 extern std::vector<Module*> modules; +00065 extern std::vector<ircd_module*> factory; +00066 +00067 extern int LogLevel; +00068 extern char ServerName[MAXBUF]; +00069 extern char Network[MAXBUF]; +00070 extern char ServerDesc[MAXBUF]; +00071 extern char AdminName[MAXBUF]; +00072 extern char AdminEmail[MAXBUF]; +00073 extern char AdminNick[MAXBUF]; +00074 extern char diepass[MAXBUF]; +00075 extern char restartpass[MAXBUF]; +00076 extern char motd[MAXBUF]; +00077 extern char rules[MAXBUF]; +00078 extern char list[MAXBUF]; +00079 extern char PrefixQuit[MAXBUF]; +00080 extern char DieValue[MAXBUF]; +00081 +00082 extern int debugging; +00083 extern int WHOWAS_STALE; +00084 extern int WHOWAS_MAX; +00085 extern int DieDelay; +00086 extern time_t startup_time; +00087 extern int NetBufferSize; +00088 int MaxWhoResults; +00089 extern time_t nb_start; +00090 +00091 extern std::vector<int> fd_reap; +00092 extern std::vector<std::string> module_names; +00093 +00094 extern int boundPortCount; +00095 extern int portCount; +00096 extern int UDPportCount; +00097 extern int ports[MAXSOCKS]; +00098 extern int defaultRoute; +00099 +00100 extern std::vector<long> auth_cookies; +00101 extern std::stringstream config_f; +00102 +00103 extern serverrec* me[32]; +00104 +00105 extern FILE *log_file; 00106 -00107 using namespace std; -00108 -00109 std::vector<ModeParameter> custom_mode_params; -00110 -00111 chanrec::chanrec() -00112 { -00113 strcpy(name,""); -00114 strcpy(custom_modes,""); -00115 strcpy(topic,""); -00116 strcpy(setby,""); -00117 strcpy(key,""); -00118 created = topicset = limit = 0; -00119 topiclock = noexternal = inviteonly = moderated = secret = c_private = false; -00120 } -00121 -00122 void chanrec::SetCustomMode(char mode,bool mode_on) -00123 { -00124 if (mode_on) { -00125 char m[3]; -00126 m[0] = mode; -00127 m[1] = '\0'; -00128 if (!strchr(this->custom_modes,mode)) -00129 { -00130 strlcat(custom_modes,m,MAXMODES); -00131 } -00132 log(DEBUG,"Custom mode %c set",mode); -00133 } -00134 else { -00135 -00136 std::string a = this->custom_modes; -00137 int pos = a.find(mode); -00138 a.erase(pos,1); -00139 strncpy(this->custom_modes,a.c_str(),MAXMODES); -00140 -00141 log(DEBUG,"Custom mode %c removed: modelist='%s'",mode,this->custom_modes); -00142 this->SetCustomModeParam(mode,"",false); -00143 } -00144 } -00145 +00107 +00108 using namespace std; +00109 +00110 std::vector<ModeParameter> custom_mode_params; +00111 +00112 chanrec::chanrec() +00113 { +00114 strcpy(name,""); +00115 strcpy(custom_modes,""); +00116 strcpy(topic,""); +00117 strcpy(setby,""); +00118 strcpy(key,""); +00119 created = topicset = limit = 0; +00120 topiclock = noexternal = inviteonly = moderated = secret = c_private = false; +00121 } +00122 +00123 void chanrec::SetCustomMode(char mode,bool mode_on) +00124 { +00125 if (mode_on) { +00126 char m[3]; +00127 m[0] = mode; +00128 m[1] = '\0'; +00129 if (!strchr(this->custom_modes,mode)) +00130 { +00131 strlcat(custom_modes,m,MAXMODES); +00132 } +00133 log(DEBUG,"Custom mode %c set",mode); +00134 } +00135 else { +00136 +00137 std::string a = this->custom_modes; +00138 int pos = a.find(mode); +00139 a.erase(pos,1); +00140 strncpy(this->custom_modes,a.c_str(),MAXMODES); +00141 +00142 log(DEBUG,"Custom mode %c removed: modelist='%s'",mode,this->custom_modes); +00143 this->SetCustomModeParam(mode,"",false); +00144 } +00145 } 00146 -00147 void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on) -00148 { -00149 -00150 log(DEBUG,"SetCustomModeParam called"); -00151 ModeParameter M; -00152 M.mode = mode; -00153 strlcpy(M.channel,this->name,CHANMAX); -00154 strlcpy(M.parameter,parameter,MAXBUF); -00155 if (mode_on) -00156 { -00157 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter); -00158 custom_mode_params.push_back(M); -00159 } -00160 else -00161 { -00162 if (custom_mode_params.size()) -00163 { -00164 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) -00165 { -00166 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) -00167 { -00168 log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter); -00169 custom_mode_params.erase(i); -00170 return; -00171 } -00172 } -00173 } -00174 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!"); -00175 } -00176 } -00177 -00178 bool chanrec::IsCustomModeSet(char mode) -00179 { -00180 log(DEBUG,"Checking ISCustomModeSet: %c %s",mode,this->custom_modes); -00181 return (strchr(this->custom_modes,mode) != 0); -00182 } -00183 -00184 std::string chanrec::GetModeParameter(char mode) -00185 { -00186 if (custom_mode_params.size()) -00187 { -00188 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) -00189 { -00190 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) -00191 { -00192 return std::string(i->parameter); -00193 } -00194 } -00195 } -00196 return std::string(""); -00197 } -
Generated on Fri Mar 25 03:49:27 2005 for InspIRCd by +00147 +00148 void chanrec::SetCustomModeParam(char mode,char* parameter,bool mode_on) +00149 { +00150 +00151 log(DEBUG,"SetCustomModeParam called"); +00152 ModeParameter M; +00153 M.mode = mode; +00154 strlcpy(M.channel,this->name,CHANMAX); +00155 strlcpy(M.parameter,parameter,MAXBUF); +00156 if (mode_on) +00157 { +00158 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter); +00159 custom_mode_params.push_back(M); +00160 } +00161 else +00162 { +00163 if (custom_mode_params.size()) +00164 { +00165 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +00166 { +00167 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +00168 { +00169 log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter); +00170 custom_mode_params.erase(i); +00171 return; +00172 } +00173 } +00174 } +00175 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!"); +00176 } +00177 } +00178 +00179 bool chanrec::IsCustomModeSet(char mode) +00180 { +00181 log(DEBUG,"Checking ISCustomModeSet: %c %s",mode,this->custom_modes); +00182 return (strchr(this->custom_modes,mode) != 0); +00183 } +00184 +00185 std::string chanrec::GetModeParameter(char mode) +00186 { +00187 if (custom_mode_params.size()) +00188 { +00189 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +00190 { +00191 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +00192 { +00193 return std::string(i->parameter); +00194 } +00195 } +00196 } +00197 return std::string(""); +00198 } +
Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/channels_8cpp.html b/docs/module-doc/channels_8cpp.html index 84283bee2..f62f3af20 100644 --- a/docs/module-doc/channels_8cpp.html +++ b/docs/module-doc/channels_8cpp.html @@ -35,6 +35,7 @@ #include "message.h"
#include "mode.h"
#include "xline.h"
+#include "inspstring.h"

Go to the source code of this file. @@ -48,9 +49,9 @@ - + - + @@ -143,7 +144,7 @@

-Definition at line 57 of file channels.cpp. +Definition at line 58 of file channels.cpp.


Variables

int MODCOUNT = -1
vector< Module * > modules
std::vector< Module * > modules
vector< ircd_module * > factory
std::vector< ircd_module * > factory
int LogLevel


Variable Documentation

@@ -168,7 +169,7 @@ Definition at line 57

-Definition at line 71 of file channels.cpp. +Definition at line 72 of file channels.cpp.

@@ -192,7 +193,7 @@ Definition at line 71

-Definition at line 70 of file channels.cpp. +Definition at line 71 of file channels.cpp.

@@ -216,7 +217,7 @@ Definition at line 70

-Definition at line 72 of file channels.cpp. +Definition at line 73 of file channels.cpp.

@@ -240,7 +241,7 @@ Definition at line 72

-Definition at line 99 of file channels.cpp. +Definition at line 100 of file channels.cpp.

@@ -264,7 +265,7 @@ Definition at line 99

-Definition at line 93 of file channels.cpp. +Definition at line 94 of file channels.cpp.

@@ -288,9 +289,9 @@ Definition at line 93

-Definition at line 100 of file channels.cpp. +Definition at line 101 of file channels.cpp.

-Referenced by userrec::HasPermission(). +Referenced by userrec::HasPermission().

@@ -314,9 +315,9 @@ Referenced by userrec::HasPer

-Definition at line 109 of file channels.cpp. +Definition at line 110 of file channels.cpp.

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

@@ -340,7 +341,7 @@ Referenced by chanrec::Get

-Definition at line 81 of file channels.cpp. +Definition at line 82 of file channels.cpp.

@@ -364,7 +365,7 @@ Definition at line 81

-Definition at line 97 of file channels.cpp. +Definition at line 98 of file channels.cpp.

@@ -388,7 +389,7 @@ Definition at line 97

-Definition at line 84 of file channels.cpp. +Definition at line 85 of file channels.cpp.

@@ -412,7 +413,7 @@ Definition at line 84

-Definition at line 73 of file channels.cpp. +Definition at line 74 of file channels.cpp.

@@ -436,7 +437,7 @@ Definition at line 73

-Definition at line 79 of file channels.cpp. +Definition at line 80 of file channels.cpp.

@@ -445,7 +446,7 @@ Definition at line 79 -
vector<ircd_module*> factory + std::vector<ircd_module*> factory
@@ -460,7 +461,7 @@ Definition at line 79

-Definition at line 64 of file channels.cpp. +Definition at line 65 of file channels.cpp.

@@ -484,7 +485,7 @@ Definition at line 64

-Definition at line 90 of file channels.cpp. +Definition at line 91 of file channels.cpp.

@@ -508,7 +509,7 @@ Definition at line 90

-Definition at line 77 of file channels.cpp. +Definition at line 78 of file channels.cpp.

@@ -532,7 +533,7 @@ Definition at line 77

-Definition at line 104 of file channels.cpp. +Definition at line 105 of file channels.cpp.

@@ -556,7 +557,7 @@ Definition at line 104

-Definition at line 66 of file channels.cpp. +Definition at line 67 of file channels.cpp.

@@ -580,7 +581,7 @@ Definition at line 66

-Definition at line 87 of file channels.cpp. +Definition at line 88 of file channels.cpp.

@@ -604,7 +605,7 @@ Definition at line 87

-Definition at line 102 of file channels.cpp. +Definition at line 103 of file channels.cpp.

@@ -628,7 +629,7 @@ Definition at line 102

-Definition at line 763 of file modules.cpp. +Definition at line 773 of file modules.cpp.

@@ -652,7 +653,7 @@ Definition at line 763

-Definition at line 91 of file channels.cpp. +Definition at line 92 of file channels.cpp.

@@ -661,7 +662,7 @@ Definition at line 91 -
vector<Module*> modules + std::vector<Module*> modules
@@ -676,7 +677,7 @@ Definition at line 91

-Definition at line 63 of file channels.cpp. +Definition at line 64 of file channels.cpp.

@@ -700,7 +701,7 @@ Definition at line 63

-Definition at line 75 of file channels.cpp. +Definition at line 76 of file channels.cpp.

@@ -724,7 +725,7 @@ Definition at line 75

-Definition at line 88 of file channels.cpp. +Definition at line 89 of file channels.cpp.

@@ -748,7 +749,7 @@ Definition at line 88

-Definition at line 86 of file channels.cpp. +Definition at line 87 of file channels.cpp.

@@ -772,7 +773,7 @@ Definition at line 86

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

@@ -796,7 +797,7 @@ Definition at line 68

-Definition at line 94 of file channels.cpp. +Definition at line 95 of file channels.cpp.

@@ -820,7 +821,7 @@ Definition at line 94

-Definition at line 96 of file channels.cpp. +Definition at line 97 of file channels.cpp.

@@ -844,7 +845,7 @@ Definition at line 96

-Definition at line 78 of file channels.cpp. +Definition at line 79 of file channels.cpp.

@@ -868,7 +869,7 @@ Definition at line 78

-Definition at line 74 of file channels.cpp. +Definition at line 75 of file channels.cpp.

@@ -892,7 +893,7 @@ Definition at line 74

-Definition at line 76 of file channels.cpp. +Definition at line 77 of file channels.cpp.

@@ -916,7 +917,7 @@ Definition at line 76

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

@@ -940,7 +941,7 @@ Definition at line 69

-Definition at line 67 of file channels.cpp. +Definition at line 68 of file channels.cpp.

@@ -964,7 +965,7 @@ Definition at line 67

-Definition at line 85 of file channels.cpp. +Definition at line 86 of file channels.cpp.

@@ -988,7 +989,7 @@ Definition at line 85

-Definition at line 95 of file channels.cpp. +Definition at line 96 of file channels.cpp.

@@ -1012,7 +1013,7 @@ Definition at line 95

-Definition at line 83 of file channels.cpp. +Definition at line 84 of file channels.cpp.

@@ -1036,10 +1037,10 @@ Definition at line 83

-Definition at line 82 of file channels.cpp. +Definition at line 83 of file channels.cpp. -


Generated on Fri Mar 25 03:49:29 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/channels_8h-source.html b/docs/module-doc/channels_8h-source.html index d768a44a0..172cc08c6 100644 --- a/docs/module-doc/channels_8h-source.html +++ b/docs/module-doc/channels_8h-source.html @@ -139,7 +139,7 @@ 00218 00219 #endif 00220 -
Generated on Fri Mar 25 03:49:27 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/channels_8h.html b/docs/module-doc/channels_8h.html index 8bc451f8b..79a5649f8 100644 --- a/docs/module-doc/channels_8h.html +++ b/docs/module-doc/channels_8h.html @@ -258,7 +258,7 @@ Holds a complete invite list. Definition at line 88 of file channels.h. -
Generated on Fri Mar 25 03:49:29 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classAdmin-members.html b/docs/module-doc/classAdmin-members.html index 1149be0ac..6a4bc4744 100644 --- a/docs/module-doc/classAdmin-members.html +++ b/docs/module-doc/classAdmin-members.html @@ -13,7 +13,7 @@ NameAdmin NickAdmin ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classAdmin.html b/docs/module-doc/classAdmin.html index 7c32f4fed..403c31719 100644 --- a/docs/module-doc/classAdmin.html +++ b/docs/module-doc/classAdmin.html @@ -76,9 +76,9 @@ Definition at line 114 of

-Definition at line 295 of file modules.cpp. +Definition at line 302 of file modules.cpp.

-

00295 : Name(name), Email(email), Nick(nick) { };
+
00302 : Name(name), Email(email), Nick(nick) { };
 
@@ -157,7 +157,7 @@ Definition at line 117 of
The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classBanItem-members.html b/docs/module-doc/classBanItem-members.html index 76ea1821b..a40b1cd24 100644 --- a/docs/module-doc/classBanItem-members.html +++ b/docs/module-doc/classBanItem-members.html @@ -14,7 +14,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classBanItem.html b/docs/module-doc/classBanItem.html index 87f54f264..4183ef1eb 100644 --- a/docs/module-doc/classBanItem.html +++ b/docs/module-doc/classBanItem.html @@ -22,7 +22,7 @@ A subclass of HostItem designed to h

Definition at line 45 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classConfigReader-members.html b/docs/module-doc/classConfigReader-members.html index 5487f9e86..20baab961 100644 --- a/docs/module-doc/classConfigReader-members.html +++ b/docs/module-doc/classConfigReader-members.html @@ -24,7 +24,7 @@ Verify()ConfigReader ~classbase()classbase [inline] ~ConfigReader()ConfigReader -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classConfigReader.html b/docs/module-doc/classConfigReader.html index 3519d1aa8..7d1753f74 100644 --- a/docs/module-doc/classConfigReader.html +++ b/docs/module-doc/classConfigReader.html @@ -67,7 +67,7 @@ It may either be instantiated with one parameter or none. Constructing the class

-Definition at line 641 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 669 of file modules.h.

Constructor & Destructor Documentation

@@ -97,17 +97,17 @@ Default constructor.

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

-Definition at line 566 of file modules.cpp. +Definition at line 576 of file modules.cpp.

-References cache, CONF_FILE_NOT_FOUND, error, errorlog, and readerror. +References cache, CONF_FILE_NOT_FOUND, error, errorlog, and readerror.

-

00567 {
-00568         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00569         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00570         this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog);
-00571         if (!this->readerror)
-00572                 this->error = CONF_FILE_NOT_FOUND;
-00573 }
+
00577 {
+00578         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
+00579         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
+00580         this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog);
+00581         if (!this->readerror)
+00582                 this->error = CONF_FILE_NOT_FOUND;
+00583 }
 
@@ -141,17 +141,17 @@ Overloaded constructor.

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

-Definition at line 585 of file modules.cpp. +Definition at line 595 of file modules.cpp.

-References cache, CONF_FILE_NOT_FOUND, error, errorlog, and readerror. +References cache, CONF_FILE_NOT_FOUND, error, errorlog, and readerror.

-

00586 {
-00587         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00588         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-00589         this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog);
-00590         if (!this->readerror)
-00591                 this->error = CONF_FILE_NOT_FOUND;
-00592 };
+
00596 {
+00597         this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
+00598         this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
+00599         this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog);
+00600         if (!this->readerror)
+00601                 this->error = CONF_FILE_NOT_FOUND;
+00602 };
 
@@ -184,16 +184,16 @@ Default destructor.

This method destroys the ConfigReader class.

-Definition at line 576 of file modules.cpp. +Definition at line 586 of file modules.cpp.

-References cache, and errorlog. +References cache, and errorlog.

-

00577 {
-00578         if (this->cache)
-00579                 delete this->cache;
-00580         if (this->errorlog)
-00581                 delete this->errorlog;
-00582 }
+
00587 {
+00588         if (this->cache)
+00589                 delete this->cache;
+00590         if (this->errorlog)
+00591                 delete this->errorlog;
+00592 }
 
@@ -237,40 +237,40 @@ 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 663 of file modules.cpp. -

-References errorlog, connection::fd, and userrec::nick. -

-

00664 {
-00665         if (bail)
-00666         {
-00667                 printf("There were errors in your configuration:\n%s",errorlog->str().c_str());
-00668                 exit(0);
-00669         }
-00670         else
-00671         {
-00672                 char dataline[1024];
-00673                 if (user)
-00674                 {
-00675                         WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick);
-00676                         while (!errorlog->eof())
-00677                         {
-00678                                 errorlog->getline(dataline,1024);
-00679                                 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline);
-00680                         }
-00681                 }
-00682                 else
-00683                 {
-00684                         WriteOpers("There were errors in the configuration file:",user->nick);
-00685                         while (!errorlog->eof())
-00686                         {
-00687                                 errorlog->getline(dataline,1024);
-00688                                 WriteOpers(dataline);
-00689                         }
-00690                 }
-00691                 return;
-00692         }
-00693 }
+Definition at line 673 of file modules.cpp.
+

+References errorlog, connection::fd, and userrec::nick. +

+

00674 {
+00675         if (bail)
+00676         {
+00677                 printf("There were errors in your configuration:\n%s",errorlog->str().c_str());
+00678                 exit(0);
+00679         }
+00680         else
+00681         {
+00682                 char dataline[1024];
+00683                 if (user)
+00684                 {
+00685                         WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick);
+00686                         while (!errorlog->eof())
+00687                         {
+00688                                 errorlog->getline(dataline,1024);
+00689                                 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline);
+00690                         }
+00691                 }
+00692                 else
+00693                 {
+00694                         WriteOpers("There were errors in the configuration file:",user->nick);
+00695                         while (!errorlog->eof())
+00696                         {
+00697                                 errorlog->getline(dataline,1024);
+00698                                 WriteOpers(dataline);
+00699                         }
+00700                 }
+00701                 return;
+00702         }
+00703 }
 
@@ -304,13 +304,13 @@ 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 696 of file modules.cpp. +Definition at line 706 of file modules.cpp.

-References cache. +References cache.

-

00697 {
-00698         return EnumConf(cache,tag.c_str());
-00699 }
+
00707 {
+00708         return EnumConf(cache,tag.c_str());
+00709 }
 
@@ -353,13 +353,13 @@ 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 701 of file modules.cpp. +Definition at line 711 of file modules.cpp.

-References cache. +References cache.

-

00702 {
-00703         return EnumValues(cache, tag.c_str(), index);
-00704 }
+
00712 {
+00713         return EnumValues(cache, tag.c_str(), index);
+00714 }
 
@@ -392,15 +392,15 @@ 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 656 of file modules.cpp. +Definition at line 666 of file modules.cpp.

-References error. +References error.

-

00657 {
-00658         long olderr = this->error;
-00659         this->error = 0;
-00660         return olderr;
-00661 }
+
00667 {
+00668         long olderr = this->error;
+00669         this->error = 0;
+00670         return olderr;
+00671 }
 
@@ -449,25 +449,25 @@ 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 610 of file modules.cpp. -

-References cache, CONF_VALUE_NOT_FOUND, and error. -

-

00611 {
-00612         char val[MAXBUF];
-00613         char t[MAXBUF];
-00614         char n[MAXBUF];
-00615         strlcpy(t,tag.c_str(),MAXBUF);
-00616         strlcpy(n,name.c_str(),MAXBUF);
-00617         int res = ReadConf(cache,t,n,index,val);
-00618         if (!res)
-00619         {
-00620                 this->error = CONF_VALUE_NOT_FOUND;
-00621                 return false;
-00622         }
-00623         std::string s = val;
-00624         return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1"));
-00625 }
+Definition at line 620 of file modules.cpp.
+

+References cache, CONF_VALUE_NOT_FOUND, and error. +

+

00621 {
+00622         char val[MAXBUF];
+00623         char t[MAXBUF];
+00624         char n[MAXBUF];
+00625         strlcpy(t,tag.c_str(),MAXBUF);
+00626         strlcpy(n,name.c_str(),MAXBUF);
+00627         int res = ReadConf(cache,t,n,index,val);
+00628         if (!res)
+00629         {
+00630                 this->error = CONF_VALUE_NOT_FOUND;
+00631                 return false;
+00632         }
+00633         std::string s = val;
+00634         return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1"));
+00635 }
 
@@ -522,37 +522,37 @@ 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 627 of file modules.cpp. -

-References cache, CONF_NOT_A_NUMBER, CONF_NOT_UNSIGNED, CONF_VALUE_NOT_FOUND, and error. -

-

00628 {
-00629         char val[MAXBUF];
-00630         char t[MAXBUF];
-00631         char n[MAXBUF];
-00632         strlcpy(t,tag.c_str(),MAXBUF);
-00633         strlcpy(n,name.c_str(),MAXBUF);
-00634         int res = ReadConf(cache,t,n,index,val);
-00635         if (!res)
-00636         {
-00637                 this->error = CONF_VALUE_NOT_FOUND;
-00638                 return 0;
-00639         }
-00640         for (int i = 0; i < strlen(val); i++)
-00641         {
-00642                 if (!isdigit(val[i]))
-00643                 {
-00644                         this->error = CONF_NOT_A_NUMBER;
-00645                         return 0;
-00646                 }
-00647         }
-00648         if ((needs_unsigned) && (atoi(val)<0))
-00649         {
-00650                 this->error = CONF_NOT_UNSIGNED;
-00651                 return 0;
-00652         }
-00653         return atoi(val);
-00654 }
+Definition at line 637 of file modules.cpp.
+

+References cache, CONF_NOT_A_NUMBER, CONF_NOT_UNSIGNED, CONF_VALUE_NOT_FOUND, and error. +

+

00638 {
+00639         char val[MAXBUF];
+00640         char t[MAXBUF];
+00641         char n[MAXBUF];
+00642         strlcpy(t,tag.c_str(),MAXBUF);
+00643         strlcpy(n,name.c_str(),MAXBUF);
+00644         int res = ReadConf(cache,t,n,index,val);
+00645         if (!res)
+00646         {
+00647                 this->error = CONF_VALUE_NOT_FOUND;
+00648                 return 0;
+00649         }
+00650         for (int i = 0; i < strlen(val); i++)
+00651         {
+00652                 if (!isdigit(val[i]))
+00653                 {
+00654                         this->error = CONF_NOT_A_NUMBER;
+00655                         return 0;
+00656                 }
+00657         }
+00658         if ((needs_unsigned) && (atoi(val)<0))
+00659         {
+00660                 this->error = CONF_NOT_UNSIGNED;
+00661                 return 0;
+00662         }
+00663         return atoi(val);
+00664 }
 
@@ -601,24 +601,24 @@ 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 594 of file modules.cpp. -

-References cache, CONF_VALUE_NOT_FOUND, and error. -

-

00595 {
-00596         char val[MAXBUF];
-00597         char t[MAXBUF];
-00598         char n[MAXBUF];
-00599         strlcpy(t,tag.c_str(),MAXBUF);
-00600         strlcpy(n,name.c_str(),MAXBUF);
-00601         int res = ReadConf(cache,t,n,index,val);
-00602         if (!res)
-00603         {
-00604                 this->error = CONF_VALUE_NOT_FOUND;
-00605                 return "";
-00606         }
-00607         return std::string(val);
-00608 }
+Definition at line 604 of file modules.cpp.
+

+References cache, CONF_VALUE_NOT_FOUND, and error. +

+

00605 {
+00606         char val[MAXBUF];
+00607         char t[MAXBUF];
+00608         char n[MAXBUF];
+00609         strlcpy(t,tag.c_str(),MAXBUF);
+00610         strlcpy(n,name.c_str(),MAXBUF);
+00611         int res = ReadConf(cache,t,n,index,val);
+00612         if (!res)
+00613         {
+00614                 this->error = CONF_VALUE_NOT_FOUND;
+00615                 return "";
+00616         }
+00617         return std::string(val);
+00618 }
 
@@ -651,13 +651,13 @@ 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 706 of file modules.cpp. +Definition at line 716 of file modules.cpp.

-References readerror. +References readerror.

-

00707 {
-00708         return this->readerror;
-00709 }
+
00717 {
+00718         return this->readerror;
+00719 }
 
@@ -685,9 +685,9 @@ The contents of the configuration file This protected member should never be acc

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

-Definition at line 649 of file modules.h. +Definition at line 677 of file modules.h.

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

@@ -711,9 +711,9 @@ Referenced by ConfigReader(

-Definition at line 654 of file modules.h. +Definition at line 682 of file modules.h.

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

@@ -737,9 +737,9 @@ Referenced by ConfigReader(

-Definition at line 650 of file modules.h. +Definition at line 678 of file modules.h.

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

@@ -765,14 +765,14 @@ Used to store errors.

-Definition at line 653 of file modules.h. +Definition at line 681 of file modules.h.

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


The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classConnectClass-members.html b/docs/module-doc/classConnectClass-members.html index 4cf3b8c8c..7f3ae7910 100644 --- a/docs/module-doc/classConnectClass-members.html +++ b/docs/module-doc/classConnectClass-members.html @@ -15,7 +15,7 @@ registration_timeoutConnectClass typeConnectClass ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classConnectClass.html b/docs/module-doc/classConnectClass.html index dfddf30a3..c4b392ab6 100644 --- a/docs/module-doc/classConnectClass.html +++ b/docs/module-doc/classConnectClass.html @@ -221,7 +221,7 @@ Definition at line 50 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classExemptItem-members.html b/docs/module-doc/classExemptItem-members.html index 46a3151d2..d092081ca 100644 --- a/docs/module-doc/classExemptItem-members.html +++ b/docs/module-doc/classExemptItem-members.html @@ -14,7 +14,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classExemptItem.html b/docs/module-doc/classExemptItem.html index dfc401c96..b0d9c82ce 100644 --- a/docs/module-doc/classExemptItem.html +++ b/docs/module-doc/classExemptItem.html @@ -22,7 +22,7 @@ A subclass of HostItem designed to h

Definition at line 53 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classExtMode-members.html b/docs/module-doc/classExtMode-members.html index 357214dfb..8fc8f2cd5 100644 --- a/docs/module-doc/classExtMode-members.html +++ b/docs/module-doc/classExtMode-members.html @@ -16,7 +16,7 @@ params_when_onExtMode typeExtMode ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classExtMode.html b/docs/module-doc/classExtMode.html index a1703bdad..e05dcfe90 100644 --- a/docs/module-doc/classExtMode.html +++ b/docs/module-doc/classExtMode.html @@ -82,9 +82,11 @@

-Definition at line 190 of file modules.cpp. +Definition at line 197 of file modules.cpp.

-

00190 : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
+References modechar, needsoper, params_when_off, params_when_on, and type.
+

+

00197 : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
 
@@ -110,7 +112,7 @@ Definition at line 190

-Definition at line 189 of file modules.cpp. +Definition at line 196 of file modules.cpp.

@@ -134,7 +136,9 @@ Definition at line 189

-Definition at line 184 of file modules.cpp. +Definition at line 191 of file modules.cpp. +

+Referenced by ExtMode().

@@ -158,7 +162,9 @@ Definition at line 184

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

+Referenced by ExtMode().

@@ -182,7 +188,9 @@ Definition at line 188

-Definition at line 187 of file modules.cpp. +Definition at line 194 of file modules.cpp. +

+Referenced by ExtMode().

@@ -206,7 +214,9 @@ Definition at line 187

-Definition at line 186 of file modules.cpp. +Definition at line 193 of file modules.cpp. +

+Referenced by ExtMode().

@@ -230,12 +240,14 @@ Definition at line 186

-Definition at line 185 of file modules.cpp. +Definition at line 192 of file modules.cpp. +

+Referenced by ExtMode().


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classExtensible-members.html b/docs/module-doc/classExtensible-members.html index 7c83ec3ac..2538417e9 100644 --- a/docs/module-doc/classExtensible-members.html +++ b/docs/module-doc/classExtensible-members.html @@ -13,7 +13,7 @@ GetExt(std::string key)Extensible Shrink(std::string key)Extensible ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classExtensible.html b/docs/module-doc/classExtensible.html index f662fa5e3..9f13de16e 100644 --- a/docs/module-doc/classExtensible.html +++ b/docs/module-doc/classExtensible.html @@ -170,7 +170,7 @@ Definition at line 54 of fil
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classFileReader-members.html b/docs/module-doc/classFileReader-members.html index cb8bb55cb..8c4ad0498 100644 --- a/docs/module-doc/classFileReader-members.html +++ b/docs/module-doc/classFileReader-members.html @@ -17,7 +17,7 @@ LoadFile(std::string filename)FileReader ~classbase()classbase [inline] ~FileReader()FileReader -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classFileReader.html b/docs/module-doc/classFileReader.html index 952b8dcb8..5946a05bd 100644 --- a/docs/module-doc/classFileReader.html +++ b/docs/module-doc/classFileReader.html @@ -47,7 +47,7 @@ This class contains methods for read-only manipulation of a text file in memory.

-Definition at line 730 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 758 of file modules.h.

Constructor & Destructor Documentation

@@ -77,10 +77,10 @@ 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 719 of file modules.cpp. +Definition at line 729 of file modules.cpp.

-

00720 {
-00721 }
+
00730 {
+00731 }
 
@@ -114,15 +114,15 @@ 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 712 of file modules.cpp. +Definition at line 722 of file modules.cpp.

-References fc, and file_cache. +References fc, and file_cache.

-

00713 {
-00714         file_cache c;
-00715         readfile(c,filename.c_str());
-00716         this->fc = c;
-00717 }
+
00723 {
+00724         file_cache c;
+00725         readfile(c,filename.c_str());
+00726         this->fc = c;
+00727 }
 
@@ -155,10 +155,10 @@ Default destructor.

This deletes the memory allocated to the file.

-Definition at line 731 of file modules.cpp. +Definition at line 741 of file modules.cpp.

-

00732 {
-00733 }
+
00742 {
+00743 }
 
@@ -192,20 +192,20 @@ Returns true if the file exists This function will return false if the file coul

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

-References fc. +References fc.

-

00736 {
-00737         if (fc.size() == 0)
-00738         {
-00739                 return(false);
-00740         }
-00741         else
-00742         {
-00743                 return(true);
-00744         }
-00745 }
+
00746 {
+00747         if (fc.size() == 0)
+00748         {
+00749                 return(false);
+00750         }
+00751         else
+00752         {
+00753                 return(true);
+00754         }
+00755 }
 
@@ -238,13 +238,13 @@ 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 754 of file modules.cpp. +Definition at line 764 of file modules.cpp.

-References fc. +References fc.

-

00755 {
-00756         return fc.size();
-00757 }
+
00765 {
+00766         return fc.size();
+00767 }
 
@@ -278,15 +278,15 @@ 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 747 of file modules.cpp. +Definition at line 757 of file modules.cpp.

-References fc. +References fc.

-

00748 {
-00749         if ((x<0) || (x>fc.size()))
-00750                 return "";
-00751         return fc[x];
-00752 }
+
00758 {
+00759         if ((x<0) || (x>fc.size()))
+00760                 return "";
+00761         return fc[x];
+00762 }
 
@@ -320,15 +320,15 @@ 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 723 of file modules.cpp. +Definition at line 733 of file modules.cpp.

-References fc, and file_cache. +References fc, and file_cache.

-

00724 {
-00725         file_cache c;
-00726         readfile(c,filename.c_str());
-00727         this->fc = c;
-00728 }
+
00734 {
+00735         file_cache c;
+00736         readfile(c,filename.c_str());
+00737         this->fc = c;
+00738 }
 
@@ -354,14 +354,14 @@ References fc, and

-Definition at line 732 of file modules.h. +Definition at line 760 of file modules.h.

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


The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classGLine-members.html b/docs/module-doc/classGLine-members.html index 10f04a3b2..6e5a3a953 100644 --- a/docs/module-doc/classGLine-members.html +++ b/docs/module-doc/classGLine-members.html @@ -15,7 +15,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classGLine.html b/docs/module-doc/classGLine.html index 4a6997d0d..7807b5521 100644 --- a/docs/module-doc/classGLine.html +++ b/docs/module-doc/classGLine.html @@ -53,7 +53,7 @@ Definition at line 79 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classHostItem-members.html b/docs/module-doc/classHostItem-members.html index 61a0e1b7e..fbfa88a7d 100644 --- a/docs/module-doc/classHostItem-members.html +++ b/docs/module-doc/classHostItem-members.html @@ -14,7 +14,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classHostItem.html b/docs/module-doc/classHostItem.html index 1c687d73b..4fe3c5c7f 100644 --- a/docs/module-doc/classHostItem.html +++ b/docs/module-doc/classHostItem.html @@ -178,7 +178,7 @@ Definition at line 32 of
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classInviteItem-members.html b/docs/module-doc/classInviteItem-members.html index 49a5d25c7..d03ff8f13 100644 --- a/docs/module-doc/classInviteItem-members.html +++ b/docs/module-doc/classInviteItem-members.html @@ -14,7 +14,7 @@ set_timeHostItem ~classbase()classbase [inline] ~HostItem()HostItem [inline, virtual] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classInviteItem.html b/docs/module-doc/classInviteItem.html index 8cde5b7aa..0c016a8ee 100644 --- a/docs/module-doc/classInviteItem.html +++ b/docs/module-doc/classInviteItem.html @@ -22,7 +22,7 @@ A subclass of HostItem designed to h

Definition at line 61 of file channels.h.


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classInvited-members.html b/docs/module-doc/classInvited-members.html index 44fcd5d19..277de4e36 100644 --- a/docs/module-doc/classInvited-members.html +++ b/docs/module-doc/classInvited-members.html @@ -10,7 +10,7 @@ channelInvited classbase()classbase [inline] ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classInvited.html b/docs/module-doc/classInvited.html index 7847153fd..bcced83fa 100644 --- a/docs/module-doc/classInvited.html +++ b/docs/module-doc/classInvited.html @@ -47,12 +47,12 @@ Definition at line 36 of fi

Definition at line 39 of file users.h.

-Referenced by userrec::InviteTo(). +Referenced by userrec::InviteTo().


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classKLine-members.html b/docs/module-doc/classKLine-members.html index 9cc27d5ff..6661c6f53 100644 --- a/docs/module-doc/classKLine-members.html +++ b/docs/module-doc/classKLine-members.html @@ -15,7 +15,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classKLine.html b/docs/module-doc/classKLine.html index e598f95bb..70a5960a2 100644 --- a/docs/module-doc/classKLine.html +++ b/docs/module-doc/classKLine.html @@ -53,7 +53,7 @@ Definition at line 68 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classModeParameter-members.html b/docs/module-doc/classModeParameter-members.html index 8ab7a86cb..dec115b76 100644 --- a/docs/module-doc/classModeParameter-members.html +++ b/docs/module-doc/classModeParameter-members.html @@ -12,7 +12,7 @@ modeModeParameter parameterModeParameter ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classModeParameter.html b/docs/module-doc/classModeParameter.html index fbd3c3409..455853ffc 100644 --- a/docs/module-doc/classModeParameter.html +++ b/docs/module-doc/classModeParameter.html @@ -53,7 +53,7 @@ Definition at line 70 of

Definition at line 75 of file channels.h.

-Referenced by chanrec::SetCustomModeParam(). +Referenced by chanrec::SetCustomModeParam().

@@ -79,7 +79,7 @@ Referenced by chanrec::Set

Definition at line 73 of file channels.h.

-Referenced by chanrec::SetCustomModeParam(). +Referenced by chanrec::SetCustomModeParam().

@@ -105,12 +105,12 @@ Referenced by chanrec::Set

Definition at line 74 of file channels.h.

-Referenced by chanrec::SetCustomModeParam(). +Referenced by chanrec::SetCustomModeParam().


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classModule-members.html b/docs/module-doc/classModule-members.html index b015aa959..de4846ebd 100644 --- a/docs/module-doc/classModule-members.html +++ b/docs/module-doc/classModule-members.html @@ -10,10 +10,13 @@ classbase()classbase [inline] GetVersion()Module [virtual] Module()Module + On005Numeric(std::string &output)Module [virtual] OnAccessCheck(userrec *source, userrec *dest, chanrec *channel, int access_type)Module [virtual] OnChannelSync(chanrec *chan)Module [virtual] OnExtendedMode(userrec *user, void *target, char modechar, int type, bool mode_on, string_list &params)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] OnOper(userrec *user)Module [virtual] OnPacketReceive(char *p)Module [virtual] OnPacketTransmit(char *p)Module [virtual] @@ -32,7 +35,7 @@ OnWhois(userrec *source, userrec *dest)Module [virtual] ~classbase()classbase [inline] ~Module()Module [virtual] -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classModule.html b/docs/module-doc/classModule.html index c32b72a62..77faa7fb8 100644 --- a/docs/module-doc/classModule.html +++ b/docs/module-doc/classModule.html @@ -84,6 +84,15 @@ Inherits classbase. virtual string_list OnChannelSync (chanrec *chan)  Called during a netburst to sync channel data.

+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 OnLoadModule (Module *mod, std::string name) + + Called whenever a module is loaded.



Detailed Description

Base class for all InspIRCd modules This class is the base class for InspIRCd modules. @@ -122,9 +131,9 @@ Default constructor creates a module class.

-Definition at line 297 of file modules.cpp. +Definition at line 304 of file modules.cpp.

-

00297 { }
+
00304 { }
 
@@ -157,9 +166,9 @@ Default destructor destroys a module class.

-Definition at line 298 of file modules.cpp. +Definition at line 305 of file modules.cpp.

-

00298 { }
+
00305 { }
 
@@ -193,9 +202,45 @@ 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 309 of file modules.cpp. +Definition at line 316 of file modules.cpp. +

+

00316 { return Version(1,0,0,0); }
+
+ + +

+ + + + +
+ + + + + + + + + + +
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. +

+Definition at line 327 of file modules.cpp.

-

00309 { return Version(1,0,0,0); }
+
00327 { };
 
@@ -262,11 +307,11 @@ This function is called before many functions which check a users status on a ch
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).

-Definition at line 317 of file modules.cpp. +Definition at line 324 of file modules.cpp.

References ACR_DEFAULT.

-

00317 { return ACR_DEFAULT; };
+
00324 { return ACR_DEFAULT; };
 
@@ -300,11 +345,11 @@ Called during a netburst to sync channel data.

This is called during the netburst on a per-channel basis. You should use this call to up any special channel-related things which are implemented by your module, e.g. sending listmodes. You may return multiple commands in the string_list.

-Definition at line 319 of file modules.cpp. +Definition at line 326 of file modules.cpp.

References string_list.

-

00319 { string_list empty; return empty; }
+
00326 { string_list empty; return empty; }
 
@@ -371,9 +416,9 @@ 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.

-Definition at line 308 of file modules.cpp. +Definition at line 315 of file modules.cpp.

-

00308 { return false; }
+
00315 { return false; }
 
@@ -408,9 +453,105 @@ 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

-Definition at line 311 of file modules.cpp. +Definition at line 318 of file modules.cpp. +

+

00318 { };
+
+ + +

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
int Module::OnKill userrec source,
userrec dest,
std::string  reason
[virtual]
+
+ + + + + +
+   + +

-

00311 { };
+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. If you do so youre risking race conditions, desyncs and worse! +

+Definition at line 328 of file modules.cpp. +

+

00328 { 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). +

+Definition at line 329 of file modules.cpp. +

+

00329 { };
 
@@ -444,9 +585,9 @@ 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.

-Definition at line 310 of file modules.cpp. +Definition at line 317 of file modules.cpp.

-

00310 { };
+
00317 { };
 
@@ -480,9 +621,9 @@ Called after a packet is received from another irc server.

The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called immediately after the packet is received but before any other operations with the core of the ircd.

-Definition at line 304 of file modules.cpp. +Definition at line 311 of file modules.cpp.

-

00304 { }
+
00311 { }
 
@@ -516,9 +657,9 @@ Called before a packet is transmitted across the irc network between two irc ser

The packet is represented as a char*, as it should be regarded as a buffer, and not a string. This allows you to easily represent it in the correct ways to implement encryption, compression, digital signatures and anything else you may want to add. This should be regarded as a pre-processor and will be called before ANY other operations within the ircd core program.

-Definition at line 303 of file modules.cpp. +Definition at line 310 of file modules.cpp.

-

00303 { }
+
00310 { }
 
@@ -551,9 +692,9 @@ 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.

-Definition at line 305 of file modules.cpp. +Definition at line 312 of file modules.cpp.

-

00305 { }
+
00312 { }
 
@@ -602,9 +743,9 @@ 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.

-Definition at line 306 of file modules.cpp. +Definition at line 313 of file modules.cpp.

-

00306 { }
+
00313 { }
 
@@ -638,9 +779,9 @@ Called when a user connects.

The details of the connecting user are available to you in the parameter userrec *user

-Definition at line 299 of file modules.cpp. +Definition at line 306 of file modules.cpp.

-

00299 { }
+
00306 { }
 
@@ -683,9 +824,9 @@ 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

-Definition at line 301 of file modules.cpp. +Definition at line 308 of file modules.cpp.

-

00301 { }
+
00308 { }
 
@@ -728,9 +869,9 @@ 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

-Definition at line 302 of file modules.cpp. +Definition at line 309 of file modules.cpp.

-

00302 { }
+
00309 { }
 
@@ -779,9 +920,9 @@ Called whenever a user is about to invite another user into a channel, before an

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.

-Definition at line 313 of file modules.cpp. +Definition at line 320 of file modules.cpp.

-

00313 { return 0; };
+
00320 { return 0; };
 
@@ -832,9 +973,9 @@ Returning a value of 1 from this function stops the process immediately, causing 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.

-Definition at line 307 of file modules.cpp. +Definition at line 314 of file modules.cpp.

-

00307 { return 0; }
+
00314 { return 0; }
 
@@ -889,9 +1030,9 @@ Called whenever a user is about to PRIVMSG A user or a channel, before any proce

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.

-Definition at line 314 of file modules.cpp. +Definition at line 321 of file modules.cpp.

-

00314 { return 0; };
+
00321 { return 0; };
 
@@ -934,9 +1075,9 @@ 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. 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.

-Definition at line 316 of file modules.cpp. +Definition at line 323 of file modules.cpp.

-

00316 { return 0; };
+
00323 { return 0; };
 
@@ -991,9 +1132,9 @@ Called whenever a user is about to NOTICE A user or a channel, before any proces

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.

-Definition at line 315 of file modules.cpp. +Definition at line 322 of file modules.cpp.

-

00315 { return 0; };
+
00322 { return 0; };
 
@@ -1027,9 +1168,9 @@ Called when a user quits.

The details of the exiting user are available to you in the parameter userrec *user

-Definition at line 300 of file modules.cpp. +Definition at line 307 of file modules.cpp.

-

00300 { }
+
00307 { }
 
@@ -1063,11 +1204,11 @@ Called during a netburst to sync user data.

This is called during the netburst on a per-user basis. You should use this call to up any special user-related things which are implemented by your module, e.g. sending listmodes. You may return multiple commands in the string_list.

-Definition at line 318 of file modules.cpp. +Definition at line 325 of file modules.cpp.

References string_list.

-

00318 { string_list empty; return empty; }
+
00325 { string_list empty; return empty; }
 
@@ -1110,15 +1251,15 @@ 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.

-Definition at line 312 of file modules.cpp. +Definition at line 319 of file modules.cpp.

-

00312 { };
+
00319 { };
 

The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classModuleFactory-members.html b/docs/module-doc/classModuleFactory-members.html index 9b33b9882..85e352377 100644 --- a/docs/module-doc/classModuleFactory-members.html +++ b/docs/module-doc/classModuleFactory-members.html @@ -12,7 +12,7 @@ ModuleFactory()ModuleFactory [inline] ~classbase()classbase [inline] ~ModuleFactory()ModuleFactory [inline, virtual] -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classModuleFactory.html b/docs/module-doc/classModuleFactory.html index 800132b55..0f99e84b9 100644 --- a/docs/module-doc/classModuleFactory.html +++ b/docs/module-doc/classModuleFactory.html @@ -30,7 +30,7 @@ This is to allow for modules to create many different variants of

-Definition at line 785 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 813 of file modules.h.

Constructor & Destructor Documentation

@@ -58,9 +58,9 @@ Definition at line 785 of

-Definition at line 788 of file modules.h. +Definition at line 816 of file modules.h.

-

00788 { }
+
00816 { }
 
@@ -91,9 +91,9 @@ Definition at line 788 of

-Definition at line 789 of file modules.h. +Definition at line 817 of file modules.h.

-

00789 { }
+
00817 { }
 
@@ -130,7 +130,7 @@ Your inherited class of ModuleFactory must return a pointer to your modules.h -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classQLine-members.html b/docs/module-doc/classQLine-members.html index 6af3255e2..0ee019a8f 100644 --- a/docs/module-doc/classQLine-members.html +++ b/docs/module-doc/classQLine-members.html @@ -16,7 +16,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classQLine.html b/docs/module-doc/classQLine.html index 94ef272f0..ef942cfdd 100644 --- a/docs/module-doc/classQLine.html +++ b/docs/module-doc/classQLine.html @@ -82,7 +82,7 @@ Definition at line 105 of f
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classServer-members.html b/docs/module-doc/classServer-members.html index 62a281904..0699637a1 100644 --- a/docs/module-doc/classServer-members.html +++ b/docs/module-doc/classServer-members.html @@ -45,7 +45,7 @@ Server()Server ~classbase()classbase [inline] ~Server()Server [virtual] -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classServer.html b/docs/module-doc/classServer.html index 3f90b0048..1ba57adea 100644 --- a/docs/module-doc/classServer.html +++ b/docs/module-doc/classServer.html @@ -131,7 +131,7 @@ All modules should instantiate at least one copy of this class, and use its memb

-Definition at line 337 of file modules.h.


Constructor & Destructor Documentation

+Definition at line 365 of file modules.h.

Constructor & Destructor Documentation

@@ -161,10 +161,10 @@ Default constructor.

Creates a Server object.

-Definition at line 326 of file modules.cpp. +Definition at line 336 of file modules.cpp.

-

00327 {
-00328 }
+
00337 {
+00338 }
 
@@ -197,10 +197,10 @@ Default destructor.

Destroys a Server object.

-Definition at line 330 of file modules.cpp. +Definition at line 340 of file modules.cpp.

-

00331 {
-00332 }
+
00341 {
+00342 }
 
@@ -258,13 +258,13 @@ This allows modules to add extra commands into the command table. You must place 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'.

-Definition at line 407 of file modules.cpp. +Definition at line 417 of file modules.cpp.

References createcommand().

-

00408 {
-00409         createcommand(cmd,f,flags,minparams);
-00410 }
+
00418 {
+00419         createcommand(cmd,f,flags,minparams);
+00420 }
 
@@ -303,16 +303,16 @@ This call is used to implement modes like +q and +a. The characteristics of thes (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 552 of file modules.cpp. +Definition at line 562 of file modules.cpp.

-References DoAddExtendedMode(), ModeMakeList(), and MT_CHANNEL. +References DoAddExtendedMode(), ModeMakeList(), and MT_CHANNEL.

-

00553 {
-00554         bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1);
-00555         if (res)
-00556                 ModeMakeList(modechar);
-00557         return res;
-00558 }
+
00563 {
+00564         bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1);
+00565         if (res)
+00566                 ModeMakeList(modechar);
+00567         return res;
+00568 }
 
@@ -373,28 +373,28 @@ 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 532 of file modules.cpp. -

-References DEBUG, DoAddExtendedMode(), MT_CLIENT, and MT_SERVER. -

-

00533 {
-00534         if (type == MT_SERVER)
-00535         {
-00536                 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion");
-00537                 return false;
-00538         }
-00539         if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
-00540         {
-00541                 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported");
-00542                 return false;
-00543         }
-00544         if ((params_when_on>1) || (params_when_off>1))
+Definition at line 542 of file modules.cpp.
+

+References DEBUG, DoAddExtendedMode(), MT_CLIENT, and MT_SERVER. +

+

00543 {
+00544         if (type == MT_SERVER)
 00545         {
-00546                 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported");
+00546                 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion");
 00547                 return false;
 00548         }
-00549         return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
-00550 }
+00549         if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
+00550         {
+00551                 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported");
+00552                 return false;
+00553         }
+00554         if ((params_when_on>1) || (params_when_off>1))
+00555         {
+00556                 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported");
+00557                 return false;
+00558         }
+00559         return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
+00560 }
 
@@ -450,11 +450,11 @@ Calls the handler for a command, either implemented by the core or by another mo 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 397 of file modules.cpp. +Definition at line 407 of file modules.cpp.

-

00398 {
-00399         call_handler(commandname.c_str(),parameters,pcnt,user);
-00400 }
+
00408 {
+00409         call_handler(commandname.c_str(),parameters,pcnt,user);
+00410 }
 
@@ -497,13 +497,13 @@ 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 485 of file modules.cpp. +Definition at line 495 of file modules.cpp.

References ChangeName().

-

00486 {
-00487         ChangeName(user,gecos.c_str());
-00488 }
+
00496 {
+00497         ChangeName(user,gecos.c_str());
+00498 }
 
@@ -546,13 +546,13 @@ 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 480 of file modules.cpp. +Definition at line 490 of file modules.cpp.

References ChangeDisplayedHost().

-

00481 {
-00482         ChangeDisplayedHost(user,host.c_str());
-00483 }
+
00491 {
+00492         ChangeDisplayedHost(user,host.c_str());
+00493 }
 
@@ -595,11 +595,11 @@ 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 381 of file modules.cpp. +Definition at line 391 of file modules.cpp.

-

00382 {
-00383         force_nickchange(user,nickname.c_str());
-00384 }
+
00392 {
+00393         force_nickchange(user,nickname.c_str());
+00394 }
 
@@ -642,13 +642,13 @@ 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 505 of file modules.cpp. +Definition at line 515 of file modules.cpp.

References cmode().

-

00506 {
-00507         return cmode(User,Chan);
-00508 }
+
00516 {
+00517         return cmode(User,Chan);
+00518 }
 
@@ -691,13 +691,13 @@ 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 458 of file modules.cpp. +Definition at line 468 of file modules.cpp.

References common_channels().

-

00459 {
-00460         return (common_channels(u1,u2) != 0);
-00461 }
+
00469 {
+00470         return (common_channels(u1,u2) != 0);
+00471 }
 
@@ -731,11 +731,11 @@ 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 560 of file modules.cpp. +Definition at line 570 of file modules.cpp.

-

00561 {
-00562         return usercount(c);
-00563 }
+
00571 {
+00572         return usercount(c);
+00573 }
 
@@ -769,11 +769,11 @@ 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 500 of file modules.cpp. +Definition at line 510 of file modules.cpp.

-

00501 {
-00502         return FindChan(channel.c_str());
-00503 }
+
00511 {
+00512         return FindChan(channel.c_str());
+00513 }
 
@@ -807,11 +807,11 @@ 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 495 of file modules.cpp. +Definition at line 505 of file modules.cpp.

-

00496 {
-00497         return Find(nick);
-00498 }
+
00506 {
+00507         return Find(nick);
+00508 }
 
@@ -844,11 +844,11 @@ 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 525 of file modules.cpp. +Definition at line 535 of file modules.cpp.

-

00526 {
-00527         return Admin(getadminname(),getadminemail(),getadminnick());
-00528 }
+
00536 {
+00537         return Admin(getadminname(),getadminemail(),getadminnick());
+00538 }
 
@@ -881,11 +881,11 @@ Returns the network name, global to all linked servers.

-Definition at line 520 of file modules.cpp. +Definition at line 530 of file modules.cpp.

-

00521 {
-00522         return getnetworkname();
-00523 }
+
00531 {
+00532         return getnetworkname();
+00533 }
 
@@ -918,11 +918,11 @@ Returns the server name of the server where the module is loaded.

-Definition at line 515 of file modules.cpp. +Definition at line 525 of file modules.cpp.

-

00516 {
-00517         return getservername();
-00518 }
+
00526 {
+00527         return getservername();
+00528 }
 
@@ -956,28 +956,28 @@ 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 362 of file modules.cpp. -

-References chanuserlist, clientlist, has_channel(), and isnick(). -

-

00363 {
-00364         chanuserlist userl;
-00365         userl.clear();
-00366         for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
-00367         {
-00368                 if (i->second)
-00369                 {
-00370                         if (has_channel(i->second,chan))
-00371                         {
-00372                                 if (isnick(i->second->nick))
-00373                                 {
-00374                                         userl.push_back(i->second);
-00375                                 }
-00376                         }
-00377                 }
-00378         }
-00379         return userl;
-00380 }
+Definition at line 372 of file modules.cpp.
+

+References chanuserlist, clientlist, has_channel(), and isnick(). +

+

00373 {
+00374         chanuserlist userl;
+00375         userl.clear();
+00376         for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
+00377         {
+00378                 if (i->second)
+00379                 {
+00380                         if (has_channel(i->second,chan))
+00381                         {
+00382                                 if (isnick(i->second->nick))
+00383                                 {
+00384                                         userl.push_back(i->second);
+00385                                 }
+00386                         }
+00387                 }
+00388         }
+00389         return userl;
+00390 }
 
@@ -1011,13 +1011,13 @@ Returns true if a nick is valid.

Nicks for unregistered connections will return false.

-Definition at line 490 of file modules.cpp. +Definition at line 500 of file modules.cpp.

References isnick().

-

00491 {
-00492         return (isnick(nick.c_str()) != 0);
-00493 }
+
00501 {
+00502         return (isnick(nick.c_str()) != 0);
+00503 }
 
@@ -1060,13 +1060,13 @@ 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 510 of file modules.cpp. +Definition at line 520 of file modules.cpp.

References has_channel().

-

00511 {
-00512         return has_channel(User,Chan);
-00513 }
+
00521 {
+00522         return has_channel(User,Chan);
+00523 }
 
@@ -1100,13 +1100,13 @@ 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 392 of file modules.cpp. +Definition at line 402 of file modules.cpp.

References is_uline().

-

00393 {
-00394         return is_uline(server.c_str());
-00395 }
+
00403 {
+00404         return is_uline(server.c_str());
+00405 }
 
@@ -1155,11 +1155,11 @@ 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 352 of file modules.cpp. +Definition at line 362 of file modules.cpp.

-

00353 {
-00354         return add_channel(user,cname.c_str(),key.c_str(),true);
-00355 }
+
00363 {
+00364         return add_channel(user,cname.c_str(),key.c_str(),true);
+00365 }
 
@@ -1202,11 +1202,11 @@ 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 402 of file modules.cpp. +Definition at line 412 of file modules.cpp.

-

00403 {
-00404         log(level,"%s",s.c_str());
-00405 }
+
00413 {
+00414         log(level,"%s",s.c_str());
+00415 }
 
@@ -1249,14 +1249,14 @@ 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 339 of file modules.cpp. +Definition at line 349 of file modules.cpp.

-

00340 {
-00341         char literal[MAXBUF],pattern[MAXBUF];
-00342         strlcpy(literal,sliteral.c_str(),MAXBUF);
-00343         strlcpy(pattern,spattern.c_str(),MAXBUF);
-00344         return match(literal,pattern);
-00345 }
+
00350 {
+00351         char literal[MAXBUF],pattern[MAXBUF];
+00352         strlcpy(literal,sliteral.c_str(),MAXBUF);
+00353         strlcpy(pattern,spattern.c_str(),MAXBUF);
+00354         return match(literal,pattern);
+00355 }
 
@@ -1305,11 +1305,11 @@ 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 357 of file modules.cpp. +Definition at line 367 of file modules.cpp.

-

00358 {
-00359         return del_channel(user,cname.c_str(),reason.c_str(),false);
-00360 }
+
00368 {
+00369         return del_channel(user,cname.c_str(),reason.c_str(),false);
+00370 }
 
@@ -1354,14 +1354,14 @@ To the user, it will appear as if they typed /QUIT themselves, except for the fa 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 386 of file modules.cpp. +Definition at line 396 of file modules.cpp.

References userrec::nick, and send_network_quit().

-

00387 {
-00388         send_network_quit(user->nick,reason.c_str());
-00389         kill_link(user,reason.c_str());
-00390 }
+
00397 {
+00398         send_network_quit(user->nick,reason.c_str());
+00399         kill_link(user,reason.c_str());
+00400 }
 
@@ -1404,11 +1404,11 @@ 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 417 of file modules.cpp. +Definition at line 427 of file modules.cpp.

-

00418 {
-00419         Write(Socket,"%s",s.c_str());
-00420 }
+
00428 {
+00429         Write(Socket,"%s",s.c_str());
+00430 }
 
@@ -1463,18 +1463,18 @@ 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 446 of file modules.cpp. -

-

00447 {
-00448         if (IncludeSender)
-00449         {
-00450                 WriteChannel(Channel,User,"%s",s.c_str());
-00451         }
-00452         else
-00453         {
-00454                 ChanExceptSender(Channel,User,"%s",s.c_str());
-00455         }
-00456 }
+Definition at line 456 of file modules.cpp.
+

+

00457 {
+00458         if (IncludeSender)
+00459         {
+00460                 WriteChannel(Channel,User,"%s",s.c_str());
+00461         }
+00462         else
+00463         {
+00464                 ChanExceptSender(Channel,User,"%s",s.c_str());
+00465         }
+00466 }
 
@@ -1523,18 +1523,18 @@ 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 463 of file modules.cpp. -

-

00464 {
-00465         if (IncludeSender)
-00466         {
-00467                 WriteCommon(User,"%s",text.c_str());
-00468         }
-00469         else
-00470         {
-00471                 WriteCommonExcept(User,"%s",text.c_str());
-00472         }
-00473 }
+Definition at line 473 of file modules.cpp.
+

+

00474 {
+00475         if (IncludeSender)
+00476         {
+00477                 WriteCommon(User,"%s",text.c_str());
+00478         }
+00479         else
+00480         {
+00481                 WriteCommonExcept(User,"%s",text.c_str());
+00482         }
+00483 }
 
@@ -1583,11 +1583,11 @@ 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 427 of file modules.cpp. +Definition at line 437 of file modules.cpp.

-

00428 {
-00429         WriteFrom(Socket,User,"%s",s.c_str());
-00430 }
+
00438 {
+00439         WriteFrom(Socket,User,"%s",s.c_str());
+00440 }
 
@@ -1643,13 +1643,13 @@ 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 412 of file modules.cpp. +Definition at line 422 of file modules.cpp.

References server_mode().

-

00413 {
-00414         server_mode(parameters,pcnt,user);
-00415 }
+
00423 {
+00424         server_mode(parameters,pcnt,user);
+00425 }
 
@@ -1683,11 +1683,11 @@ Sends text to all opers.

This method sends a server notice to all opers with the usermode +s.

-Definition at line 334 of file modules.cpp. +Definition at line 344 of file modules.cpp.

-

00335 {
-00336         WriteOpers("%s",s.c_str());
-00337 }
+
00345 {
+00346         WriteOpers("%s",s.c_str());
+00347 }
 
@@ -1730,11 +1730,11 @@ 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 422 of file modules.cpp. +Definition at line 432 of file modules.cpp.

-

00423 {
-00424         WriteServ(Socket,"%s",s.c_str());
-00425 }
+
00433 {
+00434         WriteServ(Socket,"%s",s.c_str());
+00435 }
 
@@ -1787,22 +1787,22 @@ The format will become:

:localserver TEXT

Which is useful for numerics and server notices to single users, etc.

-Definition at line 432 of file modules.cpp. +Definition at line 442 of file modules.cpp.

References connection::fd.

-

00433 {
-00434         if (!Source)
-00435         {
-00436                 // if source is NULL, then the message originates from the local server
-00437                 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
-00438         }
-00439         else
-00440         {
-00441                 // otherwise it comes from the user specified
-00442                 WriteTo(Source,Dest,"%s",s.c_str());
-00443         }
-00444 }
+
00443 {
+00444         if (!Source)
+00445         {
+00446                 // if source is NULL, then the message originates from the local server
+00447                 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
+00448         }
+00449         else
+00450         {
+00451                 // otherwise it comes from the user specified
+00452                 WriteTo(Source,Dest,"%s",s.c_str());
+00453         }
+00454 }
 
@@ -1853,11 +1853,11 @@ These can be RFC specified modes such as +i, or module provided modes, including 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 347 of file modules.cpp. +Definition at line 357 of file modules.cpp.

-

00348 {
-00349         WriteMode(modes.c_str(),flags,"%s",text.c_str());
-00350 }
+
00358 {
+00359         WriteMode(modes.c_str(),flags,"%s",text.c_str());
+00360 }
 
@@ -1900,17 +1900,17 @@ 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 475 of file modules.cpp. +Definition at line 485 of file modules.cpp.

-

00476 {
-00477         WriteWallOps(User,false,"%s",text.c_str());
-00478 }
+
00486 {
+00487         WriteWallOps(User,false,"%s",text.c_str());
+00488 }
 

The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classVersion-members.html b/docs/module-doc/classVersion-members.html index c0a434dd8..73f9b65b3 100644 --- a/docs/module-doc/classVersion-members.html +++ b/docs/module-doc/classVersion-members.html @@ -14,7 +14,7 @@ RevisionVersion Version(int major, int minor, int revision, int build)Version ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classVersion.html b/docs/module-doc/classVersion.html index b3209d65e..714f17838 100644 --- a/docs/module-doc/classVersion.html +++ b/docs/module-doc/classVersion.html @@ -84,9 +84,9 @@ Definition at line 102 of

-Definition at line 291 of file modules.cpp. +Definition at line 298 of file modules.cpp.

-

00291 : Major(major), Minor(minor), Revision(revision), Build(build) { };
+
00298 : Major(major), Minor(minor), Revision(revision), Build(build) { };
 
@@ -189,7 +189,7 @@ Definition at line 105 of
The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classXLine-members.html b/docs/module-doc/classXLine-members.html index 36c7eaf27..66b260d73 100644 --- a/docs/module-doc/classXLine-members.html +++ b/docs/module-doc/classXLine-members.html @@ -14,7 +14,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classXLine.html b/docs/module-doc/classXLine.html index e1e354cd8..1cdc782cd 100644 --- a/docs/module-doc/classXLine.html +++ b/docs/module-doc/classXLine.html @@ -171,7 +171,7 @@ Definition at line 48 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classZLine-members.html b/docs/module-doc/classZLine-members.html index 8aed6b908..ab7a71ebc 100644 --- a/docs/module-doc/classZLine-members.html +++ b/docs/module-doc/classZLine-members.html @@ -16,7 +16,7 @@ set_timeXLine sourceXLine ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classZLine.html b/docs/module-doc/classZLine.html index 0ae5bb4cd..5cacd6f53 100644 --- a/docs/module-doc/classZLine.html +++ b/docs/module-doc/classZLine.html @@ -82,7 +82,7 @@ Definition at line 94 of fi
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classchanrec-members.html b/docs/module-doc/classchanrec-members.html index 9f1713a4b..f42b9d0dd 100644 --- a/docs/module-doc/classchanrec-members.html +++ b/docs/module-doc/classchanrec-members.html @@ -33,7 +33,7 @@ topicsetchanrec ~chanrec()chanrec [inline, virtual] ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classchanrec.html b/docs/module-doc/classchanrec.html index c7c0a6a1b..7cabfa142 100644 --- a/docs/module-doc/classchanrec.html +++ b/docs/module-doc/classchanrec.html @@ -116,19 +116,19 @@ Creates a channel record and initialises it with default values.

-Definition at line 111 of file channels.cpp. +Definition at line 112 of file channels.cpp.

References c_private, created, custom_modes, inviteonly, key, limit, moderated, name, noexternal, secret, setby, topic, topiclock, and topicset.

-

00112 {
-00113         strcpy(name,"");
-00114         strcpy(custom_modes,"");
-00115         strcpy(topic,"");
-00116         strcpy(setby,"");
-00117         strcpy(key,"");
-00118         created = topicset = limit = 0;
-00119         topiclock = noexternal = inviteonly = moderated = secret = c_private = false;
-00120 }
+
00113 {
+00114         strcpy(name,"");
+00115         strcpy(custom_modes,"");
+00116         strcpy(topic,"");
+00117         strcpy(setby,"");
+00118         strcpy(key,"");
+00119         created = topicset = limit = 0;
+00120         topiclock = noexternal = inviteonly = moderated = secret = c_private = false;
+00121 }
 
@@ -196,23 +196,23 @@ Returns the parameter for a custom mode on a channel.

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.

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

-References custom_mode_params. -

-

00185 {
-00186         if (custom_mode_params.size())
-00187         {
-00188                 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
-00189                 {
-00190                         if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
-00191                         {
-00192                                 return std::string(i->parameter);
-00193                         }
-00194                 }
-00195         }
-00196         return std::string("");
-00197 }
+Definition at line 185 of file channels.cpp.
+

+References custom_mode_params. +

+

00186 {
+00187         if (custom_mode_params.size())
+00188         {
+00189                 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
+00190                 {
+00191                         if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00192                         {
+00193                                 return std::string(i->parameter);
+00194                         }
+00195                 }
+00196         }
+00197         return std::string("");
+00198 }
 
@@ -246,14 +246,14 @@ Returns true if a custom mode is set on a channel.

-Definition at line 178 of file channels.cpp. +Definition at line 179 of file channels.cpp.

References DEBUG.

-

00179 {
-00180         log(DEBUG,"Checking ISCustomModeSet: %c %s",mode,this->custom_modes);
-00181         return (strchr(this->custom_modes,mode) != 0);
-00182 }
+
00180 {
+00181         log(DEBUG,"Checking ISCustomModeSet: %c %s",mode,this->custom_modes);
+00182         return (strchr(this->custom_modes,mode) != 0);
+00183 }
 
@@ -296,32 +296,32 @@ Sets or unsets a custom mode in the channels info.

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

-References custom_modes, DEBUG, and SetCustomModeParam(). -

-

00123 {
-00124         if (mode_on) {
-00125                 char m[3];
-00126                 m[0] = mode;
-00127                 m[1] = '\0';
-00128                 if (!strchr(this->custom_modes,mode))
-00129                 {
-00130                         strlcat(custom_modes,m,MAXMODES);
-00131                 }
-00132                 log(DEBUG,"Custom mode %c set",mode);
-00133         }
-00134         else {
-00135 
-00136                 std::string a = this->custom_modes;
-00137                 int pos = a.find(mode);
-00138                 a.erase(pos,1);
-00139                 strncpy(this->custom_modes,a.c_str(),MAXMODES);
-00140 
-00141                 log(DEBUG,"Custom mode %c removed: modelist='%s'",mode,this->custom_modes);
-00142                 this->SetCustomModeParam(mode,"",false);
-00143         }
-00144 }
+Definition at line 123 of file channels.cpp.
+

+References custom_modes, DEBUG, and SetCustomModeParam(). +

+

00124 {
+00125         if (mode_on) {
+00126                 char m[3];
+00127                 m[0] = mode;
+00128                 m[1] = '\0';
+00129                 if (!strchr(this->custom_modes,mode))
+00130                 {
+00131                         strlcat(custom_modes,m,MAXMODES);
+00132                 }
+00133                 log(DEBUG,"Custom mode %c set",mode);
+00134         }
+00135         else {
+00136 
+00137                 std::string a = this->custom_modes;
+00138                 int pos = a.find(mode);
+00139                 a.erase(pos,1);
+00140                 strncpy(this->custom_modes,a.c_str(),MAXMODES);
+00141 
+00142                 log(DEBUG,"Custom mode %c removed: modelist='%s'",mode,this->custom_modes);
+00143                 this->SetCustomModeParam(mode,"",false);
+00144         }
+00145 }
 
@@ -370,41 +370,41 @@ Sets or unsets the parameters for a custom mode in a channels info.

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

-References ModeParameter::channel, custom_mode_params, DEBUG, ModeParameter::mode, and ModeParameter::parameter. -

-Referenced by SetCustomMode(). -

-

00148 {
-00149 
-00150         log(DEBUG,"SetCustomModeParam called");
-00151         ModeParameter M;
-00152         M.mode = mode;
-00153         strlcpy(M.channel,this->name,CHANMAX);
-00154         strlcpy(M.parameter,parameter,MAXBUF);
-00155         if (mode_on)
-00156         {
-00157                 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter);
-00158                 custom_mode_params.push_back(M);
-00159         }
-00160         else
-00161         {
-00162                 if (custom_mode_params.size())
-00163                 {
-00164                         for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
-00165                         {
-00166                                 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
-00167                                 {
-00168                                         log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter);
-00169                                         custom_mode_params.erase(i);
-00170                                         return;
-00171                                 }
-00172                         }
-00173                 }
-00174                 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!");
-00175         }
-00176 }
+Definition at line 148 of file channels.cpp.
+

+References ModeParameter::channel, custom_mode_params, DEBUG, ModeParameter::mode, and ModeParameter::parameter. +

+Referenced by SetCustomMode(). +

+

00149 {
+00150 
+00151         log(DEBUG,"SetCustomModeParam called");
+00152         ModeParameter M;
+00153         M.mode = mode;
+00154         strlcpy(M.channel,this->name,CHANMAX);
+00155         strlcpy(M.parameter,parameter,MAXBUF);
+00156         if (mode_on)
+00157         {
+00158                 log(DEBUG,"Custom mode parameter %c %s added",mode,parameter);
+00159                 custom_mode_params.push_back(M);
+00160         }
+00161         else
+00162         {
+00163                 if (custom_mode_params.size())
+00164                 {
+00165                         for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++)
+00166                         {
+00167                                 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel)))
+00168                                 {
+00169                                         log(DEBUG,"Custom mode parameter %c %s removed",mode,parameter);
+00170                                         custom_mode_params.erase(i);
+00171                                         return;
+00172                                 }
+00173                         }
+00174                 }
+00175                 log(DEBUG,"*** BUG *** Attempt to remove non-existent mode parameter!");
+00176         }
+00177 }
 
@@ -460,7 +460,7 @@ This value cannot be set at the same time as 155 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -488,7 +488,7 @@ Creation time.

Definition at line 111 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -516,7 +516,7 @@ Plugins may use this field in any way they see fit.

Definition at line 103 of file channels.h.

-Referenced by chanrec(), and SetCustomMode(). +Referenced by chanrec(), and SetCustomMode().

@@ -544,7 +544,7 @@ Nonzero if the mode +i is set.

Definition at line 141 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -572,7 +572,7 @@ If this value is an empty string, there is no channel key in place.

Definition at line 129 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -600,7 +600,7 @@ If this value is zero, there is no limit in place.

Definition at line 124 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -628,7 +628,7 @@ Nonzero if the mode +m is set.

Definition at line 145 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -656,7 +656,7 @@ The channels name.

Definition at line 99 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -684,7 +684,7 @@ Nonzero if the mode +n is set.

Definition at line 137 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -712,7 +712,7 @@ This value cannot be set at the same time as 150 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -740,7 +740,7 @@ If this member is an empty string, no topic was ever set.

Definition at line 119 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -768,7 +768,7 @@ If this is an empty string, no channel topic is set.

Definition at line 108 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -796,7 +796,7 @@ Nonzero if the mode +t is set.

Definition at line 133 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().

@@ -824,12 +824,12 @@ If no topic was ever set, this will be equal to 115 of file channels.h.

-Referenced by chanrec(). +Referenced by chanrec().


The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classclassbase-members.html b/docs/module-doc/classclassbase-members.html index 1a2510564..4808e02ed 100644 --- a/docs/module-doc/classclassbase-members.html +++ b/docs/module-doc/classclassbase-members.html @@ -9,7 +9,7 @@ ageclassbase classbase()classbase [inline] ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classclassbase.html b/docs/module-doc/classclassbase.html index ae7de8465..9e55f541b 100644 --- a/docs/module-doc/classclassbase.html +++ b/docs/module-doc/classclassbase.html @@ -132,7 +132,7 @@ Referenced by classbase().
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classcommand__t-members.html b/docs/module-doc/classcommand__t-members.html index 8c2cd466a..8ff8926b3 100644 --- a/docs/module-doc/classcommand__t-members.html +++ b/docs/module-doc/classcommand__t-members.html @@ -18,7 +18,7 @@ total_bytescommand_t use_countcommand_t ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classcommand__t.html b/docs/module-doc/classcommand__t.html index fd1d9571a..fcd064499 100644 --- a/docs/module-doc/classcommand__t.html +++ b/docs/module-doc/classcommand__t.html @@ -198,7 +198,7 @@ Definition at line 43 of
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classconnection-members.html b/docs/module-doc/classconnection-members.html index 62c31e68b..06b1dc2e0 100644 --- a/docs/module-doc/classconnection-members.html +++ b/docs/module-doc/classconnection-members.html @@ -41,7 +41,7 @@ stateconnection TerminateLink(char *targethost)connection ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html index 3eb501874..6a1743731 100644 --- a/docs/module-doc/classconnection.html +++ b/docs/module-doc/classconnection.html @@ -537,7 +537,7 @@ Stats counter for bytes inbound.

Definition at line 194 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -565,7 +565,7 @@ Stats counter for bytes outbound.

Definition at line 198 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -593,7 +593,7 @@ Stats counter for commands inbound.

Definition at line 202 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -621,7 +621,7 @@ Stats counter for commands outbound.

Definition at line 206 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -675,7 +675,7 @@ File descriptor of the connection.

Definition at line 178 of file connection.h.

-Referenced by ConfigReader::DumpErrors(), Server::SendTo(), serverrec::serverrec(), and userrec::userrec(). +Referenced by ConfigReader::DumpErrors(), Server::SendTo(), serverrec::serverrec(), and userrec::userrec().

@@ -703,7 +703,7 @@ True if server/user has authenticated, false if otherwise.

Definition at line 210 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -731,7 +731,7 @@ Not used if this is a serverrec

Definition at line 182 of file connection.h.

-Referenced by userrec::GetFullRealHost(), and userrec::userrec(). +Referenced by userrec::GetFullRealHost(), and userrec::userrec().

@@ -759,7 +759,7 @@ Time that the connection last sent data, used to calculate idle time.

Definition at line 236 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -787,7 +787,7 @@ Only used for userrec

Definition at line 190 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -867,7 +867,7 @@ Reserved for future use.

Definition at line 186 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -895,7 +895,7 @@ Time the connection was last pinged.

Definition at line 228 of file connection.h.

-Referenced by serverrec::serverrec(), and userrec::userrec(). +Referenced by serverrec::serverrec(), and userrec::userrec().

@@ -923,7 +923,7 @@ Used by PING checks with clients.

Definition at line 240 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -951,7 +951,7 @@ For a serverrec this is the current listening port of the serverrec object.

Definition at line 216 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -979,7 +979,7 @@ Used by userrec to indicate the registration status of the connection.

Definition at line 220 of file connection.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -1007,7 +1007,7 @@ Time the connection was created, set in the constructor.

Definition at line 232 of file connection.h.

-Referenced by serverrec::serverrec(), and userrec::userrec(). +Referenced by serverrec::serverrec(), and userrec::userrec().

@@ -1038,7 +1038,7 @@ Definition at line 224


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classes.html b/docs/module-doc/classes.html index 2e8134723..a298d2f80 100644 --- a/docs/module-doc/classes.html +++ b/docs/module-doc/classes.html @@ -24,7 +24,7 @@ XLine   ConfigReader   
  H  
Module   Server   
  Z  
ConnectClass   HostItem   ModuleFactory   serverrec   ZLine   connection   
  I  
-
Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classircd__connector-members.html b/docs/module-doc/classircd__connector-members.html index 966335098..f1e78f2c3 100644 --- a/docs/module-doc/classircd__connector-members.html +++ b/docs/module-doc/classircd__connector-members.html @@ -35,7 +35,7 @@ Shrink(std::string key)Extensible stateircd_connector [private] ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classircd__connector.html b/docs/module-doc/classircd__connector.html index 5d2bd7d4f..8fea767dd 100644 --- a/docs/module-doc/classircd__connector.html +++ b/docs/module-doc/classircd__connector.html @@ -792,7 +792,7 @@ Definition at line 75
The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classpacket-members.html b/docs/module-doc/classpacket-members.html index 9991099b9..8cc004a2b 100644 --- a/docs/module-doc/classpacket-members.html +++ b/docs/module-doc/classpacket-members.html @@ -9,7 +9,7 @@ ageclassbase classbase()classbase [inline] ~classbase()classbase [inline] -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classpacket.html b/docs/module-doc/classpacket.html index 29c23b5f1..58525746f 100644 --- a/docs/module-doc/classpacket.html +++ b/docs/module-doc/classpacket.html @@ -24,7 +24,7 @@ This declaration is preserved here to maintain documentation only.

Definition at line 167 of file connection.h.


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:33 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classserverrec-members.html b/docs/module-doc/classserverrec-members.html index dd9643aa3..e9f90e3a1 100644 --- a/docs/module-doc/classserverrec-members.html +++ b/docs/module-doc/classserverrec-members.html @@ -55,7 +55,7 @@ versionserverrec ~classbase()classbase [inline] ~serverrec()serverrec -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classserverrec.html b/docs/module-doc/classserverrec.html index aed076b09..cf4e2727d 100644 --- a/docs/module-doc/classserverrec.html +++ b/docs/module-doc/classserverrec.html @@ -93,22 +93,22 @@ Constructor.

-Definition at line 23 of file servers.cpp. +Definition at line 24 of file servers.cpp.

References connection::fd, hops_away, jupiter, connection::lastping, name, nickserv, opercount, pingtime, connection::signon, sync_soon, usercount, usercount_i, and version.

-

00024 {
-00025         strlcpy(name,"",256);
-00026         pingtime = 0;
-00027         lastping = time(NULL);
-00028         usercount_i = usercount = opercount = version = 0;
-00029         hops_away = 1;
-00030         signon = time(NULL);
-00031         jupiter = false;
-00032         fd = 0;
-00033         sync_soon = false;
-00034         strlcpy(nickserv,"",NICKMAX);
-00035 }
+
00025 {
+00026         strlcpy(name,"",256);
+00027         pingtime = 0;
+00028         lastping = time(NULL);
+00029         usercount_i = usercount = opercount = version = 0;
+00030         hops_away = 1;
+00031         signon = time(NULL);
+00032         jupiter = false;
+00033         fd = 0;
+00034         sync_soon = false;
+00035         strlcpy(nickserv,"",NICKMAX);
+00036 }
 
@@ -157,22 +157,22 @@ Constructor which initialises some of the main variables.

-Definition at line 42 of file servers.cpp. +Definition at line 43 of file servers.cpp.

References connection::fd, hops_away, jupiter, connection::lastping, name, nickserv, opercount, connection::signon, sync_soon, usercount, usercount_i, and version.

-

00043 {
-00044         strlcpy(name,n,256);
-00045         lastping = time(NULL);
-00046         usercount_i = usercount = opercount = 0;
-00047         version = ver;
-00048         hops_away = 1;
-00049         signon = time(NULL);
-00050         jupiter = jupe;
-00051         fd = 0;
-00052         sync_soon = false;
-00053         strlcpy(nickserv,"",NICKMAX);
-00054 }
+
00044 {
+00045         strlcpy(name,n,256);
+00046         lastping = time(NULL);
+00047         usercount_i = usercount = opercount = 0;
+00048         version = ver;
+00049         hops_away = 1;
+00050         signon = time(NULL);
+00051         jupiter = jupe;
+00052         fd = 0;
+00053         sync_soon = false;
+00054         strlcpy(nickserv,"",NICKMAX);
+00055 }
 
@@ -205,10 +205,10 @@ Destructor.

-Definition at line 38 of file servers.cpp. +Definition at line 39 of file servers.cpp.

-

00039 {
-00040 }
+
00040 {
+00041 }
 
@@ -264,7 +264,7 @@ number of hops away (for quick access)

Definition at line 51 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -292,7 +292,7 @@ is a JUPE server (faked to enforce a server ban)

Definition at line 57 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -320,7 +320,7 @@ server name

Definition at line 36 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -348,7 +348,7 @@ Holds nickserv's name on U:lined (services) servers (this is a kludge for ircser

Definition at line 65 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -376,7 +376,7 @@ opers on server

Definition at line 48 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -404,7 +404,7 @@ last ping response (ms)

Definition at line 39 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -430,7 +430,7 @@ Referenced by serverrec() Definition at line 67 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -458,7 +458,7 @@ non-invisible users on server

Definition at line 45 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -486,7 +486,7 @@ invisible users on server

Definition at line 42 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().

@@ -514,12 +514,12 @@ ircd version

Definition at line 54 of file servers.h.

-Referenced by serverrec(). +Referenced by serverrec().


The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classucrec-members.html b/docs/module-doc/classucrec-members.html index 41b0503d2..68e697285 100644 --- a/docs/module-doc/classucrec-members.html +++ b/docs/module-doc/classucrec-members.html @@ -13,7 +13,7 @@ ucrec()ucrec [inline] ~classbase()classbase [inline] ~ucrec()ucrec [inline, virtual] -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classucrec.html b/docs/module-doc/classucrec.html index d0475a5ba..7e3628b5a 100644 --- a/docs/module-doc/classucrec.html +++ b/docs/module-doc/classucrec.html @@ -127,7 +127,7 @@ If the record is not in use, this value will be NULL.

Definition at line 213 of file channels.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().

@@ -155,12 +155,12 @@ UCMODE_FOUNDER values. If this value is zero, the user has no privilages upon th

Definition at line 208 of file channels.h.

-Referenced by userrec::userrec(). +Referenced by userrec::userrec().


The documentation for this class was generated from the following file: -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classuserrec-members.html b/docs/module-doc/classuserrec-members.html index 83df506d2..ecc926cbf 100644 --- a/docs/module-doc/classuserrec-members.html +++ b/docs/module-doc/classuserrec-members.html @@ -62,7 +62,7 @@ userrec()userrec ~classbase()classbase [inline] ~userrec()userrec [inline, virtual] -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/classuserrec.html b/docs/module-doc/classuserrec.html index 7f5755497..1ca6025f2 100644 --- a/docs/module-doc/classuserrec.html +++ b/docs/module-doc/classuserrec.html @@ -113,34 +113,35 @@ Definition at line 89 of fi

-Definition at line 25 of file users.cpp. -

-References awaymsg, connection::bytes_in, connection::bytes_out, ucrec::channel, chans, connection::cmds_in, connection::cmds_out, dhost, connection::fd, flood, fullname, connection::haspassed, connection::host, ident, connection::idle_lastmsg, connection::inbuf, invites, connection::ip, connection::lastping, modes, nick, connection::nping, connection::port, connection::registered, result, server, connection::signon, timeout, and ucrec::uc_modes. -

-

00026 {
-00027         // the PROPER way to do it, AVOID bzero at *ALL* costs
-00028         strcpy(nick,"");
-00029         strcpy(ip,"127.0.0.1");
-00030         timeout = 0;
-00031         strcpy(ident,"");
-00032         strcpy(host,"");
-00033         strcpy(dhost,"");
-00034         strcpy(fullname,"");
-00035         strcpy(modes,"");
-00036         strcpy(inbuf,"");
-00037         strcpy(server,"");
-00038         strcpy(awaymsg,"");
-00039         fd = lastping = signon = idle_lastmsg = nping = registered = 0;
-00040         flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0;
-00041         haspassed = false;
-00042         strcpy(result,"");
-00043         for (int i = 0; i < MAXCHANS; i++)
-00044         {
-00045                 this->chans[i].channel = NULL;
-00046                 this->chans[i].uc_modes = 0;
-00047         }
-00048         invites.clear();
-00049 }
+Definition at line 26 of file users.cpp.
+

+References awaymsg, connection::bytes_in, connection::bytes_out, ucrec::channel, chans, connection::cmds_in, connection::cmds_out, dhost, connection::fd, flood, fullname, connection::haspassed, connection::host, ident, connection::idle_lastmsg, connection::inbuf, invites, connection::ip, connection::lastping, modes, nick, connection::nping, oper, connection::port, connection::registered, result, server, connection::signon, timeout, and ucrec::uc_modes. +

+

00027 {
+00028         // the PROPER way to do it, AVOID bzero at *ALL* costs
+00029         strcpy(nick,"");
+00030         strcpy(ip,"127.0.0.1");
+00031         timeout = 0;
+00032         strcpy(ident,"");
+00033         strcpy(host,"");
+00034         strcpy(dhost,"");
+00035         strcpy(fullname,"");
+00036         strcpy(modes,"");
+00037         strcpy(inbuf,"");
+00038         strcpy(server,"");
+00039         strcpy(awaymsg,"");
+00040         strcpy(oper,"");
+00041         fd = lastping = signon = idle_lastmsg = nping = registered = 0;
+00042         flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0;
+00043         haspassed = false;
+00044         strcpy(result,"");
+00045         for (int i = 0; i < MAXCHANS; i++)
+00046         {
+00047                 this->chans[i].channel = NULL;
+00048                 this->chans[i].uc_modes = 0;
+00049         }
+00050         invites.clear();
+00051 }
 
@@ -207,14 +208,14 @@ Returns the full displayed host of the user This member function returns the hos

-Definition at line 53 of file users.cpp. +Definition at line 55 of file users.cpp.

References dhost, ident, nick, and result.

-

00054 {
-00055         snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,dhost);
-00056         return result;
-00057 }
+
00056 {
+00057         snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,dhost);
+00058         return result;
+00059 }
 
@@ -247,14 +248,14 @@ Returns the full real host of the user This member function returns the hostname

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 60 of file users.cpp. +Definition at line 62 of file users.cpp.

References connection::host, ident, nick, and result.

-

00061 {
-00062         snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,host);
-00063         return result;
-00064 }
+
00063 {
+00064         snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,host);
+00065         return result;
+00066 }
 
@@ -288,60 +289,60 @@ 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 109 of file users.cpp. -

-References config_f, and DEBUG. -

-

00110 {
-00111         char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-00112         char* myclass;
-00113         char* mycmd;
-00114         char* savept;
-00115         char* savept2;
-00116         
-00117         // are they even an oper at all?
-00118         if (strchr(this->modes,'o'))
-00119         {
-00120                 log(DEBUG,"*** HasPermission: %s is an oper",this->nick);
-00121                 for (int j =0; j < ConfValueEnum("type",&config_f); j++)
-00122                 {
-00123                         ConfValue("type","name",j,TypeName,&config_f);
-00124                         if (!strcmp(TypeName,this->oper))
-00125                         {
-00126                                 log(DEBUG,"*** HasPermission: %s is an oper of type '%s'",this->nick,this->oper);
-00127                                 ConfValue("type","classes",j,Classes,&config_f);
-00128                                 char* myclass = strtok_r(Classes," ",&savept);
-00129                                 while (myclass)
-00130                                 {
-00131                                         log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass);
-00132                                         for (int k =0; k < ConfValueEnum("class",&config_f); k++)
-00133                                         {
-00134                                                 ConfValue("class","name",k,ClassName,&config_f);
-00135                                                 if (!strcmp(ClassName,myclass))
-00136                                                 {
-00137                                                         ConfValue("class","commands",k,CommandList,&config_f);
-00138                                                         log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList);
-00139                                                         
-00140                                                         
-00141                                                         mycmd = strtok_r(CommandList," ",&savept2);
-00142                                                         while (mycmd)
-00143                                                         {
-00144                                                                 if (!strcasecmp(mycmd,command))
-00145                                                                 {
-00146                                                                         log(DEBUG,"*** Command %s found, returning true",command);
-00147                                                                         return true;
-00148                                                                 }
-00149                                                                 mycmd = strtok_r(NULL," ",&savept2);
-00150                                                         }
-00151                                                 }
-00152                                         }
-00153                                         myclass = strtok_r(NULL," ",&savept);
-00154                                 }
-00155                         }
-00156                 }
-00157         }
-00158         return false;
-00159 }
+Definition at line 111 of file users.cpp.
+

+References config_f, and DEBUG. +

+

00112 {
+00113         char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
+00114         char* myclass;
+00115         char* mycmd;
+00116         char* savept;
+00117         char* savept2;
+00118         
+00119         // are they even an oper at all?
+00120         if (strchr(this->modes,'o'))
+00121         {
+00122                 log(DEBUG,"*** HasPermission: %s is an oper",this->nick);
+00123                 for (int j =0; j < ConfValueEnum("type",&config_f); j++)
+00124                 {
+00125                         ConfValue("type","name",j,TypeName,&config_f);
+00126                         if (!strcmp(TypeName,this->oper))
+00127                         {
+00128                                 log(DEBUG,"*** HasPermission: %s is an oper of type '%s'",this->nick,this->oper);
+00129                                 ConfValue("type","classes",j,Classes,&config_f);
+00130                                 char* myclass = strtok_r(Classes," ",&savept);
+00131                                 while (myclass)
+00132                                 {
+00133                                         log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass);
+00134                                         for (int k =0; k < ConfValueEnum("class",&config_f); k++)
+00135                                         {
+00136                                                 ConfValue("class","name",k,ClassName,&config_f);
+00137                                                 if (!strcmp(ClassName,myclass))
+00138                                                 {
+00139                                                         ConfValue("class","commands",k,CommandList,&config_f);
+00140                                                         log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList);
+00141                                                         
+00142                                                         
+00143                                                         mycmd = strtok_r(CommandList," ",&savept2);
+00144                                                         while (mycmd)
+00145                                                         {
+00146                                                                 if (!strcasecmp(mycmd,command))
+00147                                                                 {
+00148                                                                         log(DEBUG,"*** Command %s found, returning true",command);
+00149                                                                         return true;
+00150                                                                 }
+00151                                                                 mycmd = strtok_r(NULL," ",&savept2);
+00152                                                         }
+00153                                                 }
+00154                                         }
+00155                                         myclass = strtok_r(NULL," ",&savept);
+00156                                 }
+00157                         }
+00158                 }
+00159         }
+00160         return false;
+00161 }
 
@@ -375,15 +376,15 @@ Adds a channel to a users invite list (invites them to a channel).

-Definition at line 80 of file users.cpp. +Definition at line 82 of file users.cpp.

References Invited::channel, and invites.

-

00081 {
-00082         Invited i;
-00083         strlcpy(i.channel,channel,CHANMAX);
-00084         invites.push_back(i);
-00085 }
+
00083 {
+00084         Invited i;
+00085         strlcpy(i.channel,channel,CHANMAX);
+00086         invites.push_back(i);
+00087 }
 
@@ -417,22 +418,22 @@ Returns true if a user is invited to a channel.

-Definition at line 66 of file users.cpp. +Definition at line 68 of file users.cpp.

References invites.

-

00067 {
-00068         for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-00069         {
-00070                 if (i->channel) {
-00071                         if (!strcasecmp(i->channel,channel))
-00072                         {
-00073                                 return true;
-00074                         }
-00075                 }
-00076         }
-00077         return false;
-00078 }
+
00069 {
+00070         for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
+00071         {
+00072                 if (i->channel) {
+00073                         if (!strcasecmp(i->channel,channel))
+00074                         {
+00075                                 return true;
+00076                         }
+00077                 }
+00078         }
+00079         return false;
+00080 }
 
@@ -466,30 +467,30 @@ 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 87 of file users.cpp. +Definition at line 89 of file users.cpp.

References DEBUG, and invites.

-

00088 {
-00089         log(DEBUG,"Removing invites");
-00090         if (channel)
-00091         {
-00092                 if (invites.size())
-00093                 {
-00094                         for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-00095                         {
-00096                                 if (i->channel)
-00097                                 {
-00098                                         if (!strcasecmp(i->channel,channel))
-00099                                         {
-00100                                                 invites.erase(i);
-00101                                                 return;
-00102                                         }
-00103                                 }
-00104                         }
-00105                 }
-00106         }
-00107 }
+
00090 {
+00091         log(DEBUG,"Removing invites");
+00092         if (channel)
+00093         {
+00094                 if (invites.size())
+00095                 {
+00096                         for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
+00097                         {
+00098                                 if (i->channel)
+00099                                 {
+00100                                         if (!strcasecmp(i->channel,channel))
+00101                                         {
+00102                                                 invites.erase(i);
+00103                                                 return;
+00104                                         }
+00105                                 }
+00106                         }
+00107                 }
+00108         }
+00109 }
 
@@ -519,7 +520,7 @@ If this string is empty, the user is not marked as away.

Definition at line 132 of file users.h.

-Referenced by userrec(). +Referenced by userrec().

@@ -545,7 +546,7 @@ Referenced by userrec().

Definition at line 123 of file users.h.

-Referenced by userrec(). +Referenced by userrec().

@@ -573,7 +574,7 @@ This usually matches the value of u

Definition at line 111 of file users.h.

-Referenced by GetFullHost(), and userrec(). +Referenced by GetFullHost(), and userrec().

@@ -601,7 +602,7 @@ Number of lines the user can place into the buffer (up to the global NetBufferSi

Definition at line 143 of file users.h.

-Referenced by userrec(). +Referenced by userrec().

@@ -629,7 +630,7 @@ The users full name.

Definition at line 115 of file users.h.

-Referenced by userrec(). +Referenced by userrec().

@@ -657,7 +658,7 @@ The users ident reply.

Definition at line 106 of file users.h.

-Referenced by GetFullHost(), GetFullRealHost(), and userrec(). +Referenced by GetFullHost(), GetFullRealHost(), and userrec().

@@ -685,7 +686,7 @@ A list of channels the user has a pending invite to.

Definition at line 95 of file users.h.

-Referenced by InviteTo(), IsInvited(), RemoveInvite(), and userrec(). +Referenced by InviteTo(), IsInvited(), RemoveInvite(), and userrec().

@@ -713,7 +714,7 @@ This may contain any of the following RFC characters: o, w, s, i Your module may

Definition at line 121 of file users.h.

-Referenced by userrec(). +Referenced by userrec().

@@ -741,7 +742,7 @@ An invalid nickname indicates an unregistered connection prior to the NICK comma

Definition at line 102 of file users.h.

-Referenced by ConfigReader::DumpErrors(), GetFullHost(), GetFullRealHost(), Server::QuitUser(), and userrec(). +Referenced by ConfigReader::DumpErrors(), GetFullHost(), GetFullRealHost(), Server::QuitUser(), and userrec().

@@ -767,7 +768,9 @@ 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 156 of file users.h. +Definition at line 156 of file users.h. +

+Referenced by userrec().

@@ -795,7 +798,7 @@ You may use this to increase the speed of use of this class.

Definition at line 137 of file users.h.

-Referenced by GetFullHost(), GetFullRealHost(), and userrec(). +Referenced by GetFullHost(), GetFullRealHost(), and userrec().

@@ -823,7 +826,7 @@ The server the user is connected to.

Definition at line 127 of file users.h.

-Referenced by userrec(). +Referenced by userrec().

@@ -851,12 +854,12 @@ Number of seconds this user is given to send USER/NICK If they do not send their

Definition at line 149 of file users.h.

-Referenced by userrec(). +Referenced by userrec().


The documentation for this class was generated from the following files: -
Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/commands_8h-source.html b/docs/module-doc/commands_8h-source.html index 0f09a8152..7e7fe4af0 100644 --- a/docs/module-doc/commands_8h-source.html +++ b/docs/module-doc/commands_8h-source.html @@ -113,7 +113,7 @@ 00114 bool is_uline(const char* server); 00115 00116 #endif -

Generated on Fri Mar 25 03:49:27 2005 for InspIRCd by +

Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/commands_8h.html b/docs/module-doc/commands_8h.html index 0896615b4..bb4c3ff1e 100644 --- a/docs/module-doc/commands_8h.html +++ b/docs/module-doc/commands_8h.html @@ -3548,7 +3548,7 @@ Functions for u:lined servers.

-Referenced by Server::IsUlined(). +Referenced by Server::IsUlined().

@@ -3619,7 +3619,7 @@ Referenced by Server::IsUli -


Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/connection_8h-source.html b/docs/module-doc/connection_8h-source.html index b63a55de3..392a25536 100644 --- a/docs/module-doc/connection_8h-source.html +++ b/docs/module-doc/connection_8h-source.html @@ -168,7 +168,7 @@ 00300 00301 #endif 00302 -

Generated on Fri Mar 25 03:49:27 2005 for InspIRCd by +

Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/connection_8h.html b/docs/module-doc/connection_8h.html index 7a1b5130d..dd22d1cba 100644 --- a/docs/module-doc/connection_8h.html +++ b/docs/module-doc/connection_8h.html @@ -191,7 +191,7 @@ Definition at line 39 Definition at line 36 of file connection.h. -
Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/ctables_8h-source.html b/docs/module-doc/ctables_8h-source.html index 58c4c7747..194a347e3 100644 --- a/docs/module-doc/ctables_8h-source.html +++ b/docs/module-doc/ctables_8h-source.html @@ -41,7 +41,7 @@ 00048 00049 #endif 00050 -

Generated on Fri Mar 25 03:49:27 2005 for InspIRCd by +

Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/ctables_8h.html b/docs/module-doc/ctables_8h.html index f49ddf7f8..17edc9eed 100644 --- a/docs/module-doc/ctables_8h.html +++ b/docs/module-doc/ctables_8h.html @@ -17,7 +17,7 @@  A structure that defines a command. More...

-
Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/files.html b/docs/module-doc/files.html index 670c40590..b69ab8557 100644 --- a/docs/module-doc/files.html +++ b/docs/module-doc/files.html @@ -22,7 +22,7 @@ users.h [code] xline.h [code] -
Generated on Fri Mar 25 03:49:26 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:23 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/functions.html b/docs/module-doc/functions.html index 6a5ca8840..770c9e991 100644 --- a/docs/module-doc/functions.html +++ b/docs/module-doc/functions.html @@ -186,11 +186,14 @@ Here is a list of all class members with links to the classes they belong to:

connection

- o -

-
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/functions_func.html b/docs/module-doc/functions_func.html index dfce49e59..bf68a482e 100644 --- a/docs/module-doc/functions_func.html +++ b/docs/module-doc/functions_func.html @@ -114,11 +114,14 @@ : ModuleFactory

- o -

-
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/functions_vars.html b/docs/module-doc/functions_vars.html index 448444fdd..a0ce38b35 100644 --- a/docs/module-doc/functions_vars.html +++ b/docs/module-doc/functions_vars.html @@ -173,7 +173,7 @@ -
Generated on Fri Mar 25 03:49:31 2005 for InspIRCd by +
Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
diff --git a/docs/module-doc/globals.html b/docs/module-doc/globals.html index d6a7125ab..8b5aec650 100644 --- a/docs/module-doc/globals.html +++ b/docs/module-doc/globals.html @@ -320,7 +320,7 @@ Here is a list of all file members with links to the files they belong to:

zline_make_global() : xline.h
  • zline_set_creation_time() : xline.h -
    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/globals_defs.html b/docs/module-doc/globals_defs.html index fbd70e221..6a1565b79 100644 --- a/docs/module-doc/globals_defs.html +++ b/docs/module-doc/globals_defs.html @@ -87,7 +87,7 @@
  • -
    Generated on Fri Mar 25 03:49:35 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/globals_func.html b/docs/module-doc/globals_func.html index f72bb0444..c4b98b168 100644 --- a/docs/module-doc/globals_func.html +++ b/docs/module-doc/globals_func.html @@ -203,7 +203,7 @@
  • zline_make_global() : xline.h
  • zline_set_creation_time() : xline.h -
    Generated on Fri Mar 25 03:49:35 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/globals_type.html b/docs/module-doc/globals_type.html index e1eede3f6..ec9c4ce13 100644 --- a/docs/module-doc/globals_type.html +++ b/docs/module-doc/globals_type.html @@ -26,7 +26,7 @@ : modules.h
  • user_hash : modules.cpp
  • VoidPointer : base.h -
    Generated on Fri Mar 25 03:49:35 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/globals_vars.html b/docs/module-doc/globals_vars.html index a1cbb448c..cedf26b75 100644 --- a/docs/module-doc/globals_vars.html +++ b/docs/module-doc/globals_vars.html @@ -101,7 +101,7 @@ : modules.cpp
  • WHOWAS_MAX : modules.cpp, channels.cpp
  • WHOWAS_STALE : modules.cpp, channels.cpp -
    Generated on Fri Mar 25 03:49:35 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/hierarchy.html b/docs/module-doc/hierarchy.html index 3e21d851d..4dd573d83 100644 --- a/docs/module-doc/hierarchy.html +++ b/docs/module-doc/hierarchy.html @@ -51,7 +51,7 @@
  • nspace::hash< string >
  • StrHashComp -
    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/main.html b/docs/module-doc/main.html index a85445e6c..2b0767bc6 100644 --- a/docs/module-doc/main.html +++ b/docs/module-doc/main.html @@ -7,7 +7,7 @@

    InspIRCd Documentation

    -


    Generated on Fri Mar 25 03:49:26 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:23 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/message_8h-source.html b/docs/module-doc/message_8h-source.html index 507b78ada..428089429 100644 --- a/docs/module-doc/message_8h-source.html +++ b/docs/module-doc/message_8h-source.html @@ -57,7 +57,7 @@ 00050 void send_network_quit(const char* nick, const char* reason); 00051 00052 #endif -

  • Generated on Fri Mar 25 03:49:27 2005 for InspIRCd by +

    Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/message_8h.html b/docs/module-doc/message_8h.html index 80adff029..bd8546e2b 100644 --- a/docs/module-doc/message_8h.html +++ b/docs/module-doc/message_8h.html @@ -155,7 +155,7 @@

    -Referenced by Server::ChangeHost(). +Referenced by Server::ChangeHost().

    @@ -195,7 +195,7 @@ Referenced by Server::Chang

    -Referenced by Server::ChangeGECOS(). +Referenced by Server::ChangeGECOS().

    @@ -331,7 +331,7 @@ Referenced by Server::Chang

    -Referenced by Server::ChanMode(). +Referenced by Server::ChanMode().

    @@ -371,7 +371,7 @@ Referenced by Server::ChanM

    -Referenced by Server::CommonChannels(). +Referenced by Server::CommonChannels().

    @@ -449,7 +449,7 @@ Referenced by Server::Commo

    -Referenced by Server::GetUsers(), and Server::IsOnChannel(). +Referenced by Server::GetUsers(), and Server::IsOnChannel().

    @@ -547,7 +547,7 @@ Referenced by Server::GetUs

    -Referenced by Server::GetUsers(), and Server::IsNick(). +Referenced by Server::GetUsers(), and Server::IsNick().

    @@ -674,7 +674,7 @@ Referenced by Server::GetUs

    -Referenced by Server::QuitUser(). +Referenced by Server::QuitUser().

    @@ -735,7 +735,7 @@ Referenced by Server::QuitU -


    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/mode_8h-source.html b/docs/module-doc/mode_8h-source.html index 833ab2396..197115a66 100644 --- a/docs/module-doc/mode_8h-source.html +++ b/docs/module-doc/mode_8h-source.html @@ -53,7 +53,7 @@ 00046 00047 00048 #endif -

    Generated on Fri Mar 25 03:49:27 2005 for InspIRCd by +

    Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/mode_8h.html b/docs/module-doc/mode_8h.html index fb4674b0b..526912537 100644 --- a/docs/module-doc/mode_8h.html +++ b/docs/module-doc/mode_8h.html @@ -788,7 +788,7 @@ -
    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html index fcf95d119..27f88fd1a 100644 --- a/docs/module-doc/modules_8cpp-source.html +++ b/docs/module-doc/modules_8cpp-source.html @@ -58,719 +58,729 @@ 00051 #include "mode.h" 00052 #include "xline.h" 00053 #include "commands.h" -00054 -00055 #ifdef GCC3 -00056 #define nspace __gnu_cxx -00057 #else -00058 #define nspace std -00059 #endif -00060 -00061 using namespace std; -00062 -00063 extern int MODCOUNT; -00064 extern vector<Module*> modules; -00065 extern vector<ircd_module*> factory; -00066 -00067 extern int LogLevel; -00068 extern char ServerName[MAXBUF]; -00069 extern char Network[MAXBUF]; -00070 extern char ServerDesc[MAXBUF]; -00071 extern char AdminName[MAXBUF]; -00072 extern char AdminEmail[MAXBUF]; -00073 extern char AdminNick[MAXBUF]; -00074 extern char diepass[MAXBUF]; -00075 extern char restartpass[MAXBUF]; -00076 extern char motd[MAXBUF]; -00077 extern char rules[MAXBUF]; -00078 extern char list[MAXBUF]; -00079 extern char PrefixQuit[MAXBUF]; -00080 extern char DieValue[MAXBUF]; -00081 -00082 extern int debugging; -00083 extern int WHOWAS_STALE; -00084 extern int WHOWAS_MAX; -00085 extern int DieDelay; -00086 extern time_t startup_time; -00087 extern int NetBufferSize; -00088 extern int MaxWhoResults; -00089 extern time_t nb_start; -00090 -00091 extern std::vector<int> fd_reap; -00092 extern std::vector<std::string> module_names; -00093 -00094 extern int boundPortCount; -00095 extern int portCount; -00096 extern int UDPportCount; -00097 extern int ports[MAXSOCKS]; -00098 extern int defaultRoute; -00099 -00100 extern std::vector<long> auth_cookies; -00101 extern std::stringstream config_f; -00102 -00103 extern serverrec* me[32]; -00104 -00105 extern FILE *log_file; -00106 +00054 #include "inspstring.h" +00055 +00056 #ifdef GCC3 +00057 #define nspace __gnu_cxx +00058 #else +00059 #define nspace std +00060 #endif +00061 +00062 using namespace std; +00063 +00064 extern int MODCOUNT; +00065 extern std::vector<Module*> modules; +00066 extern std::vector<ircd_module*> factory; +00067 +00068 extern int LogLevel; +00069 extern char ServerName[MAXBUF]; +00070 extern char Network[MAXBUF]; +00071 extern char ServerDesc[MAXBUF]; +00072 extern char AdminName[MAXBUF]; +00073 extern char AdminEmail[MAXBUF]; +00074 extern char AdminNick[MAXBUF]; +00075 extern char diepass[MAXBUF]; +00076 extern char restartpass[MAXBUF]; +00077 extern char motd[MAXBUF]; +00078 extern char rules[MAXBUF]; +00079 extern char list[MAXBUF]; +00080 extern char PrefixQuit[MAXBUF]; +00081 extern char DieValue[MAXBUF]; +00082 +00083 extern int debugging; +00084 extern int WHOWAS_STALE; +00085 extern int WHOWAS_MAX; +00086 extern int DieDelay; +00087 extern time_t startup_time; +00088 extern int NetBufferSize; +00089 extern int MaxWhoResults; +00090 extern time_t nb_start; +00091 +00092 extern std::vector<int> fd_reap; +00093 extern std::vector<std::string> module_names; +00094 +00095 extern int boundPortCount; +00096 extern int portCount; +00097 extern int UDPportCount; +00098 extern int ports[MAXSOCKS]; +00099 extern int defaultRoute; +00100 +00101 extern std::vector<long> auth_cookies; +00102 extern std::stringstream config_f; +00103 +00104 extern serverrec* me[32]; +00105 +00106 extern FILE *log_file; 00107 -00108 namespace nspace -00109 { -00110 template<> struct nspace::hash<in_addr> -00111 { -00112 size_t operator()(const struct in_addr &a) const -00113 { -00114 size_t q; -00115 memcpy(&q,&a,sizeof(size_t)); -00116 return q; -00117 } -00118 }; -00119 -00120 template<> struct nspace::hash<string> -00121 { -00122 size_t operator()(const string &s) const -00123 { -00124 char a[MAXBUF]; -00125 static struct hash<const char *> strhash; -00126 strlcpy(a,s.c_str(),MAXBUF); -00127 strlower(a); -00128 return strhash(a); -00129 } -00130 }; -00131 } -00132 -00133 -00134 struct StrHashComp -00135 { -00136 -00137 bool operator()(const string& s1, const string& s2) const -00138 { -00139 char a[MAXBUF],b[MAXBUF]; -00140 strlcpy(a,s1.c_str(),MAXBUF); -00141 strlcpy(b,s2.c_str(),MAXBUF); -00142 return (strcasecmp(a,b) == 0); -00143 } -00144 -00145 }; -00146 -00147 struct InAddr_HashComp -00148 { -00149 -00150 bool operator()(const in_addr &s1, const in_addr &s2) const -00151 { -00152 size_t q; -00153 size_t p; -00154 -00155 memcpy(&q,&s1,sizeof(size_t)); -00156 memcpy(&p,&s2,sizeof(size_t)); -00157 -00158 return (q == p); -00159 } -00160 -00161 }; -00162 -00163 -00164 typedef nspace::hash_map<std::string, userrec*, nspace::hash<string>, StrHashComp> user_hash; -00165 typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, StrHashComp> chan_hash; -00166 typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, InAddr_HashComp> address_cache; -00167 typedef std::deque<command_t> command_table; -00168 +00108 +00109 namespace nspace +00110 { +00111 #ifdef GCC34 +00112 template<> struct hash<in_addr> +00113 #else +00114 template<> struct nspace::hash<in_addr> +00115 #endif +00116 { +00117 size_t operator()(const struct in_addr &a) const +00118 { +00119 size_t q; +00120 memcpy(&q,&a,sizeof(size_t)); +00121 return q; +00122 } +00123 }; +00124 #ifdef GCC34 +00125 template<> struct hash<string> +00126 #else +00127 template<> struct nspace::hash<string> +00128 #endif +00129 { +00130 size_t operator()(const string &s) const +00131 { +00132 char a[MAXBUF]; +00133 static struct hash<const char *> strhash; +00134 strlcpy(a,s.c_str(),MAXBUF); +00135 strlower(a); +00136 return strhash(a); +00137 } +00138 }; +00139 } +00140 +00141 struct StrHashComp +00142 { +00143 +00144 bool operator()(const string& s1, const string& s2) const +00145 { +00146 char a[MAXBUF],b[MAXBUF]; +00147 strlcpy(a,s1.c_str(),MAXBUF); +00148 strlcpy(b,s2.c_str(),MAXBUF); +00149 return (strcasecmp(a,b) == 0); +00150 } +00151 +00152 }; +00153 +00154 struct InAddr_HashComp +00155 { +00156 +00157 bool operator()(const in_addr &s1, const in_addr &s2) const +00158 { +00159 size_t q; +00160 size_t p; +00161 +00162 memcpy(&q,&s1,sizeof(size_t)); +00163 memcpy(&p,&s2,sizeof(size_t)); +00164 +00165 return (q == p); +00166 } +00167 +00168 }; 00169 -00170 extern user_hash clientlist; -00171 extern chan_hash chanlist; -00172 extern user_hash whowas; -00173 extern command_table cmdlist; -00174 extern file_cache MOTD; -00175 extern file_cache RULES; -00176 extern address_cache IP; -00177 -00178 -00179 // class type for holding an extended mode character - internal to core -00180 -00181 class ExtMode : public classbase -00182 { -00183 public: -00184 char modechar; -00185 int type; -00186 int params_when_on; -00187 int params_when_off; -00188 bool needsoper; -00189 bool list; -00190 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) { }; -00191 }; -00192 -00193 typedef std::vector<ExtMode> ExtModeList; -00194 typedef ExtModeList::iterator ExtModeListIter; -00195 -00196 -00197 ExtModeList EMode; -00198 -00199 // returns true if an extended mode character is in use -00200 bool ModeDefined(char modechar, int type) -00201 { -00202 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); -00203 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00204 { -00205 if ((i->modechar == modechar) && (i->type == type)) -00206 { -00207 return true; -00208 } -00209 } -00210 return false; -00211 } -00212 -00213 bool ModeIsListMode(char modechar, int type) -00214 { -00215 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); -00216 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00217 { -00218 if ((i->modechar == modechar) && (i->type == type) && (i->list == true)) -00219 { -00220 return true; -00221 } -00222 } -00223 return false; -00224 } -00225 -00226 bool ModeDefinedOper(char modechar, int type) -00227 { -00228 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); -00229 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00230 { -00231 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) -00232 { -00233 return true; -00234 } -00235 } -00236 return false; -00237 } -00238 -00239 // returns number of parameters for a custom mode when it is switched on -00240 int ModeDefinedOn(char modechar, int type) -00241 { -00242 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00243 { -00244 if ((i->modechar == modechar) && (i->type == type)) -00245 { -00246 return i->params_when_on; -00247 } -00248 } -00249 return 0; -00250 } -00251 -00252 // returns number of parameters for a custom mode when it is switched on -00253 int ModeDefinedOff(char modechar, int type) -00254 { -00255 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00256 { -00257 if ((i->modechar == modechar) && (i->type == type)) -00258 { -00259 return i->params_when_off; -00260 } -00261 } -00262 return 0; -00263 } -00264 -00265 // returns true if an extended mode character is in use -00266 bool DoAddExtendedMode(char modechar, int type, bool requires_oper, int params_on, int params_off) -00267 { -00268 if (ModeDefined(modechar,type)) { -00269 return false; -00270 } -00271 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); -00272 return true; -00273 } -00274 -00275 // turns a mode into a listmode -00276 void ModeMakeList(char modechar) -00277 { -00278 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) -00279 { -00280 if ((i->modechar == modechar) && (i->type == MT_CHANNEL)) -00281 { -00282 i->list = true; -00283 return; -00284 } -00285 } -00286 return; -00287 } -00288 -00289 // version is a simple class for holding a modules version number -00290 -00291 Version::Version(int major, int minor, int revision, int build) : Major(major), Minor(minor), Revision(revision), Build(build) { }; -00292 -00293 // admin is a simple class for holding a server's administrative info -00294 -00295 Admin::Admin(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { }; -00296 -00297 Module::Module() { } -00298 Module::~Module() { } -00299 void Module::OnUserConnect(userrec* user) { } -00300 void Module::OnUserQuit(userrec* user) { } -00301 void Module::OnUserJoin(userrec* user, chanrec* channel) { } -00302 void Module::OnUserPart(userrec* user, chanrec* channel) { } -00303 void Module::OnPacketTransmit(char *p) { } -00304 void Module::OnPacketReceive(char *p) { } -00305 void Module::OnRehash() { } -00306 void Module::OnServerRaw(std::string &raw, bool inbound, userrec* user) { } -00307 int Module::OnUserPreJoin(userrec* user, chanrec* chan, const char* cname) { return 0; } -00308 int Module::OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params) { return false; } -00309 Version Module::GetVersion() { return Version(1,0,0,0); } -00310 void Module::OnOper(userrec* user) { }; -00311 void Module::OnInfo(userrec* user) { }; -00312 void Module::OnWhois(userrec* source, userrec* dest) { }; -00313 int Module::OnUserPreInvite(userrec* source,userrec* dest,chanrec* channel) { return 0; }; -00314 int Module::OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text) { return 0; }; -00315 int Module::OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text) { return 0; }; -00316 int Module::OnUserPreNick(userrec* user, std::string newnick) { return 0; }; -00317 int Module::OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type) { return ACR_DEFAULT; }; -00318 string_list Module::OnUserSync(userrec* user) { string_list empty; return empty; } -00319 string_list Module::OnChannelSync(chanrec* chan) { string_list empty; return empty; } -00320 -00321 -00322 // server is a wrapper class that provides methods to all of the C-style -00323 // exports in the core -00324 // -00325 -00326 Server::Server() -00327 { -00328 } -00329 -00330 Server::~Server() -00331 { -00332 } -00333 -00334 void Server::SendOpers(std::string s) -00335 { -00336 WriteOpers("%s",s.c_str()); -00337 } -00338 -00339 bool Server::MatchText(std::string sliteral, std::string spattern) -00340 { -00341 char literal[MAXBUF],pattern[MAXBUF]; -00342 strlcpy(literal,sliteral.c_str(),MAXBUF); -00343 strlcpy(pattern,spattern.c_str(),MAXBUF); -00344 return match(literal,pattern); -00345 } -00346 -00347 void Server::SendToModeMask(std::string modes, int flags, std::string text) -00348 { -00349 WriteMode(modes.c_str(),flags,"%s",text.c_str()); -00350 } -00351 -00352 chanrec* Server::JoinUserToChannel(userrec* user, std::string cname, std::string key) -00353 { -00354 return add_channel(user,cname.c_str(),key.c_str(),true); +00170 +00171 typedef nspace::hash_map<std::string, userrec*, nspace::hash<string>, StrHashComp> user_hash; +00172 typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, StrHashComp> chan_hash; +00173 typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, InAddr_HashComp> address_cache; +00174 typedef std::deque<command_t> command_table; +00175 +00176 +00177 extern user_hash clientlist; +00178 extern chan_hash chanlist; +00179 extern user_hash whowas; +00180 extern command_table cmdlist; +00181 extern file_cache MOTD; +00182 extern file_cache RULES; +00183 extern address_cache IP; +00184 +00185 +00186 // class type for holding an extended mode character - internal to core +00187 +00188 class ExtMode : public classbase +00189 { +00190 public: +00191 char modechar; +00192 int type; +00193 int params_when_on; +00194 int params_when_off; +00195 bool needsoper; +00196 bool list; +00197 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) { }; +00198 }; +00199 +00200 typedef std::vector<ExtMode> ExtModeList; +00201 typedef ExtModeList::iterator ExtModeListIter; +00202 +00203 +00204 ExtModeList EMode; +00205 +00206 // returns true if an extended mode character is in use +00207 bool ModeDefined(char modechar, int type) +00208 { +00209 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); +00210 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00211 { +00212 if ((i->modechar == modechar) && (i->type == type)) +00213 { +00214 return true; +00215 } +00216 } +00217 return false; +00218 } +00219 +00220 bool ModeIsListMode(char modechar, int type) +00221 { +00222 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); +00223 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00224 { +00225 if ((i->modechar == modechar) && (i->type == type) && (i->list == true)) +00226 { +00227 return true; +00228 } +00229 } +00230 return false; +00231 } +00232 +00233 bool ModeDefinedOper(char modechar, int type) +00234 { +00235 log(DEBUG,"Size of extmodes vector is %d",EMode.size()); +00236 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00237 { +00238 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) +00239 { +00240 return true; +00241 } +00242 } +00243 return false; +00244 } +00245 +00246 // returns number of parameters for a custom mode when it is switched on +00247 int ModeDefinedOn(char modechar, int type) +00248 { +00249 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00250 { +00251 if ((i->modechar == modechar) && (i->type == type)) +00252 { +00253 return i->params_when_on; +00254 } +00255 } +00256 return 0; +00257 } +00258 +00259 // returns number of parameters for a custom mode when it is switched on +00260 int ModeDefinedOff(char modechar, int type) +00261 { +00262 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00263 { +00264 if ((i->modechar == modechar) && (i->type == type)) +00265 { +00266 return i->params_when_off; +00267 } +00268 } +00269 return 0; +00270 } +00271 +00272 // returns true if an extended mode character is in use +00273 bool DoAddExtendedMode(char modechar, int type, bool requires_oper, int params_on, int params_off) +00274 { +00275 if (ModeDefined(modechar,type)) { +00276 return false; +00277 } +00278 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); +00279 return true; +00280 } +00281 +00282 // turns a mode into a listmode +00283 void ModeMakeList(char modechar) +00284 { +00285 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +00286 { +00287 if ((i->modechar == modechar) && (i->type == MT_CHANNEL)) +00288 { +00289 i->list = true; +00290 return; +00291 } +00292 } +00293 return; +00294 } +00295 +00296 // version is a simple class for holding a modules version number +00297 +00298 Version::Version(int major, int minor, int revision, int build) : Major(major), Minor(minor), Revision(revision), Build(build) { }; +00299 +00300 // admin is a simple class for holding a server's administrative info +00301 +00302 Admin::Admin(std::string name, std::string email, std::string nick) : Name(name), Email(email), Nick(nick) { }; +00303 +00304 Module::Module() { } +00305 Module::~Module() { } +00306 void Module::OnUserConnect(userrec* user) { } +00307 void Module::OnUserQuit(userrec* user) { } +00308 void Module::OnUserJoin(userrec* user, chanrec* channel) { } +00309 void Module::OnUserPart(userrec* user, chanrec* channel) { } +00310 void Module::OnPacketTransmit(char *p) { } +00311 void Module::OnPacketReceive(char *p) { } +00312 void Module::OnRehash() { } +00313 void Module::OnServerRaw(std::string &raw, bool inbound, userrec* user) { } +00314 int Module::OnUserPreJoin(userrec* user, chanrec* chan, const char* cname) { return 0; } +00315 int Module::OnExtendedMode(userrec* user, void* target, char modechar, int type, bool mode_on, string_list &params) { return false; } +00316 Version Module::GetVersion() { return Version(1,0,0,0); } +00317 void Module::OnOper(userrec* user) { }; +00318 void Module::OnInfo(userrec* user) { }; +00319 void Module::OnWhois(userrec* source, userrec* dest) { }; +00320 int Module::OnUserPreInvite(userrec* source,userrec* dest,chanrec* channel) { return 0; }; +00321 int Module::OnUserPreMessage(userrec* user,void* dest,int target_type, std::string &text) { return 0; }; +00322 int Module::OnUserPreNotice(userrec* user,void* dest,int target_type, std::string &text) { return 0; }; +00323 int Module::OnUserPreNick(userrec* user, std::string newnick) { return 0; }; +00324 int Module::OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type) { return ACR_DEFAULT; }; +00325 string_list Module::OnUserSync(userrec* user) { string_list empty; return empty; } +00326 string_list Module::OnChannelSync(chanrec* chan) { string_list empty; return empty; } +00327 void Module::On005Numeric(std::string &output) { }; +00328 int Module::OnKill(userrec* source, userrec* dest, std::string reason) { return 0; }; +00329 void Module::OnLoadModule(Module* mod,std::string name) { }; +00330 +00331 +00332 // server is a wrapper class that provides methods to all of the C-style +00333 // exports in the core +00334 // +00335 +00336 Server::Server() +00337 { +00338 } +00339 +00340 Server::~Server() +00341 { +00342 } +00343 +00344 void Server::SendOpers(std::string s) +00345 { +00346 WriteOpers("%s",s.c_str()); +00347 } +00348 +00349 bool Server::MatchText(std::string sliteral, std::string spattern) +00350 { +00351 char literal[MAXBUF],pattern[MAXBUF]; +00352 strlcpy(literal,sliteral.c_str(),MAXBUF); +00353 strlcpy(pattern,spattern.c_str(),MAXBUF); +00354 return match(literal,pattern); 00355 } 00356 -00357 chanrec* Server::PartUserFromChannel(userrec* user, std::string cname, std::string reason) +00357 void Server::SendToModeMask(std::string modes, int flags, std::string text) 00358 { -00359 return del_channel(user,cname.c_str(),reason.c_str(),false); +00359 WriteMode(modes.c_str(),flags,"%s",text.c_str()); 00360 } 00361 -00362 chanuserlist Server::GetUsers(chanrec* chan) +00362 chanrec* Server::JoinUserToChannel(userrec* user, std::string cname, std::string key) 00363 { -00364 chanuserlist userl; -00365 userl.clear(); -00366 for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++) -00367 { -00368 if (i->second) -00369 { -00370 if (has_channel(i->second,chan)) -00371 { -00372 if (isnick(i->second->nick)) -00373 { -00374 userl.push_back(i->second); -00375 } -00376 } -00377 } -00378 } -00379 return userl; -00380 } -00381 void Server::ChangeUserNick(userrec* user, std::string nickname) -00382 { -00383 force_nickchange(user,nickname.c_str()); -00384 } -00385 -00386 void Server::QuitUser(userrec* user, std::string reason) -00387 { -00388 send_network_quit(user->nick,reason.c_str()); -00389 kill_link(user,reason.c_str()); +00364 return add_channel(user,cname.c_str(),key.c_str(),true); +00365 } +00366 +00367 chanrec* Server::PartUserFromChannel(userrec* user, std::string cname, std::string reason) +00368 { +00369 return del_channel(user,cname.c_str(),reason.c_str(),false); +00370 } +00371 +00372 chanuserlist Server::GetUsers(chanrec* chan) +00373 { +00374 chanuserlist userl; +00375 userl.clear(); +00376 for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++) +00377 { +00378 if (i->second) +00379 { +00380 if (has_channel(i->second,chan)) +00381 { +00382 if (isnick(i->second->nick)) +00383 { +00384 userl.push_back(i->second); +00385 } +00386 } +00387 } +00388 } +00389 return userl; 00390 } -00391 -00392 bool Server::IsUlined(std::string server) -00393 { -00394 return is_uline(server.c_str()); -00395 } -00396 -00397 void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user) -00398 { -00399 call_handler(commandname.c_str(),parameters,pcnt,user); +00391 void Server::ChangeUserNick(userrec* user, std::string nickname) +00392 { +00393 force_nickchange(user,nickname.c_str()); +00394 } +00395 +00396 void Server::QuitUser(userrec* user, std::string reason) +00397 { +00398 send_network_quit(user->nick,reason.c_str()); +00399 kill_link(user,reason.c_str()); 00400 } 00401 -00402 void Server::Log(int level, std::string s) +00402 bool Server::IsUlined(std::string server) 00403 { -00404 log(level,"%s",s.c_str()); +00404 return is_uline(server.c_str()); 00405 } 00406 -00407 void Server::AddCommand(char* cmd, handlerfunc f, char flags, int minparams) +00407 void Server::CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user) 00408 { -00409 createcommand(cmd,f,flags,minparams); +00409 call_handler(commandname.c_str(),parameters,pcnt,user); 00410 } 00411 -00412 void Server::SendMode(char **parameters, int pcnt, userrec *user) +00412 void Server::Log(int level, std::string s) 00413 { -00414 server_mode(parameters,pcnt,user); +00414 log(level,"%s",s.c_str()); 00415 } 00416 -00417 void Server::Send(int Socket, std::string s) +00417 void Server::AddCommand(char* cmd, handlerfunc f, char flags, int minparams) 00418 { -00419 Write(Socket,"%s",s.c_str()); +00419 createcommand(cmd,f,flags,minparams); 00420 } 00421 -00422 void Server::SendServ(int Socket, std::string s) +00422 void Server::SendMode(char **parameters, int pcnt, userrec *user) 00423 { -00424 WriteServ(Socket,"%s",s.c_str()); +00424 server_mode(parameters,pcnt,user); 00425 } 00426 -00427 void Server::SendFrom(int Socket, userrec* User, std::string s) +00427 void Server::Send(int Socket, std::string s) 00428 { -00429 WriteFrom(Socket,User,"%s",s.c_str()); +00429 Write(Socket,"%s",s.c_str()); 00430 } 00431 -00432 void Server::SendTo(userrec* Source, userrec* Dest, std::string s) +00432 void Server::SendServ(int Socket, std::string s) 00433 { -00434 if (!Source) -00435 { -00436 // if source is NULL, then the message originates from the local server -00437 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str()); -00438 } -00439 else -00440 { -00441 // otherwise it comes from the user specified -00442 WriteTo(Source,Dest,"%s",s.c_str()); -00443 } -00444 } -00445 -00446 void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender) -00447 { -00448 if (IncludeSender) -00449 { -00450 WriteChannel(Channel,User,"%s",s.c_str()); -00451 } -00452 else -00453 { -00454 ChanExceptSender(Channel,User,"%s",s.c_str()); -00455 } -00456 } -00457 -00458 bool Server::CommonChannels(userrec* u1, userrec* u2) -00459 { -00460 return (common_channels(u1,u2) != 0); -00461 } -00462 -00463 void Server::SendCommon(userrec* User, std::string text,bool IncludeSender) -00464 { -00465 if (IncludeSender) -00466 { -00467 WriteCommon(User,"%s",text.c_str()); -00468 } -00469 else -00470 { -00471 WriteCommonExcept(User,"%s",text.c_str()); -00472 } -00473 } -00474 -00475 void Server::SendWallops(userrec* User, std::string text) -00476 { -00477 WriteWallOps(User,false,"%s",text.c_str()); -00478 } -00479 -00480 void Server::ChangeHost(userrec* user, std::string host) -00481 { -00482 ChangeDisplayedHost(user,host.c_str()); +00434 WriteServ(Socket,"%s",s.c_str()); +00435 } +00436 +00437 void Server::SendFrom(int Socket, userrec* User, std::string s) +00438 { +00439 WriteFrom(Socket,User,"%s",s.c_str()); +00440 } +00441 +00442 void Server::SendTo(userrec* Source, userrec* Dest, std::string s) +00443 { +00444 if (!Source) +00445 { +00446 // if source is NULL, then the message originates from the local server +00447 Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str()); +00448 } +00449 else +00450 { +00451 // otherwise it comes from the user specified +00452 WriteTo(Source,Dest,"%s",s.c_str()); +00453 } +00454 } +00455 +00456 void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender) +00457 { +00458 if (IncludeSender) +00459 { +00460 WriteChannel(Channel,User,"%s",s.c_str()); +00461 } +00462 else +00463 { +00464 ChanExceptSender(Channel,User,"%s",s.c_str()); +00465 } +00466 } +00467 +00468 bool Server::CommonChannels(userrec* u1, userrec* u2) +00469 { +00470 return (common_channels(u1,u2) != 0); +00471 } +00472 +00473 void Server::SendCommon(userrec* User, std::string text,bool IncludeSender) +00474 { +00475 if (IncludeSender) +00476 { +00477 WriteCommon(User,"%s",text.c_str()); +00478 } +00479 else +00480 { +00481 WriteCommonExcept(User,"%s",text.c_str()); +00482 } 00483 } 00484 -00485 void Server::ChangeGECOS(userrec* user, std::string gecos) +00485 void Server::SendWallops(userrec* User, std::string text) 00486 { -00487 ChangeName(user,gecos.c_str()); +00487 WriteWallOps(User,false,"%s",text.c_str()); 00488 } 00489 -00490 bool Server::IsNick(std::string nick) +00490 void Server::ChangeHost(userrec* user, std::string host) 00491 { -00492 return (isnick(nick.c_str()) != 0); +00492 ChangeDisplayedHost(user,host.c_str()); 00493 } 00494 -00495 userrec* Server::FindNick(std::string nick) +00495 void Server::ChangeGECOS(userrec* user, std::string gecos) 00496 { -00497 return Find(nick); +00497 ChangeName(user,gecos.c_str()); 00498 } 00499 -00500 chanrec* Server::FindChannel(std::string channel) +00500 bool Server::IsNick(std::string nick) 00501 { -00502 return FindChan(channel.c_str()); +00502 return (isnick(nick.c_str()) != 0); 00503 } 00504 -00505 std::string Server::ChanMode(userrec* User, chanrec* Chan) +00505 userrec* Server::FindNick(std::string nick) 00506 { -00507 return cmode(User,Chan); +00507 return Find(nick); 00508 } 00509 -00510 bool Server::IsOnChannel(userrec* User, chanrec* Chan) +00510 chanrec* Server::FindChannel(std::string channel) 00511 { -00512 return has_channel(User,Chan); +00512 return FindChan(channel.c_str()); 00513 } 00514 -00515 std::string Server::GetServerName() +00515 std::string Server::ChanMode(userrec* User, chanrec* Chan) 00516 { -00517 return getservername(); +00517 return cmode(User,Chan); 00518 } 00519 -00520 std::string Server::GetNetworkName() +00520 bool Server::IsOnChannel(userrec* User, chanrec* Chan) 00521 { -00522 return getnetworkname(); +00522 return has_channel(User,Chan); 00523 } 00524 -00525 Admin Server::GetAdmin() +00525 std::string Server::GetServerName() 00526 { -00527 return Admin(getadminname(),getadminemail(),getadminnick()); +00527 return getservername(); 00528 } 00529 -00530 -00531 -00532 bool Server::AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) -00533 { -00534 if (type == MT_SERVER) -00535 { -00536 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"); -00537 return false; -00538 } -00539 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) -00540 { -00541 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"); -00542 return false; -00543 } -00544 if ((params_when_on>1) || (params_when_off>1)) +00530 std::string Server::GetNetworkName() +00531 { +00532 return getnetworkname(); +00533 } +00534 +00535 Admin Server::GetAdmin() +00536 { +00537 return Admin(getadminname(),getadminemail(),getadminnick()); +00538 } +00539 +00540 +00541 +00542 bool Server::AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off) +00543 { +00544 if (type == MT_SERVER) 00545 { -00546 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"); +00546 log(DEBUG,"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"); 00547 return false; 00548 } -00549 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); -00550 } -00551 -00552 bool Server::AddExtendedListMode(char modechar) -00553 { -00554 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1); -00555 if (res) -00556 ModeMakeList(modechar); -00557 return res; -00558 } -00559 -00560 int Server::CountUsers(chanrec* c) -00561 { -00562 return usercount(c); -00563 } -00564 -00565 -00566 ConfigReader::ConfigReader() -00567 { -00568 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -00569 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); -00570 this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog); -00571 if (!this->readerror) -00572 this->error = CONF_FILE_NOT_FOUND; +00549 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) +00550 { +00551 log(DEBUG,"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"); +00552 return false; +00553 } +00554 if ((params_when_on>1) || (params_when_off>1)) +00555 { +00556 log(DEBUG,"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"); +00557 return false; +00558 } +00559 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); +00560 } +00561 +00562 bool Server::AddExtendedListMode(char modechar) +00563 { +00564 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1); +00565 if (res) +00566 ModeMakeList(modechar); +00567 return res; +00568 } +00569 +00570 int Server::CountUsers(chanrec* c) +00571 { +00572 return usercount(c); 00573 } 00574 00575 -00576 ConfigReader::~ConfigReader() +00576 ConfigReader::ConfigReader() 00577 { -00578 if (this->cache) -00579 delete this->cache; -00580 if (this->errorlog) -00581 delete this->errorlog; -00582 } -00583 +00578 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +00579 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); +00580 this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog); +00581 if (!this->readerror) +00582 this->error = CONF_FILE_NOT_FOUND; +00583 } 00584 -00585 ConfigReader::ConfigReader(std::string filename) -00586 { -00587 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -00588 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); -00589 this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog); -00590 if (!this->readerror) -00591 this->error = CONF_FILE_NOT_FOUND; -00592 }; +00585 +00586 ConfigReader::~ConfigReader() +00587 { +00588 if (this->cache) +00589 delete this->cache; +00590 if (this->errorlog) +00591 delete this->errorlog; +00592 } 00593 -00594 std::string ConfigReader::ReadValue(std::string tag, std::string name, int index) -00595 { -00596 char val[MAXBUF]; -00597 char t[MAXBUF]; -00598 char n[MAXBUF]; -00599 strlcpy(t,tag.c_str(),MAXBUF); -00600 strlcpy(n,name.c_str(),MAXBUF); -00601 int res = ReadConf(cache,t,n,index,val); -00602 if (!res) -00603 { -00604 this->error = CONF_VALUE_NOT_FOUND; -00605 return ""; -00606 } -00607 return std::string(val); -00608 } -00609 -00610 bool ConfigReader::ReadFlag(std::string tag, std::string name, int index) -00611 { -00612 char val[MAXBUF]; -00613 char t[MAXBUF]; -00614 char n[MAXBUF]; -00615 strlcpy(t,tag.c_str(),MAXBUF); -00616 strlcpy(n,name.c_str(),MAXBUF); -00617 int res = ReadConf(cache,t,n,index,val); -00618 if (!res) -00619 { -00620 this->error = CONF_VALUE_NOT_FOUND; -00621 return false; -00622 } -00623 std::string s = val; -00624 return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1")); -00625 } -00626 -00627 long ConfigReader::ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned) -00628 { -00629 char val[MAXBUF]; -00630 char t[MAXBUF]; -00631 char n[MAXBUF]; -00632 strlcpy(t,tag.c_str(),MAXBUF); -00633 strlcpy(n,name.c_str(),MAXBUF); -00634 int res = ReadConf(cache,t,n,index,val); -00635 if (!res) -00636 { -00637 this->error = CONF_VALUE_NOT_FOUND; -00638 return 0; -00639 } -00640 for (int i = 0; i < strlen(val); i++) -00641 { -00642 if (!isdigit(val[i])) -00643 { -00644 this->error = CONF_NOT_A_NUMBER; -00645 return 0; -00646 } -00647 } -00648 if ((needs_unsigned) && (atoi(val)<0)) -00649 { -00650 this->error = CONF_NOT_UNSIGNED; -00651 return 0; -00652 } -00653 return atoi(val); -00654 } -00655 -00656 long ConfigReader::GetError() -00657 { -00658 long olderr = this->error; -00659 this->error = 0; -00660 return olderr; -00661 } -00662 -00663 void ConfigReader::DumpErrors(bool bail, userrec* user) -00664 { -00665 if (bail) -00666 { -00667 printf("There were errors in your configuration:\n%s",errorlog->str().c_str()); -00668 exit(0); -00669 } -00670 else -00671 { -00672 char dataline[1024]; -00673 if (user) -00674 { -00675 WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick); -00676 while (!errorlog->eof()) -00677 { -00678 errorlog->getline(dataline,1024); -00679 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline); -00680 } -00681 } -00682 else -00683 { -00684 WriteOpers("There were errors in the configuration file:",user->nick); -00685 while (!errorlog->eof()) -00686 { -00687 errorlog->getline(dataline,1024); -00688 WriteOpers(dataline); -00689 } -00690 } -00691 return; -00692 } -00693 } -00694 -00695 -00696 int ConfigReader::Enumerate(std::string tag) -00697 { -00698 return EnumConf(cache,tag.c_str()); -00699 } -00700 -00701 int ConfigReader::EnumerateValues(std::string tag, int index) -00702 { -00703 return EnumValues(cache, tag.c_str(), index); -00704 } +00594 +00595 ConfigReader::ConfigReader(std::string filename) +00596 { +00597 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +00598 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); +00599 this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog); +00600 if (!this->readerror) +00601 this->error = CONF_FILE_NOT_FOUND; +00602 }; +00603 +00604 std::string ConfigReader::ReadValue(std::string tag, std::string name, int index) +00605 { +00606 char val[MAXBUF]; +00607 char t[MAXBUF]; +00608 char n[MAXBUF]; +00609 strlcpy(t,tag.c_str(),MAXBUF); +00610 strlcpy(n,name.c_str(),MAXBUF); +00611 int res = ReadConf(cache,t,n,index,val); +00612 if (!res) +00613 { +00614 this->error = CONF_VALUE_NOT_FOUND; +00615 return ""; +00616 } +00617 return std::string(val); +00618 } +00619 +00620 bool ConfigReader::ReadFlag(std::string tag, std::string name, int index) +00621 { +00622 char val[MAXBUF]; +00623 char t[MAXBUF]; +00624 char n[MAXBUF]; +00625 strlcpy(t,tag.c_str(),MAXBUF); +00626 strlcpy(n,name.c_str(),MAXBUF); +00627 int res = ReadConf(cache,t,n,index,val); +00628 if (!res) +00629 { +00630 this->error = CONF_VALUE_NOT_FOUND; +00631 return false; +00632 } +00633 std::string s = val; +00634 return ((s == "yes") || (s == "YES") || (s == "true") || (s == "TRUE") || (s == "1")); +00635 } +00636 +00637 long ConfigReader::ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned) +00638 { +00639 char val[MAXBUF]; +00640 char t[MAXBUF]; +00641 char n[MAXBUF]; +00642 strlcpy(t,tag.c_str(),MAXBUF); +00643 strlcpy(n,name.c_str(),MAXBUF); +00644 int res = ReadConf(cache,t,n,index,val); +00645 if (!res) +00646 { +00647 this->error = CONF_VALUE_NOT_FOUND; +00648 return 0; +00649 } +00650 for (int i = 0; i < strlen(val); i++) +00651 { +00652 if (!isdigit(val[i])) +00653 { +00654 this->error = CONF_NOT_A_NUMBER; +00655 return 0; +00656 } +00657 } +00658 if ((needs_unsigned) && (atoi(val)<0)) +00659 { +00660 this->error = CONF_NOT_UNSIGNED; +00661 return 0; +00662 } +00663 return atoi(val); +00664 } +00665 +00666 long ConfigReader::GetError() +00667 { +00668 long olderr = this->error; +00669 this->error = 0; +00670 return olderr; +00671 } +00672 +00673 void ConfigReader::DumpErrors(bool bail, userrec* user) +00674 { +00675 if (bail) +00676 { +00677 printf("There were errors in your configuration:\n%s",errorlog->str().c_str()); +00678 exit(0); +00679 } +00680 else +00681 { +00682 char dataline[1024]; +00683 if (user) +00684 { +00685 WriteServ(user->fd,"NOTICE %s :There were errors in the configuration file:",user->nick); +00686 while (!errorlog->eof()) +00687 { +00688 errorlog->getline(dataline,1024); +00689 WriteServ(user->fd,"NOTICE %s :%s",user->nick,dataline); +00690 } +00691 } +00692 else +00693 { +00694 WriteOpers("There were errors in the configuration file:",user->nick); +00695 while (!errorlog->eof()) +00696 { +00697 errorlog->getline(dataline,1024); +00698 WriteOpers(dataline); +00699 } +00700 } +00701 return; +00702 } +00703 } +00704 00705 -00706 bool ConfigReader::Verify() +00706 int ConfigReader::Enumerate(std::string tag) 00707 { -00708 return this->readerror; +00708 return EnumConf(cache,tag.c_str()); 00709 } 00710 -00711 -00712 FileReader::FileReader(std::string filename) -00713 { -00714 file_cache c; -00715 readfile(c,filename.c_str()); -00716 this->fc = c; -00717 } -00718 -00719 FileReader::FileReader() -00720 { -00721 } -00722 -00723 void FileReader::LoadFile(std::string filename) -00724 { -00725 file_cache c; -00726 readfile(c,filename.c_str()); -00727 this->fc = c; -00728 } -00729 -00730 -00731 FileReader::~FileReader() -00732 { -00733 } -00734 -00735 bool FileReader::Exists() -00736 { -00737 if (fc.size() == 0) -00738 { -00739 return(false); -00740 } -00741 else -00742 { -00743 return(true); -00744 } -00745 } -00746 -00747 std::string FileReader::GetLine(int x) -00748 { -00749 if ((x<0) || (x>fc.size())) -00750 return ""; -00751 return fc[x]; -00752 } -00753 -00754 int FileReader::FileSize() -00755 { -00756 return fc.size(); -00757 } -00758 -00759 -00760 std::vector<Module*> modules(255); -00761 std::vector<ircd_module*> factory(255); -00762 -00763 int MODCOUNT = -1; -00764 -00765 -

    Generated on Fri Mar 25 03:49:28 2005 for InspIRCd by +00711 int ConfigReader::EnumerateValues(std::string tag, int index) +00712 { +00713 return EnumValues(cache, tag.c_str(), index); +00714 } +00715 +00716 bool ConfigReader::Verify() +00717 { +00718 return this->readerror; +00719 } +00720 +00721 +00722 FileReader::FileReader(std::string filename) +00723 { +00724 file_cache c; +00725 readfile(c,filename.c_str()); +00726 this->fc = c; +00727 } +00728 +00729 FileReader::FileReader() +00730 { +00731 } +00732 +00733 void FileReader::LoadFile(std::string filename) +00734 { +00735 file_cache c; +00736 readfile(c,filename.c_str()); +00737 this->fc = c; +00738 } +00739 +00740 +00741 FileReader::~FileReader() +00742 { +00743 } +00744 +00745 bool FileReader::Exists() +00746 { +00747 if (fc.size() == 0) +00748 { +00749 return(false); +00750 } +00751 else +00752 { +00753 return(true); +00754 } +00755 } +00756 +00757 std::string FileReader::GetLine(int x) +00758 { +00759 if ((x<0) || (x>fc.size())) +00760 return ""; +00761 return fc[x]; +00762 } +00763 +00764 int FileReader::FileSize() +00765 { +00766 return fc.size(); +00767 } +00768 +00769 +00770 std::vector<Module*> modules(255); +00771 std::vector<ircd_module*> factory(255); +00772 +00773 int MODCOUNT = -1; +00774 +00775 +

    Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/modules_8cpp.html b/docs/module-doc/modules_8cpp.html index c409c582d..de3bd38eb 100644 --- a/docs/module-doc/modules_8cpp.html +++ b/docs/module-doc/modules_8cpp.html @@ -36,6 +36,7 @@ #include "mode.h"
    #include "xline.h"
    #include "commands.h"
    +#include "inspstring.h"

    Go to the source code of this file. @@ -94,9 +95,9 @@ - + - + @@ -203,7 +204,7 @@

    -Definition at line 58 of file modules.cpp. +Definition at line 59 of file modules.cpp.


    Variables

    int MODCOUNT = -1
    vector< Module * > modules
    std::vector< Module * > modules
    vector< ircd_module * > factory
    std::vector< ircd_module * > factory
    int LogLevel


    Typedef Documentation

    @@ -228,7 +229,7 @@ Definition at line 58 o

    -Definition at line 166 of file modules.cpp. +Definition at line 173 of file modules.cpp.

    @@ -252,7 +253,7 @@ Definition at line 166

    -Definition at line 165 of file modules.cpp. +Definition at line 172 of file modules.cpp.

    @@ -276,7 +277,7 @@ Definition at line 165

    -Definition at line 167 of file modules.cpp. +Definition at line 174 of file modules.cpp.

    @@ -300,7 +301,7 @@ Definition at line 167

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

    @@ -324,9 +325,9 @@ Definition at line 193

    -Definition at line 194 of file modules.cpp. +Definition at line 201 of file modules.cpp.

    -Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList(). +Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().

    @@ -350,7 +351,7 @@ Referenced by ModeDefined()

    -Definition at line 164 of file modules.cpp. +Definition at line 171 of file modules.cpp.


    Function Documentation

    @@ -409,19 +410,19 @@ Definition at line 164

    -Definition at line 266 of file modules.cpp. +Definition at line 273 of file modules.cpp.

    -References EMode, and ModeDefined(). +References EMode, and ModeDefined().

    -Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode(). +Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode().

    -

    00267 {
    -00268         if (ModeDefined(modechar,type)) {
    -00269                 return false;
    -00270         }
    -00271         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
    -00272         return true;
    -00273 }
    +
    00274 {
    +00275         if (ModeDefined(modechar,type)) {
    +00276                 return false;
    +00277         }
    +00278         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
    +00279         return true;
    +00280 }
     
    @@ -491,23 +492,23 @@ Referenced by Server::AddEx

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

    -References DEBUG, EMode, and ExtModeListIter. +References DEBUG, EMode, and ExtModeListIter.

    -Referenced by DoAddExtendedMode(). +Referenced by DoAddExtendedMode().

    -

    00201 {
    -00202         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    -00203         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00204         {
    -00205                 if ((i->modechar == modechar) && (i->type == type))
    -00206                 {
    -00207                         return true;
    -00208                 }
    -00209         }
    -00210         return false;
    -00211 }
    +
    00208 {
    +00209         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    +00210         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00211         {
    +00212                 if ((i->modechar == modechar) && (i->type == type))
    +00213                 {
    +00214                         return true;
    +00215                 }
    +00216         }
    +00217         return false;
    +00218 }
     
    @@ -548,20 +549,20 @@ Referenced by DoAddExtended

    -Definition at line 253 of file modules.cpp. +Definition at line 260 of file modules.cpp.

    -References EMode, and ExtModeListIter. +References EMode, and ExtModeListIter.

    -

    00254 {
    -00255         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00256         {
    -00257                 if ((i->modechar == modechar) && (i->type == type))
    -00258                 {
    -00259                         return i->params_when_off;
    -00260                 }
    -00261         }
    -00262         return 0;
    -00263 }
    +
    00261 {
    +00262         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00263         {
    +00264                 if ((i->modechar == modechar) && (i->type == type))
    +00265                 {
    +00266                         return i->params_when_off;
    +00267                 }
    +00268         }
    +00269         return 0;
    +00270 }
     
    @@ -602,20 +603,20 @@ References EMode, and <

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

    -References EMode, and ExtModeListIter. +References EMode, and ExtModeListIter.

    -

    00241 {
    -00242         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00243         {
    -00244                 if ((i->modechar == modechar) && (i->type == type))
    -00245                 {
    -00246                         return i->params_when_on;
    -00247                 }
    -00248         }
    -00249         return 0;
    -00250 }
    +
    00248 {
    +00249         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00250         {
    +00251                 if ((i->modechar == modechar) && (i->type == type))
    +00252                 {
    +00253                         return i->params_when_on;
    +00254                 }
    +00255         }
    +00256         return 0;
    +00257 }
     
    @@ -656,21 +657,21 @@ References EMode, and <

    -Definition at line 226 of file modules.cpp. +Definition at line 233 of file modules.cpp.

    -References DEBUG, EMode, and ExtModeListIter. +References DEBUG, EMode, and ExtModeListIter.

    -

    00227 {
    -00228         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    -00229         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00230         {
    -00231                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
    -00232                 {
    -00233                         return true;
    -00234                 }
    -00235         }
    -00236         return false;
    -00237 }
    +
    00234 {
    +00235         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    +00236         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00237         {
    +00238                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
    +00239                 {
    +00240                         return true;
    +00241                 }
    +00242         }
    +00243         return false;
    +00244 }
     
    @@ -711,21 +712,21 @@ References DEBUG,

    -Definition at line 213 of file modules.cpp. +Definition at line 220 of file modules.cpp.

    -References DEBUG, EMode, and ExtModeListIter. +References DEBUG, EMode, and ExtModeListIter.

    -

    00214 {
    -00215         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    -00216         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00217         {
    -00218                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
    -00219                 {
    -00220                         return true;
    -00221                 }
    -00222         }
    -00223         return false;
    -00224 }
    +
    00221 {
    +00222         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
    +00223         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00224         {
    +00225                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
    +00226                 {
    +00227                         return true;
    +00228                 }
    +00229         }
    +00230         return false;
    +00231 }
     
    @@ -757,23 +758,23 @@ References DEBUG,

    -Definition at line 276 of file modules.cpp. +Definition at line 283 of file modules.cpp.

    -References EMode, ExtModeListIter, and MT_CHANNEL. +References EMode, ExtModeListIter, and MT_CHANNEL.

    -Referenced by Server::AddExtendedListMode(). +Referenced by Server::AddExtendedListMode().

    -

    00277 {
    -00278         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    -00279         {
    -00280                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
    -00281                 {
    -00282                         i->list = true;
    -00283                         return;
    -00284                 }
    -00285         }
    -00286         return;
    -00287 }
    +
    00284 {
    +00285         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
    +00286         {
    +00287                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
    +00288                 {
    +00289                         i->list = true;
    +00290                         return;
    +00291                 }
    +00292         }
    +00293         return;
    +00294 }
     
    @@ -828,7 +829,7 @@ Referenced by Server::AddEx

    -Definition at line 72 of file modules.cpp. +Definition at line 73 of file modules.cpp.

    @@ -852,7 +853,7 @@ Definition at line 72 o

    -Definition at line 71 of file modules.cpp. +Definition at line 72 of file modules.cpp.

    @@ -876,7 +877,7 @@ Definition at line 71 o

    -Definition at line 73 of file modules.cpp. +Definition at line 74 of file modules.cpp.

    @@ -900,7 +901,7 @@ Definition at line 73 o

    -Definition at line 100 of file modules.cpp. +Definition at line 101 of file modules.cpp.

    @@ -924,7 +925,7 @@ Definition at line 100

    -Definition at line 94 of file modules.cpp. +Definition at line 95 of file modules.cpp.

    @@ -948,7 +949,7 @@ Definition at line 94 o

    -Definition at line 171 of file modules.cpp. +Definition at line 178 of file modules.cpp.

    @@ -972,9 +973,9 @@ Definition at line 171

    -Definition at line 170 of file modules.cpp. +Definition at line 177 of file modules.cpp.

    -Referenced by Server::GetUsers(). +Referenced by Server::GetUsers().

    @@ -998,7 +999,7 @@ Referenced by Server::GetUs

    -Definition at line 173 of file modules.cpp. +Definition at line 180 of file modules.cpp.

    @@ -1022,7 +1023,7 @@ Definition at line 173

    -Definition at line 101 of file modules.cpp. +Definition at line 102 of file modules.cpp.

    @@ -1046,7 +1047,7 @@ Definition at line 101

    -Definition at line 82 of file modules.cpp. +Definition at line 83 of file modules.cpp.

    @@ -1070,7 +1071,7 @@ Definition at line 82 o

    -Definition at line 98 of file modules.cpp. +Definition at line 99 of file modules.cpp.

    @@ -1094,7 +1095,7 @@ Definition at line 98 o

    -Definition at line 85 of file modules.cpp. +Definition at line 86 of file modules.cpp.

    @@ -1118,7 +1119,7 @@ Definition at line 85 o

    -Definition at line 74 of file modules.cpp. +Definition at line 75 of file modules.cpp.

    @@ -1142,7 +1143,7 @@ Definition at line 74 o

    -Definition at line 80 of file modules.cpp. +Definition at line 81 of file modules.cpp.

    @@ -1166,9 +1167,9 @@ Definition at line 80 o

    -Definition at line 197 of file modules.cpp. +Definition at line 204 of file modules.cpp.

    -Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList(). +Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList().

    @@ -1177,7 +1178,7 @@ Referenced by DoAddExtended -
    vector<ircd_module*> factory + std::vector<ircd_module*> factory
    @@ -1192,7 +1193,7 @@ Referenced by
    DoAddExtended

    -Definition at line 65 of file modules.cpp. +Definition at line 66 of file modules.cpp.

    @@ -1216,7 +1217,7 @@ Definition at line 65 o

    -Definition at line 91 of file modules.cpp. +Definition at line 92 of file modules.cpp.

    @@ -1240,7 +1241,7 @@ Definition at line 91 o

    -Definition at line 176 of file modules.cpp. +Definition at line 183 of file modules.cpp.

    @@ -1264,7 +1265,7 @@ Definition at line 176

    -Definition at line 78 of file modules.cpp. +Definition at line 79 of file modules.cpp.

    @@ -1288,7 +1289,7 @@ Definition at line 78 o

    -Definition at line 105 of file modules.cpp. +Definition at line 106 of file modules.cpp.

    @@ -1312,7 +1313,7 @@ Definition at line 105

    -Definition at line 67 of file modules.cpp. +Definition at line 68 of file modules.cpp.

    @@ -1336,7 +1337,7 @@ Definition at line 67 o

    -Definition at line 88 of file modules.cpp. +Definition at line 89 of file modules.cpp.

    @@ -1360,7 +1361,7 @@ Definition at line 88 o

    -Definition at line 103 of file modules.cpp. +Definition at line 104 of file modules.cpp.

    @@ -1384,7 +1385,7 @@ Definition at line 103

    -Definition at line 763 of file modules.cpp. +Definition at line 773 of file modules.cpp.

    @@ -1408,7 +1409,7 @@ Definition at line 763

    -Definition at line 92 of file modules.cpp. +Definition at line 93 of file modules.cpp.

    @@ -1417,7 +1418,7 @@ Definition at line 92 o -
    vector<Module*> modules + std::vector<Module*> modules
    @@ -1432,7 +1433,7 @@ Definition at line 92 o

    -Definition at line 64 of file modules.cpp. +Definition at line 65 of file modules.cpp.

    @@ -1456,7 +1457,7 @@ Definition at line 64 o

    -Definition at line 174 of file modules.cpp. +Definition at line 181 of file modules.cpp.

    @@ -1480,7 +1481,7 @@ Definition at line 174

    -Definition at line 76 of file modules.cpp. +Definition at line 77 of file modules.cpp.

    @@ -1504,7 +1505,7 @@ Definition at line 76 o

    -Definition at line 89 of file modules.cpp. +Definition at line 90 of file modules.cpp.

    @@ -1528,7 +1529,7 @@ Definition at line 89 o

    -Definition at line 87 of file modules.cpp. +Definition at line 88 of file modules.cpp.

    @@ -1552,7 +1553,7 @@ Definition at line 87 o

    -Definition at line 69 of file modules.cpp. +Definition at line 70 of file modules.cpp.

    @@ -1576,7 +1577,7 @@ Definition at line 69 o

    -Definition at line 95 of file modules.cpp. +Definition at line 96 of file modules.cpp.

    @@ -1600,7 +1601,7 @@ Definition at line 95 o

    -Definition at line 97 of file modules.cpp. +Definition at line 98 of file modules.cpp.

    @@ -1624,7 +1625,7 @@ Definition at line 97 o

    -Definition at line 79 of file modules.cpp. +Definition at line 80 of file modules.cpp.

    @@ -1648,7 +1649,7 @@ Definition at line 79 o

    -Definition at line 75 of file modules.cpp. +Definition at line 76 of file modules.cpp.

    @@ -1672,7 +1673,7 @@ Definition at line 75 o

    -Definition at line 175 of file modules.cpp. +Definition at line 182 of file modules.cpp.

    @@ -1696,7 +1697,7 @@ Definition at line 175

    -Definition at line 77 of file modules.cpp. +Definition at line 78 of file modules.cpp.

    @@ -1720,7 +1721,7 @@ Definition at line 77 o

    -Definition at line 70 of file modules.cpp. +Definition at line 71 of file modules.cpp.

    @@ -1744,7 +1745,7 @@ Definition at line 70 o

    -Definition at line 68 of file modules.cpp. +Definition at line 69 of file modules.cpp.

    @@ -1768,7 +1769,7 @@ Definition at line 68 o

    -Definition at line 86 of file modules.cpp. +Definition at line 87 of file modules.cpp.

    @@ -1792,7 +1793,7 @@ Definition at line 86 o

    -Definition at line 96 of file modules.cpp. +Definition at line 97 of file modules.cpp.

    @@ -1816,7 +1817,7 @@ Definition at line 96 o

    -Definition at line 172 of file modules.cpp. +Definition at line 179 of file modules.cpp.

    @@ -1840,7 +1841,7 @@ Definition at line 172

    -Definition at line 84 of file modules.cpp. +Definition at line 85 of file modules.cpp.

    @@ -1864,10 +1865,10 @@ Definition at line 84 o

    -Definition at line 83 of file modules.cpp. +Definition at line 84 of file modules.cpp. -


    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html index 27aa2af8e..85ac91a38 100644 --- a/docs/module-doc/modules_8h-source.html +++ b/docs/module-doc/modules_8h-source.html @@ -162,130 +162,136 @@ 00321 virtual string_list OnUserSync(userrec* user); 00322 00328 virtual string_list OnChannelSync(chanrec* chan); -00329 }; -00330 -00331 -00337 class Server : public classbase -00338 { -00339 public: -00343 Server(); -00347 virtual ~Server(); -00348 -00352 virtual void SendOpers(std::string s); -00357 virtual void Log(int level, std::string s); -00362 virtual void Send(int Socket, std::string s); -00367 virtual void SendServ(int Socket, std::string s); -00372 virtual void SendFrom(int Socket, userrec* User, std::string s); -00387 virtual void SendTo(userrec* Source, userrec* Dest, std::string s); -00394 virtual void SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender); -00399 virtual bool CommonChannels(userrec* u1, userrec* u2); -00407 virtual void SendCommon(userrec* User, std::string text,bool IncludeSender); -00412 virtual void SendWallops(userrec* User, std::string text); -00413 -00417 virtual bool IsNick(std::string nick); -00421 virtual int CountUsers(chanrec* c); -00425 virtual userrec* FindNick(std::string nick); -00429 virtual chanrec* FindChannel(std::string channel); -00434 virtual std::string ChanMode(userrec* User, chanrec* Chan); -00438 virtual bool IsOnChannel(userrec* User, chanrec* Chan); -00441 virtual std::string GetServerName(); -00444 virtual std::string GetNetworkName(); -00450 virtual Admin GetAdmin(); -00469 virtual bool AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off); -00470 -00492 virtual bool AddExtendedListMode(char modechar); -00493 -00508 virtual void AddCommand(char* cmd, handlerfunc f, char flags, int minparams); -00509 -00531 virtual void SendMode(char **parameters, int pcnt, userrec *user); -00532 -00545 virtual void SendToModeMask(std::string modes, int flags, std::string text); -00546 -00552 virtual chanrec* JoinUserToChannel(userrec* user, std::string cname, std::string key); -00553 -00559 virtual chanrec* PartUserFromChannel(userrec* user, std::string cname, std::string reason); +00329 +00333 virtual void On005Numeric(std::string &output); +00334 +00344 virtual int OnKill(userrec* source, userrec* dest, std::string reason); +00345 +00356 virtual void OnLoadModule(Module* mod,std::string name); +00357 }; +00358 +00359 +00365 class Server : public classbase +00366 { +00367 public: +00371 Server(); +00375 virtual ~Server(); +00376 +00380 virtual void SendOpers(std::string s); +00385 virtual void Log(int level, std::string s); +00390 virtual void Send(int Socket, std::string s); +00395 virtual void SendServ(int Socket, std::string s); +00400 virtual void SendFrom(int Socket, userrec* User, std::string s); +00415 virtual void SendTo(userrec* Source, userrec* Dest, std::string s); +00422 virtual void SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender); +00427 virtual bool CommonChannels(userrec* u1, userrec* u2); +00435 virtual void SendCommon(userrec* User, std::string text,bool IncludeSender); +00440 virtual void SendWallops(userrec* User, std::string text); +00441 +00445 virtual bool IsNick(std::string nick); +00449 virtual int CountUsers(chanrec* c); +00453 virtual userrec* FindNick(std::string nick); +00457 virtual chanrec* FindChannel(std::string channel); +00462 virtual std::string ChanMode(userrec* User, chanrec* Chan); +00466 virtual bool IsOnChannel(userrec* User, chanrec* Chan); +00469 virtual std::string GetServerName(); +00472 virtual std::string GetNetworkName(); +00478 virtual Admin GetAdmin(); +00497 virtual bool AddExtendedMode(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off); +00498 +00520 virtual bool AddExtendedListMode(char modechar); +00521 +00536 virtual void AddCommand(char* cmd, handlerfunc f, char flags, int minparams); +00537 +00559 virtual void SendMode(char **parameters, int pcnt, userrec *user); 00560 -00566 virtual void ChangeUserNick(userrec* user, std::string nickname); -00567 -00578 virtual void QuitUser(userrec* user, std::string reason); -00579 -00584 virtual bool MatchText(std::string sliteral, std::string spattern); -00585 -00597 virtual void CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user); -00598 -00604 virtual void ChangeHost(userrec* user, std::string host); -00605 -00611 virtual void ChangeGECOS(userrec* user, std::string gecos); -00612 -00621 virtual bool IsUlined(std::string server); -00622 -00626 virtual chanuserlist GetUsers(chanrec* chan); -00627 -00628 }; -00629 -00630 #define CONF_NOT_A_NUMBER 0x000010 -00631 #define CONF_NOT_UNSIGNED 0x000080 -00632 #define CONF_VALUE_NOT_FOUND 0x000100 -00633 #define CONF_FILE_NOT_FOUND 0x000200 -00634 -00641 class ConfigReader : public classbase -00642 { -00643 protected: -00649 std::stringstream *cache; -00650 std::stringstream *errorlog; -00653 bool readerror; -00654 long error; -00655 -00656 public: -00661 ConfigReader(); // default constructor reads ircd.conf -00665 ConfigReader(std::string filename); // read a module-specific config -00669 ~ConfigReader(); -00674 std::string ReadValue(std::string tag, std::string name, int index); -00680 bool ReadFlag(std::string tag, std::string name, int index); -00689 long ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned); -00694 long GetError(); -00701 int Enumerate(std::string tag); -00706 bool Verify(); -00713 void DumpErrors(bool bail,userrec* user); -00714 -00720 int EnumerateValues(std::string tag, int index); -00721 }; -00722 -00723 -00724 -00730 class FileReader : public classbase -00731 { -00732 file_cache fc; -00733 public: -00738 FileReader(); -00739 -00745 FileReader(std::string filename); -00746 -00750 ~FileReader(); +00573 virtual void SendToModeMask(std::string modes, int flags, std::string text); +00574 +00580 virtual chanrec* JoinUserToChannel(userrec* user, std::string cname, std::string key); +00581 +00587 virtual chanrec* PartUserFromChannel(userrec* user, std::string cname, std::string reason); +00588 +00594 virtual void ChangeUserNick(userrec* user, std::string nickname); +00595 +00606 virtual void QuitUser(userrec* user, std::string reason); +00607 +00612 virtual bool MatchText(std::string sliteral, std::string spattern); +00613 +00625 virtual void CallCommandHandler(std::string commandname, char** parameters, int pcnt, userrec* user); +00626 +00632 virtual void ChangeHost(userrec* user, std::string host); +00633 +00639 virtual void ChangeGECOS(userrec* user, std::string gecos); +00640 +00649 virtual bool IsUlined(std::string server); +00650 +00654 virtual chanuserlist GetUsers(chanrec* chan); +00655 +00656 }; +00657 +00658 #define CONF_NOT_A_NUMBER 0x000010 +00659 #define CONF_NOT_UNSIGNED 0x000080 +00660 #define CONF_VALUE_NOT_FOUND 0x000100 +00661 #define CONF_FILE_NOT_FOUND 0x000200 +00662 +00669 class ConfigReader : public classbase +00670 { +00671 protected: +00677 std::stringstream *cache; +00678 std::stringstream *errorlog; +00681 bool readerror; +00682 long error; +00683 +00684 public: +00689 ConfigReader(); // default constructor reads ircd.conf +00693 ConfigReader(std::string filename); // read a module-specific config +00697 ~ConfigReader(); +00702 std::string ReadValue(std::string tag, std::string name, int index); +00708 bool ReadFlag(std::string tag, std::string name, int index); +00717 long ReadInteger(std::string tag, std::string name, int index, bool needs_unsigned); +00722 long GetError(); +00729 int Enumerate(std::string tag); +00734 bool Verify(); +00741 void DumpErrors(bool bail,userrec* user); +00742 +00748 int EnumerateValues(std::string tag, int index); +00749 }; +00750 00751 -00757 void LoadFile(std::string filename); -00758 -00762 bool Exists(); -00763 -00768 std::string GetLine(int x); -00769 -00775 int FileSize(); -00776 }; -00777 -00778 -00785 class ModuleFactory : public classbase -00786 { -00787 public: -00788 ModuleFactory() { } -00789 virtual ~ModuleFactory() { } -00794 virtual Module * CreateModule() = 0; -00795 }; -00796 +00752 +00758 class FileReader : public classbase +00759 { +00760 file_cache fc; +00761 public: +00766 FileReader(); +00767 +00773 FileReader(std::string filename); +00774 +00778 ~FileReader(); +00779 +00785 void LoadFile(std::string filename); +00786 +00790 bool Exists(); +00791 +00796 std::string GetLine(int x); 00797 -00798 typedef DLLFactory<ModuleFactory> ircd_module; -00799 -00800 #endif -

    Generated on Fri Mar 25 03:49:28 2005 for InspIRCd by +00803 int FileSize(); +00804 }; +00805 +00806 +00813 class ModuleFactory : public classbase +00814 { +00815 public: +00816 ModuleFactory() { } +00817 virtual ~ModuleFactory() { } +00822 virtual Module * CreateModule() = 0; +00823 }; +00824 +00825 +00826 typedef DLLFactory<ModuleFactory> ircd_module; +00827 +00828 #endif +

    Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/modules_8h.html b/docs/module-doc/modules_8h.html index edd0dbe30..e6666c08a 100644 --- a/docs/module-doc/modules_8h.html +++ b/docs/module-doc/modules_8h.html @@ -371,7 +371,7 @@ Definition at line 39 of

    Definition at line 37 of file modules.h.

    -Referenced by Module::OnAccessCheck(). +Referenced by Module::OnAccessCheck().

    @@ -419,9 +419,9 @@ Definition at line 38 of

    -Definition at line 633 of file modules.h. +Definition at line 661 of file modules.h.

    -Referenced by ConfigReader::ConfigReader(). +Referenced by ConfigReader::ConfigReader().

    @@ -445,9 +445,9 @@ Referenced by ConfigReader:

    -Definition at line 630 of file modules.h. +Definition at line 658 of file modules.h.

    -Referenced by ConfigReader::ReadInteger(). +Referenced by ConfigReader::ReadInteger().

    @@ -471,9 +471,9 @@ Referenced by ConfigReader:

    -Definition at line 631 of file modules.h. +Definition at line 659 of file modules.h.

    -Referenced by ConfigReader::ReadInteger(). +Referenced by ConfigReader::ReadInteger().

    @@ -497,9 +497,9 @@ Referenced by ConfigReader:

    -Definition at line 632 of file modules.h. +Definition at line 660 of file modules.h.

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

    @@ -525,7 +525,7 @@ Referenced by ConfigReader:

    Definition at line 23 of file modules.h.

    -Referenced by Server::AddExtendedMode(), userrec::HasPermission(), chanrec::IsCustomModeSet(), ModeDefined(), ModeDefinedOper(), ModeIsListMode(), userrec::RemoveInvite(), chanrec::SetCustomMode(), and chanrec::SetCustomModeParam(). +Referenced by Server::AddExtendedMode(), userrec::HasPermission(), chanrec::IsCustomModeSet(), ModeDefined(), ModeDefinedOper(), ModeIsListMode(), userrec::RemoveInvite(), chanrec::SetCustomMode(), and chanrec::SetCustomModeParam().

    @@ -637,7 +637,7 @@ Definition at line 80 of

    Definition at line 31 of file modules.h.

    -Referenced by Server::AddExtendedListMode(), and ModeMakeList(). +Referenced by Server::AddExtendedListMode(), and ModeMakeList().

    @@ -663,7 +663,7 @@ Referenced by Server::AddEx

    Definition at line 32 of file modules.h.

    -Referenced by Server::AddExtendedMode(). +Referenced by Server::AddExtendedMode().

    @@ -689,7 +689,7 @@ Referenced by Server::AddEx

    Definition at line 33 of file modules.h.

    -Referenced by Server::AddExtendedMode(). +Referenced by Server::AddExtendedMode().

    @@ -790,7 +790,7 @@ Holds a list of users in a channel.

    Definition at line 65 of file modules.h.

    -Referenced by Server::GetUsers(). +Referenced by Server::GetUsers().

    @@ -818,7 +818,7 @@ Low level definition of a FileReader Definition at line 60 of file modules.h.

    -Referenced by FileReader::FileReader(), and FileReader::LoadFile(). +Referenced by FileReader::FileReader(), and FileReader::LoadFile().

    @@ -842,7 +842,7 @@ Referenced by FileReader::F

    -Definition at line 798 of file modules.h. +Definition at line 826 of file modules.h.

    @@ -868,7 +868,7 @@ Definition at line 798 of

    Definition at line 61 of file modules.h.

    -Referenced by Module::OnChannelSync(), and Module::OnUserSync(). +Referenced by Module::OnChannelSync(), and Module::OnUserSync().


    Function Documentation

    @@ -921,7 +921,7 @@ Referenced by Module::OnCha

    -Referenced by Server::AddCommand(). +Referenced by Server::AddCommand().

    @@ -967,10 +967,10 @@ Referenced by Server::AddCo

    -Referenced by Server::SendMode(). +Referenced by Server::SendMode(). -


    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/namespacenspace.html b/docs/module-doc/namespacenspace.html index b4b1a3a17..f5af56296 100644 --- a/docs/module-doc/namespacenspace.html +++ b/docs/module-doc/namespacenspace.html @@ -15,7 +15,7 @@ struct  nspace.hash< string > -
    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/namespaces.html b/docs/module-doc/namespaces.html index d1725372f..315e47302 100644 --- a/docs/module-doc/namespaces.html +++ b/docs/module-doc/namespaces.html @@ -9,7 +9,7 @@ nspace std -
    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/namespacestd.html b/docs/module-doc/namespacestd.html index 0f4d7ffbb..1dc3399d0 100644 --- a/docs/module-doc/namespacestd.html +++ b/docs/module-doc/namespacestd.html @@ -10,7 +10,7 @@
    -
    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/servers_8cpp-source.html b/docs/module-doc/servers_8cpp-source.html index 703b0bbb2..2eae27b8e 100644 --- a/docs/module-doc/servers_8cpp-source.html +++ b/docs/module-doc/servers_8cpp-source.html @@ -26,41 +26,42 @@ 00019 #include "inspircd.h" 00020 #include <stdio.h> 00021 #include <map> -00022 -00023 serverrec::serverrec() -00024 { -00025 strlcpy(name,"",256); -00026 pingtime = 0; -00027 lastping = time(NULL); -00028 usercount_i = usercount = opercount = version = 0; -00029 hops_away = 1; -00030 signon = time(NULL); -00031 jupiter = false; -00032 fd = 0; -00033 sync_soon = false; -00034 strlcpy(nickserv,"",NICKMAX); -00035 } -00036 -00037 -00038 serverrec::~serverrec() -00039 { -00040 } -00041 -00042 serverrec::serverrec(char* n, long ver, bool jupe) -00043 { -00044 strlcpy(name,n,256); -00045 lastping = time(NULL); -00046 usercount_i = usercount = opercount = 0; -00047 version = ver; -00048 hops_away = 1; -00049 signon = time(NULL); -00050 jupiter = jupe; -00051 fd = 0; -00052 sync_soon = false; -00053 strlcpy(nickserv,"",NICKMAX); -00054 } -00055 -

    Generated on Fri Mar 25 03:49:28 2005 for InspIRCd by +00022 #include "inspstring.h" +00023 +00024 serverrec::serverrec() +00025 { +00026 strlcpy(name,"",256); +00027 pingtime = 0; +00028 lastping = time(NULL); +00029 usercount_i = usercount = opercount = version = 0; +00030 hops_away = 1; +00031 signon = time(NULL); +00032 jupiter = false; +00033 fd = 0; +00034 sync_soon = false; +00035 strlcpy(nickserv,"",NICKMAX); +00036 } +00037 +00038 +00039 serverrec::~serverrec() +00040 { +00041 } +00042 +00043 serverrec::serverrec(char* n, long ver, bool jupe) +00044 { +00045 strlcpy(name,n,256); +00046 lastping = time(NULL); +00047 usercount_i = usercount = opercount = 0; +00048 version = ver; +00049 hops_away = 1; +00050 signon = time(NULL); +00051 jupiter = jupe; +00052 fd = 0; +00053 sync_soon = false; +00054 strlcpy(nickserv,"",NICKMAX); +00055 } +00056 +

    Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/servers_8cpp.html b/docs/module-doc/servers_8cpp.html index bbcfda75c..28c74e4c3 100644 --- a/docs/module-doc/servers_8cpp.html +++ b/docs/module-doc/servers_8cpp.html @@ -10,12 +10,13 @@ #include "inspircd.h"
    #include <stdio.h>
    #include <map>
    +#include "inspstring.h"

    Go to the source code of this file.
    -


    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/servers_8h-source.html b/docs/module-doc/servers_8h-source.html index 8579f1b15..4234ca289 100644 --- a/docs/module-doc/servers_8h-source.html +++ b/docs/module-doc/servers_8h-source.html @@ -61,7 +61,7 @@ 00082 00083 #endif 00084 -

    Generated on Fri Mar 25 03:49:28 2005 for InspIRCd by +

    Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/servers_8h.html b/docs/module-doc/servers_8h.html index 8abac3ebd..dd5dcfe15 100644 --- a/docs/module-doc/servers_8h.html +++ b/docs/module-doc/servers_8h.html @@ -72,7 +72,7 @@ Definition at line 25 of Definition at line 26 of file servers.h. -
    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/structInAddr__HashComp-members.html b/docs/module-doc/structInAddr__HashComp-members.html index 01e6ef7ad..9997efece 100644 --- a/docs/module-doc/structInAddr__HashComp-members.html +++ b/docs/module-doc/structInAddr__HashComp-members.html @@ -7,7 +7,7 @@

    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 [inline]

    Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/structInAddr__HashComp.html b/docs/module-doc/structInAddr__HashComp.html index 70da6e105..cd9714be9 100644 --- a/docs/module-doc/structInAddr__HashComp.html +++ b/docs/module-doc/structInAddr__HashComp.html @@ -49,23 +49,23 @@

    -Definition at line 150 of file modules.cpp. +Definition at line 157 of file modules.cpp.

    -

    00151         {
    -00152                 size_t q;
    -00153                 size_t p;
    -00154                 
    -00155                 memcpy(&q,&s1,sizeof(size_t));
    -00156                 memcpy(&p,&s2,sizeof(size_t));
    -00157                 
    -00158                 return (q == p);
    -00159         }
    +
    00158         {
    +00159                 size_t q;
    +00160                 size_t p;
    +00161                 
    +00162                 memcpy(&q,&s1,sizeof(size_t));
    +00163                 memcpy(&p,&s2,sizeof(size_t));
    +00164                 
    +00165                 return (q == p);
    +00166         }
     

    The documentation for this struct was generated from the following file: -
    Generated on Fri Mar 25 03:49:32 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/structStrHashComp-members.html b/docs/module-doc/structStrHashComp-members.html index d3c6bb7db..2176a9f48 100644 --- a/docs/module-doc/structStrHashComp-members.html +++ b/docs/module-doc/structStrHashComp-members.html @@ -7,7 +7,7 @@

    StrHashComp Member List

    This is the complete list of members for StrHashComp, including all inherited members. -
    operator()(const string &s1, const string &s2) constStrHashComp [inline]

    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/structStrHashComp.html b/docs/module-doc/structStrHashComp.html index 44358220e..b7ed816cd 100644 --- a/docs/module-doc/structStrHashComp.html +++ b/docs/module-doc/structStrHashComp.html @@ -49,20 +49,20 @@

    -Definition at line 137 of file modules.cpp. +Definition at line 144 of file modules.cpp.

    -

    00138         {
    -00139                 char a[MAXBUF],b[MAXBUF];
    -00140                 strlcpy(a,s1.c_str(),MAXBUF);
    -00141                 strlcpy(b,s2.c_str(),MAXBUF);
    -00142                 return (strcasecmp(a,b) == 0);
    -00143         }
    +
    00145         {
    +00146                 char a[MAXBUF],b[MAXBUF];
    +00147                 strlcpy(a,s1.c_str(),MAXBUF);
    +00148                 strlcpy(b,s2.c_str(),MAXBUF);
    +00149                 return (strcasecmp(a,b) == 0);
    +00150         }
     

    The documentation for this struct was generated from the following file: -
    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by doxygen 1.3.3
    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 index 01b5891ed..8f62c68d9 100644 --- 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 @@ -7,7 +7,7 @@

    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 > [inline]

    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 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 index 55fe9db3c..cfa818e8b 100644 --- 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 @@ -43,19 +43,19 @@

    -Definition at line 112 of file modules.cpp. +Definition at line 117 of file modules.cpp.

    -

    00113                 {
    -00114                         size_t q;
    -00115                         memcpy(&q,&a,sizeof(size_t));
    -00116                         return q;
    -00117                 }
    +
    00118                 {
    +00119                         size_t q;
    +00120                         memcpy(&q,&a,sizeof(size_t));
    +00121                         return q;
    +00122                 }
     

    The documentation for this struct was generated from the following file: -
    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 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 index 3c20fe788..3d22fbafa 100644 --- 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 @@ -7,7 +7,7 @@

    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 > [inline]

    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 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 index 42fa669e9..26f2949e7 100644 --- 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 @@ -43,21 +43,21 @@

    -Definition at line 122 of file modules.cpp. +Definition at line 130 of file modules.cpp.

    -

    00123                 {
    -00124                         char a[MAXBUF];
    -00125                         static struct hash<const char *> strhash;
    -00126                         strlcpy(a,s.c_str(),MAXBUF);
    -00127                         strlower(a);
    -00128                         return strhash(a);
    -00129                 }
    +
    00131                 {
    +00132                         char a[MAXBUF];
    +00133                         static struct hash<const char *> strhash;
    +00134                         strlcpy(a,s.c_str(),MAXBUF);
    +00135                         strlower(a);
    +00136                         return strhash(a);
    +00137                 }
     

    The documentation for this struct was generated from the following file: -
    Generated on Fri Mar 25 03:49:34 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html index 905a59892..8fdd3a919 100644 --- a/docs/module-doc/users_8cpp-source.html +++ b/docs/module-doc/users_8cpp-source.html @@ -26,147 +26,149 @@ 00019 #include "users.h" 00020 #include "inspircd.h" 00021 #include <stdio.h> -00022 -00023 extern std::stringstream config_f; -00024 -00025 userrec::userrec() -00026 { -00027 // the PROPER way to do it, AVOID bzero at *ALL* costs -00028 strcpy(nick,""); -00029 strcpy(ip,"127.0.0.1"); -00030 timeout = 0; -00031 strcpy(ident,""); -00032 strcpy(host,""); -00033 strcpy(dhost,""); -00034 strcpy(fullname,""); -00035 strcpy(modes,""); -00036 strcpy(inbuf,""); -00037 strcpy(server,""); -00038 strcpy(awaymsg,""); -00039 fd = lastping = signon = idle_lastmsg = nping = registered = 0; -00040 flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0; -00041 haspassed = false; -00042 strcpy(result,""); -00043 for (int i = 0; i < MAXCHANS; i++) -00044 { -00045 this->chans[i].channel = NULL; -00046 this->chans[i].uc_modes = 0; -00047 } -00048 invites.clear(); -00049 } -00050 -00051 -00052 -00053 char* userrec::GetFullHost() -00054 { -00055 snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,dhost); -00056 return result; -00057 } -00058 -00059 -00060 char* userrec::GetFullRealHost() -00061 { -00062 snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,host); -00063 return result; -00064 } -00065 -00066 bool userrec::IsInvited(char* channel) -00067 { -00068 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) -00069 { -00070 if (i->channel) { -00071 if (!strcasecmp(i->channel,channel)) -00072 { -00073 return true; -00074 } -00075 } -00076 } -00077 return false; -00078 } -00079 -00080 void userrec::InviteTo(char* channel) -00081 { -00082 Invited i; -00083 strlcpy(i.channel,channel,CHANMAX); -00084 invites.push_back(i); -00085 } -00086 -00087 void userrec::RemoveInvite(char* channel) -00088 { -00089 log(DEBUG,"Removing invites"); -00090 if (channel) -00091 { -00092 if (invites.size()) -00093 { -00094 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) -00095 { -00096 if (i->channel) -00097 { -00098 if (!strcasecmp(i->channel,channel)) -00099 { -00100 invites.erase(i); -00101 return; -00102 } -00103 } -00104 } -00105 } -00106 } -00107 } -00108 -00109 bool userrec::HasPermission(char* command) -00110 { -00111 char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF]; -00112 char* myclass; -00113 char* mycmd; -00114 char* savept; -00115 char* savept2; -00116 -00117 // are they even an oper at all? -00118 if (strchr(this->modes,'o')) -00119 { -00120 log(DEBUG,"*** HasPermission: %s is an oper",this->nick); -00121 for (int j =0; j < ConfValueEnum("type",&config_f); j++) -00122 { -00123 ConfValue("type","name",j,TypeName,&config_f); -00124 if (!strcmp(TypeName,this->oper)) -00125 { -00126 log(DEBUG,"*** HasPermission: %s is an oper of type '%s'",this->nick,this->oper); -00127 ConfValue("type","classes",j,Classes,&config_f); -00128 char* myclass = strtok_r(Classes," ",&savept); -00129 while (myclass) -00130 { -00131 log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass); -00132 for (int k =0; k < ConfValueEnum("class",&config_f); k++) -00133 { -00134 ConfValue("class","name",k,ClassName,&config_f); -00135 if (!strcmp(ClassName,myclass)) -00136 { -00137 ConfValue("class","commands",k,CommandList,&config_f); -00138 log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList); -00139 -00140 -00141 mycmd = strtok_r(CommandList," ",&savept2); -00142 while (mycmd) -00143 { -00144 if (!strcasecmp(mycmd,command)) -00145 { -00146 log(DEBUG,"*** Command %s found, returning true",command); -00147 return true; -00148 } -00149 mycmd = strtok_r(NULL," ",&savept2); -00150 } -00151 } -00152 } -00153 myclass = strtok_r(NULL," ",&savept); -00154 } -00155 } -00156 } -00157 } -00158 return false; -00159 } -00160 -00161 -

    Generated on Fri Mar 25 03:49:29 2005 for InspIRCd by +00022 #include "inspstring.h" +00023 +00024 extern std::stringstream config_f; +00025 +00026 userrec::userrec() +00027 { +00028 // the PROPER way to do it, AVOID bzero at *ALL* costs +00029 strcpy(nick,""); +00030 strcpy(ip,"127.0.0.1"); +00031 timeout = 0; +00032 strcpy(ident,""); +00033 strcpy(host,""); +00034 strcpy(dhost,""); +00035 strcpy(fullname,""); +00036 strcpy(modes,""); +00037 strcpy(inbuf,""); +00038 strcpy(server,""); +00039 strcpy(awaymsg,""); +00040 strcpy(oper,""); +00041 fd = lastping = signon = idle_lastmsg = nping = registered = 0; +00042 flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0; +00043 haspassed = false; +00044 strcpy(result,""); +00045 for (int i = 0; i < MAXCHANS; i++) +00046 { +00047 this->chans[i].channel = NULL; +00048 this->chans[i].uc_modes = 0; +00049 } +00050 invites.clear(); +00051 } +00052 +00053 +00054 +00055 char* userrec::GetFullHost() +00056 { +00057 snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,dhost); +00058 return result; +00059 } +00060 +00061 +00062 char* userrec::GetFullRealHost() +00063 { +00064 snprintf(result,MAXBUF,"%s!%s@%s",nick,ident,host); +00065 return result; +00066 } +00067 +00068 bool userrec::IsInvited(char* channel) +00069 { +00070 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) +00071 { +00072 if (i->channel) { +00073 if (!strcasecmp(i->channel,channel)) +00074 { +00075 return true; +00076 } +00077 } +00078 } +00079 return false; +00080 } +00081 +00082 void userrec::InviteTo(char* channel) +00083 { +00084 Invited i; +00085 strlcpy(i.channel,channel,CHANMAX); +00086 invites.push_back(i); +00087 } +00088 +00089 void userrec::RemoveInvite(char* channel) +00090 { +00091 log(DEBUG,"Removing invites"); +00092 if (channel) +00093 { +00094 if (invites.size()) +00095 { +00096 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) +00097 { +00098 if (i->channel) +00099 { +00100 if (!strcasecmp(i->channel,channel)) +00101 { +00102 invites.erase(i); +00103 return; +00104 } +00105 } +00106 } +00107 } +00108 } +00109 } +00110 +00111 bool userrec::HasPermission(char* command) +00112 { +00113 char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF]; +00114 char* myclass; +00115 char* mycmd; +00116 char* savept; +00117 char* savept2; +00118 +00119 // are they even an oper at all? +00120 if (strchr(this->modes,'o')) +00121 { +00122 log(DEBUG,"*** HasPermission: %s is an oper",this->nick); +00123 for (int j =0; j < ConfValueEnum("type",&config_f); j++) +00124 { +00125 ConfValue("type","name",j,TypeName,&config_f); +00126 if (!strcmp(TypeName,this->oper)) +00127 { +00128 log(DEBUG,"*** HasPermission: %s is an oper of type '%s'",this->nick,this->oper); +00129 ConfValue("type","classes",j,Classes,&config_f); +00130 char* myclass = strtok_r(Classes," ",&savept); +00131 while (myclass) +00132 { +00133 log(DEBUG,"*** HasPermission: checking classtype '%s'",myclass); +00134 for (int k =0; k < ConfValueEnum("class",&config_f); k++) +00135 { +00136 ConfValue("class","name",k,ClassName,&config_f); +00137 if (!strcmp(ClassName,myclass)) +00138 { +00139 ConfValue("class","commands",k,CommandList,&config_f); +00140 log(DEBUG,"*** HasPermission: found class named %s with commands: '%s'",ClassName,CommandList); +00141 +00142 +00143 mycmd = strtok_r(CommandList," ",&savept2); +00144 while (mycmd) +00145 { +00146 if (!strcasecmp(mycmd,command)) +00147 { +00148 log(DEBUG,"*** Command %s found, returning true",command); +00149 return true; +00150 } +00151 mycmd = strtok_r(NULL," ",&savept2); +00152 } +00153 } +00154 } +00155 myclass = strtok_r(NULL," ",&savept); +00156 } +00157 } +00158 } +00159 } +00160 return false; +00161 } +00162 +00163 +

    Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/users_8cpp.html b/docs/module-doc/users_8cpp.html index 48edf3a06..e0b58a6b3 100644 --- a/docs/module-doc/users_8cpp.html +++ b/docs/module-doc/users_8cpp.html @@ -10,6 +10,7 @@ #include "users.h"
    #include "inspircd.h"
    #include <stdio.h>
    +#include "inspstring.h"

    Go to the source code of this file. @@ -40,10 +41,10 @@

    -Definition at line 23 of file users.cpp. +Definition at line 24 of file users.cpp.

    -


    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/users_8h-source.html b/docs/module-doc/users_8h-source.html index ff6eefab1..3eb9440b2 100644 --- a/docs/module-doc/users_8h-source.html +++ b/docs/module-doc/users_8h-source.html @@ -24,7 +24,7 @@ 00017 #include "inspircd_config.h" 00018 #include "channels.h" 00019 #include "connection.h" -00020 +00020 #include "inspstring.h" 00021 #include <string> 00022 00023 #ifndef __USERS_H__ @@ -120,7 +120,7 @@ 00196 00197 00198 #endif -

    Generated on Fri Mar 25 03:49:29 2005 for InspIRCd by +

    Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/users_8h.html b/docs/module-doc/users_8h.html index 88d3829f4..537ddee59 100644 --- a/docs/module-doc/users_8h.html +++ b/docs/module-doc/users_8h.html @@ -8,6 +8,7 @@

    users.h File Reference

    #include "inspircd_config.h"
    #include "channels.h"
    #include "connection.h"
    +#include "inspstring.h"
    #include <string>

    @@ -242,7 +243,7 @@ Holds a complete list of all channels to which a user has been invited and has n Definition at line 75 of file users.h. -


    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/xline_8h-source.html b/docs/module-doc/xline_8h-source.html index 773d57429..97894e8b8 100644 --- a/docs/module-doc/xline_8h-source.html +++ b/docs/module-doc/xline_8h-source.html @@ -115,7 +115,7 @@ 00146 #endif 00147 00148 -

    Generated on Fri Mar 25 03:49:29 2005 for InspIRCd by +

    Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by doxygen 1.3.3
    diff --git a/docs/module-doc/xline_8h.html b/docs/module-doc/xline_8h.html index c962a6bbc..ba9c457b2 100644 --- a/docs/module-doc/xline_8h.html +++ b/docs/module-doc/xline_8h.html @@ -928,7 +928,7 @@ -
    Generated on Fri Mar 25 03:49:30 2005 for InspIRCd by +
    Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by doxygen 1.3.3
    -- cgit v1.3.1-10-gc9f91