.TH "modules.cpp" 3 "13 May 2005" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME modules.cpp \- .SH SYNOPSIS .br .PP \fC#include 'inspircd.h'\fP .br \fC#include 'inspircd_io.h'\fP .br \fC#include 'inspircd_util.h'\fP .br \fC#include 'inspircd_config.h'\fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include \fP .br \fC#include 'connection.h'\fP .br \fC#include 'users.h'\fP .br \fC#include 'servers.h'\fP .br \fC#include 'ctables.h'\fP .br \fC#include 'globals.h'\fP .br \fC#include 'modules.h'\fP .br \fC#include 'dynamic.h'\fP .br \fC#include 'wildcard.h'\fP .br \fC#include 'message.h'\fP .br \fC#include 'mode.h'\fP .br \fC#include 'xline.h'\fP .br \fC#include 'commands.h'\fP .br \fC#include 'inspstring.h'\fP .br .SS "Namespaces" .in +1c .ti -1c .RI "namespace \fBnspace\fP" .br .in -1c .SS "Compounds" .in +1c .ti -1c .RI "class \fBExtMode\fP" .br .ti -1c .RI "struct \fBInAddr_HashComp\fP" .br .ti -1c .RI "struct \fBStrHashComp\fP" .br .in -1c .SS "Defines" .in +1c .ti -1c .RI "#define \fBnspace\fP std" .br .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef nspace::hash_map< std::string, \fBuserrec\fP *, nspace::hash< string >, \fBStrHashComp\fP > \fBuser_hash\fP" .br .ti -1c .RI "typedef nspace::hash_map< std::string, \fBchanrec\fP *, nspace::hash< string >, \fBStrHashComp\fP > \fBchan_hash\fP" .br .ti -1c .RI "typedef nspace::hash_map< in_addr, string *, nspace::hash< in_addr >, \fBInAddr_HashComp\fP > \fBaddress_cache\fP" .br .ti -1c .RI "typedef nspace::hash_map< std::string, \fBWhoWasUser\fP *, nspace::hash< string >, \fBStrHashComp\fP > \fBwhowas_hash\fP" .br .ti -1c .RI "typedef std::deque< \fBcommand_t\fP > \fBcommand_table\fP" .br .ti -1c .RI "typedef std::vector< \fBExtMode\fP > \fBExtModeList\fP" .br .ti -1c .RI "typedef ExtModeList::iterator \fBExtModeListIter\fP" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "bool \fBModeDefined\fP (char modechar, int type)" .br .ti -1c .RI "bool \fBModeIsListMode\fP (char modechar, int type)" .br .ti -1c .RI "bool \fBModeDefinedOper\fP (char modechar, int type)" .br .ti -1c .RI "int \fBModeDefinedOn\fP (char modechar, int type)" .br .ti -1c .RI "int \fBModeDefinedOff\fP (char modechar, int type)" .br .ti -1c .RI "bool \fBDoAddExtendedMode\fP (char modechar, int type, bool requires_oper, int params_on, int params_off)" .br .ti -1c .RI "void \fBModeMakeList\fP (char modechar)" .br .ti -1c .RI "std::vector< \fBModule\fP * > \fBmodules\fP (255)" .br .ti -1c .RI "std::vector< \fBircd_module\fP * > \fBfactory\fP (255)" .br .in -1c .SS "Variables" .in +1c .ti -1c .RI "int \fBMODCOUNT\fP = -1" .br .ti -1c .RI "std::vector< \fBModule\fP * > \fBmodules\fP" .br .ti -1c .RI "std::vector< \fBircd_module\fP * > \fBfactory\fP" .br .ti -1c .RI "time_t \fBTIME\fP" .br .ti -1c .RI "int \fBLogLevel\fP" .br .ti -1c .RI "char \fBServerName\fP [MAXBUF]" .br .ti -1c .RI "char \fBNetwork\fP [MAXBUF]" .br .ti -1c .RI "char \fBServerDesc\fP [MAXBUF]" .br .ti -1c .RI "char \fBAdminName\fP [MAXBUF]" .br .ti -1c .RI "char \fBAdminEmail\fP [MAXBUF]" .br .ti -1c .RI "char \fBAdminNick\fP [MAXBUF]" .br .ti -1c .RI "char \fBdiepass\fP [MAXBUF]" .br .ti -1c .RI "char \fBrestartpass\fP [MAXBUF]" .br .ti -1c .RI "char \fBmotd\fP [MAXBUF]" .br .ti -1c .RI "char \fBrules\fP [MAXBUF]" .br .ti -1c .RI "char \fBlist\fP [MAXBUF]" .br .ti -1c .RI "char \fBPrefixQuit\fP [MAXBUF]" .br .ti -1c .RI "char \fBDieValue\fP [MAXBUF]" .br .ti -1c .RI "int \fBdebugging\fP" .br .ti -1c .RI "int \fBWHOWAS_STALE\fP" .br .ti -1c .RI "int \fBWHOWAS_MAX\fP" .br .ti -1c .RI "int \fBDieDelay\fP" .br .ti -1c .RI "time_t \fBstartup_time\fP" .br .ti -1c .RI "int \fBNetBufferSize\fP" .br .ti -1c .RI "int \fBMaxWhoResults\fP" .br .ti -1c .RI "time_t \fBnb_start\fP" .br .ti -1c .RI "std::vector< int > \fBfd_reap\fP" .br .ti -1c .RI "std::vector< std::string > \fBmodule_names\fP" .br .ti -1c .RI "int \fBboundPortCount\fP" .br .ti -1c .RI "int \fBportCount\fP" .br .ti -1c .RI "int \fBSERVERportCount\fP" .br .ti -1c .RI "int \fBports\fP [MAXSOCKS]" .br .ti -1c .RI "int \fBdefaultRoute\fP" .br .ti -1c .RI "std::vector< long > \fBauth_cookies\fP" .br .ti -1c .RI "std::stringstream \fBconfig_f\fP" .br .ti -1c .RI "\fBserverrec\fP * \fBme\fP [32]" .br .ti -1c .RI "FILE * \fBlog_file\fP" .br .ti -1c .RI "\fBuserrec\fP * \fBfd_ref_table\fP [65536]" .br .ti -1c .RI "\fBuser_hash\fP \fBclientlist\fP" .br .ti -1c .RI "\fBchan_hash\fP \fBchanlist\fP" .br .ti -1c .RI "\fBwhowas_hash\fP \fBwhowas\fP" .br .ti -1c .RI "\fBcommand_table\fP \fBcmdlist\fP" .br .ti -1c .RI "\fBfile_cache\fP \fBMOTD\fP" .br .ti -1c .RI "\fBfile_cache\fP \fBRULES\fP" .br .ti -1c .RI "\fBaddress_cache\fP \fBIP\fP" .br .ti -1c .RI "\fBExtModeList\fP \fBEMode\fP" .br .in -1c .SH "Define Documentation" .PP .SS "#define nspace std" .PP Definition at line 64 of file modules.cpp. .SH "Typedef Documentation" .PP .SS "typedef nspace::hash_map, \fBInAddr_HashComp\fP> \fBaddress_cache\fP" .PP Definition at line 187 of file modules.cpp. .SS "typedef nspace::hash_map, \fBStrHashComp\fP> \fBchan_hash\fP" .PP Definition at line 186 of file modules.cpp. .SS "typedef std::deque<\fBcommand_t\fP> \fBcommand_table\fP" .PP Definition at line 189 of file modules.cpp. .SS "typedef std::vector<\fBExtMode\fP> \fBExtModeList\fP" .PP Definition at line 215 of file modules.cpp. .SS "typedef ExtModeList::iterator \fBExtModeListIter\fP" .PP Definition at line 216 of file modules.cpp. .PP Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList(). .SS "typedef nspace::hash_map, \fBStrHashComp\fP> \fBuser_hash\fP" .PP Definition at line 185 of file modules.cpp. .SS "typedef nspace::hash_map, \fBStrHashComp\fP> \fBwhowas_hash\fP" .PP Definition at line 188 of file modules.cpp. .SH "Function Documentation" .PP .SS "bool DoAddExtendedMode (char modechar, int type, bool requires_oper, int params_on, int params_off)" .PP Definition at line 285 of file modules.cpp. .PP References EMode, and ModeDefined(). .PP Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode(). .PP .nf 286 { 287 if (ModeDefined(modechar,type)) { 288 return false; 289 } 290 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); 291 return true; 292 } .fi .SS "std::vector<\fBircd_module\fP*> factory (255)" .PP .SS "bool ModeDefined (char modechar, int type)" .PP Definition at line 222 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP Referenced by DoAddExtendedMode(). .PP .nf 223 { 224 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 225 { 226 if ((i->modechar == modechar) && (i->type == type)) 227 { 228 return true; 229 } 230 } 231 return false; 232 } .fi .SS "int ModeDefinedOff (char modechar, int type)" .PP Definition at line 272 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 273 { 274 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 275 { 276 if ((i->modechar == modechar) && (i->type == type)) 277 { 278 return i->params_when_off; 279 } 280 } 281 return 0; 282 } .fi .SS "int ModeDefinedOn (char modechar, int type)" .PP Definition at line 259 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 260 { 261 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 262 { 263 if ((i->modechar == modechar) && (i->type == type)) 264 { 265 return i->params_when_on; 266 } 267 } 268 return 0; 269 } .fi .SS "bool ModeDefinedOper (char modechar, int type)" .PP Definition at line 246 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 247 { 248 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 249 { 250 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) 251 { 252 return true; 253 } 254 } 255 return false; 256 } .fi .SS "bool ModeIsListMode (char modechar, int type)" .PP Definition at line 234 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 235 { 236 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 237 { 238 if ((i->modechar == modechar) && (i->type == type) && (i->list == true)) 239 { 240 return true; 241 } 242 } 243 return false; 244 } .fi .SS "void ModeMakeList (char modechar)" .PP Definition at line 295 of file modules.cpp. .PP References EMode, ExtModeListIter, and MT_CHANNEL. .PP Referenced by Server::AddExtendedListMode(). .PP .nf 296 { 297 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 298 { 299 if ((i->modechar == modechar) && (i->type == MT_CHANNEL)) 300 { 301 i->list = true; 302 return; 303 } 304 } 305 return; 306 } .fi .SS "std::vector<\fBModule\fP*> modules (255)" .PP .SH "Variable Documentation" .PP .SS "char \fBAdminEmail\fP[MAXBUF]" .PP Definition at line 84 of file modules.cpp. .SS "char \fBAdminName\fP[MAXBUF]" .PP Definition at line 83 of file modules.cpp. .SS "char \fBAdminNick\fP[MAXBUF]" .PP Definition at line 85 of file modules.cpp. .SS "std::vector \fBauth_cookies\fP" .PP Definition at line 112 of file modules.cpp. .SS "int \fBboundPortCount\fP" .PP Definition at line 106 of file modules.cpp. .SS "\fBchan_hash\fP \fBchanlist\fP" .PP Definition at line 193 of file modules.cpp. .SS "\fBuser_hash\fP \fBclientlist\fP" .PP Definition at line 192 of file modules.cpp. .SS "\fBcommand_table\fP \fBcmdlist\fP" .PP Definition at line 195 of file modules.cpp. .SS "std::stringstream \fBconfig_f\fP" .PP Definition at line 113 of file modules.cpp. .SS "int \fBdebugging\fP" .PP Definition at line 94 of file modules.cpp. .SS "int \fBdefaultRoute\fP" .PP Definition at line 110 of file modules.cpp. .SS "int \fBDieDelay\fP" .PP Definition at line 97 of file modules.cpp. .SS "char \fBdiepass\fP[MAXBUF]" .PP Definition at line 86 of file modules.cpp. .SS "char \fBDieValue\fP[MAXBUF]" .PP Definition at line 92 of file modules.cpp. .SS "\fBExtModeList\fP \fBEMode\fP" .PP Definition at line 219 of file modules.cpp. .PP Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList(). .SS "std::vector<\fBircd_module\fP*> factory" .PP Definition at line 75 of file modules.cpp. .SS "std::vector \fBfd_reap\fP" .PP Definition at line 103 of file modules.cpp. .SS "\fBuserrec\fP* \fBfd_ref_table\fP[65536]" .PP Definition at line 119 of file modules.cpp. .PP Referenced by Server::FindDescriptor(), and Server::PseudoToUser(). .SS "\fBaddress_cache\fP \fBIP\fP" .PP Definition at line 198 of file modules.cpp. .SS "char \fBlist\fP[MAXBUF]" .PP Definition at line 90 of file modules.cpp. .SS "FILE* \fBlog_file\fP" .PP Definition at line 117 of file modules.cpp. .SS "int \fBLogLevel\fP" .PP Definition at line 79 of file modules.cpp. .SS "int \fBMaxWhoResults\fP" .PP Definition at line 100 of file modules.cpp. .SS "\fBserverrec\fP* \fBme\fP[32]" .PP Definition at line 115 of file modules.cpp. .SS "int \fBMODCOUNT\fP = -1" .PP Definition at line 1067 of file modules.cpp. .SS "std::vector \fBmodule_names\fP" .PP Definition at line 104 of file modules.cpp. .SS "std::vector<\fBModule\fP*> modules" .PP Definition at line 74 of file modules.cpp. .SS "\fBfile_cache\fP \fBMOTD\fP" .PP Definition at line 196 of file modules.cpp. .SS "char \fBmotd\fP[MAXBUF]" .PP Definition at line 88 of file modules.cpp. .SS "time_t \fBnb_start\fP" .PP Definition at line 101 of file modules.cpp. .SS "int \fBNetBufferSize\fP" .PP Definition at line 99 of file modules.cpp. .SS "char \fBNetwork\fP[MAXBUF]" .PP Definition at line 81 of file modules.cpp. .SS "int \fBportCount\fP" .PP Definition at line 107 of file modules.cpp. .SS "int \fBports\fP[MAXSOCKS]" .PP Definition at line 109 of file modules.cpp. .SS "char \fBPrefixQuit\fP[MAXBUF]" .PP Definition at line 91 of file modules.cpp. .SS "char \fBrestartpass\fP[MAXBUF]" .PP Definition at line 87 of file modules.cpp. .SS "\fBfile_cache\fP \fBRULES\fP" .PP Definition at line 197 of file modules.cpp. .SS "char \fBrules\fP[MAXBUF]" .PP Definition at line 89 of file modules.cpp. .SS "char \fBServerDesc\fP[MAXBUF]" .PP Definition at line 82 of file modules.cpp. .SS "char \fBServerName\fP[MAXBUF]" .PP Definition at line 80 of file modules.cpp. .SS "int \fBSERVERportCount\fP" .PP Definition at line 108 of file modules.cpp. .SS "time_t \fBstartup_time\fP" .PP Definition at line 98 of file modules.cpp. .SS "time_t \fBTIME\fP" .PP Definition at line 77 of file modules.cpp. .SS "\fBwhowas_hash\fP \fBwhowas\fP" .PP Definition at line 194 of file modules.cpp. .SS "int \fBWHOWAS_MAX\fP" .PP Definition at line 96 of file modules.cpp. .SS "int \fBWHOWAS_STALE\fP" .PP Definition at line 95 of file modules.cpp. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code.