Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

modules.cpp File Reference

#include "inspircd.h"
#include "inspircd_io.h"
#include "inspircd_util.h"
#include "inspircd_config.h"
#include <unistd.h>
#include <fcntl.h>
#include <sys/errno.h>
#include <sys/ioctl.h>
#include <sys/utsname.h>
#include <cstdio>
#include <time.h>
#include <string>
#include <hash_map>
#include <map>
#include <sstream>
#include <vector>
#include <errno.h>
#include <deque>
#include <sched.h>
#include "connection.h"
#include "users.h"
#include "servers.h"
#include "ctables.h"
#include "globals.h"
#include "modules.h"
#include "dynamic.h"
#include "wildcard.h"
#include "message.h"
#include "mode.h"
#include "xline.h"
#include "commands.h"

Include dependency graph for modules.cpp:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace  nspace

Compounds

class  ExtMode
struct  InAddr_HashComp
struct  StrHashComp

Defines

#define nspace   std

Typedefs

typedef nspace::hash_map<
std::string, userrec *, nspace::hash<
string >, StrHashComp
user_hash
typedef nspace::hash_map<
std::string, chanrec *, nspace::hash<
string >, StrHashComp
chan_hash
typedef nspace::hash_map<
in_addr, string *, nspace::hash<
in_addr >, InAddr_HashComp
address_cache
typedef std::deque< command_tcommand_table
typedef std::vector< ExtModeExtModeList
typedef ExtModeList::iterator ExtModeListIter

Functions

bool ModeDefined (char modechar, int type)
bool ModeIsListMode (char modechar, int type)
bool ModeDefinedOper (char modechar, int type)
int ModeDefinedOn (char modechar, int type)
int ModeDefinedOff (char modechar, int type)
bool DoAddExtendedMode (char modechar, int type, bool requires_oper, int params_on, int params_off)
void ModeMakeList (char modechar)
std::vector< Module * > modules (255)
std::vector< ircd_module * > factory (255)

Variables

int MODCOUNT = -1
vector< Module * > modules
vector< ircd_module * > factory
int LogLevel
char ServerName [MAXBUF]
char Network [MAXBUF]
char ServerDesc [MAXBUF]
char AdminName [MAXBUF]
char AdminEmail [MAXBUF]
char AdminNick [MAXBUF]
char diepass [MAXBUF]
char restartpass [MAXBUF]
char motd [MAXBUF]
char rules [MAXBUF]
char list [MAXBUF]
char PrefixQuit [MAXBUF]
char DieValue [MAXBUF]
int debugging
int WHOWAS_STALE
int WHOWAS_MAX
int DieDelay
time_t startup_time
int NetBufferSize
int MaxWhoResults
time_t nb_start
std::vector< int > fd_reap
std::vector< std::string > module_names
char bannerBuffer [MAXBUF]
int boundPortCount
int portCount
int UDPportCount
int ports [MAXSOCKS]
int defaultRoute
std::vector< long > auth_cookies
std::stringstream config_f
serverrecme [32]
FILE * log_file
user_hash clientlist
chan_hash chanlist
user_hash whowas
command_table cmdlist
file_cache MOTD
file_cache RULES
address_cache IP
ExtModeList EMode


Define Documentation

#define nspace   std
 

Definition at line 42 of file modules.cpp.


Typedef Documentation

typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, InAddr_HashComp> address_cache
 

Definition at line 151 of file modules.cpp.

typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, StrHashComp> chan_hash
 

Definition at line 150 of file modules.cpp.

typedef std::deque<command_t> command_table
 

Definition at line 152 of file modules.cpp.

typedef std::vector<ExtMode> ExtModeList
 

Definition at line 178 of file modules.cpp.

typedef ExtModeList::iterator ExtModeListIter
 

Definition at line 179 of file modules.cpp.

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

typedef nspace::hash_map<std::string, userrec*, nspace::hash<string>, StrHashComp> user_hash
 

Definition at line 149 of file modules.cpp.


Function Documentation

bool DoAddExtendedMode char    modechar,
int    type,
bool    requires_oper,
int    params_on,
int    params_off
 

Definition at line 254 of file modules.cpp.

References EMode, and ModeDefined().

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

00255 {
00256         if (ModeDefined(modechar,type)) {
00257                 return false;
00258         }
00259         EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off));
00260         return true;
00261 }

std::vector<ircd_module*> factory 255   
 

bool ModeDefined char    modechar,
int    type
 

Definition at line 185 of file modules.cpp.

References EMode, and ExtModeListIter.

Referenced by DoAddExtendedMode().

00186 {
00187         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
00188         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
00189         {
00190                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
00191                 if ((i->modechar == modechar) && (i->type == type))
00192                 {
00193                         return true;
00194                 }
00195         }
00196         return false;
00197 }

int ModeDefinedOff char    modechar,
int    type
 

Definition at line 241 of file modules.cpp.

References EMode, and ExtModeListIter.

00242 {
00243         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
00244         {
00245                 if ((i->modechar == modechar) && (i->type == type))
00246                 {
00247                         return i->params_when_off;
00248                 }
00249         }
00250         return 0;
00251 }

int ModeDefinedOn char    modechar,
int    type
 

Definition at line 228 of file modules.cpp.

References EMode, and ExtModeListIter.

00229 {
00230         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
00231         {
00232                 if ((i->modechar == modechar) && (i->type == type))
00233                 {
00234                         return i->params_when_on;
00235                 }
00236         }
00237         return 0;
00238 }

bool ModeDefinedOper char    modechar,
int    type
 

Definition at line 213 of file modules.cpp.

References 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                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
00219                 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true))
00220                 {
00221                         return true;
00222                 }
00223         }
00224         return false;
00225 }

bool ModeIsListMode char    modechar,
int    type
 

Definition at line 199 of file modules.cpp.

References EMode, and ExtModeListIter.

00200 {
00201         log(DEBUG,"Size of extmodes vector is %d",EMode.size());
00202         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
00203         {
00204                 log(DEBUG,"i->modechar==%c, modechar=%c, i->type=%d, type=%d",i->modechar,modechar,i->type,type);
00205                 if ((i->modechar == modechar) && (i->type == type) && (i->list == true))
00206                 {
00207                         return true;
00208                 }
00209         }
00210         return false;
00211 }

void ModeMakeList char    modechar
 

Definition at line 264 of file modules.cpp.

References EMode, ExtModeListIter, and MT_CHANNEL.

Referenced by Server::AddExtendedListMode().

00265 {
00266         for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++)
00267         {
00268                 if ((i->modechar == modechar) && (i->type == MT_CHANNEL))
00269                 {
00270                         i->list = true;
00271                         return;
00272                 }
00273         }
00274         return;
00275 }

std::vector<Module*> modules 255   
 


Variable Documentation

char AdminEmail[MAXBUF]
 

Definition at line 56 of file modules.cpp.

char AdminName[MAXBUF]
 

Definition at line 55 of file modules.cpp.

char AdminNick[MAXBUF]
 

Definition at line 57 of file modules.cpp.

std::vector<long> auth_cookies
 

Definition at line 85 of file modules.cpp.

char bannerBuffer[MAXBUF]
 

Definition at line 78 of file modules.cpp.

int boundPortCount
 

Definition at line 79 of file modules.cpp.

chan_hash chanlist
 

Definition at line 156 of file modules.cpp.

user_hash clientlist
 

Definition at line 155 of file modules.cpp.

Referenced by Server::GetUsers().

command_table cmdlist
 

Definition at line 158 of file modules.cpp.

std::stringstream config_f
 

Definition at line 86 of file modules.cpp.

int debugging
 

Definition at line 66 of file modules.cpp.

int defaultRoute
 

Definition at line 83 of file modules.cpp.

int DieDelay
 

Definition at line 69 of file modules.cpp.

char diepass[MAXBUF]
 

Definition at line 58 of file modules.cpp.

char DieValue[MAXBUF]
 

Definition at line 64 of file modules.cpp.

ExtModeList EMode
 

Definition at line 182 of file modules.cpp.

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

vector<ircd_module*> factory
 

Definition at line 49 of file modules.cpp.

std::vector<int> fd_reap
 

Definition at line 75 of file modules.cpp.

address_cache IP
 

Definition at line 161 of file modules.cpp.

char list[MAXBUF]
 

Definition at line 62 of file modules.cpp.

FILE* log_file
 

Definition at line 90 of file modules.cpp.

int LogLevel
 

Definition at line 51 of file modules.cpp.

int MaxWhoResults
 

Definition at line 72 of file modules.cpp.

serverrec* me[32]
 

Definition at line 88 of file modules.cpp.

int MODCOUNT = -1
 

Definition at line 652 of file modules.cpp.

std::vector<std::string> module_names
 

Definition at line 76 of file modules.cpp.

vector<Module*> modules
 

Definition at line 48 of file modules.cpp.

file_cache MOTD
 

Definition at line 159 of file modules.cpp.

char motd[MAXBUF]
 

Definition at line 60 of file modules.cpp.

time_t nb_start
 

Definition at line 73 of file modules.cpp.

int NetBufferSize
 

Definition at line 71 of file modules.cpp.

char Network[MAXBUF]
 

Definition at line 53 of file modules.cpp.

int portCount
 

Definition at line 80 of file modules.cpp.

int ports[MAXSOCKS]
 

Definition at line 82 of file modules.cpp.

char PrefixQuit[MAXBUF]
 

Definition at line 63 of file modules.cpp.

char restartpass[MAXBUF]
 

Definition at line 59 of file modules.cpp.

file_cache RULES
 

Definition at line 160 of file modules.cpp.

char rules[MAXBUF]
 

Definition at line 61 of file modules.cpp.

char ServerDesc[MAXBUF]
 

Definition at line 54 of file modules.cpp.

char ServerName[MAXBUF]
 

Definition at line 52 of file modules.cpp.

time_t startup_time
 

Definition at line 70 of file modules.cpp.

int UDPportCount
 

Definition at line 81 of file modules.cpp.

user_hash whowas
 

Definition at line 157 of file modules.cpp.

int WHOWAS_MAX
 

Definition at line 68 of file modules.cpp.

int WHOWAS_STALE
 

Definition at line 67 of file modules.cpp.


Generated on Sat May 1 17:50:14 2004 for InspIRCd by doxygen1.3-rc3