.TH "modules.cpp" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME modules.cpp \- .SH SYNOPSIS .br .PP \fC#include 'inspircd_config.h'\fP .br \fC#include 'inspircd.h'\fP .br \fC#include 'inspircd_io.h'\fP .br \fC#include 'inspircd_util.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 '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 \fC#include 'helperfuncs.h'\fP .br \fC#include 'hashcomp.h'\fP .br .SS "Compounds" .in +1c .ti -1c .RI "class \fBExtMode\fP" .br .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef nspace::hash_map< std::string, \fBuserrec\fP *, nspace::hash< string >, \fBirc::StrHashComp\fP > \fBuser_hash\fP" .br .ti -1c .RI "typedef nspace::hash_map< std::string, \fBchanrec\fP *, nspace::hash< string >, \fBirc::StrHashComp\fP > \fBchan_hash\fP" .br .ti -1c .RI "typedef nspace::hash_map< in_addr, string *, nspace::hash< in_addr >, \fBirc::InAddr_HashComp\fP > \fBaddress_cache\fP" .br .ti -1c .RI "typedef nspace::hash_map< std::string, \fBWhoWasUser\fP *, nspace::hash< string >, \fBirc::StrHashComp\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 "std::vector< std::string > \fBinclude_stack\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< 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 "Typedef Documentation" .PP .SS "typedef nspace::hash_map, \fBirc::InAddr_HashComp\fP> \fBaddress_cache\fP" .PP Definition at line 122 of file modules.cpp. .SS "typedef nspace::hash_map, \fBirc::StrHashComp\fP> \fBchan_hash\fP" .PP Definition at line 121 of file modules.cpp. .SS "typedef std::deque<\fBcommand_t\fP> \fBcommand_table\fP" .PP Definition at line 124 of file modules.cpp. .SS "typedef std::vector<\fBExtMode\fP> \fBExtModeList\fP" .PP Definition at line 150 of file modules.cpp. .SS "typedef ExtModeList::iterator \fBExtModeListIter\fP" .PP Definition at line 151 of file modules.cpp. .PP Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList(). .SS "typedef nspace::hash_map, \fBirc::StrHashComp\fP> \fBuser_hash\fP" .PP Definition at line 120 of file modules.cpp. .SS "typedef nspace::hash_map, \fBirc::StrHashComp\fP> \fBwhowas_hash\fP" .PP Definition at line 123 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 220 of file modules.cpp. .PP References EMode, and ModeDefined(). .PP Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode(). .PP .nf 221 { 222 if (ModeDefined(modechar,type)) { 223 return false; 224 } 225 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); 226 return true; 227 } .fi .SS "std::vector<\fBircd_module\fP*> factory (255)" .PP .SS "bool ModeDefined (char modechar, int type)" .PP Definition at line 157 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP Referenced by DoAddExtendedMode(). .PP .nf 158 { 159 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 160 { 161 if ((i->modechar == modechar) && (i->type == type)) 162 { 163 return true; 164 } 165 } 166 return false; 167 } .fi .SS "int ModeDefinedOff (char modechar, int type)" .PP Definition at line 207 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 208 { 209 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 210 { 211 if ((i->modechar == modechar) && (i->type == type)) 212 { 213 return i->params_when_off; 214 } 215 } 216 return 0; 217 } .fi .SS "int ModeDefinedOn (char modechar, int type)" .PP Definition at line 194 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 195 { 196 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 197 { 198 if ((i->modechar == modechar) && (i->type == type)) 199 { 200 return i->params_when_on; 201 } 202 } 203 return 0; 204 } .fi .SS "bool ModeDefinedOper (char modechar, int type)" .PP Definition at line 181 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 182 { 183 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 184 { 185 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) 186 { 187 return true; 188 } 189 } 190 return false; 191 } .fi .SS "bool ModeIsListMode (char modechar, int type)" .PP Definition at line 169 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 170 { 171 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 172 { 173 if ((i->modechar == modechar) && (i->type == type) && (i->list == true)) 174 { 175 return true; 176 } 177 } 178 return false; 179 } .fi .SS "void ModeMakeList (char modechar)" .PP Definition at line 230 of file modules.cpp. .PP References EMode, ExtModeListIter, and MT_CHANNEL. .PP Referenced by Server::AddExtendedListMode(). .PP .nf 231 { 232 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 233 { 234 if ((i->modechar == modechar) && (i->type == MT_CHANNEL)) 235 { 236 i->list = true; 237 return; 238 } 239 } 240 return; 241 } .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 111 of file modules.cpp. .SS "int \fBboundPortCount\fP" .PP Definition at line 105 of file modules.cpp. .SS "\fBchan_hash\fP \fBchanlist\fP" .PP Definition at line 128 of file modules.cpp. .SS "\fBuser_hash\fP \fBclientlist\fP" .PP Definition at line 127 of file modules.cpp. .SS "\fBcommand_table\fP \fBcmdlist\fP" .PP Definition at line 130 of file modules.cpp. .SS "std::stringstream \fBconfig_f\fP" .PP Definition at line 112 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 109 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 154 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 73 of file modules.cpp. .SS "\fBuserrec\fP* \fBfd_ref_table\fP[65536]" .PP Definition at line 118 of file modules.cpp. .PP Referenced by Server::FindDescriptor(), and Server::PseudoToUser(). .SS "std::vector \fBinclude_stack\fP" .PP Definition at line 75 of file modules.cpp. .PP Referenced by ConfigReader::ConfigReader(). .SS "\fBaddress_cache\fP \fBIP\fP" .PP Definition at line 133 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 116 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 114 of file modules.cpp. .SS "int \fBMODCOUNT\fP = -1" .PP Definition at line 1019 of file modules.cpp. .SS "std::vector \fBmodule_names\fP" .PP Definition at line 103 of file modules.cpp. .SS "std::vector<\fBModule\fP*> modules" .PP Definition at line 72 of file modules.cpp. .SS "\fBfile_cache\fP \fBMOTD\fP" .PP Definition at line 131 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 106 of file modules.cpp. .SS "int \fBports\fP[MAXSOCKS]" .PP Definition at line 108 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 132 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 107 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 129 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.