.TH "modules.cpp" 3 "15 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 '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 >, \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 "Typedef Documentation" .PP .SS "typedef nspace::hash_map, \fBInAddr_HashComp\fP> \fBaddress_cache\fP" .PP Definition at line 111 of file modules.cpp. .SS "typedef nspace::hash_map, \fBStrHashComp\fP> \fBchan_hash\fP" .PP Definition at line 110 of file modules.cpp. .SS "typedef std::deque<\fBcommand_t\fP> \fBcommand_table\fP" .PP Definition at line 113 of file modules.cpp. .SS "typedef std::vector<\fBExtMode\fP> \fBExtModeList\fP" .PP Definition at line 139 of file modules.cpp. .SS "typedef ExtModeList::iterator \fBExtModeListIter\fP" .PP Definition at line 140 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 109 of file modules.cpp. .SS "typedef nspace::hash_map, \fBStrHashComp\fP> \fBwhowas_hash\fP" .PP Definition at line 112 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 209 of file modules.cpp. .PP References EMode, and ModeDefined(). .PP Referenced by Server::AddExtendedListMode(), and Server::AddExtendedMode(). .PP .nf 210 { 211 if (ModeDefined(modechar,type)) { 212 return false; 213 } 214 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); 215 return true; 216 } .fi .SS "std::vector<\fBircd_module\fP*> factory (255)" .PP .SS "bool ModeDefined (char modechar, int type)" .PP Definition at line 146 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP Referenced by DoAddExtendedMode(). .PP .nf 147 { 148 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 149 { 150 if ((i->modechar == modechar) && (i->type == type)) 151 { 152 return true; 153 } 154 } 155 return false; 156 } .fi .SS "int ModeDefinedOff (char modechar, int type)" .PP Definition at line 196 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 197 { 198 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 199 { 200 if ((i->modechar == modechar) && (i->type == type)) 201 { 202 return i->params_when_off; 203 } 204 } 205 return 0; 206 } .fi .SS "int ModeDefinedOn (char modechar, int type)" .PP Definition at line 183 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 184 { 185 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 186 { 187 if ((i->modechar == modechar) && (i->type == type)) 188 { 189 return i->params_when_on; 190 } 191 } 192 return 0; 193 } .fi .SS "bool ModeDefinedOper (char modechar, int type)" .PP Definition at line 170 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 171 { 172 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 173 { 174 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) 175 { 176 return true; 177 } 178 } 179 return false; 180 } .fi .SS "bool ModeIsListMode (char modechar, int type)" .PP Definition at line 158 of file modules.cpp. .PP References EMode, and ExtModeListIter. .PP .nf 159 { 160 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 161 { 162 if ((i->modechar == modechar) && (i->type == type) && (i->list == true)) 163 { 164 return true; 165 } 166 } 167 return false; 168 } .fi .SS "void ModeMakeList (char modechar)" .PP Definition at line 219 of file modules.cpp. .PP References EMode, ExtModeListIter, and MT_CHANNEL. .PP Referenced by Server::AddExtendedListMode(). .PP .nf 220 { 221 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) 222 { 223 if ((i->modechar == modechar) && (i->type == MT_CHANNEL)) 224 { 225 i->list = true; 226 return; 227 } 228 } 229 return; 230 } .fi .SS "std::vector<\fBModule\fP*> modules (255)" .PP .SH "Variable Documentation" .PP .SS "char \fBAdminEmail\fP[MAXBUF]" .PP Definition at line 72 of file modules.cpp. .SS "char \fBAdminName\fP[MAXBUF]" .PP Definition at line 71 of file modules.cpp. .SS "char \fBAdminNick\fP[MAXBUF]" .PP Definition at line 73 of file modules.cpp. .SS "std::vector \fBauth_cookies\fP" .PP Definition at line 100 of file modules.cpp. .SS "int \fBboundPortCount\fP" .PP Definition at line 94 of file modules.cpp. .SS "\fBchan_hash\fP \fBchanlist\fP" .PP Definition at line 117 of file modules.cpp. .SS "\fBuser_hash\fP \fBclientlist\fP" .PP Definition at line 116 of file modules.cpp. .SS "\fBcommand_table\fP \fBcmdlist\fP" .PP Definition at line 119 of file modules.cpp. .SS "std::stringstream \fBconfig_f\fP" .PP Definition at line 101 of file modules.cpp. .SS "int \fBdebugging\fP" .PP Definition at line 82 of file modules.cpp. .SS "int \fBdefaultRoute\fP" .PP Definition at line 98 of file modules.cpp. .SS "int \fBDieDelay\fP" .PP Definition at line 85 of file modules.cpp. .SS "char \fBdiepass\fP[MAXBUF]" .PP Definition at line 74 of file modules.cpp. .SS "char \fBDieValue\fP[MAXBUF]" .PP Definition at line 80 of file modules.cpp. .SS "\fBExtModeList\fP \fBEMode\fP" .PP Definition at line 143 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 63 of file modules.cpp. .SS "std::vector \fBfd_reap\fP" .PP Definition at line 91 of file modules.cpp. .SS "\fBuserrec\fP* \fBfd_ref_table\fP[65536]" .PP Definition at line 107 of file modules.cpp. .PP Referenced by Server::FindDescriptor(), and Server::PseudoToUser(). .SS "\fBaddress_cache\fP \fBIP\fP" .PP Definition at line 122 of file modules.cpp. .SS "char \fBlist\fP[MAXBUF]" .PP Definition at line 78 of file modules.cpp. .SS "FILE* \fBlog_file\fP" .PP Definition at line 105 of file modules.cpp. .SS "int \fBLogLevel\fP" .PP Definition at line 67 of file modules.cpp. .SS "int \fBMaxWhoResults\fP" .PP Definition at line 88 of file modules.cpp. .SS "\fBserverrec\fP* \fBme\fP[32]" .PP Definition at line 103 of file modules.cpp. .SS "int \fBMODCOUNT\fP = -1" .PP Definition at line 996 of file modules.cpp. .SS "std::vector \fBmodule_names\fP" .PP Definition at line 92 of file modules.cpp. .SS "std::vector<\fBModule\fP*> modules" .PP Definition at line 62 of file modules.cpp. .SS "\fBfile_cache\fP \fBMOTD\fP" .PP Definition at line 120 of file modules.cpp. .SS "char \fBmotd\fP[MAXBUF]" .PP Definition at line 76 of file modules.cpp. .SS "time_t \fBnb_start\fP" .PP Definition at line 89 of file modules.cpp. .SS "int \fBNetBufferSize\fP" .PP Definition at line 87 of file modules.cpp. .SS "char \fBNetwork\fP[MAXBUF]" .PP Definition at line 69 of file modules.cpp. .SS "int \fBportCount\fP" .PP Definition at line 95 of file modules.cpp. .SS "int \fBports\fP[MAXSOCKS]" .PP Definition at line 97 of file modules.cpp. .SS "char \fBPrefixQuit\fP[MAXBUF]" .PP Definition at line 79 of file modules.cpp. .SS "char \fBrestartpass\fP[MAXBUF]" .PP Definition at line 75 of file modules.cpp. .SS "\fBfile_cache\fP \fBRULES\fP" .PP Definition at line 121 of file modules.cpp. .SS "char \fBrules\fP[MAXBUF]" .PP Definition at line 77 of file modules.cpp. .SS "char \fBServerDesc\fP[MAXBUF]" .PP Definition at line 70 of file modules.cpp. .SS "char \fBServerName\fP[MAXBUF]" .PP Definition at line 68 of file modules.cpp. .SS "int \fBSERVERportCount\fP" .PP Definition at line 96 of file modules.cpp. .SS "time_t \fBstartup_time\fP" .PP Definition at line 86 of file modules.cpp. .SS "time_t \fBTIME\fP" .PP Definition at line 65 of file modules.cpp. .SS "\fBwhowas_hash\fP \fBwhowas\fP" .PP Definition at line 118 of file modules.cpp. .SS "int \fBWHOWAS_MAX\fP" .PP Definition at line 84 of file modules.cpp. .SS "int \fBWHOWAS_STALE\fP" .PP Definition at line 83 of file modules.cpp. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code.