diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-11-27 01:44:46 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-11-27 01:44:46 +0000 |
commit | cd9f9a8add02597a2998ba74b803ed3fbf81314c (patch) | |
tree | b53e3ea035c25a0580e9b31dc31f27ee33c36c96 /docs/man/man3 | |
parent | 91755849c3bdf089f4583c119fcbb90ff99bed5b (diff) |
Added new documentation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1966 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'docs/man/man3')
57 files changed, 2949 insertions, 2213 deletions
diff --git a/docs/man/man3/Admin.3 b/docs/man/man3/Admin.3 index be8818954..885903ffb 100644 --- a/docs/man/man3/Admin.3 +++ b/docs/man/man3/Admin.3 @@ -1,4 +1,4 @@ -.TH "Admin" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Admin" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -16,49 +16,50 @@ Inherits \fBclassbase\fP. .in +1c .ti -1c -.RI "\fBAdmin\fP (std::string name, std::string email, std::string nick)" +.RI "\fBAdmin\fP (\fBstd::string\fP name, \fBstd::string\fP email, \fBstd::string\fP nick)" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c -.RI "const std::string \fBName\fP" +.RI "const \fBstd::string\fP \fBName\fP" .br .ti -1c -.RI "const std::string \fBEmail\fP" +.RI "const \fBstd::string\fP \fBEmail\fP" .br .ti -1c -.RI "const std::string \fBNick\fP" +.RI "const \fBstd::string\fP \fBNick\fP" .br .in -1c .SH "Detailed Description" .PP Holds /ADMIN data This class contains the admin details of the local server. -It is constructed by class \fBServer\fP, and has three read-only values, Name, Email and Nick that contain the specified values for the server where the module is running. +It is constructed by class \fBServer\fP, and has three read-only values, Name, Email and Nick that contain the specified values for the server where the module is running. .PP -Definition at line 123 of file modules.h. +Definition at line 124 of file modules.h. .SH "Constructor & Destructor Documentation" .PP -.SS "Admin::Admin (std::string name, std::string email, std::string nick)" +.SS "Admin::Admin (\fBstd::string\fP name, \fBstd::string\fP email, \fBstd::string\fP nick)" .PP -Definition at line 249 of file modules.cpp. +Definition at line 250 of file modules.cpp. .PP .nf -249 : Name(name), Email(email), Nick(nick) { }; +250 : Name(name), Email(email), Nick(nick) { }; .fi +.PP .SH "Member Data Documentation" .PP -.SS "const std::string \fBAdmin::Email\fP" +.SS "const \fBstd::string\fP \fBAdmin::Email\fP" .PP -Definition at line 126 of file modules.h. -.SS "const std::string \fBAdmin::Name\fP" +Definition at line 127 of file modules.h. +.SS "const \fBstd::string\fP \fBAdmin::Name\fP" .PP -Definition at line 126 of file modules.h. -.SS "const std::string \fBAdmin::Nick\fP" +Definition at line 127 of file modules.h. +.SS "const \fBstd::string\fP \fBAdmin::Nick\fP" .PP -Definition at line 126 of file modules.h. +Definition at line 127 of file modules.h. .SH "Author" .PP diff --git a/docs/man/man3/BanItem.3 b/docs/man/man3/BanItem.3 index 0fe2819cf..db8e92a23 100644 --- a/docs/man/man3/BanItem.3 +++ b/docs/man/man3/BanItem.3 @@ -1,4 +1,4 @@ -.TH "BanItem" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "BanItem" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -14,7 +14,9 @@ Inherits \fBHostItem\fP. .PP .SH "Detailed Description" .PP -A subclass of \fBHostItem\fP designed to hold channel bans (+b). Definition at line 52 of file channels.h. +A subclass of \fBHostItem\fP designed to hold channel bans (+b). +.PP +Definition at line 52 of file channels.h. .SH "Author" .PP diff --git a/docs/man/man3/BoolSet.3 b/docs/man/man3/BoolSet.3 index 5089a03bf..56bb4b095 100644 --- a/docs/man/man3/BoolSet.3 +++ b/docs/man/man3/BoolSet.3 @@ -1,4 +1,4 @@ -.TH "BoolSet" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "BoolSet" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -65,22 +65,26 @@ BoolSet \- BoolSet is a utility class designed to hold eight bools in a bitmask. .PP BoolSet is a utility class designed to hold eight bools in a bitmask. -Use \fBBoolSet::Set\fP and \fBBoolSet::Get\fP to set and get bools in the bitmask, and Unset and Invert for special operations upon them. +Use \fBBoolSet::Set\fP and \fBBoolSet::Get\fP to set and get bools in the bitmask, and Unset and Invert for special operations upon them. .PP -Definition at line 98 of file base.h. +Definition at line 95 of file base.h. .SH "Constructor & Destructor Documentation" .PP .SS "BoolSet::BoolSet ()" .PP The default constructor initializes the BoolSet to all values unset. +.PP .SS "BoolSet::BoolSet (char bitmask)" .PP This constructor copies the default bitmask from a char. +.PP .SH "Member Function Documentation" .PP .SS "bool BoolSet::Get (int number)" .PP -The Get method returns the value of one bool in the set. \fBParameters:\fP +The Get method returns the value of one bool in the set. +.PP +\fBParameters:\fP .RS 4 \fInumber\fP The number of the item to retrieve. This must be between 0 and 7. .RE @@ -93,7 +97,9 @@ True if the item is set, false if it is unset. .SS "void BoolSet::Invert (int number)" .PP -The Unset method inverts (flips) one value in the set. \fBParameters:\fP +The Unset method inverts (flips) one value in the set. +.PP +\fBParameters:\fP .RS 4 \fInumber\fP The number of the item to invert. This must be between 0 and 7. .RE @@ -102,18 +108,24 @@ The Unset method inverts (flips) one value in the set. \fBParameters:\fP .SS "\fBBoolSet\fP BoolSet::operator & (\fBBoolSet\fP other)" .PP AND two BoolSets together. +.PP .SS "bool BoolSet::operator= (\fBBoolSet\fP other)" .PP Assign one BoolSet to another. +.PP .SS "bool BoolSet::operator== (\fBBoolSet\fP other)" .PP Compare two BoolSets. +.PP .SS "\fBBoolSet\fP BoolSet::operator| (\fBBoolSet\fP other)" .PP OR two BoolSets together. +.PP .SS "void BoolSet::Set (int number)" .PP -The Set method sets one bool in the set. \fBParameters:\fP +The Set method sets one bool in the set. +.PP +\fBParameters:\fP .RS 4 \fInumber\fP The number of the item to set. This must be between 0 and 7. .RE @@ -121,7 +133,9 @@ The Set method sets one bool in the set. \fBParameters:\fP .SS "void BoolSet::Unset (int number)" .PP -The Unset method unsets one value in the set. \fBParameters:\fP +The Unset method unsets one value in the set. +.PP +\fBParameters:\fP .RS 4 \fInumber\fP The number of the item to set. This must be between 0 and 7. .RE @@ -131,7 +145,7 @@ The Unset method unsets one value in the set. \fBParameters:\fP .PP .SS "char \fBBoolSet::bits\fP\fC [private]\fP" .PP -Definition at line 100 of file base.h. +Definition at line 97 of file base.h. .SH "Author" .PP diff --git a/docs/man/man3/ConfigReader.3 b/docs/man/man3/ConfigReader.3 index 6e9a3bfed..abbec6ef3 100644 --- a/docs/man/man3/ConfigReader.3 +++ b/docs/man/man3/ConfigReader.3 @@ -1,4 +1,4 @@ -.TH "ConfigReader" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ConfigReader" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -20,7 +20,7 @@ Inherits \fBclassbase\fP. .br .RI "\fIDefault constructor. \fP" .ti -1c -.RI "\fBConfigReader\fP (std::string filename)" +.RI "\fBConfigReader\fP (\fBstd::string\fP filename)" .br .RI "\fIOverloaded constructor. \fP" .ti -1c @@ -28,15 +28,15 @@ Inherits \fBclassbase\fP. .br .RI "\fIDefault destructor. \fP" .ti -1c -.RI "std::string \fBReadValue\fP (std::string tag, std::string name, int index)" +.RI "\fBstd::string\fP \fBReadValue\fP (\fBstd::string\fP tag, \fBstd::string\fP name, int index)" .br .RI "\fIRetrieves a value from the config file. \fP" .ti -1c -.RI "bool \fBReadFlag\fP (std::string tag, std::string name, int index)" +.RI "bool \fBReadFlag\fP (\fBstd::string\fP tag, \fBstd::string\fP name, int index)" .br .RI "\fIRetrieves a boolean value from the config file. \fP" .ti -1c -.RI "long \fBReadInteger\fP (std::string tag, std::string name, int index, bool needs_unsigned)" +.RI "long \fBReadInteger\fP (\fBstd::string\fP tag, \fBstd::string\fP name, int index, bool needs_unsigned)" .br .RI "\fIRetrieves an integer value from the config file. \fP" .ti -1c @@ -44,7 +44,7 @@ Inherits \fBclassbase\fP. .br .RI "\fIReturns the last error to occur. \fP" .ti -1c -.RI "int \fBEnumerate\fP (std::string tag)" +.RI "int \fBEnumerate\fP (\fBstd::string\fP tag)" .br .RI "\fICounts the number of times a given tag appears in the config file. \fP" .ti -1c @@ -56,7 +56,7 @@ Inherits \fBclassbase\fP. .br .RI "\fIDumps the list of errors in a config file to an output location. \fP" .ti -1c -.RI "int \fBEnumerateValues\fP (std::string tag, int index)" +.RI "int \fBEnumerateValues\fP (\fBstd::string\fP tag, int index)" .br .RI "\fIReturns the number of items within a tag. \fP" .in -1c @@ -82,242 +82,303 @@ Inherits \fBclassbase\fP. .PP Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file. -It may either be instantiated with one parameter or none. Constructing the class using one parameter allows you to specify a path to your own configuration file, otherwise, inspircd.conf is read. +It may either be instantiated with one parameter or none. Constructing the class using one parameter allows you to specify a path to your own configuration file, otherwise, inspircd.conf is read. .PP -Definition at line 1150 of file modules.h. +Definition at line 1121 of file modules.h. .SH "Constructor & Destructor Documentation" .PP .SS "ConfigReader::ConfigReader ()" .PP -Default constructor. This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.Definition at line 821 of file modules.cpp. +Default constructor. +.PP +This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure. +.PP +Definition at line 796 of file modules.cpp. .PP References cache, CONF_FILE_NOT_FOUND, error, errorlog, include_stack, and readerror. .PP .nf -822 { -823 include_stack.clear(); -824 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -825 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); -826 this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog); -827 if (!this->readerror) -828 this->error = CONF_FILE_NOT_FOUND; -829 } +797 { +798 include_stack.clear(); +799 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +800 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); +801 this->readerror = LoadConf(CONFIG_FILE,this->cache,this->errorlog); +802 if (!this->readerror) +803 this->error = CONF_FILE_NOT_FOUND; +804 } .fi -.SS "ConfigReader::ConfigReader (std::string filename)" .PP -Overloaded constructor. This constructor initialises the ConfigReader class to read a user-specified config fileDefinition at line 841 of file modules.cpp. +.SS "ConfigReader::ConfigReader (\fBstd::string\fP filename)" +.PP +Overloaded constructor. +.PP +This constructor initialises the ConfigReader class to read a user-specified config file +.PP +Definition at line 816 of file modules.cpp. .PP References cache, CONF_FILE_NOT_FOUND, error, errorlog, and readerror. .PP .nf -842 { -843 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); -844 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); -845 this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog); -846 if (!this->readerror) -847 this->error = CONF_FILE_NOT_FOUND; -848 }; +817 { +818 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out); +819 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out); +820 this->readerror = LoadConf(filename.c_str(),this->cache,this->errorlog); +821 if (!this->readerror) +822 this->error = CONF_FILE_NOT_FOUND; +823 }; .fi -.SS "ConfigReader::~\fBConfigReader\fP ()" .PP -Default destructor. This method destroys the ConfigReader class.Definition at line 832 of file modules.cpp. +.SS "ConfigReader::~ConfigReader ()" +.PP +Default destructor. +.PP +This method destroys the ConfigReader class. +.PP +Definition at line 807 of file modules.cpp. .PP References cache, and errorlog. .PP .nf -833 { -834 if (this->cache) -835 delete this->cache; -836 if (this->errorlog) -837 delete this->errorlog; -838 } +808 { +809 if (this->cache) +810 delete this->cache; +811 if (this->errorlog) +812 delete this->errorlog; +813 } .fi +.PP .SH "Member Function Documentation" .PP .SS "void ConfigReader::DumpErrors (bool bail, \fBuserrec\fP * user)" .PP -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 919 of file modules.cpp. +Dumps the list of errors in a config file to an output location. +.PP +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. +.PP +Definition at line 894 of file modules.cpp. .PP References errorlog, connection::fd, and userrec::nick. .PP .nf -920 { -921 if (bail) -922 { -923 printf('There were errors in your configuration:\n%s',errorlog->str().c_str()); -924 exit(0); -925 } -926 else -927 { -928 char dataline[1024]; -929 if (user) -930 { -931 WriteServ(user->fd,'NOTICE %s :There were errors in the configuration file:',user->nick); -932 while (!errorlog->eof()) -933 { -934 errorlog->getline(dataline,1024); -935 WriteServ(user->fd,'NOTICE %s :%s',user->nick,dataline); -936 } -937 } -938 else -939 { -940 WriteOpers('There were errors in the configuration file:',user->nick); -941 while (!errorlog->eof()) -942 { -943 errorlog->getline(dataline,1024); -944 WriteOpers(dataline); -945 } -946 } -947 return; -948 } -949 } +895 { +896 if (bail) +897 { +898 printf('There were errors in your configuration:\n%s',errorlog->str().c_str()); +899 exit(0); +900 } +901 else +902 { +903 char dataline[1024]; +904 if (user) +905 { +906 WriteServ(user->fd,'NOTICE %s :There were errors in the configuration file:',user->nick); +907 while (!errorlog->eof()) +908 { +909 errorlog->getline(dataline,1024); +910 WriteServ(user->fd,'NOTICE %s :%s',user->nick,dataline); +911 } +912 } +913 else +914 { +915 WriteOpers('There were errors in the configuration file:',user->nick); +916 while (!errorlog->eof()) +917 { +918 errorlog->getline(dataline,1024); +919 WriteOpers(dataline); +920 } +921 } +922 return; +923 } +924 } .fi -.SS "int ConfigReader::Enumerate (std::string tag)" .PP -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 \fBConfigReader::ReadValue\fP to loop through all copies of a multiple instance tag.Definition at line 952 of file modules.cpp. +.SS "int ConfigReader::Enumerate (\fBstd::string\fP tag)" +.PP +Counts the number of times a given tag appears in the config file. +.PP +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 \fBConfigReader::ReadValue\fP to loop through all copies of a multiple instance tag. +.PP +Definition at line 927 of file modules.cpp. .PP References cache. .PP .nf -953 { -954 return EnumConf(cache,tag.c_str()); -955 } +928 { +929 return EnumConf(cache,tag.c_str()); +930 } .fi -.SS "int ConfigReader::EnumerateValues (std::string tag, int index)" .PP -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 957 of file modules.cpp. +.SS "int ConfigReader::EnumerateValues (\fBstd::string\fP tag, int index)" +.PP +Returns the number of items within a tag. +.PP +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. +.PP +Definition at line 932 of file modules.cpp. .PP References cache. .PP .nf -958 { -959 return EnumValues(cache, tag.c_str(), index); -960 } +933 { +934 return EnumValues(cache, tag.c_str(), index); +935 } .fi +.PP .SS "long ConfigReader::GetError ()" .PP -Returns the last error to occur. Valid errors can be found by looking in \fBmodules.h\fP. Any nonzero value indicates an error condition. A call to \fBGetError()\fP resets the error flag back to 0.Definition at line 912 of file modules.cpp. +Returns the last error to occur. +.PP +Valid errors can be found by looking in \fBmodules.h\fP. Any nonzero value indicates an error condition. A call to \fBGetError()\fP resets the error flag back to 0. +.PP +Definition at line 887 of file modules.cpp. .PP References error. .PP .nf -913 { -914 long olderr = this->error; -915 this->error = 0; -916 return olderr; -917 } +888 { +889 long olderr = this->error; +890 this->error = 0; +891 return olderr; +892 } .fi -.SS "bool ConfigReader::ReadFlag (std::string tag, std::string name, int index)" .PP -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 866 of file modules.cpp. +.SS "bool ConfigReader::ReadFlag (\fBstd::string\fP tag, \fBstd::string\fP name, int index)" +.PP +Retrieves a boolean value from the config file. +.PP +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. +.PP +Definition at line 841 of file modules.cpp. .PP References cache, CONF_VALUE_NOT_FOUND, and error. .PP .nf -867 { -868 char val[MAXBUF]; -869 char t[MAXBUF]; -870 char n[MAXBUF]; -871 strlcpy(t,tag.c_str(),MAXBUF); -872 strlcpy(n,name.c_str(),MAXBUF); -873 int res = ReadConf(cache,t,n,index,val); -874 if (!res) -875 { -876 this->error = CONF_VALUE_NOT_FOUND; -877 return false; -878 } -879 std::string s = val; -880 return ((s == 'yes') || (s == 'YES') || (s == 'true') || (s == 'TRUE') || (s == '1')); -881 } +842 { +843 char val[MAXBUF]; +844 char t[MAXBUF]; +845 char n[MAXBUF]; +846 strlcpy(t,tag.c_str(),MAXBUF); +847 strlcpy(n,name.c_str(),MAXBUF); +848 int res = ReadConf(cache,t,n,index,val); +849 if (!res) +850 { +851 this->error = CONF_VALUE_NOT_FOUND; +852 return false; +853 } +854 std::string s = val; +855 return ((s == 'yes') || (s == 'YES') || (s == 'true') || (s == 'TRUE') || (s == '1')); +856 } .fi -.SS "long ConfigReader::ReadInteger (std::string tag, std::string name, int index, bool needs_unsigned)" .PP -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 \fBGetError()\fP 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 \fBGetError()\fP will return CONF_NOT_UNSIGNEDDefinition at line 883 of file modules.cpp. +.SS "long ConfigReader::ReadInteger (\fBstd::string\fP tag, \fBstd::string\fP name, int index, bool needs_unsigned)" +.PP +Retrieves an integer value from the config file. +.PP +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 \fBGetError()\fP 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 \fBGetError()\fP will return CONF_NOT_UNSIGNED +.PP +Definition at line 858 of file modules.cpp. .PP References cache, CONF_NOT_A_NUMBER, CONF_NOT_UNSIGNED, CONF_VALUE_NOT_FOUND, and error. .PP .nf -884 { -885 char val[MAXBUF]; -886 char t[MAXBUF]; -887 char n[MAXBUF]; -888 strlcpy(t,tag.c_str(),MAXBUF); -889 strlcpy(n,name.c_str(),MAXBUF); -890 int res = ReadConf(cache,t,n,index,val); -891 if (!res) -892 { -893 this->error = CONF_VALUE_NOT_FOUND; -894 return 0; -895 } -896 for (int i = 0; i < strlen(val); i++) -897 { -898 if (!isdigit(val[i])) -899 { -900 this->error = CONF_NOT_A_NUMBER; -901 return 0; -902 } -903 } -904 if ((needs_unsigned) && (atoi(val)<0)) -905 { -906 this->error = CONF_NOT_UNSIGNED; -907 return 0; -908 } -909 return atoi(val); -910 } +859 { +860 char val[MAXBUF]; +861 char t[MAXBUF]; +862 char n[MAXBUF]; +863 strlcpy(t,tag.c_str(),MAXBUF); +864 strlcpy(n,name.c_str(),MAXBUF); +865 int res = ReadConf(cache,t,n,index,val); +866 if (!res) +867 { +868 this->error = CONF_VALUE_NOT_FOUND; +869 return 0; +870 } +871 for (unsigned int i = 0; i < strlen(val); i++) +872 { +873 if (!isdigit(val[i])) +874 { +875 this->error = CONF_NOT_A_NUMBER; +876 return 0; +877 } +878 } +879 if ((needs_unsigned) && (atoi(val)<0)) +880 { +881 this->error = CONF_NOT_UNSIGNED; +882 return 0; +883 } +884 return atoi(val); +885 } .fi -.SS "std::string ConfigReader::ReadValue (std::string tag, std::string name, int index)" .PP -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 850 of file modules.cpp. +.SS "\fBstd::string\fP ConfigReader::ReadValue (\fBstd::string\fP tag, \fBstd::string\fP name, int index)" +.PP +Retrieves a value from the config file. +.PP +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. +.PP +Definition at line 825 of file modules.cpp. .PP References cache, CONF_VALUE_NOT_FOUND, and error. .PP .nf -851 { -852 char val[MAXBUF]; -853 char t[MAXBUF]; -854 char n[MAXBUF]; -855 strlcpy(t,tag.c_str(),MAXBUF); -856 strlcpy(n,name.c_str(),MAXBUF); -857 int res = ReadConf(cache,t,n,index,val); -858 if (!res) -859 { -860 this->error = CONF_VALUE_NOT_FOUND; -861 return ''; -862 } -863 return val; -864 } +826 { +827 char val[MAXBUF]; +828 char t[MAXBUF]; +829 char n[MAXBUF]; +830 strlcpy(t,tag.c_str(),MAXBUF); +831 strlcpy(n,name.c_str(),MAXBUF); +832 int res = ReadConf(cache,t,n,index,val); +833 if (!res) +834 { +835 this->error = CONF_VALUE_NOT_FOUND; +836 return ''; +837 } +838 return val; +839 } .fi +.PP .SS "bool ConfigReader::Verify ()" .PP -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 962 of file modules.cpp. +Returns true if a config file is valid. +.PP +This method is partially implemented and will only return false if the config file does not exist or could not be opened. +.PP +Definition at line 937 of file modules.cpp. .PP References readerror. .PP .nf -963 { -964 return this->readerror; -965 } +938 { +939 return this->readerror; +940 } .fi +.PP .SH "Member Data Documentation" .PP .SS "std::stringstream* \fBConfigReader::cache\fP\fC [protected]\fP" .PP -The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed). It will contain a pointer to the configuration file data with unneeded data (such as comments) stripped from it.Definition at line 1158 of file modules.h. +The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed). +.PP +It will contain a pointer to the configuration file data with unneeded data (such as comments) stripped from it. +.PP +Definition at line 1129 of file modules.h. .PP Referenced by ConfigReader(), Enumerate(), EnumerateValues(), ReadFlag(), ReadInteger(), ReadValue(), and ~ConfigReader(). .SS "long \fBConfigReader::error\fP\fC [protected]\fP" .PP -Definition at line 1163 of file modules.h. +Definition at line 1134 of file modules.h. .PP Referenced by ConfigReader(), GetError(), ReadFlag(), ReadInteger(), and ReadValue(). .SS "std::stringstream* \fBConfigReader::errorlog\fP\fC [protected]\fP" .PP -Definition at line 1159 of file modules.h. +Definition at line 1130 of file modules.h. .PP Referenced by ConfigReader(), DumpErrors(), and ~ConfigReader(). .SS "bool \fBConfigReader::readerror\fP\fC [protected]\fP" .PP -Used to store errors. Definition at line 1162 of file modules.h. +Used to store errors. +.PP +Definition at line 1133 of file modules.h. .PP Referenced by ConfigReader(), and Verify(). diff --git a/docs/man/man3/ConnectClass.3 b/docs/man/man3/ConnectClass.3 index 93be4a4ae..fe523ce7b 100644 --- a/docs/man/man3/ConnectClass.3 +++ b/docs/man/man3/ConnectClass.3 @@ -1,4 +1,4 @@ -.TH "ConnectClass" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ConnectClass" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -61,7 +61,9 @@ Inherits \fBclassbase\fP. .in -1c .SH "Detailed Description" .PP -Holds information relevent to <connect allow> and <connect deny> tags in the config file. Definition at line 45 of file users.h. +Holds information relevent to <connect allow> and <connect deny> tags in the config file. +.PP +Definition at line 45 of file users.h. .SH "Constructor & Destructor Documentation" .PP .SS "ConnectClass::ConnectClass ()\fC [inline]\fP" @@ -82,51 +84,70 @@ References flood, host, pass, pingtime, recvqmax, registration_timeout, sendqmax 88 strlcpy(pass,'',MAXBUF); 89 } .fi +.PP .SH "Member Data Documentation" .PP .SS "int \fBConnectClass::flood\fP" .PP -Number of lines in buffer before excess flood is triggered. Definition at line 56 of file users.h. +Number of lines in buffer before excess flood is triggered. +.PP +Definition at line 56 of file users.h. .PP Referenced by ConnectClass(). .SS "char \fBConnectClass::host\fP[MAXBUF]" .PP -Host mask for this line. Definition at line 59 of file users.h. +Host mask for this line. +.PP +Definition at line 59 of file users.h. .PP Referenced by ConnectClass(). .SS "char \fBConnectClass::pass\fP[MAXBUF]" .PP -(Optional) Password for this line Definition at line 65 of file users.h. +(Optional) Password for this line +.PP +Definition at line 65 of file users.h. .PP Referenced by ConnectClass(). .SS "int \fBConnectClass::pingtime\fP" .PP -Number of seconds between pings for this line. Definition at line 62 of file users.h. +Number of seconds between pings for this line. +.PP +Definition at line 62 of file users.h. .PP Referenced by ConnectClass(). .SS "long \fBConnectClass::recvqmax\fP" .PP -Maximum size of recvq for users in this class (bytes). Definition at line 77 of file users.h. +Maximum size of recvq for users in this class (bytes). +.PP +Definition at line 77 of file users.h. .PP Referenced by ConnectClass(). .SS "int \fBConnectClass::registration_timeout\fP" .PP -Max time to register the connection in seconds. Definition at line 53 of file users.h. +Max time to register the connection in seconds. +.PP +Definition at line 53 of file users.h. .PP Referenced by ConnectClass(). .SS "long \fBConnectClass::sendqmax\fP" .PP -Maximum size of sendq for users in this class (bytes). Definition at line 73 of file users.h. +Maximum size of sendq for users in this class (bytes). +.PP +Definition at line 73 of file users.h. .PP Referenced by ConnectClass(). .SS "int \fBConnectClass::threshold\fP" .PP -Threshold value for flood disconnect. Definition at line 69 of file users.h. +Threshold value for flood disconnect. +.PP +Definition at line 69 of file users.h. .PP Referenced by ConnectClass(). .SS "char \fBConnectClass::type\fP" .PP -Type of line, either CC_ALLOW or CC_DENY. Definition at line 50 of file users.h. +Type of line, either CC_ALLOW or CC_DENY. +.PP +Definition at line 50 of file users.h. .SH "Author" .PP diff --git a/docs/man/man3/DNS.3 b/docs/man/man3/DNS.3 index 73f88fa81..a88a76ab1 100644 --- a/docs/man/man3/DNS.3 +++ b/docs/man/man3/DNS.3 @@ -1,4 +1,4 @@ -.TH "DNS" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "DNS" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -18,7 +18,7 @@ DNS \- The DNS class allows fast nonblocking resolution of hostnames and ip addr .br .RI "\fIThe default constructor uses dns addresses read from /etc/resolv.conf. \fP" .ti -1c -.RI "\fBDNS\fP (std::string dnsserver)" +.RI "\fBDNS\fP (\fBstd::string\fP dnsserver)" .br .RI "\fIThis constructor accepts a dns server address. \fP" .ti -1c @@ -26,11 +26,11 @@ DNS \- The DNS class allows fast nonblocking resolution of hostnames and ip addr .br .RI "\fIThe destructor frees all used structures. \fP" .ti -1c -.RI "bool \fBReverseLookup\fP (std::string ip)" +.RI "bool \fBReverseLookup\fP (\fBstd::string\fP ip)" .br .RI "\fIThis method will start the reverse lookup of an ip given in dotted decimal format, e.g. \fP" .ti -1c -.RI "bool \fBForwardLookup\fP (std::string host)" +.RI "bool \fBForwardLookup\fP (\fBstd::string\fP host)" .br .RI "\fIThis method will start the forward lookup of a hostname, e.g. \fP" .ti -1c @@ -38,7 +38,7 @@ DNS \- The DNS class allows fast nonblocking resolution of hostnames and ip addr .br .RI "\fIThis method will return true when the lookup is completed. \fP" .ti -1c -.RI "std::string \fBGetResult\fP ()" +.RI "\fBstd::string\fP \fBGetResult\fP ()" .br .RI "\fIThis method returns the result of your query as a string, depending upon wether you called \fBDNS::ReverseLookup()\fP or \fBDNS::ForwardLookup\fP. \fP" .ti -1c @@ -46,7 +46,7 @@ DNS \- The DNS class allows fast nonblocking resolution of hostnames and ip addr .br .RI "\fIThis method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. \fP" .ti -1c -.RI "void \fBSetNS\fP (std::string dnsserver)" +.RI "void \fBSetNS\fP (\fBstd::string\fP dnsserver)" .br .in -1c .SS "Private Member Functions" @@ -108,80 +108,94 @@ DNS \- The DNS class allows fast nonblocking resolution of hostnames and ip addr .RI "int \fBt\fP" .br .ti -1c -.RI "unsigned int \fBfd\fP" +.RI "int \fBfd\fP" .br .in -1c .SH "Detailed Description" .PP The DNS class allows fast nonblocking resolution of hostnames and ip addresses. -It is based heavily upon firedns by Ian Gulliver. +It is based heavily upon firedns by Ian Gulliver. .PP Definition at line 35 of file dns.h. .SH "Constructor & Destructor Documentation" .PP .SS "DNS::DNS ()" .PP -The default constructor uses dns addresses read from /etc/resolv.conf. Please note that it will re-read /etc/resolv.conf for each copy of the class you instantiate, causing disk access and slow lookups if you create a lot of them. Consider passing the constructor a server address as a parameter instead. -.SS "DNS::DNS (std::string dnsserver)" +The default constructor uses dns addresses read from /etc/resolv.conf. .PP -This constructor accepts a dns server address. The address must be in dotted decimal form, e.g. 1.2.3.4. -.SS "DNS::~\fBDNS\fP ()" +Please note that it will re-read /etc/resolv.conf for each copy of the class you instantiate, causing disk access and slow lookups if you create a lot of them. Consider passing the constructor a server address as a parameter instead. +.SS "DNS::DNS (\fBstd::string\fP dnsserver)" +.PP +This constructor accepts a dns server address. +.PP +The address must be in dotted decimal form, e.g. 1.2.3.4. +.SS "DNS::~DNS ()" .PP The destructor frees all used structures. +.PP .SH "Member Function Documentation" .PP -.SS "in_addr* DNS::dns_aton4 (const char *const ipstring)\fC [private]\fP" +.SS "in_addr* DNS::dns_aton4 (const char *const ipstring)\fC [private]\fP" .PP -.SS "in_addr* DNS::dns_aton4_r (const char *const ipstring)\fC [private]\fP" +.SS "in_addr* DNS::dns_aton4_r (const char *const ipstring)\fC [private]\fP" .PP -.SS "in_addr* DNS::dns_aton4_s (const char *const ipstring, in_addr *const ip)\fC [private]\fP" +.SS "in_addr* DNS::dns_aton4_s (const char *const ipstring, in_addr *const ip)\fC [private]\fP" .PP -.SS "int DNS::dns_getip4 (const char *const name)\fC [private]\fP" +.SS "int DNS::dns_getip4 (const char *const name)\fC [private]\fP" .PP -.SS "int DNS::dns_getip4list (const char *const name)\fC [private]\fP" +.SS "int DNS::dns_getip4list (const char *const name)\fC [private]\fP" .PP -.SS "int DNS::dns_getname4 (const in_addr *const ip)\fC [private]\fP" +.SS "int DNS::dns_getname4 (const in_addr *const ip)\fC [private]\fP" .PP .SS "char* DNS::dns_getresult (const int fd)\fC [private]\fP" .PP .SS "char* DNS::dns_getresult_r (const int fd)\fC [private]\fP" .PP -.SS "char* DNS::dns_getresult_s (const int fd, char *const result)\fC [private]\fP" +.SS "char* DNS::dns_getresult_s (const int fd, char *const result)\fC [private]\fP" .PP .SS "void DNS::dns_init ()\fC [private]\fP" .PP .SS "void DNS::dns_init_2 (const char * dnsserver)\fC [private]\fP" .PP -.SS "char* DNS::dns_ntoa4 (const in_addr *const ip)\fC [private]\fP" +.SS "char* DNS::dns_ntoa4 (const in_addr *const ip)\fC [private]\fP" +.PP +.SS "char* DNS::dns_ntoa4_r (const in_addr *const ip)\fC [private]\fP" .PP -.SS "char* DNS::dns_ntoa4_r (const in_addr *const ip)\fC [private]\fP" +.SS "char* DNS::dns_ntoa4_s (const in_addr *const ip, char *const result)\fC [private]\fP" .PP -.SS "char* DNS::dns_ntoa4_s (const in_addr *const ip, char *const result)\fC [private]\fP" +.SS "bool DNS::ForwardLookup (\fBstd::string\fP host)" .PP -.SS "bool DNS::ForwardLookup (std::string host)" +This method will start the forward lookup of a hostname, e.g. .PP -This method will start the forward lookup of a hostname, e.g. www.inspircd.org, and returns true if the lookup was successfully initiated. +www.inspircd.org, and returns true if the lookup was successfully initiated. .SS "int DNS::GetFD ()" .PP -This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. the dns server not responding. -.SS "std::string DNS::GetResult ()" +This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. +.PP +the dns server not responding. +.SS "\fBstd::string\fP DNS::GetResult ()" .PP This method returns the result of your query as a string, depending upon wether you called \fBDNS::ReverseLookup()\fP or \fBDNS::ForwardLookup\fP. +.PP .SS "bool DNS::HasResult ()" .PP -This method will return true when the lookup is completed. It uses poll internally to determine the status of the socket. -.SS "bool DNS::ReverseLookup (std::string ip)" +This method will return true when the lookup is completed. +.PP +It uses poll internally to determine the status of the socket. +.SS "bool DNS::ReverseLookup (\fBstd::string\fP ip)" +.PP +This method will start the reverse lookup of an ip given in dotted decimal format, e.g. .PP -This method will start the reverse lookup of an ip given in dotted decimal format, e.g. 1.2.3.4, and returns true if the lookup was successfully initiated. -.SS "void DNS::SetNS (std::string dnsserver)" +1.2.3.4, and returns true if the lookup was successfully initiated. +.SS "void DNS::SetNS (\fBstd::string\fP dnsserver)" .PP .SH "Member Data Documentation" .PP .SS "in_addr* \fBDNS::binip\fP\fC [private]\fP" .PP Definition at line 38 of file dns.h. -.SS "unsigned int \fBDNS::fd\fP\fC [private]\fP" +.SS "int \fBDNS::fd\fP\fC [private]\fP" .PP Definition at line 42 of file dns.h. .SS "char* \fBDNS::result\fP\fC [private]\fP" diff --git a/docs/man/man3/ELine.3 b/docs/man/man3/ELine.3 index 64bded438..f40a92bd3 100644 --- a/docs/man/man3/ELine.3 +++ b/docs/man/man3/ELine.3 @@ -1,4 +1,4 @@ -.TH "ELine" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ELine" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -18,11 +18,16 @@ Inherits \fBXLine\fP. .br .RI "\fIHostmask (ident) to match against May contain wildcards. \fP" .in -1c +.SH "Detailed Description" +.PP +Definition at line 82 of file xline.h. .SH "Member Data Documentation" .PP .SS "char \fBELine::hostmask\fP[200]" .PP -Hostmask (ident) to match against May contain wildcards. Definition at line 88 of file xline.h. +Hostmask (ident) to match against May contain wildcards. +.PP +Definition at line 88 of file xline.h. .SH "Author" .PP diff --git a/docs/man/man3/Event.3 b/docs/man/man3/Event.3 index 96754f611..545ed1fdc 100644 --- a/docs/man/man3/Event.3 +++ b/docs/man/man3/Event.3 @@ -1,4 +1,4 @@ -.TH "Event" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Event" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -16,7 +16,7 @@ Inherits \fBModuleMessage\fP. .in +1c .ti -1c -.RI "\fBEvent\fP (char *anydata, \fBModule\fP *src, std::string eventid)" +.RI "\fBEvent\fP (char *anydata, \fBModule\fP *src, \fBstd::string\fP eventid)" .br .RI "\fICreate a new Event. \fP" .ti -1c @@ -28,7 +28,7 @@ Inherits \fBModuleMessage\fP. .br .RI "\fIGet the event Source. \fP" .ti -1c -.RI "std::string \fBGetEventID\fP ()" +.RI "\fBstd::string\fP \fBGetEventID\fP ()" .br .RI "\fIGet the event ID. \fP" .ti -1c @@ -48,7 +48,7 @@ Inherits \fBModuleMessage\fP. .br .RI "\fIThis is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. \fP" .ti -1c -.RI "std::string \fBid\fP" +.RI "\fBstd::string\fP \fBid\fP" .br .RI "\fIThe event identifier. \fP" .in -1c @@ -56,82 +56,109 @@ Inherits \fBModuleMessage\fP. .PP The Event class is a unicast message directed at all modules. -When the class is properly instantiated it may be sent to all modules using the \fBSend()\fP method, which will trigger the OnEvent method in all modules passing the object as its parameter. +When the class is properly instantiated it may be sent to all modules using the \fBSend()\fP method, which will trigger the OnEvent method in all modules passing the object as its parameter. .PP -Definition at line 194 of file modules.h. +Definition at line 196 of file modules.h. .SH "Constructor & Destructor Documentation" .PP -.SS "Event::Event (char * anydata, \fBModule\fP * src, std::string eventid)" +.SS "Event::Event (char * anydata, \fBModule\fP * src, \fBstd::string\fP eventid)" .PP -Create a new Event. Definition at line 280 of file modules.cpp. +Create a new Event. +.PP +Definition at line 281 of file modules.cpp. .PP .nf -280 : data(anydata), source(src), id(eventid) { }; +281 : data(anydata), source(src), id(eventid) { }; .fi +.PP .SH "Member Function Documentation" .PP .SS "char * Event::GetData ()" .PP -Get the Event data. Definition at line 282 of file modules.cpp. +Get the Event data. +.PP +Definition at line 283 of file modules.cpp. .PP References data. .PP .nf -283 { -284 return this->data; -285 } +284 { +285 return this->data; +286 } .fi -.SS "std::string Event::GetEventID ()" .PP -Get the event ID. Use this to determine the event type for safe casting of the data Definition at line 298 of file modules.cpp. +.SS "\fBstd::string\fP Event::GetEventID ()" +.PP +Get the event ID. +.PP +Use this to determine the event type for safe casting of the data +.PP +Definition at line 299 of file modules.cpp. .PP References id. .PP .nf -299 { -300 return this->id; -301 } +300 { +301 return this->id; +302 } .fi +.PP .SS "\fBModule\fP * Event::GetSource ()" .PP -Get the event Source. Definition at line 287 of file modules.cpp. +Get the event Source. +.PP +Definition at line 288 of file modules.cpp. .PP References source. .PP .nf -288 { -289 return this->source; -290 } +289 { +290 return this->source; +291 } .fi +.PP .SS "char * Event::Send ()\fC [virtual]\fP" .PP -Send the Event. The return result of an \fBEvent::Send()\fP will always be NULL as no replies are expected. Implements \fBModuleMessage\fP. +Send the Event. +.PP +The return result of an \fBEvent::Send()\fP will always be NULL as no replies are expected. .PP -Definition at line 292 of file modules.cpp. +Implements \fBModuleMessage\fP. +.PP +Definition at line 293 of file modules.cpp. .PP References FOREACH_MOD. .PP .nf -293 { -294 FOREACH_MOD OnEvent(this); -295 return NULL; -296 } +294 { +295 FOREACH_MOD OnEvent(this); +296 return NULL; +297 } .fi +.PP .SH "Member Data Documentation" .PP .SS "char* \fBEvent::data\fP\fC [protected]\fP" .PP -This member holds a pointer to arbitary data set by the emitter of the message. Definition at line 199 of file modules.h. +This member holds a pointer to arbitary data set by the emitter of the message. +.PP +Definition at line 201 of file modules.h. .PP Referenced by GetData(). -.SS "std::string \fBEvent::id\fP\fC [protected]\fP" +.SS "\fBstd::string\fP \fBEvent::id\fP\fC [protected]\fP" +.PP +The event identifier. .PP -The event identifier. This is arbitary text which should be used to distinguish one type of event from another. Definition at line 208 of file modules.h. +This is arbitary text which should be used to distinguish one type of event from another. +.PP +Definition at line 210 of file modules.h. .PP Referenced by GetEventID(). .SS "\fBModule\fP* \fBEvent::source\fP\fC [protected]\fP" .PP -This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. Definition at line 203 of file modules.h. +This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. +.PP +Definition at line 205 of file modules.h. .PP Referenced by GetSource(). diff --git a/docs/man/man3/ExemptItem.3 b/docs/man/man3/ExemptItem.3 index 530a2a39b..7f07d2075 100644 --- a/docs/man/man3/ExemptItem.3 +++ b/docs/man/man3/ExemptItem.3 @@ -1,4 +1,4 @@ -.TH "ExemptItem" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ExemptItem" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -14,7 +14,9 @@ Inherits \fBHostItem\fP. .PP .SH "Detailed Description" .PP -A subclass of \fBHostItem\fP designed to hold channel exempts (+e). Definition at line 60 of file channels.h. +A subclass of \fBHostItem\fP designed to hold channel exempts (+e). +.PP +Definition at line 60 of file channels.h. .SH "Author" .PP diff --git a/docs/man/man3/ExtMode.3 b/docs/man/man3/ExtMode.3 index 1c8a04730..6b5905f8d 100644 --- a/docs/man/man3/ExtMode.3 +++ b/docs/man/man3/ExtMode.3 @@ -1,4 +1,4 @@ -.TH "ExtMode" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ExtMode" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -25,59 +25,51 @@ Inherits \fBclassbase\fP. .RI "int \fBtype\fP" .br .ti -1c -.RI "int \fBparams_when_on\fP" +.RI "bool \fBneedsoper\fP" .br .ti -1c -.RI "int \fBparams_when_off\fP" +.RI "int \fBparams_when_on\fP" .br .ti -1c -.RI "bool \fBneedsoper\fP" +.RI "int \fBparams_when_off\fP" .br .ti -1c .RI "bool \fBlist\fP" .br .in -1c +.SH "Detailed Description" +.PP +Definition at line 139 of file modules.cpp. .SH "Constructor & Destructor Documentation" .PP .SS "ExtMode::ExtMode (char mc, int ty, bool oper, int p_on, int p_off)\fC [inline]\fP" .PP -Definition at line 147 of file modules.cpp. -.PP -References modechar, needsoper, params_when_off, params_when_on, and type. +Definition at line 148 of file modules.cpp. .PP .nf -147 : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { }; +148 : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { }; .fi +.PP .SH "Member Data Documentation" .PP .SS "bool \fBExtMode::list\fP" .PP -Definition at line 146 of file modules.cpp. +Definition at line 147 of file modules.cpp. .SS "char \fBExtMode::modechar\fP" .PP -Definition at line 141 of file modules.cpp. -.PP -Referenced by ExtMode(). +Definition at line 142 of file modules.cpp. .SS "bool \fBExtMode::needsoper\fP" .PP -Definition at line 145 of file modules.cpp. -.PP -Referenced by ExtMode(). -.SS "int \fBExtMode::params_when_off\fP" -.PP Definition at line 144 of file modules.cpp. +.SS "int \fBExtMode::params_when_off\fP" .PP -Referenced by ExtMode(). +Definition at line 146 of file modules.cpp. .SS "int \fBExtMode::params_when_on\fP" .PP -Definition at line 143 of file modules.cpp. -.PP -Referenced by ExtMode(). +Definition at line 145 of file modules.cpp. .SS "int \fBExtMode::type\fP" .PP -Definition at line 142 of file modules.cpp. -.PP -Referenced by ExtMode(). +Definition at line 143 of file modules.cpp. .SH "Author" .PP diff --git a/docs/man/man3/Extensible.3 b/docs/man/man3/Extensible.3 index b5cdefdf4..4f918482c 100644 --- a/docs/man/man3/Extensible.3 +++ b/docs/man/man3/Extensible.3 @@ -1,4 +1,4 @@ -.TH "Extensible" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Extensible" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -12,21 +12,21 @@ Extensible \- class Extensible is the parent class of many classes such as userr .PP Inherits \fBclassbase\fP. .PP -Inherited by \fBchanrec\fP, \fBcommand_t\fP, \fBconnection\fP, and \fBircd_connector\fP. +Inherited by \fBchanrec\fP, \fBcommand_t\fP, and \fBconnection\fP. .PP .SS "Public Member Functions" .in +1c .ti -1c -.RI "bool \fBExtend\fP (std::string key, char *p)" +.RI "bool \fBExtend\fP (\fBstd::string\fP key, char *p)" .br .RI "\fIExtend an Extensible class. \fP" .ti -1c -.RI "bool \fBShrink\fP (std::string key)" +.RI "bool \fBShrink\fP (\fBstd::string\fP key)" .br .RI "\fIShrink an Extensible class. \fP" .ti -1c -.RI "char * \fBGetExt\fP (std::string key)" +.RI "char * \fBGetExt\fP (\fBstd::string\fP key)" .br .RI "\fIGet an extension item. \fP" .in -1c @@ -34,7 +34,7 @@ Inherited by \fBchanrec\fP, \fBcommand_t\fP, \fBconnection\fP, and \fBircd_conne .in +1c .ti -1c -.RI "std::map< std::string, char * > \fBExtension_Items\fP" +.RI "std::map< \fBstd::string\fP, char * > \fBExtension_Items\fP" .br .RI "\fIPrivate data store. \fP" .in -1c @@ -42,14 +42,16 @@ Inherited by \fBchanrec\fP, \fBcommand_t\fP, \fBconnection\fP, and \fBircd_conne .PP class Extensible is the parent class of many classes such as userrec and chanrec. -class Extensible implements a system which allows modules to 'extend' the class by attaching data within a map associated with the object. In this way modules can store their own custom information within user objects, channel objects and server objects, without breaking other modules (this is more sensible than using a flags variable, and each module defining bits within the flag as 'theirs' as it is less prone to conflict and supports arbitary data storage). +class Extensible implements a system which allows modules to 'extend' the class by attaching data within a map associated with the object. In this way modules can store their own custom information within user objects, channel objects and server objects, without breaking other modules (this is more sensible than using a flags variable, and each module defining bits within the flag as 'theirs' as it is less prone to conflict and supports arbitary data storage). .PP Definition at line 50 of file base.h. .SH "Member Function Documentation" .PP -.SS "bool Extensible::Extend (std::string key, char * p)" +.SS "bool Extensible::Extend (\fBstd::string\fP key, char * p)" .PP -Extend an Extensible class. \fBParameters:\fP +Extend an Extensible class. +.PP +\fBParameters:\fP .RS 4 \fIkey\fP The key parameter is an arbitary string which identifies the extension data .br @@ -64,9 +66,11 @@ Returns true on success, false if otherwise .RE .PP -.SS "char* Extensible::GetExt (std::string key)" +.SS "char* Extensible::GetExt (\fBstd::string\fP key)" +.PP +Get an extension item. .PP -Get an extension item. \fBParameters:\fP +\fBParameters:\fP .RS 4 \fIkey\fP The key parameter is an arbitary string which identifies the extension data .RE @@ -77,9 +81,11 @@ If you provide a non-existent key name, the function returns NULL, otherwise a p .RE .PP -.SS "bool Extensible::Shrink (std::string key)" +.SS "bool Extensible::Shrink (\fBstd::string\fP key)" .PP -Shrink an Extensible class. \fBParameters:\fP +Shrink an Extensible class. +.PP +\fBParameters:\fP .RS 4 \fIkey\fP The key parameter is an arbitary string which identifies the extension data .RE @@ -94,9 +100,11 @@ Returns true on success. .SH "Member Data Documentation" .PP -.SS "std::map<std::string,char*> \fBExtensible::Extension_Items\fP\fC [private]\fP" +.SS "std::map<\fBstd::string\fP,char*> \fBExtensible::Extension_Items\fP\fC [private]\fP" +.PP +Private data store. .PP -Private data store. Definition at line 54 of file base.h. +Definition at line 54 of file base.h. .SH "Author" .PP diff --git a/docs/man/man3/FileReader.3 b/docs/man/man3/FileReader.3 index cd9e613ef..c6111fde1 100644 --- a/docs/man/man3/FileReader.3 +++ b/docs/man/man3/FileReader.3 @@ -1,4 +1,4 @@ -.TH "FileReader" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "FileReader" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -20,7 +20,7 @@ Inherits \fBclassbase\fP. .br .RI "\fIDefault constructor. \fP" .ti -1c -.RI "\fBFileReader\fP (std::string filename)" +.RI "\fBFileReader\fP (\fBstd::string\fP filename)" .br .RI "\fISecondary constructor. \fP" .ti -1c @@ -28,7 +28,7 @@ Inherits \fBclassbase\fP. .br .RI "\fIDefault destructor. \fP" .ti -1c -.RI "void \fBLoadFile\fP (std::string filename)" +.RI "void \fBLoadFile\fP (\fBstd::string\fP filename)" .br .RI "\fIUsed to load a file. \fP" .ti -1c @@ -36,7 +36,7 @@ Inherits \fBclassbase\fP. .br .RI "\fIReturns true if the file exists This function will return false if the file could not be opened. \fP" .ti -1c -.RI "std::string \fBGetLine\fP (int x)" +.RI "\fBstd::string\fP \fBGetLine\fP (int x)" .br .RI "\fIRetrieve one line from the file. \fP" .ti -1c @@ -55,102 +55,135 @@ Inherits \fBclassbase\fP. .PP Caches a text file into memory and can be used to retrieve lines from it. -This class contains methods for read-only manipulation of a text file in memory. Either use the constructor type with one parameter to load a file into memory at construction, or use the LoadFile method to load a file. +This class contains methods for read-only manipulation of a text file in memory. Either use the constructor type with one parameter to load a file into memory at construction, or use the LoadFile method to load a file. .PP -Definition at line 1239 of file modules.h. +Definition at line 1210 of file modules.h. .SH "Constructor & Destructor Documentation" .PP .SS "FileReader::FileReader ()" .PP -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 975 of file modules.cpp. +Default constructor. +.PP +This method does not load any file into memory, you must use the LoadFile method after constructing the class this way. +.PP +Definition at line 950 of file modules.cpp. .PP .nf -976 { -977 } +951 { +952 } .fi -.SS "FileReader::FileReader (std::string filename)" .PP -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, \fBFileReader::FileSize\fP returns 0.Definition at line 968 of file modules.cpp. +.SS "FileReader::FileReader (\fBstd::string\fP filename)" +.PP +Secondary constructor. .PP -References fc, and file_cache. +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, \fBFileReader::FileSize\fP returns 0. +.PP +Definition at line 943 of file modules.cpp. +.PP +References fc. .PP .nf -969 { -970 file_cache c; -971 readfile(c,filename.c_str()); -972 this->fc = c; -973 } +944 { +945 file_cache c; +946 readfile(c,filename.c_str()); +947 this->fc = c; +948 } .fi -.SS "FileReader::~\fBFileReader\fP ()" .PP -Default destructor. This deletes the memory allocated to the file.Definition at line 987 of file modules.cpp. +.SS "FileReader::~FileReader ()" +.PP +Default destructor. +.PP +This deletes the memory allocated to the file. +.PP +Definition at line 962 of file modules.cpp. .PP .nf -988 { -989 } +963 { +964 } .fi +.PP .SH "Member Function Documentation" .PP .SS "bool FileReader::Exists ()" .PP -Returns true if the file exists This function will return false if the file could not be opened. Definition at line 991 of file modules.cpp. +Returns true if the file exists This function will return false if the file could not be opened. +.PP +Definition at line 966 of file modules.cpp. .PP References fc. .PP .nf -992 { -993 if (fc.size() == 0) -994 { -995 return(false); -996 } -997 else -998 { -999 return(true); -1000 } -1001 } +967 { +968 if (fc.size() == 0) +969 { +970 return(false); +971 } +972 else +973 { +974 return(true); +975 } +976 } .fi +.PP .SS "int FileReader::FileSize ()" .PP -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 1010 of file modules.cpp. +Returns the size of the file in lines. +.PP +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. +.PP +Definition at line 985 of file modules.cpp. .PP References fc. .PP .nf -1011 { -1012 return fc.size(); -1013 } +986 { +987 return fc.size(); +988 } .fi -.SS "std::string FileReader::GetLine (int x)" .PP -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 1003 of file modules.cpp. +.SS "\fBstd::string\fP FileReader::GetLine (int x)" +.PP +Retrieve one line from the file. +.PP +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. +.PP +Definition at line 978 of file modules.cpp. .PP References fc. .PP .nf -1004 { -1005 if ((x<0) || (x>fc.size())) -1006 return ''; -1007 return fc[x]; -1008 } +979 { +980 if ((x<0) || ((unsigned)x>fc.size())) +981 return ''; +982 return fc[x]; +983 } .fi -.SS "void FileReader::LoadFile (std::string filename)" .PP -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, \fBFileReader::FileSize\fP returns 0.Definition at line 979 of file modules.cpp. +.SS "void FileReader::LoadFile (\fBstd::string\fP filename)" .PP -References fc, and file_cache. +Used to load a file. +.PP +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, \fBFileReader::FileSize\fP returns 0. +.PP +Definition at line 954 of file modules.cpp. +.PP +References fc. .PP .nf -980 { -981 file_cache c; -982 readfile(c,filename.c_str()); -983 this->fc = c; -984 } +955 { +956 file_cache c; +957 readfile(c,filename.c_str()); +958 this->fc = c; +959 } .fi +.PP .SH "Member Data Documentation" .PP .SS "\fBfile_cache\fP \fBFileReader::fc\fP\fC [private]\fP" .PP -Definition at line 1241 of file modules.h. +Definition at line 1212 of file modules.h. .PP Referenced by Exists(), FileReader(), FileSize(), GetLine(), and LoadFile(). diff --git a/docs/man/man3/GLine.3 b/docs/man/man3/GLine.3 index 790d62ae9..90e78da82 100644 --- a/docs/man/man3/GLine.3 +++ b/docs/man/man3/GLine.3 @@ -1,4 +1,4 @@ -.TH "GLine" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "GLine" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -22,12 +22,16 @@ Inherits \fBXLine\fP. .in -1c .SH "Detailed Description" .PP -GLine class. Definition at line 73 of file xline.h. +GLine class. +.PP +Definition at line 73 of file xline.h. .SH "Member Data Documentation" .PP .SS "char \fBGLine::hostmask\fP[200]" .PP -Hostmask (ident) to match against May contain wildcards. Definition at line 79 of file xline.h. +Hostmask (ident) to match against May contain wildcards. +.PP +Definition at line 79 of file xline.h. .SH "Author" .PP diff --git a/docs/man/man3/HostItem.3 b/docs/man/man3/HostItem.3 index 41ad398a5..950a16845 100644 --- a/docs/man/man3/HostItem.3 +++ b/docs/man/man3/HostItem.3 @@ -1,4 +1,4 @@ -.TH "HostItem" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "HostItem" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -41,7 +41,7 @@ Inherited by \fBBanItem\fP, \fBExemptItem\fP, and \fBInviteItem\fP. .PP Holds an entry for a ban list, exemption list, or invite list. -This class contains a single element in a channel list, such as a banlist. +This class contains a single element in a channel list, such as a banlist. .PP Definition at line 36 of file channels.h. .SH "Constructor & Destructor Documentation" @@ -53,13 +53,15 @@ Definition at line 43 of file channels.h. .nf 43 { /* stub */ } .fi -.SS "virtual HostItem::~\fBHostItem\fP ()\fC [inline, virtual]\fP" +.PP +.SS "virtual HostItem::~HostItem ()\fC [inline, virtual]\fP" .PP Definition at line 44 of file channels.h. .PP .nf 44 { /* stub */ } .fi +.PP .SH "Member Data Documentation" .PP .SS "char \fBHostItem::data\fP[MAXBUF]" diff --git a/docs/man/man3/InviteItem.3 b/docs/man/man3/InviteItem.3 index 1f1b4b014..11c1fd0b6 100644 --- a/docs/man/man3/InviteItem.3 +++ b/docs/man/man3/InviteItem.3 @@ -1,4 +1,4 @@ -.TH "InviteItem" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "InviteItem" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -14,7 +14,9 @@ Inherits \fBHostItem\fP. .PP .SH "Detailed Description" .PP -A subclass of \fBHostItem\fP designed to hold channel invites (+I). Definition at line 68 of file channels.h. +A subclass of \fBHostItem\fP designed to hold channel invites (+I). +.PP +Definition at line 68 of file channels.h. .SH "Author" .PP diff --git a/docs/man/man3/Invited.3 b/docs/man/man3/Invited.3 index 480652984..18e08bb8e 100644 --- a/docs/man/man3/Invited.3 +++ b/docs/man/man3/Invited.3 @@ -1,4 +1,4 @@ -.TH "Invited" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Invited" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -21,7 +21,9 @@ Inherits \fBclassbase\fP. .in -1c .SH "Detailed Description" .PP -Holds a channel name to which a user has been invited. Definition at line 36 of file users.h. +Holds a channel name to which a user has been invited. +.PP +Definition at line 36 of file users.h. .SH "Member Data Documentation" .PP .SS "char \fBInvited::channel\fP[CHANMAX]" diff --git a/docs/man/man3/KLine.3 b/docs/man/man3/KLine.3 index 622641661..f0cbd2b59 100644 --- a/docs/man/man3/KLine.3 +++ b/docs/man/man3/KLine.3 @@ -1,4 +1,4 @@ -.TH "KLine" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "KLine" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -22,12 +22,16 @@ Inherits \fBXLine\fP. .in -1c .SH "Detailed Description" .PP -KLine class. Definition at line 62 of file xline.h. +KLine class. +.PP +Definition at line 62 of file xline.h. .SH "Member Data Documentation" .PP .SS "char \fBKLine::hostmask\fP[200]" .PP -Hostmask (ident) to match against May contain wildcards. Definition at line 68 of file xline.h. +Hostmask (ident) to match against May contain wildcards. +.PP +Definition at line 68 of file xline.h. .SH "Author" .PP diff --git a/docs/man/man3/ModeParameter.3 b/docs/man/man3/ModeParameter.3 index 75922cd20..d2740f9ed 100644 --- a/docs/man/man3/ModeParameter.3 +++ b/docs/man/man3/ModeParameter.3 @@ -1,4 +1,4 @@ -.TH "ModeParameter" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ModeParameter" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -29,7 +29,7 @@ Inherits \fBclassbase\fP. .PP Holds a custom parameter to a module-defined channel mode e.g. -for +L this would hold the channel name. +for +L this would hold the channel name. .PP Definition at line 77 of file channels.h. .SH "Member Data Documentation" diff --git a/docs/man/man3/Module.3 b/docs/man/man3/Module.3 index 9867a9454..335d8a5a5 100644 --- a/docs/man/man3/Module.3 +++ b/docs/man/man3/Module.3 @@ -1,4 +1,4 @@ -.TH "Module" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Module" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -48,11 +48,11 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled when a user parts a channel. \fP" .ti -1c -.RI "virtual void \fBOnPacketTransmit\fP (std::string &data, std::string serv)" +.RI "virtual void \fBOnPacketTransmit\fP (\fBstd::string\fP &data, \fBstd::string\fP serv)" .br .RI "\fICalled before a packet is transmitted across the irc network between two irc servers. \fP" .ti -1c -.RI "virtual void \fBOnPacketReceive\fP (std::string &data, std::string serv)" +.RI "virtual void \fBOnPacketReceive\fP (\fBstd::string\fP &data, \fBstd::string\fP serv)" .br .RI "\fICalled after a packet is received from another irc server. \fP" .ti -1c @@ -60,7 +60,7 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled on rehash. \fP" .ti -1c -.RI "virtual void \fBOnServerRaw\fP (std::string &raw, bool inbound, \fBuserrec\fP *user)" +.RI "virtual void \fBOnServerRaw\fP (\fBstd::string\fP &raw, bool inbound, \fBuserrec\fP *user)" .br .RI "\fICalled when a raw command is transmitted or received. \fP" .ti -1c @@ -72,11 +72,11 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled whenever a user is about to join a channel, before any processing is done. \fP" .ti -1c -.RI "virtual int \fBOnUserPreKick\fP (\fBuserrec\fP *source, \fBuserrec\fP *user, \fBchanrec\fP *chan, std::string reason)" +.RI "virtual int \fBOnUserPreKick\fP (\fBuserrec\fP *source, \fBuserrec\fP *user, \fBchanrec\fP *chan, \fBstd::string\fP reason)" .br .RI "\fICalled whenever a user is about to be kicked. \fP" .ti -1c -.RI "virtual void \fBOnUserKick\fP (\fBuserrec\fP *source, \fBuserrec\fP *user, \fBchanrec\fP *chan, std::string reason)" +.RI "virtual void \fBOnUserKick\fP (\fBuserrec\fP *source, \fBuserrec\fP *user, \fBchanrec\fP *chan, \fBstd::string\fP reason)" .br .RI "\fICalled whenever a user is kicked. \fP" .ti -1c @@ -96,19 +96,19 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled whenever a user is about to invite another user into a channel, before any processing is done. \fP" .ti -1c -.RI "virtual int \fBOnUserPreMessage\fP (\fBuserrec\fP *user, void *dest, int target_type, std::string &text)" +.RI "virtual int \fBOnUserPreMessage\fP (\fBuserrec\fP *user, void *dest, int target_type, \fBstd::string\fP &text)" .br .RI "\fICalled whenever a user is about to PRIVMSG A user or a channel, before any processing is done. \fP" .ti -1c -.RI "virtual int \fBOnUserPreNotice\fP (\fBuserrec\fP *user, void *dest, int target_type, std::string &text)" +.RI "virtual int \fBOnUserPreNotice\fP (\fBuserrec\fP *user, void *dest, int target_type, \fBstd::string\fP &text)" .br .RI "\fICalled whenever a user is about to NOTICE A user or a channel, before any processing is done. \fP" .ti -1c -.RI "virtual int \fBOnUserPreNick\fP (\fBuserrec\fP *user, std::string newnick)" +.RI "virtual int \fBOnUserPreNick\fP (\fBuserrec\fP *user, \fBstd::string\fP newnick)" .br .RI "\fICalled before any nickchange, local or remote. \fP" .ti -1c -.RI "virtual void \fBOnUserPostNick\fP (\fBuserrec\fP *user, std::string oldnick)" +.RI "virtual void \fBOnUserPostNick\fP (\fBuserrec\fP *user, \fBstd::string\fP oldnick)" .br .RI "\fICalled after any nickchange, local or remote. \fP" .ti -1c @@ -124,18 +124,22 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled during a netburst to sync channel data. \fP" .ti -1c -.RI "virtual void \fBOn005Numeric\fP (std::string &output)" +.RI "virtual void \fBOn005Numeric\fP (\fBstd::string\fP &output)" .br .RI "\fICalled when a 005 numeric is about to be output. \fP" .ti -1c -.RI "virtual int \fBOnKill\fP (\fBuserrec\fP *source, \fBuserrec\fP *dest, std::string reason)" +.RI "virtual int \fBOnKill\fP (\fBuserrec\fP *source, \fBuserrec\fP *dest, \fBstd::string\fP reason)" .br .RI "\fICalled when a client is disconnected by KILL. \fP" .ti -1c -.RI "virtual void \fBOnLoadModule\fP (\fBModule\fP *mod, std::string name)" +.RI "virtual void \fBOnLoadModule\fP (\fBModule\fP *mod, \fBstd::string\fP name)" .br .RI "\fICalled whenever a module is loaded. \fP" .ti -1c +.RI "virtual void \fBOnUnloadModule\fP (\fBModule\fP *mod, \fBstd::string\fP name)" +.br +.RI "\fICalled whenever a module is unloaded. \fP" +.ti -1c .RI "virtual void \fBOnBackgroundTimer\fP (time_t curtime)" .br .RI "\fICalled once every five seconds for background processing. \fP" @@ -144,7 +148,7 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled whenever a list is needed for a listmode. \fP" .ti -1c -.RI "virtual int \fBOnPreCommand\fP (std::string command, char **parameters, int pcnt, \fBuserrec\fP *user)" +.RI "virtual int \fBOnPreCommand\fP (\fBstd::string\fP command, char **parameters, int pcnt, \fBuserrec\fP *user)" .br .RI "\fICalled whenever any command is about to be executed. \fP" .ti -1c @@ -156,7 +160,7 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled whenever a user is about to register their connection (e.g. \fP" .ti -1c -.RI "virtual int \fBOnRawMode\fP (\fBuserrec\fP *user, \fBchanrec\fP *chan, char mode, std::string param, bool adding, int pcnt)" +.RI "virtual int \fBOnRawMode\fP (\fBuserrec\fP *user, \fBchanrec\fP *chan, char mode, \fBstd::string\fP param, bool adding, int pcnt)" .br .RI "\fICalled whenever a mode character is processed. \fP" .ti -1c @@ -164,7 +168,7 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled whenever a user joins a channel, to determine if invite checks should go ahead or not. \fP" .ti -1c -.RI "virtual int \fBOnCheckKey\fP (\fBuserrec\fP *user, \fBchanrec\fP *chan, std::string keygiven)" +.RI "virtual int \fBOnCheckKey\fP (\fBuserrec\fP *user, \fBchanrec\fP *chan, \fBstd::string\fP keygiven)" .br .RI "\fICalled whenever a user joins a channel, to determine if key checks should go ahead or not. \fP" .ti -1c @@ -180,22 +184,18 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core. \fP" .ti -1c -.RI "virtual int \fBOnChangeLocalUserHost\fP (\fBuserrec\fP *user, std::string newhost)" +.RI "virtual int \fBOnChangeLocalUserHost\fP (\fBuserrec\fP *user, \fBstd::string\fP newhost)" .br .RI "\fICalled whenever a change of a local users displayed host is attempted. \fP" .ti -1c -.RI "virtual int \fBOnChangeLocalUserGECOS\fP (\fBuserrec\fP *user, std::string newhost)" +.RI "virtual int \fBOnChangeLocalUserGECOS\fP (\fBuserrec\fP *user, \fBstd::string\fP newhost)" .br .RI "\fICalled whenever a change of a local users GECOS (fullname field) is attempted. \fP" .ti -1c -.RI "virtual int \fBOnLocalTopicChange\fP (\fBuserrec\fP *user, \fBchanrec\fP *chan, std::string topic)" +.RI "virtual int \fBOnLocalTopicChange\fP (\fBuserrec\fP *user, \fBchanrec\fP *chan, \fBstd::string\fP topic)" .br .RI "\fICalled whenever a topic is changed by a local user. \fP" .ti -1c -.RI "virtual int \fBOnMeshToken\fP (char token, \fBstring_list\fP params, \fBserverrec\fP *source, \fBserverrec\fP *reply, std::string tcp_host, std::string ipaddr, int port)" -.br -.RI "\fICalled whenever an unknown token is received in a server to server link. \fP" -.ti -1c .RI "virtual void \fBOnEvent\fP (\fBEvent\fP *event)" .br .RI "\fICalled whenever an \fBEvent\fP class is sent to all module by another module. \fP" @@ -204,7 +204,7 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled whenever a \fBRequest\fP class is sent to your module by another module. \fP" .ti -1c -.RI "virtual int \fBOnOperCompare\fP (std::string password, std::string input)" +.RI "virtual int \fBOnOperCompare\fP (\fBstd::string\fP password, \fBstd::string\fP input)" .br .RI "\fICalled whenever an oper password is to be compared to what a user has input. \fP" .ti -1c @@ -216,15 +216,15 @@ Inherits \fBclassbase\fP. .br .RI "\fICalled whenever a user connects, anywhere on the network. \fP" .ti -1c -.RI "virtual int \fBOnAddBan\fP (\fBuserrec\fP *source, \fBchanrec\fP *channel, std::string banmask)" +.RI "virtual int \fBOnAddBan\fP (\fBuserrec\fP *source, \fBchanrec\fP *channel, \fBstd::string\fP banmask)" .br .RI "\fICalled whenever a ban is added to a channel's list. \fP" .ti -1c -.RI "virtual int \fBOnDelBan\fP (\fBuserrec\fP *source, \fBchanrec\fP *channel, std::string banmask)" +.RI "virtual int \fBOnDelBan\fP (\fBuserrec\fP *source, \fBchanrec\fP *channel, \fBstd::string\fP banmask)" .br .RI "\fICalled whenever a ban is removed from a channel's list. \fP" .ti -1c -.RI "virtual void \fBOnRawSocketAccept\fP (int fd, std::string ip, int localport)" +.RI "virtual void \fBOnRawSocketAccept\fP (int fd, \fBstd::string\fP ip, int localport)" .br .RI "\fICalled immediately after any connection is accepted. \fP" .ti -1c @@ -244,46 +244,64 @@ Inherits \fBclassbase\fP. .PP Base class for all InspIRCd modules This class is the base class for InspIRCd modules. -All modules must inherit from this class, its methods will be called when irc server events occur. class inherited from module must be instantiated by the \fBModuleFactory\fP class (see relevent section) for the plugin to be initialised. +All modules must inherit from this class, its methods will be called when irc server events occur. class inherited from module must be instantiated by the \fBModuleFactory\fP class (see relevent section) for the plugin to be initialised. .PP -Definition at line 236 of file modules.h. +Definition at line 238 of file modules.h. .SH "Constructor & Destructor Documentation" .PP .SS "Module::Module ()" .PP -Default constructor creates a module class. Definition at line 305 of file modules.cpp. +Default constructor creates a module class. +.PP +Definition at line 306 of file modules.cpp. .PP .nf -305 { } +306 { } .fi -.SS "Module::~\fBModule\fP ()\fC [virtual]\fP" .PP -Default destructor destroys a module class. Definition at line 306 of file modules.cpp. +.SS "Module::~Module ()\fC [virtual]\fP" +.PP +Default destructor destroys a module class. +.PP +Definition at line 307 of file modules.cpp. .PP .nf -306 { } +307 { } .fi +.PP .SH "Member Function Documentation" .PP .SS "\fBVersion\fP Module::GetVersion ()\fC [virtual]\fP" .PP -Returns the version number of a Module. The method should return a \fBVersion\fP object with its version information assigned via \fBVersion::Version\fPDefinition at line 318 of file modules.cpp. +Returns the version number of a Module. +.PP +The method should return a \fBVersion\fP object with its version information assigned via \fBVersion::Version\fP +.PP +Definition at line 319 of file modules.cpp. .PP References VF_VENDOR. .PP .nf -318 { return Version(1,0,0,0,VF_VENDOR); } +319 { return Version(1,0,0,0,VF_VENDOR); } .fi -.SS "void Module::On005Numeric (std::string & output)\fC [virtual]\fP" .PP -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 330 of file modules.cpp. +.SS "void Module::On005Numeric (\fBstd::string\fP & output)\fC [virtual]\fP" +.PP +Called when a 005 numeric is about to be output. +.PP +The module should modify the 005 numeric if needed to indicate its features. +.PP +Definition at line 331 of file modules.cpp. .PP .nf -330 { }; +331 { }; .fi +.PP .SS "int Module::OnAccessCheck (\fBuserrec\fP * source, \fBuserrec\fP * dest, \fBchanrec\fP * channel, int access_type)\fC [virtual]\fP" .PP -Called before an action which requires a channel privilage check. This function is called before many functions which check a users status on a channel, for example before opping a user, deopping a user, kicking a user, etc. There are several values for access_type which indicate for what reason access is being checked. These are: +Called before an action which requires a channel privilage check. +.PP +This function is called before many functions which check a users status on a channel, for example before opping a user, deopping a user, kicking a user, etc. There are several values for access_type which indicate for what reason access is being checked. These are: .br .br @@ -303,386 +321,636 @@ Called before an action which requires a channel privilage check. This function .br AC_INVITE (7) - a user is being invited .br - AC_GENERAL_MODE (8) - a user channel mode is being changed + AC_GENERAL_MODE (8) - a user channel mode is being changed<br> .br - -.br - 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 327 of file modules.cpp. + 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). +.PP +Definition at line 328 of file modules.cpp. .PP References ACR_DEFAULT. .PP .nf -327 { return ACR_DEFAULT; }; +328 { return ACR_DEFAULT; }; .fi -.SS "int Module::OnAddBan (\fBuserrec\fP * source, \fBchanrec\fP * channel, std::string banmask)\fC [virtual]\fP" .PP -Called whenever a ban is added to a channel's list. Return a non-zero value to 'eat' the mode change and prevent the ban from being added.Definition at line 355 of file modules.cpp. +.SS "int Module::OnAddBan (\fBuserrec\fP * source, \fBchanrec\fP * channel, \fBstd::string\fP banmask)\fC [virtual]\fP" +.PP +Called whenever a ban is added to a channel's list. +.PP +Return a non-zero value to 'eat' the mode change and prevent the ban from being added. +.PP +Definition at line 356 of file modules.cpp. .PP .nf -355 { return 0; }; +356 { return 0; }; .fi +.PP .SS "void Module::OnBackgroundTimer (time_t curtime)\fC [virtual]\fP" .PP -Called once every five seconds for background processing. This timer can be used to control timed features. Its period is not accurate enough to be used as a clock, but it is gauranteed to be called at least once in any five second period, directly from the main loop of the server.Definition at line 333 of file modules.cpp. +Called once every five seconds for background processing. +.PP +This timer can be used to control timed features. Its period is not accurate enough to be used as a clock, but it is gauranteed to be called at least once in any five second period, directly from the main loop of the server. +.PP +Definition at line 335 of file modules.cpp. .PP .nf -333 { }; +335 { }; .fi -.SS "int Module::OnChangeLocalUserGECOS (\fBuserrec\fP * user, std::string newhost)\fC [virtual]\fP" .PP -Called whenever a change of a local users GECOS (fullname field) is attempted. return 1 to deny the name change, or 0 to allow it.Definition at line 347 of file modules.cpp. +.SS "int Module::OnChangeLocalUserGECOS (\fBuserrec\fP * user, \fBstd::string\fP newhost)\fC [virtual]\fP" +.PP +Called whenever a change of a local users GECOS (fullname field) is attempted. +.PP +return 1 to deny the name change, or 0 to allow it. +.PP +Definition at line 349 of file modules.cpp. .PP .nf -347 { return 0; }; +349 { return 0; }; .fi -.SS "int Module::OnChangeLocalUserHost (\fBuserrec\fP * user, std::string newhost)\fC [virtual]\fP" .PP -Called whenever a change of a local users displayed host is attempted. Return 1 to deny the host change, or 0 to allow it.Definition at line 346 of file modules.cpp. +.SS "int Module::OnChangeLocalUserHost (\fBuserrec\fP * user, \fBstd::string\fP newhost)\fC [virtual]\fP" +.PP +Called whenever a change of a local users displayed host is attempted. +.PP +Return 1 to deny the host change, or 0 to allow it. +.PP +Definition at line 348 of file modules.cpp. .PP .nf -346 { return 0; }; +348 { return 0; }; .fi +.PP .SS "\fBstring_list\fP Module::OnChannelSync (\fBchanrec\fP * chan)\fC [virtual]\fP" .PP -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 329 of file modules.cpp. +Called during a netburst to sync channel data. .PP -References string_list. +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. +.PP +Definition at line 330 of file modules.cpp. .PP .nf -329 { string_list empty; return empty; } +330 { string_list empty; return empty; } .fi +.PP .SS "int Module::OnCheckBan (\fBuserrec\fP * user, \fBchanrec\fP * chan)\fC [virtual]\fP" .PP -Called whenever a user joins a channel, to determine if banlist checks should go ahead or not. This method will always be called for each join, wether or not the user actually matches a channel ban, and determines the outcome of an if statement around the whole section of ban checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. Definition at line 344 of file modules.cpp. +Called whenever a user joins a channel, to determine if banlist checks should go ahead or not. +.PP +This method will always be called for each join, wether or not the user actually matches a channel ban, and determines the outcome of an if statement around the whole section of ban checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. +.PP +Definition at line 346 of file modules.cpp. .PP .nf -344 { return 0; }; +346 { return 0; }; .fi +.PP .SS "int Module::OnCheckInvite (\fBuserrec\fP * user, \fBchanrec\fP * chan)\fC [virtual]\fP" .PP -Called whenever a user joins a channel, to determine if invite checks should go ahead or not. This method will always be called for each join, wether or not the channel is actually +i, and determines the outcome of an if statement around the whole section of invite checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event.Definition at line 341 of file modules.cpp. +Called whenever a user joins a channel, to determine if invite checks should go ahead or not. +.PP +This method will always be called for each join, wether or not the channel is actually +i, and determines the outcome of an if statement around the whole section of invite checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. +.PP +Definition at line 343 of file modules.cpp. .PP .nf -341 { return 0; }; +343 { return 0; }; .fi -.SS "int Module::OnCheckKey (\fBuserrec\fP * user, \fBchanrec\fP * chan, std::string keygiven)\fC [virtual]\fP" .PP -Called whenever a user joins a channel, to determine if key checks should go ahead or not. This method will always be called for each join, wether or not the channel is actually +k, and determines the outcome of an if statement around the whole section of key checking code. if the user specified no key, the keygiven string will be a valid but empty value. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. Definition at line 342 of file modules.cpp. +.SS "int Module::OnCheckKey (\fBuserrec\fP * user, \fBchanrec\fP * chan, \fBstd::string\fP keygiven)\fC [virtual]\fP" +.PP +Called whenever a user joins a channel, to determine if key checks should go ahead or not. +.PP +This method will always be called for each join, wether or not the channel is actually +k, and determines the outcome of an if statement around the whole section of key checking code. if the user specified no key, the keygiven string will be a valid but empty value. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. +.PP +Definition at line 344 of file modules.cpp. .PP .nf -342 { return 0; }; +344 { return 0; }; .fi +.PP .SS "int Module::OnCheckLimit (\fBuserrec\fP * user, \fBchanrec\fP * chan)\fC [virtual]\fP" .PP -Called whenever a user joins a channel, to determine if channel limit checks should go ahead or not. This method will always be called for each join, wether or not the channel is actually +l, and determines the outcome of an if statement around the whole section of channel limit checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. Definition at line 343 of file modules.cpp. +Called whenever a user joins a channel, to determine if channel limit checks should go ahead or not. +.PP +This method will always be called for each join, wether or not the channel is actually +l, and determines the outcome of an if statement around the whole section of channel limit checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. +.PP +Definition at line 345 of file modules.cpp. .PP .nf -343 { return 0; }; +345 { return 0; }; .fi +.PP .SS "bool Module::OnCheckReady (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called to check if a user who is connecting can now be allowed to register If any modules return false for this function, the user is held in the waiting state until all modules return true. For example a module which implements ident lookups will continue to return false for a user until their ident lookup is completed. Note that the registration timeout for a user overrides these checks, if the registration timeout is reached, the user is disconnected even if modules report that the user is not ready to connect.Definition at line 336 of file modules.cpp. +Called to check if a user who is connecting can now be allowed to register If any modules return false for this function, the user is held in the waiting state until all modules return true. +.PP +For example a module which implements ident lookups will continue to return false for a user until their ident lookup is completed. Note that the registration timeout for a user overrides these checks, if the registration timeout is reached, the user is disconnected even if modules report that the user is not ready to connect. +.PP +Definition at line 338 of file modules.cpp. .PP .nf -336 { return true; }; +338 { return true; }; .fi -.SS "int Module::OnDelBan (\fBuserrec\fP * source, \fBchanrec\fP * channel, std::string banmask)\fC [virtual]\fP" .PP -Called whenever a ban is removed from a channel's list. Return a non-zero value to 'eat' the mode change and prevent the ban from being removed.Definition at line 356 of file modules.cpp. +.SS "int Module::OnDelBan (\fBuserrec\fP * source, \fBchanrec\fP * channel, \fBstd::string\fP banmask)\fC [virtual]\fP" +.PP +Called whenever a ban is removed from a channel's list. +.PP +Return a non-zero value to 'eat' the mode change and prevent the ban from being removed. +.PP +Definition at line 357 of file modules.cpp. .PP .nf -356 { return 0; }; +357 { return 0; }; .fi +.PP .SS "void Module::OnEvent (\fBEvent\fP * event)\fC [virtual]\fP" .PP -Called whenever an \fBEvent\fP class is sent to all module by another module. Please see the documentation of \fBEvent::Send()\fP for further information. The \fBEvent\fP sent can always be assumed to be non-NULL, you should *always* check the value of \fBEvent::GetEventID()\fP before doing anything to the event data, and you should *not* change the event data in any way!Definition at line 350 of file modules.cpp. +Called whenever an \fBEvent\fP class is sent to all module by another module. +.PP +Please see the documentation of \fBEvent::Send()\fP for further information. The \fBEvent\fP sent can always be assumed to be non-NULL, you should *always* check the value of \fBEvent::GetEventID()\fP before doing anything to the event data, and you should *not* change the event data in any way! +.PP +Definition at line 351 of file modules.cpp. .PP .nf -350 { return; }; +351 { return; }; .fi +.PP .SS "int Module::OnExtendedMode (\fBuserrec\fP * user, void * target, char modechar, int type, bool mode_on, \fBstring_list\fP & params)\fC [virtual]\fP" .PP -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 \fBServer::AddExtendedMode\fP 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 317 of file modules.cpp. +Called whenever an extended mode is to be processed. +.PP +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 \fBServer::AddExtendedMode\fP 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. +.PP +Definition at line 318 of file modules.cpp. .PP .nf -317 { return false; } +318 { return false; } .fi +.PP .SS "void Module::OnGlobalConnect (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called whenever a user connects, anywhere on the network. This event is informational only. You should not change any user information in this event. To do so, use the OnUserConnect method to change the state of local users.Definition at line 354 of file modules.cpp. +Called whenever a user connects, anywhere on the network. +.PP +This event is informational only. You should not change any user information in this event. To do so, use the OnUserConnect method to change the state of local users. +.PP +Definition at line 355 of file modules.cpp. .PP .nf -354 { }; +355 { }; .fi +.PP .SS "void Module::OnGlobalOper (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called whenever a user is given usermode +o, anywhere on the network. You cannot override this and prevent it from happening as it is already happened and such a task must be performed by another server. You can however bounce modes by sending servermodes out to reverse mode changes.Definition at line 353 of file modules.cpp. +Called whenever a user is given usermode +o, anywhere on the network. +.PP +You cannot override this and prevent it from happening as it is already happened and such a task must be performed by another server. You can however bounce modes by sending servermodes out to reverse mode changes. +.PP +Definition at line 354 of file modules.cpp. .PP .nf -353 { }; +354 { }; .fi +.PP .SS "void Module::OnInfo (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -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: +Called whenever a user types /INFO. .PP -<nick> :information hereDefinition at line 320 of file modules.cpp. +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: .PP -.nf -320 { }; -.fi -.SS "int Module::OnKill (\fBuserrec\fP * source, \fBuserrec\fP * dest, std::string reason)\fC [virtual]\fP" +<nick> :information here .PP -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 331 of file modules.cpp. +Definition at line 321 of file modules.cpp. .PP .nf -331 { return 0; }; +321 { }; .fi -.SS "void Module::OnLoadModule (\fBModule\fP * mod, std::string name)\fC [virtual]\fP" .PP -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 332 of file modules.cpp. +.SS "int Module::OnKill (\fBuserrec\fP * source, \fBuserrec\fP * dest, \fBstd::string\fP reason)\fC [virtual]\fP" +.PP +Called when a client is disconnected by KILL. +.PP +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! +.PP +Definition at line 332 of file modules.cpp. .PP .nf -332 { }; +332 { return 0; }; .fi -.SS "int Module::OnLocalTopicChange (\fBuserrec\fP * user, \fBchanrec\fP * chan, std::string topic)\fC [virtual]\fP" .PP -Called whenever a topic is changed by a local user. Return 1 to deny the topic change, or 0 to allow it.Definition at line 348 of file modules.cpp. +.SS "void Module::OnLoadModule (\fBModule\fP * mod, \fBstd::string\fP name)\fC [virtual]\fP" +.PP +Called whenever a module is loaded. +.PP +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). +.PP +Definition at line 333 of file modules.cpp. .PP .nf -348 { return 0; }; +333 { }; .fi -.SS "int Module::OnMeshToken (char token, \fBstring_list\fP params, \fBserverrec\fP * source, \fBserverrec\fP * reply, std::string tcp_host, std::string ipaddr, int port)\fC [virtual]\fP" .PP -Called whenever an unknown token is received in a server to server link. The token value is the unknown token -- please check that no other modules are using the token that you use. Returning 1 supresses the 'unknown token type' error which is usually sent to all opers with +s. The params list is a list of parameters, and if any parameters start with a colon (:) it is treated as the whole of the last parameter, identical to how RFC messages are handled. source is the sender of the message, and reply is what should be replied to for a unicast message. Note that there are not many messages in the mesh protocol which require unicast messaging. tcp_host is the server name as a string, ipaddr is its ip address in dotted decimal notation and port is the port number it is using.Definition at line 349 of file modules.cpp. +.SS "int Module::OnLocalTopicChange (\fBuserrec\fP * user, \fBchanrec\fP * chan, \fBstd::string\fP topic)\fC [virtual]\fP" +.PP +Called whenever a topic is changed by a local user. +.PP +Return 1 to deny the topic change, or 0 to allow it. +.PP +Definition at line 350 of file modules.cpp. .PP .nf -349 { return 0; }; +350 { return 0; }; .fi +.PP .SS "void Module::OnOper (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -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 319 of file modules.cpp. +Called whenever a user opers locally. +.PP +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. +.PP +Definition at line 320 of file modules.cpp. .PP .nf -319 { }; +320 { }; .fi -.SS "int Module::OnOperCompare (std::string password, std::string input)\fC [virtual]\fP" .PP -Called whenever an oper password is to be compared to what a user has input. The password field (from the config file) is in 'password' and is to be compared against 'input'. This method allows for encryption of oper passwords and much more besides. You should return a nonzero value if you want to allow the comparison or zero if you wish to do nothing.Definition at line 352 of file modules.cpp. +.SS "int Module::OnOperCompare (\fBstd::string\fP password, \fBstd::string\fP input)\fC [virtual]\fP" +.PP +Called whenever an oper password is to be compared to what a user has input. +.PP +The password field (from the config file) is in 'password' and is to be compared against 'input'. This method allows for encryption of oper passwords and much more besides. You should return a nonzero value if you want to allow the comparison or zero if you wish to do nothing. +.PP +Definition at line 353 of file modules.cpp. .PP .nf -352 { return 0; }; +353 { return 0; }; .fi -.SS "void Module::OnPacketReceive (std::string & data, std::string serv)\fC [virtual]\fP" .PP -Called after a packet is received from another irc server. 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 313 of file modules.cpp. +.SS "void Module::OnPacketReceive (\fBstd::string\fP & data, \fBstd::string\fP serv)\fC [virtual]\fP" +.PP +Called after a packet is received from another irc server. +.PP +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. +.PP +Definition at line 314 of file modules.cpp. .PP .nf -313 { } +314 { } .fi -.SS "void Module::OnPacketTransmit (std::string & data, std::string serv)\fC [virtual]\fP" .PP -Called before a packet is transmitted across the irc network between two irc servers. 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 312 of file modules.cpp. +.SS "void Module::OnPacketTransmit (\fBstd::string\fP & data, \fBstd::string\fP serv)\fC [virtual]\fP" +.PP +Called before a packet is transmitted across the irc network between two irc servers. +.PP +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. +.PP +Definition at line 313 of file modules.cpp. .PP .nf -312 { } +313 { } .fi -.SS "int Module::OnPreCommand (std::string command, char ** parameters, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called whenever any command is about to be executed. This event occurs for all registered commands, wether they are registered in the core, or another module, but it will not occur for invalid commands (e.g. ones which do not exist within the command table). By returning 1 from this method you may prevent the command being executed. If you do this, no output is created by the core, and it is down to your module to produce any output neccessary. Note that unless you return 1, you should not destroy any structures (e.g. by using \fBServer::QuitUser\fP) otherwise when the command's handler function executes after your method returns, it will be passed an invalid pointer to the user object and crash!)Definition at line 335 of file modules.cpp. +.SS "int Module::OnPreCommand (\fBstd::string\fP command, char ** parameters, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP" +.PP +Called whenever any command is about to be executed. +.PP +This event occurs for all registered commands, wether they are registered in the core, or another module, but it will not occur for invalid commands (e.g. ones which do not exist within the command table). By returning 1 from this method you may prevent the command being executed. If you do this, no output is created by the core, and it is down to your module to produce any output neccessary. Note that unless you return 1, you should not destroy any structures (e.g. by using \fBServer::QuitUser\fP) otherwise when the command's handler function executes after your method returns, it will be passed an invalid pointer to the user object and crash!) +.PP +Definition at line 337 of file modules.cpp. .PP .nf -335 { return 0; }; +337 { return 0; }; .fi -.SS "int Module::OnRawMode (\fBuserrec\fP * user, \fBchanrec\fP * chan, char mode, std::string param, bool adding, int pcnt)\fC [virtual]\fP" .PP -Called whenever a mode character is processed. Return 1 from this function to block the mode character from being processed entirely, so that you may perform your own code instead. Note that this method allows you to override modes defined by other modes, but this is NOT RECOMMENDED!Definition at line 340 of file modules.cpp. +.SS "int Module::OnRawMode (\fBuserrec\fP * user, \fBchanrec\fP * chan, char mode, \fBstd::string\fP param, bool adding, int pcnt)\fC [virtual]\fP" +.PP +Called whenever a mode character is processed. +.PP +Return 1 from this function to block the mode character from being processed entirely, so that you may perform your own code instead. Note that this method allows you to override modes defined by other modes, but this is NOT RECOMMENDED! +.PP +Definition at line 342 of file modules.cpp. .PP .nf -340 { return 0; }; +342 { return 0; }; .fi -.SS "void Module::OnRawSocketAccept (int fd, std::string ip, int localport)\fC [virtual]\fP" .PP -Called immediately after any connection is accepted. This is intended for raw socket processing (e.g. modules which wrap the tcp connection within another library) and provides no information relating to a user record as the connection has not been assigned yet. There are no return values from this call as all modules get an opportunity if required to process the connection.Definition at line 357 of file modules.cpp. +.SS "void Module::OnRawSocketAccept (int fd, \fBstd::string\fP ip, int localport)\fC [virtual]\fP" +.PP +Called immediately after any connection is accepted. +.PP +This is intended for raw socket processing (e.g. modules which wrap the tcp connection within another library) and provides no information relating to a user record as the connection has not been assigned yet. There are no return values from this call as all modules get an opportunity if required to process the connection. +.PP +Definition at line 358 of file modules.cpp. .PP .nf -357 { }; +358 { }; .fi +.PP .SS "void Module::OnRawSocketClose (int fd)\fC [virtual]\fP" .PP -Called immediately before any socket is closed. When this event is called, shutdown() has not yet been called on the socket.Definition at line 359 of file modules.cpp. +Called immediately before any socket is closed. +.PP +When this event is called, shutdown() has not yet been called on the socket. +.PP +Definition at line 360 of file modules.cpp. .PP .nf -359 { }; +360 { }; .fi +.PP .SS "int Module::OnRawSocketRead (int fd, char * buffer, unsigned int count, int & readresult)\fC [virtual]\fP" .PP -Called immediately before any read() operation on a client socket in the core. This occurs AFTER the select() or poll() so there is always data waiting to be read when this event occurs. Your event should return 1 if it has handled the reading itself, which prevents the core just using read(). You should place any data read into buffer, up to but NOT GREATER THAN the value of count. The value of readresult must be identical to an actual result that might be returned from the read() system call, for example, number of bytes read upon success, 0 upon EOF or closed socket, and -1 for error. If your function returns a nonzero value, you MUST set readresult.Definition at line 360 of file modules.cpp. +Called immediately before any read() operation on a client socket in the core. +.PP +This occurs AFTER the select() or poll() so there is always data waiting to be read when this event occurs. Your event should return 1 if it has handled the reading itself, which prevents the core just using read(). You should place any data read into buffer, up to but NOT GREATER THAN the value of count. The value of readresult must be identical to an actual result that might be returned from the read() system call, for example, number of bytes read upon success, 0 upon EOF or closed socket, and -1 for error. If your function returns a nonzero value, you MUST set readresult. +.PP +Definition at line 361 of file modules.cpp. .PP .nf -360 { return 0; }; +361 { return 0; }; .fi +.PP .SS "int Module::OnRawSocketWrite (int fd, char * buffer, int count)\fC [virtual]\fP" .PP -Called immediately before any write() operation on a user's socket in the core. Because this event is a low level event no user information is associated with it. It is intended for use by modules which may wrap connections within another API such as SSL for example. return a non-zero result if you have handled the write operation, in which case the core will not call write().Definition at line 358 of file modules.cpp. +Called immediately before any write() operation on a user's socket in the core. +.PP +Because this event is a low level event no user information is associated with it. It is intended for use by modules which may wrap connections within another API such as SSL for example. return a non-zero result if you have handled the write operation, in which case the core will not call write(). +.PP +Definition at line 359 of file modules.cpp. .PP .nf -358 { return 0; }; +359 { return 0; }; .fi +.PP .SS "void Module::OnRehash ()\fC [virtual]\fP" .PP -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 314 of file modules.cpp. +Called on rehash. +.PP +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. +.PP +Definition at line 315 of file modules.cpp. .PP .nf -314 { } +315 { } .fi +.PP .SS "char * Module::OnRequest (\fBRequest\fP * request)\fC [virtual]\fP" .PP -Called whenever a \fBRequest\fP class is sent to your module by another module. Please see the documentation of \fBRequest::Send()\fP for further information. The \fBRequest\fP sent can always be assumed to be non-NULL, you should not change the request object or its data. Your method may return arbitary data in the char* result which the requesting module may be able to use for pre-determined purposes (e.g. the results of an SQL query, etc).Definition at line 351 of file modules.cpp. +Called whenever a \fBRequest\fP class is sent to your module by another module. +.PP +Please see the documentation of \fBRequest::Send()\fP for further information. The \fBRequest\fP sent can always be assumed to be non-NULL, you should not change the request object or its data. Your method may return arbitary data in the char* result which the requesting module may be able to use for pre-determined purposes (e.g. the results of an SQL query, etc). +.PP +Definition at line 352 of file modules.cpp. .PP Referenced by Request::Send(). .PP .nf -351 { return NULL; }; +352 { return NULL; }; .fi +.PP .SS "void Module::OnSendList (\fBuserrec\fP * user, \fBchanrec\fP * channel, char mode)\fC [virtual]\fP" .PP -Called whenever a list is needed for a listmode. For example, when a /MODE #channel +b (without any other parameters) is called, if a module was handling +b this function would be called. The function can then output any lists it wishes to. Please note that all modules will see all mode characters to provide the ability to extend each other, so please only output a list if the mode character given matches the one(s) you want to handle.Definition at line 334 of file modules.cpp. +Called whenever a list is needed for a listmode. +.PP +For example, when a /MODE channel +b (without any other parameters) is called, if a module was handling +b this function would be called. The function can then output any lists it wishes to. Please note that all modules will see all mode characters to provide the ability to extend each other, so please only output a list if the mode character given matches the one(s) you want to handle. +.PP +Definition at line 336 of file modules.cpp. .PP .nf -334 { }; +336 { }; .fi -.SS "void Module::OnServerRaw (std::string & raw, bool inbound, \fBuserrec\fP * user)\fC [virtual]\fP" .PP -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 315 of file modules.cpp. +.SS "void Module::OnServerRaw (\fBstd::string\fP & raw, bool inbound, \fBuserrec\fP * user)\fC [virtual]\fP" +.PP +Called when a raw command is transmitted or received. +.PP +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. +.PP +Definition at line 316 of file modules.cpp. .PP .nf -315 { } +316 { } .fi +.PP .SS "void Module::OnStats (char symbol)\fC [virtual]\fP" .PP -Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core. Definition at line 345 of file modules.cpp. +Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core. +.PP +Definition at line 347 of file modules.cpp. +.PP +.nf +347 { }; +.fi +.PP +.SS "void Module::OnUnloadModule (\fBModule\fP * mod, \fBstd::string\fP name)\fC [virtual]\fP" +.PP +Called whenever a module is unloaded. +.PP +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). +.PP +Definition at line 334 of file modules.cpp. .PP .nf -345 { }; +334 { }; .fi +.PP .SS "void Module::OnUserConnect (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called when a user connects. The details of the connecting user are available to you in the parameter userrec *userDefinition at line 307 of file modules.cpp. +Called when a user connects. +.PP +The details of the connecting user are available to you in the parameter userrec *user +.PP +Definition at line 308 of file modules.cpp. .PP .nf -307 { } +308 { } .fi +.PP .SS "void Module::OnUserDisconnect (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called whenever a user's socket is closed. The details of the exiting user are available to you in the parameter userrec *user This event is called for all users, registered or not, as a cleanup method for modules which might assign resources to user, such as dns lookups, objects and sockets.Definition at line 309 of file modules.cpp. +Called whenever a user's socket is closed. +.PP +The details of the exiting user are available to you in the parameter userrec *user This event is called for all users, registered or not, as a cleanup method for modules which might assign resources to user, such as dns lookups, objects and sockets. +.PP +Definition at line 310 of file modules.cpp. .PP .nf -309 { } +310 { } .fi +.PP .SS "void Module::OnUserJoin (\fBuserrec\fP * user, \fBchanrec\fP * channel)\fC [virtual]\fP" .PP -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 *channelDefinition at line 310 of file modules.cpp. +Called when a user joins a channel. +.PP +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 +.PP +Definition at line 311 of file modules.cpp. .PP .nf -310 { } +311 { } .fi -.SS "void Module::OnUserKick (\fBuserrec\fP * source, \fBuserrec\fP * user, \fBchanrec\fP * chan, std::string reason)\fC [virtual]\fP" .PP -Called whenever a user is kicked. If this method is called, the kick is already underway and cannot be prevented, so to prevent a kick, please use \fBModule::OnUserPreKick\fP instead of this method.Definition at line 339 of file modules.cpp. +.SS "void Module::OnUserKick (\fBuserrec\fP * source, \fBuserrec\fP * user, \fBchanrec\fP * chan, \fBstd::string\fP reason)\fC [virtual]\fP" +.PP +Called whenever a user is kicked. +.PP +If this method is called, the kick is already underway and cannot be prevented, so to prevent a kick, please use \fBModule::OnUserPreKick\fP instead of this method. +.PP +Definition at line 341 of file modules.cpp. .PP .nf -339 { }; +341 { }; .fi +.PP .SS "void Module::OnUserPart (\fBuserrec\fP * user, \fBchanrec\fP * channel)\fC [virtual]\fP" .PP -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 *channelDefinition at line 311 of file modules.cpp. +Called when a user parts a channel. +.PP +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 +.PP +Definition at line 312 of file modules.cpp. .PP .nf -311 { } +312 { } .fi -.SS "void Module::OnUserPostNick (\fBuserrec\fP * user, std::string oldnick)\fC [virtual]\fP" .PP -Called after any nickchange, local or remote. This can be used to track users after nickchanges have been applied. 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). Because this method is called after the nickchange is taken place, no return values are possible to indicate forbidding of the nick change. Use OnUserPreNick for this. Definition at line 326 of file modules.cpp. +.SS "void Module::OnUserPostNick (\fBuserrec\fP * user, \fBstd::string\fP oldnick)\fC [virtual]\fP" +.PP +Called after any nickchange, local or remote. +.PP +This can be used to track users after nickchanges have been applied. 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). Because this method is called after the nickchange is taken place, no return values are possible to indicate forbidding of the nick change. Use OnUserPreNick for this. +.PP +Definition at line 327 of file modules.cpp. .PP .nf -326 { }; +327 { }; .fi +.PP .SS "int Module::OnUserPreInvite (\fBuserrec\fP * source, \fBuserrec\fP * dest, \fBchanrec\fP * channel)\fC [virtual]\fP" .PP -Called whenever a user is about to invite another user into a channel, before any processing is done. 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 322 of file modules.cpp. +Called whenever a user is about to invite another user into a channel, before any processing is done. +.PP +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. +.PP +Definition at line 323 of file modules.cpp. .PP .nf -322 { return 0; }; +323 { return 0; }; .fi +.PP .SS "int Module::OnUserPreJoin (\fBuserrec\fP * user, \fBchanrec\fP * chan, const char * cname)\fC [virtual]\fP" .PP -Called whenever a user is about to join a channel, before any processing is done. Returning a value of 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 mimic +b, +k, +l etc. Returning -1 from this function forces the join to be allowed, bypassing restrictions such as banlists, invite, keys etc. +Called whenever a user is about to join a channel, before any processing is done. +.PP +Returning a value of 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 mimic +b, +k, +l etc. Returning -1 from this function forces the join to be allowed, bypassing restrictions such as banlists, invite, keys etc. .PP IMPORTANT NOTE! .PP -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 316 of file modules.cpp. +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. +.PP +Definition at line 317 of file modules.cpp. .PP .nf -316 { return 0; } +317 { return 0; } .fi -.SS "int Module::OnUserPreKick (\fBuserrec\fP * source, \fBuserrec\fP * user, \fBchanrec\fP * chan, std::string reason)\fC [virtual]\fP" .PP -Called whenever a user is about to be kicked. Returning a value of 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. Definition at line 338 of file modules.cpp. +.SS "int Module::OnUserPreKick (\fBuserrec\fP * source, \fBuserrec\fP * user, \fBchanrec\fP * chan, \fBstd::string\fP reason)\fC [virtual]\fP" +.PP +Called whenever a user is about to be kicked. +.PP +Returning a value of 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. +.PP +Definition at line 340 of file modules.cpp. .PP .nf -338 { return 0; }; +340 { return 0; }; .fi -.SS "int Module::OnUserPreMessage (\fBuserrec\fP * user, void * dest, int target_type, std::string & text)\fC [virtual]\fP" .PP -Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done. 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 323 of file modules.cpp. +.SS "int Module::OnUserPreMessage (\fBuserrec\fP * user, void * dest, int target_type, \fBstd::string\fP & text)\fC [virtual]\fP" +.PP +Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done. +.PP +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. +.PP +Definition at line 324 of file modules.cpp. .PP .nf -323 { return 0; }; +324 { return 0; }; .fi -.SS "int Module::OnUserPreNick (\fBuserrec\fP * user, std::string newnick)\fC [virtual]\fP" .PP -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.Definition at line 325 of file modules.cpp. +.SS "int Module::OnUserPreNick (\fBuserrec\fP * user, \fBstd::string\fP newnick)\fC [virtual]\fP" +.PP +Called before any nickchange, local or remote. +.PP +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. +.PP +Definition at line 326 of file modules.cpp. .PP .nf -325 { return 0; }; +326 { return 0; }; .fi -.SS "int Module::OnUserPreNotice (\fBuserrec\fP * user, void * dest, int target_type, std::string & text)\fC [virtual]\fP" .PP -Called whenever a user is about to NOTICE A user or a channel, before any processing is done. 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 324 of file modules.cpp. +.SS "int Module::OnUserPreNotice (\fBuserrec\fP * user, void * dest, int target_type, \fBstd::string\fP & text)\fC [virtual]\fP" +.PP +Called whenever a user is about to NOTICE A user or a channel, before any processing is done. +.PP +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. +.PP +Definition at line 325 of file modules.cpp. .PP .nf -324 { return 0; }; +325 { return 0; }; .fi +.PP .SS "void Module::OnUserQuit (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called when a user quits. The details of the exiting user are available to you in the parameter userrec *user This event is only called when the user is fully registered when they quit. To catch raw disconnections, use the OnUserDisconnect method.Definition at line 308 of file modules.cpp. +Called when a user quits. +.PP +The details of the exiting user are available to you in the parameter userrec *user This event is only called when the user is fully registered when they quit. To catch raw disconnections, use the OnUserDisconnect method. +.PP +Definition at line 309 of file modules.cpp. .PP .nf -308 { } +309 { } .fi +.PP .SS "void Module::OnUserRegister (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -Called whenever a user is about to register their connection (e.g. before the user is sent the MOTD etc). Modules can use this method if they are performing a function which must be done before the actual connection is completed (e.g. ident lookups, dnsbl lookups, etc). Note that you should NOT delete the user record here by causing a disconnection! Use OnUserConnect for that instead.Definition at line 337 of file modules.cpp. +Called whenever a user is about to register their connection (e.g. +.PP +before the user is sent the MOTD etc). Modules can use this method if they are performing a function which must be done before the actual connection is completed (e.g. ident lookups, dnsbl lookups, etc). Note that you should NOT delete the user record here by causing a disconnection! Use OnUserConnect for that instead. +.PP +Definition at line 339 of file modules.cpp. .PP .nf -337 { }; +339 { }; .fi +.PP .SS "\fBstring_list\fP Module::OnUserSync (\fBuserrec\fP * user)\fC [virtual]\fP" .PP -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 328 of file modules.cpp. +Called during a netburst to sync user data. .PP -References string_list. +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. +.PP +Definition at line 329 of file modules.cpp. .PP .nf -328 { string_list empty; return empty; } +329 { string_list empty; return empty; } .fi +.PP .SS "void Module::OnWhois (\fBuserrec\fP * source, \fBuserrec\fP * dest)\fC [virtual]\fP" .PP -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 321 of file modules.cpp. +Called whenever a /WHOIS is performed on a local user. +.PP +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. +.PP +Definition at line 322 of file modules.cpp. .PP .nf -321 { }; +322 { }; .fi +.PP .SH "Author" diff --git a/docs/man/man3/ModuleFactory.3 b/docs/man/man3/ModuleFactory.3 index 884c19c8e..38eb2c414 100644 --- a/docs/man/man3/ModuleFactory.3 +++ b/docs/man/man3/ModuleFactory.3 @@ -1,4 +1,4 @@ -.TH "ModuleFactory" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ModuleFactory" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -30,30 +30,34 @@ Inherits \fBclassbase\fP. .PP Instantiates classes inherited from \fBModule\fP This class creates a class inherited from type \fBModule\fP, using new. -This is to allow for modules to create many different variants of \fBModule\fP, dependent on architecture, configuration, etc. In most cases, the simple class shown in the example module m_foobar.so will suffice for most modules. +This is to allow for modules to create many different variants of \fBModule\fP, dependent on architecture, configuration, etc. In most cases, the simple class shown in the example module m_foobar.so will suffice for most modules. .PP -Definition at line 1294 of file modules.h. +Definition at line 1265 of file modules.h. .SH "Constructor & Destructor Documentation" .PP .SS "ModuleFactory::ModuleFactory ()\fC [inline]\fP" .PP -Definition at line 1297 of file modules.h. +Definition at line 1268 of file modules.h. .PP .nf -1297 { } +1268 { } .fi -.SS "virtual ModuleFactory::~\fBModuleFactory\fP ()\fC [inline, virtual]\fP" .PP -Definition at line 1298 of file modules.h. +.SS "virtual ModuleFactory::~ModuleFactory ()\fC [inline, virtual]\fP" +.PP +Definition at line 1269 of file modules.h. .PP .nf -1298 { } +1269 { } .fi +.PP .SH "Member Function Documentation" .PP .SS "virtual \fBModule\fP* ModuleFactory::CreateModule ()\fC [pure virtual]\fP" .PP -Creates a new module. Your inherited class of ModuleFactory must return a pointer to your \fBModule\fP class using this method. +Creates a new module. +.PP +Your inherited class of ModuleFactory must return a pointer to your \fBModule\fP class using this method. .SH "Author" .PP diff --git a/docs/man/man3/ModuleMessage.3 b/docs/man/man3/ModuleMessage.3 index 87999becd..1aeb0a9ff 100644 --- a/docs/man/man3/ModuleMessage.3 +++ b/docs/man/man3/ModuleMessage.3 @@ -1,4 +1,4 @@ -.TH "ModuleMessage" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ModuleMessage" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -21,15 +21,32 @@ Inherited by \fBEvent\fP, and \fBRequest\fP. .RI "virtual char * \fBSend\fP ()=0" .br .RI "\fIThis class is pure virtual and must be inherited. \fP" +.ti -1c +.RI "virtual \fB~ModuleMessage\fP ()" +.br .in -1c .SH "Detailed Description" .PP -The ModuleMessage class is the base class of \fBRequest\fP and \fBEvent\fP This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. Definition at line 141 of file modules.h. +The ModuleMessage class is the base class of \fBRequest\fP and \fBEvent\fP This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. +.PP +Definition at line 142 of file modules.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "virtual ModuleMessage::~ModuleMessage ()\fC [inline, virtual]\fP" +.PP +Definition at line 148 of file modules.h. +.PP +.nf +148 {}; +.fi +.PP .SH "Member Function Documentation" .PP .SS "virtual char* ModuleMessage::Send ()\fC [pure virtual]\fP" .PP -This class is pure virtual and must be inherited. Implemented in \fBRequest\fP, and \fBEvent\fP. +This class is pure virtual and must be inherited. +.PP +Implemented in \fBRequest\fP, and \fBEvent\fP. .SH "Author" .PP diff --git a/docs/man/man3/QLine.3 b/docs/man/man3/QLine.3 index e1e9ce90c..a396146bc 100644 --- a/docs/man/man3/QLine.3 +++ b/docs/man/man3/QLine.3 @@ -1,4 +1,4 @@ -.TH "QLine" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "QLine" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -26,15 +26,25 @@ Inherits \fBXLine\fP. .in -1c .SH "Detailed Description" .PP -QLine class. Definition at line 108 of file xline.h. +QLine class. +.PP +Definition at line 108 of file xline.h. .SH "Member Data Documentation" .PP .SS "bool \fBQLine::is_global\fP" .PP -Set if this is a global Z:line (e.g. it came from another server)Definition at line 118 of file xline.h. +Set if this is a global Z:line (e.g. +.PP +it came from another server) +.PP +Definition at line 118 of file xline.h. .SS "char \fBQLine::nick\fP[64]" .PP -Nickname to match against. May contain wildcards.Definition at line 114 of file xline.h. +Nickname to match against. +.PP +May contain wildcards. +.PP +Definition at line 114 of file xline.h. .SH "Author" .PP diff --git a/docs/man/man3/Request.3 b/docs/man/man3/Request.3 index 5d83d6961..b83cace94 100644 --- a/docs/man/man3/Request.3 +++ b/docs/man/man3/Request.3 @@ -1,4 +1,4 @@ -.TH "Request" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Request" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -56,88 +56,111 @@ Inherits \fBModuleMessage\fP. .PP The Request class is a unicast message directed at a given module. -When this class is properly instantiated it may be sent to a module using the \fBSend()\fP method, which will call the given module's OnRequest method with this class as its parameter. +When this class is properly instantiated it may be sent to a module using the \fBSend()\fP method, which will call the given module's OnRequest method with this class as its parameter. .PP -Definition at line 154 of file modules.h. +Definition at line 156 of file modules.h. .SH "Constructor & Destructor Documentation" .PP .SS "Request::Request (char * anydata, \fBModule\fP * src, \fBModule\fP * dst)" .PP -Create a new Request. Definition at line 251 of file modules.cpp. +Create a new Request. +.PP +Definition at line 252 of file modules.cpp. .PP .nf -251 : data(anydata), source(src), dest(dst) { }; +252 : data(anydata), source(src), dest(dst) { }; .fi +.PP .SH "Member Function Documentation" .PP .SS "char * Request::GetData ()" .PP -Fetch the Request data. Definition at line 253 of file modules.cpp. +Fetch the Request data. +.PP +Definition at line 254 of file modules.cpp. .PP References data. .PP .nf -254 { -255 return this->data; -256 } +255 { +256 return this->data; +257 } .fi +.PP .SS "\fBModule\fP * Request::GetDest ()" .PP -Fetch the request destination (should be 'this' in the receiving module). Definition at line 263 of file modules.cpp. +Fetch the request destination (should be 'this' in the receiving module). +.PP +Definition at line 264 of file modules.cpp. .PP References dest. .PP .nf -264 { -265 return this->dest; -266 } +265 { +266 return this->dest; +267 } .fi +.PP .SS "\fBModule\fP * Request::GetSource ()" .PP -Fetch the request source. Definition at line 258 of file modules.cpp. +Fetch the request source. +.PP +Definition at line 259 of file modules.cpp. .PP References source. .PP .nf -259 { -260 return this->source; -261 } +260 { +261 return this->source; +262 } .fi +.PP .SS "char * Request::Send ()\fC [virtual]\fP" .PP -Send the Request. Upon returning the result will be arbitary data returned by the module you sent the request to. It is up to your module to know what this data is and how to deal with it. Implements \fBModuleMessage\fP. +Send the Request. +.PP +Upon returning the result will be arbitary data returned by the module you sent the request to. It is up to your module to know what this data is and how to deal with it. .PP -Definition at line 268 of file modules.cpp. +Implements \fBModuleMessage\fP. +.PP +Definition at line 269 of file modules.cpp. .PP References dest, and Module::OnRequest(). .PP .nf -269 { -270 if (this->dest) -271 { -272 return dest->OnRequest(this); -273 } -274 else -275 { -276 return NULL; -277 } -278 } +270 { +271 if (this->dest) +272 { +273 return dest->OnRequest(this); +274 } +275 else +276 { +277 return NULL; +278 } +279 } .fi +.PP .SH "Member Data Documentation" .PP .SS "char* \fBRequest::data\fP\fC [protected]\fP" .PP -This member holds a pointer to arbitary data set by the emitter of the message. Definition at line 159 of file modules.h. +This member holds a pointer to arbitary data set by the emitter of the message. +.PP +Definition at line 161 of file modules.h. .PP Referenced by GetData(). .SS "\fBModule\fP* \fBRequest::dest\fP\fC [protected]\fP" .PP -The single destination of the Request. Definition at line 166 of file modules.h. +The single destination of the Request. +.PP +Definition at line 168 of file modules.h. .PP Referenced by GetDest(), and Send(). .SS "\fBModule\fP* \fBRequest::source\fP\fC [protected]\fP" .PP -This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. Definition at line 163 of file modules.h. +This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. +.PP +Definition at line 165 of file modules.h. .PP Referenced by GetSource(). diff --git a/docs/man/man3/Server.3 b/docs/man/man3/Server.3 index f8e40edc4..55223633d 100644 --- a/docs/man/man3/Server.3 +++ b/docs/man/man3/Server.3 @@ -1,4 +1,4 @@ -.TH "Server" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Server" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -24,35 +24,35 @@ Inherits \fBclassbase\fP. .br .RI "\fIDefault destructor. \fP" .ti -1c -.RI "virtual void \fBSendOpers\fP (std::string s)" +.RI "virtual void \fBSendOpers\fP (\fBstd::string\fP s)" .br .RI "\fISends text to all opers. \fP" .ti -1c -.RI "virtual void \fBLog\fP (int level, std::string s)" +.RI "virtual void \fBLog\fP (int level, \fBstd::string\fP s)" .br .RI "\fIWrites a log string. \fP" .ti -1c -.RI "virtual void \fBSend\fP (int Socket, std::string s)" +.RI "virtual void \fBSend\fP (int Socket, \fBstd::string\fP s)" .br .RI "\fISends a line of text down a TCP/IP socket. \fP" .ti -1c -.RI "virtual void \fBSendServ\fP (int Socket, std::string s)" +.RI "virtual void \fBSendServ\fP (int Socket, \fBstd::string\fP s)" .br .RI "\fISends text from the server to a socket. \fP" .ti -1c -.RI "virtual void \fBSendChannelServerNotice\fP (std::string ServName, \fBchanrec\fP *Channel, std::string text)" +.RI "virtual void \fBSendChannelServerNotice\fP (\fBstd::string\fP ServName, \fBchanrec\fP *Channel, \fBstd::string\fP text)" .br .RI "\fIWrites text to a channel, but from a server, including all. \fP" .ti -1c -.RI "virtual void \fBSendFrom\fP (int Socket, \fBuserrec\fP *User, std::string s)" +.RI "virtual void \fBSendFrom\fP (int Socket, \fBuserrec\fP *User, \fBstd::string\fP s)" .br .RI "\fISends text from a user to a socket. \fP" .ti -1c -.RI "virtual void \fBSendTo\fP (\fBuserrec\fP *Source, \fBuserrec\fP *Dest, std::string s)" +.RI "virtual void \fBSendTo\fP (\fBuserrec\fP *Source, \fBuserrec\fP *Dest, \fBstd::string\fP s)" .br .RI "\fISends text from a user to another user. \fP" .ti -1c -.RI "virtual void \fBSendChannel\fP (\fBuserrec\fP *User, \fBchanrec\fP *Channel, std::string s, bool IncludeSender)" +.RI "virtual void \fBSendChannel\fP (\fBuserrec\fP *User, \fBchanrec\fP *Channel, \fBstd::string\fP s, bool IncludeSender)" .br .RI "\fISends text from a user to a channel (mulicast). \fP" .ti -1c @@ -60,15 +60,15 @@ Inherits \fBclassbase\fP. .br .RI "\fIReturns true if two users share a common channel. \fP" .ti -1c -.RI "virtual void \fBSendCommon\fP (\fBuserrec\fP *User, std::string text, bool IncludeSender)" +.RI "virtual void \fBSendCommon\fP (\fBuserrec\fP *User, \fBstd::string\fP text, bool IncludeSender)" .br .RI "\fISends text from a user to one or more channels (mulicast). \fP" .ti -1c -.RI "virtual void \fBSendWallops\fP (\fBuserrec\fP *User, std::string text)" +.RI "virtual void \fBSendWallops\fP (\fBuserrec\fP *User, \fBstd::string\fP text)" .br .RI "\fISends a WALLOPS message. \fP" .ti -1c -.RI "virtual bool \fBIsNick\fP (std::string nick)" +.RI "virtual bool \fBIsNick\fP (\fBstd::string\fP nick)" .br .RI "\fIReturns true if a nick is valid. \fP" .ti -1c @@ -76,7 +76,7 @@ Inherits \fBclassbase\fP. .br .RI "\fIReturns a count of the number of users on a channel. \fP" .ti -1c -.RI "virtual \fBuserrec\fP * \fBFindNick\fP (std::string nick)" +.RI "virtual \fBuserrec\fP * \fBFindNick\fP (\fBstd::string\fP nick)" .br .RI "\fIAttempts to look up a nick and return a pointer to it. \fP" .ti -1c @@ -84,11 +84,11 @@ Inherits \fBclassbase\fP. .br .RI "\fIAttempts to look up a nick using the file descriptor associated with that nick. \fP" .ti -1c -.RI "virtual \fBchanrec\fP * \fBFindChannel\fP (std::string channel)" +.RI "virtual \fBchanrec\fP * \fBFindChannel\fP (\fBstd::string\fP channel)" .br .RI "\fIAttempts to look up a channel and return a pointer to it. \fP" .ti -1c -.RI "virtual std::string \fBChanMode\fP (\fBuserrec\fP *User, \fBchanrec\fP *Chan)" +.RI "virtual \fBstd::string\fP \fBChanMode\fP (\fBuserrec\fP *User, \fBchanrec\fP *Chan)" .br .RI "\fIAttempts to look up a user's privilages on a channel. \fP" .ti -1c @@ -96,15 +96,15 @@ Inherits \fBclassbase\fP. .br .RI "\fIChecks if a user is on a channel. \fP" .ti -1c -.RI "virtual std::string \fBGetServerName\fP ()" +.RI "virtual \fBstd::string\fP \fBGetServerName\fP ()" .br .RI "\fIReturns the server name of the server where the module is loaded. \fP" .ti -1c -.RI "virtual std::string \fBGetNetworkName\fP ()" +.RI "virtual \fBstd::string\fP \fBGetNetworkName\fP ()" .br .RI "\fIReturns the network name, global to all linked servers. \fP" .ti -1c -.RI "virtual std::string \fBGetServerDescription\fP ()" +.RI "virtual \fBstd::string\fP \fBGetServerDescription\fP ()" .br .RI "\fIReturns the server description string of the local server. \fP" .ti -1c @@ -128,43 +128,43 @@ Inherits \fBclassbase\fP. .br .RI "\fISends a servermode. \fP" .ti -1c -.RI "virtual void \fBSendToModeMask\fP (std::string modes, int flags, std::string text)" +.RI "virtual void \fBSendToModeMask\fP (\fBstd::string\fP modes, int flags, \fBstd::string\fP text)" .br .RI "\fISends to all users matching a mode mask You must specify one or more usermodes as the first parameter. \fP" .ti -1c -.RI "virtual \fBchanrec\fP * \fBJoinUserToChannel\fP (\fBuserrec\fP *user, std::string cname, std::string key)" +.RI "virtual \fBchanrec\fP * \fBJoinUserToChannel\fP (\fBuserrec\fP *user, \fBstd::string\fP cname, \fBstd::string\fP key)" .br .RI "\fIForces a user to join a channel. \fP" .ti -1c -.RI "virtual \fBchanrec\fP * \fBPartUserFromChannel\fP (\fBuserrec\fP *user, std::string cname, std::string reason)" +.RI "virtual \fBchanrec\fP * \fBPartUserFromChannel\fP (\fBuserrec\fP *user, \fBstd::string\fP cname, \fBstd::string\fP reason)" .br .RI "\fIForces a user to part a channel. \fP" .ti -1c -.RI "virtual void \fBChangeUserNick\fP (\fBuserrec\fP *user, std::string nickname)" +.RI "virtual void \fBChangeUserNick\fP (\fBuserrec\fP *user, \fBstd::string\fP nickname)" .br .RI "\fIForces a user nickchange. \fP" .ti -1c -.RI "virtual void \fBQuitUser\fP (\fBuserrec\fP *user, std::string reason)" +.RI "virtual void \fBQuitUser\fP (\fBuserrec\fP *user, \fBstd::string\fP reason)" .br .RI "\fIForces a user to quit with the specified reason. \fP" .ti -1c -.RI "virtual bool \fBMatchText\fP (std::string sliteral, std::string spattern)" +.RI "virtual bool \fBMatchText\fP (\fBstd::string\fP sliteral, \fBstd::string\fP spattern)" .br .RI "\fIMatches text against a glob pattern. \fP" .ti -1c -.RI "virtual void \fBCallCommandHandler\fP (std::string commandname, char **parameters, int pcnt, \fBuserrec\fP *user)" +.RI "virtual void \fBCallCommandHandler\fP (\fBstd::string\fP commandname, char **parameters, int pcnt, \fBuserrec\fP *user)" .br .RI "\fICalls the handler for a command, either implemented by the core or by another module. \fP" .ti -1c -.RI "virtual void \fBChangeHost\fP (\fBuserrec\fP *user, std::string host)" +.RI "virtual void \fBChangeHost\fP (\fBuserrec\fP *user, \fBstd::string\fP host)" .br .RI "\fIChange displayed hostname of a user. \fP" .ti -1c -.RI "virtual void \fBChangeGECOS\fP (\fBuserrec\fP *user, std::string gecos)" +.RI "virtual void \fBChangeGECOS\fP (\fBuserrec\fP *user, \fBstd::string\fP gecos)" .br .RI "\fIChange GECOS (fullname) of a user. \fP" .ti -1c -.RI "virtual bool \fBIsUlined\fP (std::string server)" +.RI "virtual bool \fBIsUlined\fP (\fBstd::string\fP server)" .br .RI "\fIReturns true if the servername you give is ulined. \fP" .ti -1c @@ -172,150 +172,152 @@ Inherits \fBclassbase\fP. .br .RI "\fIFetches the userlist of a channel. \fP" .ti -1c -.RI "virtual bool \fBUserToPseudo\fP (\fBuserrec\fP *user, std::string message)" +.RI "virtual bool \fBUserToPseudo\fP (\fBuserrec\fP *user, \fBstd::string\fP message)" .br .RI "\fIRemove a user's connection to the irc server, but leave their client in existence in the user hash. \fP" .ti -1c -.RI "virtual bool \fBPseudoToUser\fP (\fBuserrec\fP *alive, \fBuserrec\fP *zombie, std::string message)" +.RI "virtual bool \fBPseudoToUser\fP (\fBuserrec\fP *alive, \fBuserrec\fP *zombie, \fBstd::string\fP message)" .br .RI "\fIThis user takes one user, and switches their file descriptor with another user, so that one user 'becomes' the other. \fP" .ti -1c -.RI "virtual void \fBAddGLine\fP (long duration, std::string source, std::string reason, std::string hostmask)" +.RI "virtual void \fBAddGLine\fP (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)" .br .RI "\fIAdds a G-line The G-line is propogated to all of the servers in the mesh and enforced as soon as it is added. \fP" .ti -1c -.RI "virtual void \fBAddQLine\fP (long duration, std::string source, std::string reason, std::string nickname)" +.RI "virtual void \fBAddQLine\fP (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP nickname)" .br .RI "\fIAdds a Q-line The Q-line is propogated to all of the servers in the mesh and enforced as soon as it is added. \fP" .ti -1c -.RI "virtual void \fBAddZLine\fP (long duration, std::string source, std::string reason, std::string ipaddr)" +.RI "virtual void \fBAddZLine\fP (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP ipaddr)" .br .RI "\fIAdds a Z-line The Z-line is propogated to all of the servers in the mesh and enforced as soon as it is added. \fP" .ti -1c -.RI "virtual void \fBAddKLine\fP (long duration, std::string source, std::string reason, std::string hostmask)" +.RI "virtual void \fBAddKLine\fP (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)" .br .RI "\fIAdds a K-line The K-line is enforced as soon as it is added. \fP" .ti -1c -.RI "virtual void \fBAddELine\fP (long duration, std::string source, std::string reason, std::string hostmask)" +.RI "virtual void \fBAddELine\fP (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)" .br .RI "\fIAdds a E-line The E-line is enforced as soon as it is added. \fP" .ti -1c -.RI "virtual bool \fBDelGLine\fP (std::string hostmask)" +.RI "virtual bool \fBDelGLine\fP (\fBstd::string\fP hostmask)" .br .RI "\fIDeletes a G-Line from all servers on the mesh. \fP" .ti -1c -.RI "virtual bool \fBDelQLine\fP (std::string nickname)" +.RI "virtual bool \fBDelQLine\fP (\fBstd::string\fP nickname)" .br .RI "\fIDeletes a Q-Line from all servers on the mesh. \fP" .ti -1c -.RI "virtual bool \fBDelZLine\fP (std::string ipaddr)" +.RI "virtual bool \fBDelZLine\fP (\fBstd::string\fP ipaddr)" .br .RI "\fIDeletes a Z-Line from all servers on the mesh. \fP" .ti -1c -.RI "virtual bool \fBDelKLine\fP (std::string hostmask)" +.RI "virtual bool \fBDelKLine\fP (\fBstd::string\fP hostmask)" .br .RI "\fIDeletes a local K-Line. \fP" .ti -1c -.RI "virtual bool \fBDelELine\fP (std::string hostmask)" +.RI "virtual bool \fBDelELine\fP (\fBstd::string\fP hostmask)" .br .RI "\fIDeletes a local E-Line. \fP" .ti -1c -.RI "virtual long \fBCalcDuration\fP (std::string duration)" +.RI "virtual long \fBCalcDuration\fP (\fBstd::string\fP duration)" .br .RI "\fICalculates a duration This method will take a string containing a formatted duration (e.g. \fP" .ti -1c -.RI "virtual bool \fBIsValidMask\fP (std::string mask)" +.RI "virtual bool \fBIsValidMask\fP (\fBstd::string\fP mask)" .br .RI "\fIReturns true if a nick!ident string is correctly formatted, false if otherwise. \fP" .ti -1c -.RI "virtual void \fBMeshSendAll\fP (std::string text)" +.RI "virtual \fBModule\fP * \fBFindModule\fP (\fBstd::string\fP name)" .br -.RI "\fISends a line of text to all connected servers. \fP" -.ti -1c -.RI "virtual void \fBMeshSendCommon\fP (\fBuserrec\fP *user, std::string text)" -.br -.RI "\fIThis method sends a line of text to all servers who have users which share common channels with the user you provide. \fP" -.ti -1c -.RI "virtual void \fBMeshSendAllAlive\fP (std::string text)" -.br -.RI "\fIThis function is equivalent to Server::MeshSendToAll except it will only route to servers which are directly routable. \fP" -.ti -1c -.RI "virtual void \fBMeshSendUnicast\fP (std::string destination, std::string text)" -.br -.RI "\fIThis function sends a line of text directly to a server. \fP" -.ti -1c -.RI "virtual void \fBMeshSendAllExcept\fP (std::string target, std::string text)" -.br -.RI "\fIThis function sends to all servers EXCEPT the one you specify. \fP" -.ti -1c -.RI "virtual bool \fBMeshCheckChan\fP (\fBchanrec\fP *c, std::string servername)" -.br -.RI "\fIThis function is used to check if any users on channel c are on server servername. \fP" +.RI "\fIThis function finds a module by name. \fP" .ti -1c -.RI "virtual bool \fBMeshCheckCommon\fP (\fBuserrec\fP *u, std::string servername)" +.RI "virtual void \fBAddSocket\fP (\fBInspSocket\fP *sock)" .br -.RI "\fIThis function is used to check if user u has any channels in common with users on servername. \fP" +.RI "\fIAdds a class derived from \fBInspSocket\fP to the server's socket engine. \fP" .ti -1c -.RI "virtual \fBModule\fP * \fBFindModule\fP (std::string name)" +.RI "virtual void \fBDelSocket\fP (\fBInspSocket\fP *sock)" .br -.RI "\fIThis function finds a module by name. \fP" +.RI "\fIDeletes a class derived from \fBInspSocket\fP from the server's socket engine. \fP" .in -1c .SH "Detailed Description" .PP Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. -All modules should instantiate at least one copy of this class, and use its member functions to perform their tasks. +All modules should instantiate at least one copy of this class, and use its member functions to perform their tasks. .PP -Definition at line 694 of file modules.h. +Definition at line 696 of file modules.h. .SH "Constructor & Destructor Documentation" .PP .SS "Server::Server ()" .PP -Default constructor. Creates a Server object.Definition at line 366 of file modules.cpp. +Default constructor. +.PP +Creates a Server object. +.PP +Definition at line 367 of file modules.cpp. .PP .nf -367 { -368 } +368 { +369 } .fi -.SS "Server::~\fBServer\fP ()\fC [virtual]\fP" .PP -Default destructor. Destroys a Server object.Definition at line 370 of file modules.cpp. +.SS "Server::~Server ()\fC [virtual]\fP" +.PP +Default destructor. +.PP +Destroys a Server object. +.PP +Definition at line 371 of file modules.cpp. .PP .nf -371 { -372 } +372 { +373 } .fi +.PP .SH "Member Function Documentation" .PP .SS "void Server::AddCommand (char * cmd, handlerfunc f, char flags, int minparams, char * source)\fC [virtual]\fP" .PP -Adds a command to the command table. This allows modules to add extra commands into the command table. You must place a function within your module which is is of type handlerfunc: +Adds a command to the command table. +.PP +This allows modules to add extra commands into the command table. You must place a function within your module which is is of type handlerfunc: .PP typedef void (handlerfunc) (char**, int, userrec*); ... void \fBhandle_kill(char **parameters, int pcnt, userrec *user)\fP .PP -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'. The source parameter is used for resource tracking, and should contain the name of your module (with file extension) e.g. 'm_blarp.so'. If you place the wrong identifier here, you can cause crashes if your module is unloaded.Definition at line 439 of file modules.cpp. +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'. The source parameter is used for resource tracking, and should contain the name of your module (with file extension) e.g. 'm_blarp.so'. If you place the wrong identifier here, you can cause crashes if your module is unloaded. +.PP +Definition at line 457 of file modules.cpp. .PP References createcommand(). .PP .nf -440 { -441 createcommand(cmd,f,flags,minparams,source); -442 } +458 { +459 createcommand(cmd,f,flags,minparams,source); +460 } .fi -.SS "void Server::AddELine (long duration, std::string source, std::string reason, std::string hostmask)\fC [virtual]\fP" .PP -Adds a E-line The E-line is enforced as soon as it is added. The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. Definition at line 701 of file modules.cpp. +.SS "void Server::AddELine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)\fC [virtual]\fP" +.PP +Adds a E-line The E-line is enforced as soon as it is added. +.PP +The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. .PP -References add_eline(), and duration(). +Definition at line 720 of file modules.cpp. +.PP +References add_eline(). .PP .nf -702 { -703 add_eline(duration, source.c_str(), reason.c_str(), hostmask.c_str()); -704 } +721 { +722 add_eline(duration, source.c_str(), reason.c_str(), hostmask.c_str()); +723 } .fi +.PP .SS "bool Server::AddExtendedListMode (char modechar)\fC [virtual]\fP" .PP -Adds an extended mode letter which is parsed by a module and handled in a list fashion. This call is used to implement modes like +q and +a. The characteristics of these modes are as follows: +Adds an extended mode letter which is parsed by a module and handled in a list fashion. +.PP +This call is used to implement modes like +q and +a. The characteristics of these modes are as follows: .PP (1) They are ALWAYS on channels, not on users, therefore their type is MT_CHANNEL .PP @@ -325,625 +327,783 @@ Adds an extended mode letter which is parsed by a module and handled in a list f .PP (4) The mode and its parameter are NOT stored in the channels modes structure .PP -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 607 of file modules.cpp. +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. +.PP +Definition at line 625 of file modules.cpp. .PP References DoAddExtendedMode(), ModeMakeList(), and MT_CHANNEL. .PP .nf -608 { -609 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1); -610 if (res) -611 ModeMakeList(modechar); -612 return res; -613 } +626 { +627 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1); +628 if (res) +629 ModeMakeList(modechar); +630 return res; +631 } .fi +.PP .SS "bool Server::AddExtendedMode (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)\fC [virtual]\fP" .PP -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 579 of file modules.cpp. +Adds an extended mode letter which is parsed by a module. +.PP +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. +.PP +Definition at line 597 of file modules.cpp. .PP References DEBUG, DoAddExtendedMode(), MT_CLIENT, and MT_SERVER. .PP .nf -580 { -581 if (((modechar >= 'A') && (modechar <= 'Z')) || ((modechar >= 'a') && (modechar <= 'z'))) -582 { -583 if (type == MT_SERVER) -584 { -585 log(DEBUG,'*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion'); -586 return false; -587 } -588 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) -589 { -590 log(DEBUG,'*** API ERROR *** Parameters on MT_CLIENT modes are not supported'); -591 return false; -592 } -593 if ((params_when_on>1) || (params_when_off>1)) -594 { -595 log(DEBUG,'*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported'); -596 return false; -597 } -598 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); -599 } -600 else -601 { -602 log(DEBUG,'*** API ERROR *** Muppet modechar detected.'); -603 } -604 return false; -605 } +598 { +599 if (((modechar >= 'A') && (modechar <= 'Z')) || ((modechar >= 'a') && (modechar <= 'z'))) +600 { +601 if (type == MT_SERVER) +602 { +603 log(DEBUG,'*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion'); +604 return false; +605 } +606 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT)) +607 { +608 log(DEBUG,'*** API ERROR *** Parameters on MT_CLIENT modes are not supported'); +609 return false; +610 } +611 if ((params_when_on>1) || (params_when_off>1)) +612 { +613 log(DEBUG,'*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported'); +614 return false; +615 } +616 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off); +617 } +618 else +619 { +620 log(DEBUG,'*** API ERROR *** Muppet modechar detected.'); +621 } +622 return false; +623 } .fi -.SS "void Server::AddGLine (long duration, std::string source, std::string reason, std::string hostmask)\fC [virtual]\fP" .PP -Adds a G-line The G-line is propogated to all of the servers in the mesh and enforced as soon as it is added. The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name.Definition at line 681 of file modules.cpp. +.SS "void Server::AddGLine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)\fC [virtual]\fP" +.PP +Adds a G-line The G-line is propogated to all of the servers in the mesh and enforced as soon as it is added. +.PP +The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. +.PP +Definition at line 700 of file modules.cpp. .PP -References add_gline(), and duration(). +References add_gline(). .PP .nf -682 { -683 add_gline(duration, source.c_str(), reason.c_str(), hostmask.c_str()); -684 } +701 { +702 add_gline(duration, source.c_str(), reason.c_str(), hostmask.c_str()); +703 } .fi -.SS "void Server::AddKLine (long duration, std::string source, std::string reason, std::string hostmask)\fC [virtual]\fP" .PP -Adds a K-line The K-line is enforced as soon as it is added. The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. Definition at line 696 of file modules.cpp. +.SS "void Server::AddKLine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)\fC [virtual]\fP" .PP -References add_kline(), and duration(). +Adds a K-line The K-line is enforced as soon as it is added. +.PP +The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. +.PP +Definition at line 715 of file modules.cpp. +.PP +References add_kline(). .PP .nf -697 { -698 add_kline(duration, source.c_str(), reason.c_str(), hostmask.c_str()); -699 } +716 { +717 add_kline(duration, source.c_str(), reason.c_str(), hostmask.c_str()); +718 } .fi -.SS "void Server::AddQLine (long duration, std::string source, std::string reason, std::string nickname)\fC [virtual]\fP" .PP -Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enforced as soon as it is added. The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. Definition at line 686 of file modules.cpp. +.SS "void Server::AddQLine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP nickname)\fC [virtual]\fP" +.PP +Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enforced as soon as it is added. +.PP +The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. +.PP +Definition at line 705 of file modules.cpp. .PP -References add_qline(), and duration(). +References add_qline(). .PP .nf -687 { -688 add_qline(duration, source.c_str(), reason.c_str(), nickname.c_str()); -689 } +706 { +707 add_qline(duration, source.c_str(), reason.c_str(), nickname.c_str()); +708 } .fi -.SS "void Server::AddZLine (long duration, std::string source, std::string reason, std::string ipaddr)\fC [virtual]\fP" .PP -Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enforced as soon as it is added. The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. Definition at line 691 of file modules.cpp. +.SS "void Server::AddSocket (\fBInspSocket\fP * sock)\fC [virtual]\fP" .PP -References add_zline(), and duration(). +Adds a class derived from \fBInspSocket\fP to the server's socket engine. +.PP +Definition at line 375 of file modules.cpp. +.PP +References module_sockets. +.PP +.nf +376 { +377 module_sockets.push_back(sock); +378 } +.fi +.PP +.SS "void Server::AddZLine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP ipaddr)\fC [virtual]\fP" +.PP +Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enforced as soon as it is added. +.PP +The duration must be in seconds, however you can use the \fBServer::CalcDuration\fP method to convert durations into the 1w2d3h3m6s format used by /GLINE etc. The source is an arbitary string used to indicate who or what sent the data, usually this is the nickname of a person, or a server name. +.PP +Definition at line 710 of file modules.cpp. +.PP +References add_zline(). .PP .nf -692 { -693 add_zline(duration, source.c_str(), reason.c_str(), ipaddr.c_str()); -694 } +711 { +712 add_zline(duration, source.c_str(), reason.c_str(), ipaddr.c_str()); +713 } .fi -.SS "long Server::CalcDuration (std::string duration)\fC [virtual]\fP" .PP -Calculates a duration This method will take a string containing a formatted duration (e.g. '1w2d') and return its value as a total number of seconds. This is the same function used internally by /GLINE etc to set the ban times.Definition at line 731 of file modules.cpp. +.SS "long Server::CalcDuration (\fBstd::string\fP duration)\fC [virtual]\fP" +.PP +Calculates a duration This method will take a string containing a formatted duration (e.g. +.PP +'1w2d') and return its value as a total number of seconds. This is the same function used internally by /GLINE etc to set the ban times. +.PP +Definition at line 750 of file modules.cpp. .PP References duration(). .PP .nf -732 { -733 return duration(delta.c_str()); -734 } +751 { +752 return duration(delta.c_str()); +753 } .fi -.SS "void Server::CallCommandHandler (std::string commandname, char ** parameters, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP" .PP -Calls the handler for a command, either implemented by the core or by another module. 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 +.SS "void Server::CallCommandHandler (\fBstd::string\fP commandname, char ** parameters, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP" +.PP +Calls the handler for a command, either implemented by the core or by another module. +.PP +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 .br -) 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 \fBAddCommand()\fP. 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 429 of file modules.cpp. +) 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 \fBAddCommand()\fP. 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. +.PP +Definition at line 447 of file modules.cpp. .PP .nf -430 { -431 call_handler(commandname.c_str(),parameters,pcnt,user); -432 } +448 { +449 call_handler(commandname.c_str(),parameters,pcnt,user); +450 } .fi -.SS "void Server::ChangeGECOS (\fBuserrec\fP * user, std::string gecos)\fC [virtual]\fP" .PP -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 522 of file modules.cpp. +.SS "void Server::ChangeGECOS (\fBuserrec\fP * user, \fBstd::string\fP gecos)\fC [virtual]\fP" +.PP +Change GECOS (fullname) of a user. +.PP +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. +.PP +Definition at line 540 of file modules.cpp. .PP References ChangeName(). .PP .nf -523 { -524 ChangeName(user,gecos.c_str()); -525 } +541 { +542 ChangeName(user,gecos.c_str()); +543 } .fi -.SS "void Server::ChangeHost (\fBuserrec\fP * user, std::string host)\fC [virtual]\fP" .PP -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 517 of file modules.cpp. +.SS "void Server::ChangeHost (\fBuserrec\fP * user, \fBstd::string\fP host)\fC [virtual]\fP" +.PP +Change displayed hostname of a user. +.PP +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. +.PP +Definition at line 535 of file modules.cpp. .PP References ChangeDisplayedHost(). .PP .nf -518 { -519 ChangeDisplayedHost(user,host.c_str()); -520 } +536 { +537 ChangeDisplayedHost(user,host.c_str()); +538 } .fi -.SS "void Server::ChangeUserNick (\fBuserrec\fP * user, std::string nickname)\fC [virtual]\fP" .PP -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 414 of file modules.cpp. +.SS "void Server::ChangeUserNick (\fBuserrec\fP * user, \fBstd::string\fP nickname)\fC [virtual]\fP" +.PP +Forces a user nickchange. +.PP +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. +.PP +Definition at line 432 of file modules.cpp. .PP .nf -415 { -416 force_nickchange(user,nickname.c_str()); -417 } +433 { +434 force_nickchange(user,nickname.c_str()); +435 } .fi -.SS "std::string Server::ChanMode (\fBuserrec\fP * User, \fBchanrec\fP * Chan)\fC [virtual]\fP" .PP -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 547 of file modules.cpp. +.SS "\fBstd::string\fP Server::ChanMode (\fBuserrec\fP * User, \fBchanrec\fP * Chan)\fC [virtual]\fP" +.PP +Attempts to look up a user's privilages on a channel. +.PP +This function will return a string containing either @, %, +, or an empty string, representing the user's privilages upon the channel you specify. +.PP +Definition at line 565 of file modules.cpp. .PP References cmode(). .PP .nf -548 { -549 return cmode(User,Chan); -550 } +566 { +567 return cmode(User,Chan); +568 } .fi +.PP .SS "bool Server::CommonChannels (\fBuserrec\fP * u1, \fBuserrec\fP * u2)\fC [virtual]\fP" .PP -Returns true if two users share a common channel. This method is used internally by the NICK and QUIT commands, and the \fBServer::SendCommon\fP method.Definition at line 495 of file modules.cpp. +Returns true if two users share a common channel. +.PP +This method is used internally by the NICK and QUIT commands, and the \fBServer::SendCommon\fP method. +.PP +Definition at line 513 of file modules.cpp. .PP References common_channels(). .PP .nf -496 { -497 return (common_channels(u1,u2) != 0); -498 } +514 { +515 return (common_channels(u1,u2) != 0); +516 } .fi +.PP .SS "int Server::CountUsers (\fBchanrec\fP * c)\fC [virtual]\fP" .PP -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 615 of file modules.cpp. +Returns a count of the number of users on a channel. +.PP +This will NEVER be 0, as if the chanrec exists, it will have at least one user in the channel. +.PP +Definition at line 633 of file modules.cpp. .PP .nf -616 { -617 return usercount(c); -618 } +634 { +635 return usercount(c); +636 } .fi -.SS "bool Server::DelELine (std::string hostmask)\fC [virtual]\fP" .PP -Deletes a local E-Line. Definition at line 726 of file modules.cpp. +.SS "bool Server::DelELine (\fBstd::string\fP hostmask)\fC [virtual]\fP" +.PP +Deletes a local E-Line. +.PP +Definition at line 745 of file modules.cpp. .PP References del_eline(). .PP .nf -727 { -728 del_eline(hostmask.c_str()); -729 } +746 { +747 return del_eline(hostmask.c_str()); +748 } .fi -.SS "bool Server::DelGLine (std::string hostmask)\fC [virtual]\fP" .PP -Deletes a G-Line from all servers on the mesh. Definition at line 706 of file modules.cpp. +.SS "bool Server::DelGLine (\fBstd::string\fP hostmask)\fC [virtual]\fP" +.PP +Deletes a G-Line from all servers on the mesh. +.PP +Definition at line 725 of file modules.cpp. .PP References del_gline(). .PP .nf -707 { -708 del_gline(hostmask.c_str()); -709 } +726 { +727 return del_gline(hostmask.c_str()); +728 } .fi -.SS "bool Server::DelKLine (std::string hostmask)\fC [virtual]\fP" .PP -Deletes a local K-Line. Definition at line 721 of file modules.cpp. +.SS "bool Server::DelKLine (\fBstd::string\fP hostmask)\fC [virtual]\fP" +.PP +Deletes a local K-Line. +.PP +Definition at line 740 of file modules.cpp. .PP References del_kline(). .PP .nf -722 { -723 del_kline(hostmask.c_str()); -724 } +741 { +742 return del_kline(hostmask.c_str()); +743 } .fi -.SS "bool Server::DelQLine (std::string nickname)\fC [virtual]\fP" .PP -Deletes a Q-Line from all servers on the mesh. Definition at line 711 of file modules.cpp. +.SS "bool Server::DelQLine (\fBstd::string\fP nickname)\fC [virtual]\fP" +.PP +Deletes a Q-Line from all servers on the mesh. +.PP +Definition at line 730 of file modules.cpp. .PP References del_qline(). .PP .nf -712 { -713 del_qline(nickname.c_str()); -714 } +731 { +732 return del_qline(nickname.c_str()); +733 } +.fi +.PP +.SS "void Server::DelSocket (\fBInspSocket\fP * sock)\fC [virtual]\fP" +.PP +Deletes a class derived from \fBInspSocket\fP from the server's socket engine. +.PP +Definition at line 380 of file modules.cpp. +.PP +References module_sockets. +.PP +.nf +381 { +382 for (std::vector<InspSocket*>::iterator a = module_sockets.begin(); a < module_sockets.end(); a++) +383 { +384 if (*a == sock) +385 { +386 module_sockets.erase(a); +387 return; +388 } +389 } +390 } .fi -.SS "bool Server::DelZLine (std::string ipaddr)\fC [virtual]\fP" .PP -Deletes a Z-Line from all servers on the mesh. Definition at line 716 of file modules.cpp. +.SS "bool Server::DelZLine (\fBstd::string\fP ipaddr)\fC [virtual]\fP" +.PP +Deletes a Z-Line from all servers on the mesh. +.PP +Definition at line 735 of file modules.cpp. .PP References del_zline(). .PP .nf -717 { -718 del_zline(ipaddr.c_str()); -719 } +736 { +737 return del_zline(ipaddr.c_str()); +738 } .fi -.SS "\fBchanrec\fP * Server::FindChannel (std::string channel)\fC [virtual]\fP" .PP -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 542 of file modules.cpp. +.SS "\fBchanrec\fP * Server::FindChannel (\fBstd::string\fP channel)\fC [virtual]\fP" +.PP +Attempts to look up a channel and return a pointer to it. +.PP +This function will return NULL if the channel does not exist. +.PP +Definition at line 560 of file modules.cpp. .PP .nf -543 { -544 return FindChan(channel.c_str()); -545 } +561 { +562 return FindChan(channel.c_str()); +563 } .fi +.PP .SS "\fBuserrec\fP * Server::FindDescriptor (int socket)\fC [virtual]\fP" .PP -Attempts to look up a nick using the file descriptor associated with that nick. This function will return NULL if the file descriptor is not associated with a valid user.Definition at line 537 of file modules.cpp. +Attempts to look up a nick using the file descriptor associated with that nick. +.PP +This function will return NULL if the file descriptor is not associated with a valid user. .PP -References fd_ref_table. +Definition at line 555 of file modules.cpp. .PP .nf -538 { -539 return (socket < 65536 ? fd_ref_table[socket] : NULL); -540 } +556 { +557 return (socket < 65536 ? fd_ref_table[socket] : NULL); +558 } .fi -.SS "\fBModule\fP * Server::FindModule (std::string name)\fC [virtual]\fP" .PP -This function finds a module by name. You must provide the filename of the module. If the module cannot be found (is not loaded) the function will return NULL.Definition at line 809 of file modules.cpp. +.SS "\fBModule\fP * Server::FindModule (\fBstd::string\fP name)\fC [virtual]\fP" +.PP +This function finds a module by name. +.PP +You must provide the filename of the module. If the module cannot be found (is not loaded) the function will return NULL. +.PP +Definition at line 784 of file modules.cpp. .PP References MODCOUNT, module_names, and modules. .PP .nf -810 { -811 for (int i = 0; i <= MODCOUNT; i++) -812 { -813 if (module_names[i] == name) -814 { -815 return modules[i]; -816 } -817 } -818 return NULL; -819 } +785 { +786 for (int i = 0; i <= MODCOUNT; i++) +787 { +788 if (module_names[i] == name) +789 { +790 return modules[i]; +791 } +792 } +793 return NULL; +794 } .fi -.SS "\fBuserrec\fP * Server::FindNick (std::string nick)\fC [virtual]\fP" .PP -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 532 of file modules.cpp. +.SS "\fBuserrec\fP * Server::FindNick (\fBstd::string\fP nick)\fC [virtual]\fP" +.PP +Attempts to look up a nick and return a pointer to it. +.PP +This function will return NULL if the nick does not exist. +.PP +Definition at line 550 of file modules.cpp. .PP .nf -533 { -534 return Find(nick); -535 } +551 { +552 return Find(nick); +553 } .fi +.PP .SS "\fBAdmin\fP Server::GetAdmin ()\fC [virtual]\fP" .PP -Returns the information of the server as returned by the /ADMIN command. See the \fBAdmin\fP class for further information of the return value. The members \fBAdmin::Nick\fP, \fBAdmin::Email\fP and \fBAdmin::Name\fP contain the information for the server where the module is loaded.Definition at line 572 of file modules.cpp. +Returns the information of the server as returned by the /ADMIN command. +.PP +See the \fBAdmin\fP class for further information of the return value. The members \fBAdmin::Nick\fP, \fBAdmin::Email\fP and \fBAdmin::Name\fP contain the information for the server where the module is loaded. +.PP +Definition at line 590 of file modules.cpp. .PP .nf -573 { -574 return Admin(getadminname(),getadminemail(),getadminnick()); -575 } +591 { +592 return Admin(getadminname(),getadminemail(),getadminnick()); +593 } .fi -.SS "std::string Server::GetNetworkName ()\fC [virtual]\fP" .PP -Returns the network name, global to all linked servers. Definition at line 562 of file modules.cpp. +.SS "\fBstd::string\fP Server::GetNetworkName ()\fC [virtual]\fP" +.PP +Returns the network name, global to all linked servers. +.PP +Definition at line 580 of file modules.cpp. .PP .nf -563 { -564 return getnetworkname(); -565 } +581 { +582 return getnetworkname(); +583 } .fi -.SS "std::string Server::GetServerDescription ()\fC [virtual]\fP" .PP -Returns the server description string of the local server. Definition at line 567 of file modules.cpp. +.SS "\fBstd::string\fP Server::GetServerDescription ()\fC [virtual]\fP" +.PP +Returns the server description string of the local server. +.PP +Definition at line 585 of file modules.cpp. .PP .nf -568 { -569 return getserverdesc(); -570 } +586 { +587 return getserverdesc(); +588 } .fi -.SS "std::string Server::GetServerName ()\fC [virtual]\fP" .PP -Returns the server name of the server where the module is loaded. Definition at line 557 of file modules.cpp. +.SS "\fBstd::string\fP Server::GetServerName ()\fC [virtual]\fP" +.PP +Returns the server name of the server where the module is loaded. +.PP +Definition at line 575 of file modules.cpp. .PP .nf -558 { -559 return getservername(); -560 } +576 { +577 return getservername(); +578 } .fi +.PP .SS "\fBchanuserlist\fP Server::GetUsers (\fBchanrec\fP * chan)\fC [virtual]\fP" .PP -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 402 of file modules.cpp. +Fetches the userlist of a channel. +.PP +This function must be here and not a member of userrec or chanrec due to include constraints. .PP -References chanuserlist, chanrec::GetUsers(), and list. +Definition at line 420 of file modules.cpp. +.PP +References chanrec::GetUsers(), and list. .PP .nf -403 { -404 chanuserlist userl; -405 userl.clear(); -406 std::vector<char*> *list = chan->GetUsers(); -407 for (std::vector<char*>::iterator i = list->begin(); i != list->end(); i++) -408 { -409 char* o = *i; -410 userl.push_back((userrec*)o); -411 } -412 return userl; -413 } +421 { +422 chanuserlist userl; +423 userl.clear(); +424 std::vector<char*> *list = chan->GetUsers(); +425 for (std::vector<char*>::iterator i = list->begin(); i != list->end(); i++) +426 { +427 char* o = *i; +428 userl.push_back((userrec*)o); +429 } +430 return userl; +431 } .fi -.SS "bool Server::IsNick (std::string nick)\fC [virtual]\fP" .PP -Returns true if a nick is valid. Nicks for unregistered connections will return false.Definition at line 527 of file modules.cpp. +.SS "bool Server::IsNick (\fBstd::string\fP nick)\fC [virtual]\fP" +.PP +Returns true if a nick is valid. +.PP +Nicks for unregistered connections will return false. +.PP +Definition at line 545 of file modules.cpp. .PP References isnick(). .PP .nf -528 { -529 return (isnick(nick.c_str()) != 0); -530 } +546 { +547 return (isnick(nick.c_str()) != 0); +548 } .fi +.PP .SS "bool Server::IsOnChannel (\fBuserrec\fP * User, \fBchanrec\fP * Chan)\fC [virtual]\fP" .PP -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 552 of file modules.cpp. +Checks if a user is on a channel. +.PP +This function will return true or false to indicate if user 'User' is on channel 'Chan'. +.PP +Definition at line 570 of file modules.cpp. .PP References has_channel(). .PP .nf -553 { -554 return has_channel(User,Chan); -555 } +571 { +572 return has_channel(User,Chan); +573 } .fi -.SS "bool Server::IsUlined (std::string server)\fC [virtual]\fP" .PP -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 424 of file modules.cpp. +.SS "bool Server::IsUlined (\fBstd::string\fP server)\fC [virtual]\fP" .PP -References is_uline(). +Returns true if the servername you give is ulined. .PP -.nf -425 { -426 return is_uline(server.c_str()); -427 } -.fi -.SS "bool Server::IsValidMask (std::string mask)\fC [virtual]\fP" +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. +.PP +Definition at line 442 of file modules.cpp. .PP -Returns true if a nick!ident string is correctly formatted, false if otherwise. Definition at line 736 of file modules.cpp. +References is_uline(). .PP .nf -737 { -738 const char* dest = mask.c_str(); -739 if (strchr(dest,'!')==0) -740 return false; -741 if (strchr(dest,'@')==0) -742 return false; -743 for (int i = 0; i < strlen(dest); i++) -744 if (dest[i] < 32) -745 return false; -746 for (int i = 0; i < strlen(dest); i++) -747 if (dest[i] > 126) -748 return false; -749 int c = 0; -750 for (int i = 0; i < strlen(dest); i++) -751 if (dest[i] == '!') -752 c++; -753 if (c>1) -754 return false; -755 c = 0; -756 for (int i = 0; i < strlen(dest); i++) -757 if (dest[i] == '@') -758 c++; -759 if (c>1) -760 return false; -761 -762 return true; -763 } +443 { +444 return is_uline(server.c_str()); +445 } .fi -.SS "\fBchanrec\fP * Server::JoinUserToChannel (\fBuserrec\fP * user, std::string cname, std::string key)\fC [virtual]\fP" .PP -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 392 of file modules.cpp. +.SS "bool Server::IsValidMask (\fBstd::string\fP mask)\fC [virtual]\fP" .PP -.nf -393 { -394 return add_channel(user,cname.c_str(),key.c_str(),false); -395 } -.fi -.SS "void Server::Log (int level, std::string s)\fC [virtual]\fP" +Returns true if a nick!ident string is correctly formatted, false if otherwise. .PP -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 434 of file modules.cpp. +Definition at line 755 of file modules.cpp. .PP .nf -435 { -436 log(level,'%s',s.c_str()); -437 } +756 { +757 const char* dest = mask.c_str(); +758 if (strchr(dest,'!')==0) +759 return false; +760 if (strchr(dest,'@')==0) +761 return false; +762 for (unsigned int i = 0; i < strlen(dest); i++) +763 if (dest[i] < 32) +764 return false; +765 for (unsigned int i = 0; i < strlen(dest); i++) +766 if (dest[i] > 126) +767 return false; +768 unsigned int c = 0; +769 for (unsigned int i = 0; i < strlen(dest); i++) +770 if (dest[i] == '!') +771 c++; +772 if (c>1) +773 return false; +774 c = 0; +775 for (unsigned int i = 0; i < strlen(dest); i++) +776 if (dest[i] == '@') +777 c++; +778 if (c>1) +779 return false; +780 +781 return true; +782 } .fi -.SS "bool Server::MatchText (std::string sliteral, std::string spattern)\fC [virtual]\fP" .PP -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 379 of file modules.cpp. +.SS "\fBchanrec\fP * Server::JoinUserToChannel (\fBuserrec\fP * user, \fBstd::string\fP cname, \fBstd::string\fP key)\fC [virtual]\fP" .PP -.nf -380 { -381 char literal[MAXBUF],pattern[MAXBUF]; -382 strlcpy(literal,sliteral.c_str(),MAXBUF); -383 strlcpy(pattern,spattern.c_str(),MAXBUF); -384 return match(literal,pattern); -385 } -.fi -.SS "bool Server::MeshCheckChan (\fBchanrec\fP * c, std::string servername)\fC [virtual]\fP" +Forces a user to join a channel. .PP -This function is used to check if any users on channel c are on server servername. This is used internally by PRIVMSG etc. You should not need to use it.Definition at line 791 of file modules.cpp. +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. +.PP +Definition at line 410 of file modules.cpp. .PP .nf -792 { -793 if (c) -794 { -795 return ChanAnyOnThisServer(c,(char*)servername.c_str()); -796 } -797 else return false; -798 } +411 { +412 return add_channel(user,cname.c_str(),key.c_str(),false); +413 } .fi -.SS "bool Server::MeshCheckCommon (\fBuserrec\fP * u, std::string servername)\fC [virtual]\fP" .PP -This function is used to check if user u has any channels in common with users on servername. This is used internally by \fBServer::MeshSendCommon\fP. You should very rarely need to use it.Definition at line 800 of file modules.cpp. +.SS "void Server::Log (int level, \fBstd::string\fP s)\fC [virtual]\fP" .PP -.nf -801 { -802 if (u) -803 { -804 return CommonOnThisServer(u,(char*)servername.c_str()); -805 } -806 else return false; -807 } -.fi -.SS "void Server::MeshSendAll (std::string text)\fC [virtual]\fP" +Writes a log string. +.PP +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. .PP -Sends a line of text to all connected servers. If a server is not directly reachable, the core deals with routing the message, and will also deal with failures transparently.Definition at line 765 of file modules.cpp. +Definition at line 452 of file modules.cpp. .PP .nf -766 { -767 NetSendToAll((char*)text.c_str()); -768 } +453 { +454 log(level,'%s',s.c_str()); +455 } .fi -.SS "void Server::MeshSendAllAlive (std::string text)\fC [virtual]\fP" .PP -This function is equivalent to Server::MeshSendToAll except it will only route to servers which are directly routable. Definition at line 776 of file modules.cpp. +.SS "bool Server::MatchText (\fBstd::string\fP sliteral, \fBstd::string\fP spattern)\fC [virtual]\fP" .PP -.nf -777 { -778 NetSendToAllAlive((char*)text.c_str()); -779 } -.fi -.SS "void Server::MeshSendAllExcept (std::string target, std::string text)\fC [virtual]\fP" +Matches text against a glob pattern. +.PP +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. .PP -This function sends to all servers EXCEPT the one you specify. You should usually use this function to send messages, specifying the SENDER of your message as 'target'. This will prevent message loops.Definition at line 786 of file modules.cpp. +Definition at line 397 of file modules.cpp. .PP .nf -787 { -788 NetSendToAllExcept(target.c_str(),(char*)text.c_str()); -789 } +398 { +399 char literal[MAXBUF],pattern[MAXBUF]; +400 strlcpy(literal,sliteral.c_str(),MAXBUF); +401 strlcpy(pattern,spattern.c_str(),MAXBUF); +402 return match(literal,pattern); +403 } .fi -.SS "void Server::MeshSendCommon (\fBuserrec\fP * user, std::string text)\fC [virtual]\fP" .PP -This method sends a line of text to all servers who have users which share common channels with the user you provide. For example, if user A is on server A, and they are on channels #one and #two, and user B is on server B, and also on channel #one, but user C is on server C and on neither #one or #two, this function will cause the text to only be sent to server B. However, if server B is only reachable via C, it will route it to C (you do not have to worry about this routing, it is done transparently, but its good to know how things work!)Definition at line 770 of file modules.cpp. +.SS "\fBchanrec\fP * Server::PartUserFromChannel (\fBuserrec\fP * user, \fBstd::string\fP cname, \fBstd::string\fP reason)\fC [virtual]\fP" .PP -.nf -771 { -772 if (user) -773 NetSendToCommon(user,(char*)text.c_str()); -774 } -.fi -.SS "void Server::MeshSendUnicast (std::string destination, std::string text)\fC [virtual]\fP" +Forces a user to part a channel. +.PP +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. .PP -This function sends a line of text directly to a server. If the server is not directly routable at this time, the server attempts to route text through the mesh.Definition at line 781 of file modules.cpp. +Definition at line 415 of file modules.cpp. .PP .nf -782 { -783 NetSendToOne((char*)destination.c_str(),(char*)text.c_str()); -784 } +416 { +417 return del_channel(user,cname.c_str(),reason.c_str(),false); +418 } .fi -.SS "\fBchanrec\fP * Server::PartUserFromChannel (\fBuserrec\fP * user, std::string cname, std::string reason)\fC [virtual]\fP" .PP -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 397 of file modules.cpp. +.SS "bool Server::PseudoToUser (\fBuserrec\fP * alive, \fBuserrec\fP * zombie, \fBstd::string\fP message)\fC [virtual]\fP" .PP -.nf -398 { -399 return del_channel(user,cname.c_str(),reason.c_str(),false); -400 } -.fi -.SS "bool Server::PseudoToUser (\fBuserrec\fP * alive, \fBuserrec\fP * zombie, std::string message)\fC [virtual]\fP" +This user takes one user, and switches their file descriptor with another user, so that one user 'becomes' the other. .PP -This user takes one user, and switches their file descriptor with another user, so that one user 'becomes' the other. The user in 'alive' is booted off the server with the given message. The user referred to by 'zombie' should have previously been locked with Server::ZombifyUser, otherwise stale sockets and file descriptor leaks can occur. After this call, the pointer to alive will be invalid, and the pointer to zombie will be equivalent in effect to the old pointer to alive.Definition at line 651 of file modules.cpp. +The user in 'alive' is booted off the server with the given message. The user referred to by 'zombie' should have previously been locked with Server::ZombifyUser, otherwise stale sockets and file descriptor leaks can occur. After this call, the pointer to alive will be invalid, and the pointer to zombie will be equivalent in effect to the old pointer to alive. .PP -References ucrec::channel, userrec::chans, userrec::ClearBuffer(), connection::fd, FD_MAGIC_NUMBER, fd_ref_table, connection::host, userrec::ident, chanrec::name, userrec::nick, chanrec::setby, chanrec::topic, and chanrec::topicset. +Definition at line 670 of file modules.cpp. +.PP +References ucrec::channel, userrec::chans, userrec::ClearBuffer(), connection::fd, FD_MAGIC_NUMBER, connection::host, userrec::ident, chanrec::name, userrec::nick, chanrec::setby, chanrec::topic, and chanrec::topicset. .PP .nf -652 { -653 zombie->fd = alive->fd; -654 alive->fd = FD_MAGIC_NUMBER; -655 alive->ClearBuffer(); -656 Write(zombie->fd,':%s!%s@%s NICK %s',alive->nick,alive->ident,alive->host,zombie->nick); -657 kill_link(alive,message.c_str()); -658 fd_ref_table[zombie->fd] = zombie; -659 for (int i = 0; i != MAXCHANS; i++) -660 { -661 if (zombie->chans[i].channel != NULL) -662 { -663 if (zombie->chans[i].channel->name) -664 { -665 chanrec* Ptr = zombie->chans[i].channel; -666 WriteFrom(zombie->fd,zombie,'JOIN %s',Ptr->name); -667 if (Ptr->topicset) -668 { -669 WriteServ(zombie->fd,'332 %s %s :%s', zombie->nick, Ptr->name, Ptr->topic); -670 WriteServ(zombie->fd,'333 %s %s %s %d', zombie->nick, Ptr->name, Ptr->setby, Ptr->topicset); -671 } -672 userlist(zombie,Ptr); -673 WriteServ(zombie->fd,'366 %s %s :End of /NAMES list.', zombie->nick, Ptr->name); -674 -675 } -676 } -677 } -678 -679 } +671 { +672 zombie->fd = alive->fd; +673 alive->fd = FD_MAGIC_NUMBER; +674 alive->ClearBuffer(); +675 Write(zombie->fd,':%s!%s@%s NICK %s',alive->nick,alive->ident,alive->host,zombie->nick); +676 kill_link(alive,message.c_str()); +677 fd_ref_table[zombie->fd] = zombie; +678 for (int i = 0; i != MAXCHANS; i++) +679 { +680 if (zombie->chans[i].channel != NULL) +681 { +682 if (zombie->chans[i].channel->name) +683 { +684 chanrec* Ptr = zombie->chans[i].channel; +685 WriteFrom(zombie->fd,zombie,'JOIN %s',Ptr->name); +686 if (Ptr->topicset) +687 { +688 WriteServ(zombie->fd,'332 %s %s :%s', zombie->nick, Ptr->name, Ptr->topic); +689 WriteServ(zombie->fd,'333 %s %s %s %d', zombie->nick, Ptr->name, Ptr->setby, Ptr->topicset); +690 } +691 userlist(zombie,Ptr); +692 WriteServ(zombie->fd,'366 %s %s :End of /NAMES list.', zombie->nick, Ptr->name); +693 +694 } +695 } +696 } +697 return true; +698 } .fi -.SS "void Server::QuitUser (\fBuserrec\fP * user, std::string reason)\fC [virtual]\fP" .PP -Forces a user to quit with the specified reason. To the user, it will appear as if they typed /QUIT themselves, except for the fact that this function may bypass the quit prefix specified in the config file. +.SS "void Server::QuitUser (\fBuserrec\fP * user, \fBstd::string\fP reason)\fC [virtual]\fP" +.PP +Forces a user to quit with the specified reason. +.PP +To the user, it will appear as if they typed /QUIT themselves, except for the fact that this function may bypass the quit prefix specified in the config file. .PP WARNING! .PP -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 419 of file modules.cpp. +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. +.PP +Definition at line 437 of file modules.cpp. .PP .nf -420 { -421 kill_link(user,reason.c_str()); -422 } +438 { +439 kill_link(user,reason.c_str()); +440 } .fi -.SS "void Server::Send (int Socket, std::string s)\fC [virtual]\fP" .PP -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 449 of file modules.cpp. +.SS "void Server::Send (int Socket, \fBstd::string\fP s)\fC [virtual]\fP" +.PP +Sends a line of text down a TCP/IP socket. +.PP +This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required. +.PP +Definition at line 467 of file modules.cpp. .PP .nf -450 { -451 Write(Socket,'%s',s.c_str()); -452 } +468 { +469 Write(Socket,'%s',s.c_str()); +470 } .fi -.SS "void Server::SendChannel (\fBuserrec\fP * User, \fBchanrec\fP * Channel, std::string s, bool IncludeSender)\fC [virtual]\fP" .PP -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 483 of file modules.cpp. +.SS "void Server::SendChannel (\fBuserrec\fP * User, \fBchanrec\fP * Channel, \fBstd::string\fP s, bool IncludeSender)\fC [virtual]\fP" +.PP +Sends text from a user to a channel (mulicast). +.PP +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). +.PP +Definition at line 501 of file modules.cpp. .PP .nf -484 { -485 if (IncludeSender) -486 { -487 WriteChannel(Channel,User,'%s',s.c_str()); -488 } -489 else -490 { -491 ChanExceptSender(Channel,User,'%s',s.c_str()); -492 } -493 } +502 { +503 if (IncludeSender) +504 { +505 WriteChannel(Channel,User,'%s',s.c_str()); +506 } +507 else +508 { +509 ChanExceptSender(Channel,User,'%s',s.c_str()); +510 } +511 } .fi -.SS "void Server::SendChannelServerNotice (std::string ServName, \fBchanrec\fP * Channel, std::string text)\fC [virtual]\fP" .PP -Writes text to a channel, but from a server, including all. This can be used to send server notices to a group of users.Definition at line 478 of file modules.cpp. +.SS "void Server::SendChannelServerNotice (\fBstd::string\fP ServName, \fBchanrec\fP * Channel, \fBstd::string\fP text)\fC [virtual]\fP" +.PP +Writes text to a channel, but from a server, including all. +.PP +This can be used to send server notices to a group of users. +.PP +Definition at line 496 of file modules.cpp. .PP .nf -479 { -480 WriteChannelWithServ((char*)ServName.c_str(), Channel, '%s', text.c_str()); -481 } +497 { +498 WriteChannelWithServ((char*)ServName.c_str(), Channel, '%s', text.c_str()); +499 } .fi -.SS "void Server::SendCommon (\fBuserrec\fP * User, std::string text, bool IncludeSender)\fC [virtual]\fP" .PP -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 500 of file modules.cpp. +.SS "void Server::SendCommon (\fBuserrec\fP * User, \fBstd::string\fP text, bool IncludeSender)\fC [virtual]\fP" +.PP +Sends text from a user to one or more channels (mulicast). +.PP +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. +.PP +Definition at line 518 of file modules.cpp. .PP .nf -501 { -502 if (IncludeSender) -503 { -504 WriteCommon(User,'%s',text.c_str()); -505 } -506 else -507 { -508 WriteCommonExcept(User,'%s',text.c_str()); -509 } -510 } +519 { +520 if (IncludeSender) +521 { +522 WriteCommon(User,'%s',text.c_str()); +523 } +524 else +525 { +526 WriteCommonExcept(User,'%s',text.c_str()); +527 } +528 } .fi -.SS "void Server::SendFrom (int Socket, \fBuserrec\fP * User, std::string s)\fC [virtual]\fP" .PP -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 459 of file modules.cpp. +.SS "void Server::SendFrom (int Socket, \fBuserrec\fP * User, \fBstd::string\fP s)\fC [virtual]\fP" +.PP +Sends text from a user to a socket. +.PP +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) +.PP +Definition at line 477 of file modules.cpp. .PP .nf -460 { -461 WriteFrom(Socket,User,'%s',s.c_str()); -462 } +478 { +479 WriteFrom(Socket,User,'%s',s.c_str()); +480 } .fi +.PP .SS "void Server::SendMode (char ** parameters, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP" .PP -Sends a servermode. you must format the parameters array with the target, modes and parameters for those modes. +Sends a servermode. +.PP +you must format the parameters array with the target, modes and parameters for those modes. .PP For example: .PP @@ -957,36 +1117,51 @@ modes[2] = user->nick; .PP Srv->SendMode(modes,3,user); .PP -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 444 of file modules.cpp. +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! +.PP +Definition at line 462 of file modules.cpp. .PP References server_mode(). .PP .nf -445 { -446 server_mode(parameters,pcnt,user); -447 } +463 { +464 server_mode(parameters,pcnt,user); +465 } .fi -.SS "void Server::SendOpers (std::string s)\fC [virtual]\fP" .PP -Sends text to all opers. This method sends a server notice to all opers with the usermode +s.Definition at line 374 of file modules.cpp. +.SS "void Server::SendOpers (\fBstd::string\fP s)\fC [virtual]\fP" +.PP +Sends text to all opers. +.PP +This method sends a server notice to all opers with the usermode +s. +.PP +Definition at line 392 of file modules.cpp. .PP .nf -375 { -376 WriteOpers('%s',s.c_str()); -377 } +393 { +394 WriteOpers('%s',s.c_str()); +395 } .fi -.SS "void Server::SendServ (int Socket, std::string s)\fC [virtual]\fP" .PP -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 454 of file modules.cpp. +.SS "void Server::SendServ (int Socket, \fBstd::string\fP s)\fC [virtual]\fP" +.PP +Sends text from the server to a socket. +.PP +This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459) +.PP +Definition at line 472 of file modules.cpp. .PP .nf -455 { -456 WriteServ(Socket,'%s',s.c_str()); -457 } +473 { +474 WriteServ(Socket,'%s',s.c_str()); +475 } .fi -.SS "void Server::SendTo (\fBuserrec\fP * Source, \fBuserrec\fP * Dest, std::string s)\fC [virtual]\fP" .PP -Sends text from a user to another user. This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459) If you specify NULL as the source, then the data will originate from the local server, e.g. instead of: +.SS "void Server::SendTo (\fBuserrec\fP * Source, \fBuserrec\fP * Dest, \fBstd::string\fP s)\fC [virtual]\fP" +.PP +Sends text from a user to another user. +.PP +This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459) If you specify NULL as the source, then the data will originate from the local server, e.g. instead of: .PP :user!ident TEXT .PP @@ -994,82 +1169,101 @@ The format will become: .PP :localserver TEXT .PP -Which is useful for numerics and server notices to single users, etc.Definition at line 464 of file modules.cpp. +Which is useful for numerics and server notices to single users, etc. +.PP +Definition at line 482 of file modules.cpp. .PP References connection::fd. .PP .nf -465 { -466 if (!Source) -467 { -468 // if source is NULL, then the message originates from the local server -469 Write(Dest->fd,':%s %s',this->GetServerName().c_str(),s.c_str()); -470 } -471 else -472 { -473 // otherwise it comes from the user specified -474 WriteTo(Source,Dest,'%s',s.c_str()); -475 } -476 } +483 { +484 if (!Source) +485 { +486 // if source is NULL, then the message originates from the local server +487 Write(Dest->fd,':%s %s',this->GetServerName().c_str(),s.c_str()); +488 } +489 else +490 { +491 // otherwise it comes from the user specified +492 WriteTo(Source,Dest,'%s',s.c_str()); +493 } +494 } .fi -.SS "void Server::SendToModeMask (std::string modes, int flags, std::string text)\fC [virtual]\fP" .PP -Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter. These can be RFC specified modes such as +i, or module provided modes, including ones provided by your own module. In the second parameter you must place a flag value which indicates wether the modes you have given will be logically ANDed or OR'ed. You may use one of either WM_AND or WM_OR. for example, if you were to use: +.SS "void Server::SendToModeMask (\fBstd::string\fP modes, int flags, \fBstd::string\fP text)\fC [virtual]\fP" +.PP +Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter. +.PP +These can be RFC specified modes such as +i, or module provided modes, including ones provided by your own module. In the second parameter you must place a flag value which indicates wether the modes you have given will be logically ANDed or OR'ed. You may use one of either WM_AND or WM_OR. for example, if you were to use: .PP Serv->SendToModeMask('xi', WM_OR, 'm00'); .PP -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 387 of file modules.cpp. +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. +.PP +Definition at line 405 of file modules.cpp. .PP .nf -388 { -389 WriteMode(modes.c_str(),flags,'%s',text.c_str()); -390 } +406 { +407 WriteMode(modes.c_str(),flags,'%s',text.c_str()); +408 } .fi -.SS "void Server::SendWallops (\fBuserrec\fP * User, std::string text)\fC [virtual]\fP" .PP -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 512 of file modules.cpp. +.SS "void Server::SendWallops (\fBuserrec\fP * User, \fBstd::string\fP text)\fC [virtual]\fP" +.PP +Sends a WALLOPS message. +.PP +This method writes a WALLOPS message to all users with the +w flag, originating from the specified user. +.PP +Definition at line 530 of file modules.cpp. .PP .nf -513 { -514 WriteWallOps(User,false,'%s',text.c_str()); -515 } +531 { +532 WriteWallOps(User,false,'%s',text.c_str()); +533 } .fi -.SS "bool Server::UserToPseudo (\fBuserrec\fP * user, std::string message)\fC [virtual]\fP" .PP -Remove a user's connection to the irc server, but leave their client in existence in the user hash. When you call this function, the user's file descriptor will be replaced with the value of FD_MAGIC_NUMBER and their old file descriptor will be closed. This idle client will remain until it is restored with a valid file descriptor, or is removed from IRC by an operator After this call, the pointer to user will be invalid.Definition at line 621 of file modules.cpp. +.SS "bool Server::UserToPseudo (\fBuserrec\fP * user, \fBstd::string\fP message)\fC [virtual]\fP" +.PP +Remove a user's connection to the irc server, but leave their client in existence in the user hash. +.PP +When you call this function, the user's file descriptor will be replaced with the value of FD_MAGIC_NUMBER and their old file descriptor will be closed. This idle client will remain until it is restored with a valid file descriptor, or is removed from IRC by an operator After this call, the pointer to user will be invalid. +.PP +Definition at line 639 of file modules.cpp. .PP References userrec::ClearBuffer(), DEBUG, connection::fd, FD_MAGIC_NUMBER, connection::host, and userrec::ident. .PP .nf -622 { -623 unsigned int old_fd = user->fd; -624 user->fd = FD_MAGIC_NUMBER; -625 user->ClearBuffer(); -626 Write(old_fd,'ERROR :Closing link (%s@%s) [%s]',user->ident,user->host,message.c_str()); -627 #ifdef USE_KQUEUE -628 struct kevent ke; -629 EV_SET(&ke, old_fd, EVFILT_READ, EV_DELETE, 0, 0, NULL); -630 int i = kevent(kq, &ke, 1, 0, 0, NULL); -631 if (i == -1) -632 { -633 log(DEBUG,'kqueue: Failed to remove user from queue!'); -634 } -635 #endif -636 #ifdef USE_EPOLL -637 struct epoll_event ev; -638 ev.events = EPOLLIN | EPOLLET; -639 ev.data.fd = old_fd; -640 int i = epoll_ctl(ep, EPOLL_CTL_DEL, old_fd, &ev); -641 if (i < 0) -642 { -643 log(DEBUG,'epoll: List deletion failure!'); -644 } -645 #endif -646 -647 shutdown(old_fd,2); -648 close(old_fd); -649 } +640 { +641 unsigned int old_fd = user->fd; +642 user->fd = FD_MAGIC_NUMBER; +643 user->ClearBuffer(); +644 Write(old_fd,'ERROR :Closing link (%s@%s) [%s]',user->ident,user->host,message.c_str()); +645 #ifdef USE_KQUEUE +646 struct kevent ke; +647 EV_SET(&ke, old_fd, EVFILT_READ, EV_DELETE, 0, 0, NULL); +648 int i = kevent(kq, &ke, 1, 0, 0, NULL); +649 if (i == -1) +650 { +651 log(DEBUG,'kqueue: Failed to remove user from queue!'); +652 } +653 #endif +654 #ifdef USE_EPOLL +655 struct epoll_event ev; +656 ev.events = EPOLLIN | EPOLLET; +657 ev.data.fd = old_fd; +658 int i = epoll_ctl(ep, EPOLL_CTL_DEL, old_fd, &ev); +659 if (i < 0) +660 { +661 log(DEBUG,'epoll: List deletion failure!'); +662 } +663 #endif +664 +665 shutdown(old_fd,2); +666 close(old_fd); +667 return true; +668 } .fi +.PP .SH "Author" diff --git a/docs/man/man3/Version.3 b/docs/man/man3/Version.3 index 10c11bca4..166f36369 100644 --- a/docs/man/man3/Version.3 +++ b/docs/man/man3/Version.3 @@ -1,4 +1,4 @@ -.TH "Version" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "Version" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -42,35 +42,36 @@ Inherits \fBclassbase\fP. .PP Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module. -A class of type Version is returned by the GetVersion method of the \fBModule\fP class. +A class of type Version is returned by the GetVersion method of the \fBModule\fP class. .PP -Definition at line 111 of file modules.h. +Definition at line 112 of file modules.h. .SH "Constructor & Destructor Documentation" .PP .SS "Version::Version (int major, int minor, int revision, int build, int flags)" .PP -Definition at line 245 of file modules.cpp. +Definition at line 246 of file modules.cpp. .PP .nf -245 : Major(major), Minor(minor), Revision(revision), Build(build), Flags(flags) { }; +246 : Major(major), Minor(minor), Revision(revision), Build(build), Flags(flags) { }; .fi +.PP .SH "Member Data Documentation" .PP .SS "const int \fBVersion::Build\fP" .PP -Definition at line 114 of file modules.h. +Definition at line 115 of file modules.h. .SS "const int \fBVersion::Flags\fP" .PP -Definition at line 114 of file modules.h. +Definition at line 115 of file modules.h. .SS "const int \fBVersion::Major\fP" .PP -Definition at line 114 of file modules.h. +Definition at line 115 of file modules.h. .SS "const int \fBVersion::Minor\fP" .PP -Definition at line 114 of file modules.h. +Definition at line 115 of file modules.h. .SS "const int \fBVersion::Revision\fP" .PP -Definition at line 114 of file modules.h. +Definition at line 115 of file modules.h. .SH "Author" .PP diff --git a/docs/man/man3/WhoWasUser.3 b/docs/man/man3/WhoWasUser.3 index 9bccb5046..e1fc03962 100644 --- a/docs/man/man3/WhoWasUser.3 +++ b/docs/man/man3/WhoWasUser.3 @@ -1,4 +1,4 @@ -.TH "WhoWasUser" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "WhoWasUser" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -37,7 +37,9 @@ WhoWasUser \- A lightweight userrec used by WHOWAS. .in -1c .SH "Detailed Description" .PP -A lightweight userrec used by WHOWAS. Definition at line 325 of file users.h. +A lightweight userrec used by WHOWAS. +.PP +Definition at line 325 of file users.h. .SH "Member Data Documentation" .PP .SS "char \fBWhoWasUser::dhost\fP[160]" diff --git a/docs/man/man3/XLine.3 b/docs/man/man3/XLine.3 index 4b1aa3c68..f6d574d79 100644 --- a/docs/man/man3/XLine.3 +++ b/docs/man/man3/XLine.3 @@ -1,4 +1,4 @@ -.TH "XLine" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "XLine" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -40,24 +40,38 @@ Inherited by \fBELine\fP, \fBGLine\fP, \fBKLine\fP, \fBQLine\fP, and \fBZLine\fP .in -1c .SH "Detailed Description" .PP -XLine is the base class for ban lines such as G lines and K lines. Definition at line 34 of file xline.h. +XLine is the base class for ban lines such as G lines and K lines. +.PP +Definition at line 34 of file xline.h. .SH "Member Data Documentation" .PP .SS "long \fBXLine::duration\fP" .PP -The duration of the ban, or 0 if permenant. Definition at line 44 of file xline.h. +The duration of the ban, or 0 if permenant. +.PP +Definition at line 44 of file xline.h. .SS "long \fBXLine::n_matches\fP" .PP -Number of times the core matches the ban, for statistics. Definition at line 56 of file xline.h. +Number of times the core matches the ban, for statistics. +.PP +Definition at line 56 of file xline.h. .SS "char \fBXLine::reason\fP[MAXBUF]" .PP -Reason for the ban. Definition at line 52 of file xline.h. +Reason for the ban. +.PP +Definition at line 52 of file xline.h. .SS "time_t \fBXLine::set_time\fP" .PP -The time the line was added. Definition at line 40 of file xline.h. +The time the line was added. +.PP +Definition at line 40 of file xline.h. .SS "char \fBXLine::source\fP[256]" .PP -Source of the ban. This can be a servername or an oper nicknameDefinition at line 48 of file xline.h. +Source of the ban. +.PP +This can be a servername or an oper nickname +.PP +Definition at line 48 of file xline.h. .SH "Author" .PP diff --git a/docs/man/man3/ZLine.3 b/docs/man/man3/ZLine.3 index f230f3d1f..9b5c0c9ae 100644 --- a/docs/man/man3/ZLine.3 +++ b/docs/man/man3/ZLine.3 @@ -1,4 +1,4 @@ -.TH "ZLine" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ZLine" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -26,15 +26,23 @@ Inherits \fBXLine\fP. .in -1c .SH "Detailed Description" .PP -ZLine class. Definition at line 93 of file xline.h. +ZLine class. +.PP +Definition at line 93 of file xline.h. .SH "Member Data Documentation" .PP .SS "char \fBZLine::ipaddr\fP[40]" .PP -IP Address (xx.yy.zz.aa) to match against May contain wildcards. Definition at line 99 of file xline.h. +IP Address (xx.yy.zz.aa) to match against May contain wildcards. +.PP +Definition at line 99 of file xline.h. .SS "bool \fBZLine::is_global\fP" .PP -Set if this is a global Z:line (e.g. it came from another server)Definition at line 103 of file xline.h. +Set if this is a global Z:line (e.g. +.PP +it came from another server) +.PP +Definition at line 103 of file xline.h. .SH "Author" .PP diff --git a/docs/man/man3/base.h.3 b/docs/man/man3/base.h.3 index c717153e6..293b9845c 100644 --- a/docs/man/man3/base.h.3 +++ b/docs/man/man3/base.h.3 @@ -1,4 +1,4 @@ -.TH "base.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "base.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -15,14 +15,10 @@ base.h \- \fC#include <string>\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c -.RI "class \fBBoolSet\fP" -.br -.RI "\fIBoolSet is a utility class designed to hold eight bools in a bitmask. \fP" -.ti -1c .RI "class \fBclassbase\fP" .br .RI "\fIThe base class for all inspircd classes. \fP" @@ -30,22 +26,16 @@ base.h \- .RI "class \fBExtensible\fP" .br .RI "\fIclass Extensible is the parent class of many classes such as userrec and chanrec. \fP" -.in -1c -.SS "Typedefs" - -.in +1c .ti -1c -.RI "typedef void * \fBVoidPointer\fP" +.RI "class \fBBoolSet\fP" .br +.RI "\fIBoolSet is a utility class designed to hold eight bools in a bitmask. \fP" .in -1c -.SS "Variables" +.SS "Typedefs" .in +1c .ti -1c -.RI "const int \fBbitfields\fP [] = {1,2,4,8,16,32,64,128}" -.br -.ti -1c -.RI "const int \fBinverted_bitfields\fP [] = {~1,~2,~4,~8,~16,~32,~64,~128}" +.RI "typedef void * \fBVoidPointer\fP" .br .in -1c .SH "Typedef Documentation" @@ -53,14 +43,6 @@ base.h \- .SS "typedef void* \fBVoidPointer\fP" .PP Definition at line 25 of file base.h. -.SH "Variable Documentation" -.PP -.SS "const int \fBbitfields\fP[] = {1,2,4,8,16,32,64,128}" -.PP -Definition at line 91 of file base.h. -.SS "const int \fBinverted_bitfields\fP[] = {~1,~2,~4,~8,~16,~32,~64,~128}" -.PP -Definition at line 92 of file base.h. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/channels.cpp.3 b/docs/man/man3/channels.cpp.3 index a9ef2ee12..41e336448 100644 --- a/docs/man/man3/channels.cpp.3 +++ b/docs/man/man3/channels.cpp.3 @@ -1,4 +1,4 @@ -.TH "channels.cpp" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "channels.cpp" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -36,12 +36,8 @@ channels.cpp \- .br \fC#include <deque>\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 @@ -156,7 +152,7 @@ channels.cpp \- .RI "time_t \fBnb_start\fP" .br .ti -1c -.RI "std::vector< std::string > \fBmodule_names\fP" +.RI "std::vector< \fBstd::string\fP > \fBmodule_names\fP" .br .ti -1c .RI "int \fBboundPortCount\fP" @@ -165,24 +161,12 @@ channels.cpp \- .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 @@ -196,138 +180,88 @@ channels.cpp \- .PP .SS "#define nspace std" .PP -Definition at line 55 of file channels.cpp. +Definition at line 53 of file channels.cpp. .SH "Variable Documentation" .PP .SS "char \fBAdminEmail\fP[MAXBUF]" .PP -Definition at line 67 of file channels.cpp. .SS "char \fBAdminName\fP[MAXBUF]" .PP -Definition at line 66 of file channels.cpp. .SS "char \fBAdminNick\fP[MAXBUF]" .PP -Definition at line 68 of file channels.cpp. -.SS "std::vector<long> \fBauth_cookies\fP" -.PP -Definition at line 94 of file channels.cpp. .SS "int \fBboundPortCount\fP" .PP -Definition at line 88 of file channels.cpp. .SS "std::stringstream \fBconfig_f\fP" .PP -Definition at line 95 of file channels.cpp. -.PP Referenced by userrec::HasPermission(). .SS "std::vector<\fBModeParameter\fP> \fBcustom_mode_params\fP" .PP -Definition at line 105 of file channels.cpp. +Definition at line 99 of file channels.cpp. .PP Referenced by chanrec::GetModeParameter(), and chanrec::SetCustomModeParam(). .SS "int \fBdebugging\fP" .PP -Definition at line 77 of file channels.cpp. -.SS "int \fBdefaultRoute\fP" -.PP -Definition at line 92 of file channels.cpp. .SS "int \fBDieDelay\fP" .PP -Definition at line 80 of file channels.cpp. .SS "char \fBdiepass\fP[MAXBUF]" .PP -Definition at line 69 of file channels.cpp. .SS "char \fBDieValue\fP[MAXBUF]" .PP -Definition at line 75 of file channels.cpp. .SS "std::vector<\fBircd_module\fP*> factory" .PP -Definition at line 60 of file channels.cpp. .SS "char \fBlist\fP[MAXBUF]" .PP -Definition at line 73 of file channels.cpp. -.PP Referenced by Server::GetUsers(). .SS "FILE* \fBlog_file\fP" .PP -Definition at line 99 of file channels.cpp. .SS "int \fBLogLevel\fP" .PP -Definition at line 62 of file channels.cpp. .SS "int \fBMaxWhoResults\fP" .PP -Definition at line 83 of file channels.cpp. -.SS "\fBserverrec\fP* \fBme\fP[32]" -.PP -Definition at line 97 of file channels.cpp. -.PP -Referenced by IsRoutable(). +Definition at line 81 of file channels.cpp. .SS "int \fBMODCOUNT\fP = -1" .PP -Definition at line 1019 of file modules.cpp. +Definition at line 994 of file modules.cpp. .PP Referenced by Server::FindModule(). -.SS "std::vector<std::string> \fBmodule_names\fP" -.PP -Definition at line 86 of file channels.cpp. +.SS "std::vector<\fBstd::string\fP> \fBmodule_names\fP" .PP Referenced by Server::FindModule(). .SS "std::vector<\fBModule\fP*> modules" .PP -Definition at line 59 of file channels.cpp. -.PP Referenced by Server::FindModule(). .SS "char \fBmotd\fP[MAXBUF]" .PP -Definition at line 71 of file channels.cpp. .SS "time_t \fBnb_start\fP" .PP -Definition at line 84 of file channels.cpp. .SS "int \fBNetBufferSize\fP" .PP -Definition at line 82 of file channels.cpp. .SS "char \fBNetwork\fP[MAXBUF]" .PP -Definition at line 64 of file channels.cpp. .SS "int \fBportCount\fP" .PP -Definition at line 89 of file channels.cpp. .SS "int \fBports\fP[MAXSOCKS]" .PP -Definition at line 91 of file channels.cpp. .SS "char \fBPrefixQuit\fP[MAXBUF]" .PP -Definition at line 74 of file channels.cpp. .SS "char \fBrestartpass\fP[MAXBUF]" .PP -Definition at line 70 of file channels.cpp. .SS "char \fBrules\fP[MAXBUF]" .PP -Definition at line 72 of file channels.cpp. .SS "char \fBServerDesc\fP[MAXBUF]" .PP -Definition at line 65 of file channels.cpp. .SS "char \fBServerName\fP[MAXBUF]" .PP -Definition at line 63 of file channels.cpp. -.PP Referenced by userrec::userrec(). -.SS "int \fBSERVERportCount\fP" -.PP -Definition at line 90 of file channels.cpp. .SS "time_t \fBstartup_time\fP" .PP -Definition at line 81 of file channels.cpp. .SS "time_t \fBTIME\fP" .PP -Definition at line 101 of file channels.cpp. -.PP -Referenced by serverrec::FlushWriteBuffers(), serverrec::serverrec(), and userrec::userrec(). +Referenced by userrec::userrec(). .SS "int \fBWHOWAS_MAX\fP" .PP -Definition at line 79 of file channels.cpp. .SS "int \fBWHOWAS_STALE\fP" .PP -Definition at line 78 of file channels.cpp. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/channels.h.3 b/docs/man/man3/channels.h.3 index 84ded7a0d..e0158a5fa 100644 --- a/docs/man/man3/channels.h.3 +++ b/docs/man/man3/channels.h.3 @@ -1,4 +1,4 @@ -.TH "channels.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "channels.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -17,26 +17,22 @@ channels.h \- \fC#include <string>\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c -.RI "class \fBBanItem\fP" +.RI "class \fBHostItem\fP" .br -.RI "\fIA subclass of \fBHostItem\fP designed to hold channel bans (+b). \fP" +.RI "\fIHolds an entry for a ban list, exemption list, or invite list. \fP" .ti -1c -.RI "class \fBchanrec\fP" +.RI "class \fBBanItem\fP" .br -.RI "\fIHolds all relevent information for a channel. \fP" +.RI "\fIA subclass of \fBHostItem\fP designed to hold channel bans (+b). \fP" .ti -1c .RI "class \fBExemptItem\fP" .br .RI "\fIA subclass of \fBHostItem\fP designed to hold channel exempts (+e). \fP" .ti -1c -.RI "class \fBHostItem\fP" -.br -.RI "\fIHolds an entry for a ban list, exemption list, or invite list. \fP" -.ti -1c .RI "class \fBInviteItem\fP" .br .RI "\fIA subclass of \fBHostItem\fP designed to hold channel invites (+I). \fP" @@ -45,6 +41,10 @@ channels.h \- .br .RI "\fIHolds a custom parameter to a module-defined channel mode e.g. \fP" .ti -1c +.RI "class \fBchanrec\fP" +.br +.RI "\fIHolds all relevent information for a channel. \fP" +.ti -1c .RI "class \fBucrec\fP" .br .RI "\fIHolds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class. \fP" @@ -141,13 +141,19 @@ Definition at line 231 of file channels.h. .PP .SS "typedef std::vector<\fBBanItem\fP> \fBBanList\fP" .PP -Holds a complete ban list. Definition at line 87 of file channels.h. +Holds a complete ban list. +.PP +Definition at line 87 of file channels.h. .SS "typedef std::vector<\fBExemptItem\fP> \fBExemptList\fP" .PP -Holds a complete exempt list. Definition at line 91 of file channels.h. +Holds a complete exempt list. +.PP +Definition at line 91 of file channels.h. .SS "typedef std::vector<\fBInviteItem\fP> \fBInviteList\fP" .PP -Holds a complete invite list. Definition at line 95 of file channels.h. +Holds a complete invite list. +.PP +Definition at line 95 of file channels.h. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/chanrec.3 b/docs/man/man3/chanrec.3 index 3f5401779..48d998e2f 100644 --- a/docs/man/man3/chanrec.3 +++ b/docs/man/man3/chanrec.3 @@ -1,4 +1,4 @@ -.TH "chanrec" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "chanrec" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -28,7 +28,7 @@ Inherits \fBExtensible\fP. .br .RI "\fIReturns true if a custom mode is set on a channel. \fP" .ti -1c -.RI "std::string \fBGetModeParameter\fP (char mode)" +.RI "\fBstd::string\fP \fBGetModeParameter\fP (char mode)" .br .RI "\fIReturns the parameter for a custom mode on a channel. \fP" .ti -1c @@ -107,152 +107,181 @@ Inherits \fBExtensible\fP. .PP Holds all relevent information for a channel. -This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type. +This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type. .PP Definition at line 101 of file channels.h. .SH "Constructor & Destructor Documentation" .PP .SS "chanrec::chanrec ()" .PP -Creates a channel record and initialises it with default values. Definition at line 107 of file channels.cpp. +Creates a channel record and initialises it with default values. +.PP +Definition at line 101 of file channels.cpp. .PP References binarymodes, created, custom_modes, internal_userlist, key, limit, name, setby, topic, and topicset. .PP .nf -108 { -109 strcpy(name,''); -110 strcpy(custom_modes,''); -111 strcpy(topic,''); -112 strcpy(setby,''); -113 strcpy(key,''); -114 created = topicset = limit = 0; -115 binarymodes = 0; -116 internal_userlist.clear(); -117 } +102 { +103 strcpy(name,''); +104 strcpy(custom_modes,''); +105 strcpy(topic,''); +106 strcpy(setby,''); +107 strcpy(key,''); +108 created = topicset = limit = 0; +109 binarymodes = 0; +110 internal_userlist.clear(); +111 } .fi -.SS "virtual chanrec::~\fBchanrec\fP ()\fC [inline, virtual]\fP" +.PP +.SS "virtual chanrec::~chanrec ()\fC [inline, virtual]\fP" .PP Definition at line 224 of file channels.h. .PP .nf 224 { /* stub */ } .fi +.PP .SH "Member Function Documentation" .PP .SS "void chanrec::AddUser (char * castuser)" .PP -Add a user pointer to the internal reference list. \fBParameters:\fP +Add a user pointer to the internal reference list. +.PP +\fBParameters:\fP .RS 4 \fIcastuser\fP This should be a pointer to a userrec, casted to char* .RE .PP -The data inserted into the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison.Definition at line 201 of file channels.cpp. +The data inserted into the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison. +.PP +Definition at line 195 of file channels.cpp. .PP References DEBUG, and internal_userlist. .PP .nf -202 { -203 internal_userlist.push_back(castuser); -204 log(DEBUG,'Added casted user to channel's internal list'); -205 } +196 { +197 internal_userlist.push_back(castuser); +198 log(DEBUG,'Added casted user to channel's internal list'); +199 } .fi +.PP .SS "void chanrec::DelUser (char * castuser)" .PP -Delete a user pointer to the internal reference list. \fBParameters:\fP +Delete a user pointer to the internal reference list. +.PP +\fBParameters:\fP .RS 4 \fIcastuser\fP This should be a pointer to a userrec, casted to char* .RE .PP -The data removed from the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison. Definition at line 207 of file channels.cpp. +The data removed from the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison. +.PP +Definition at line 201 of file channels.cpp. .PP References DEBUG, internal_userlist, and name. .PP .nf -208 { -209 for (std::vector<char*>::iterator a = internal_userlist.begin(); a < internal_userlist.end(); a++) -210 { -211 if (*a == castuser) -212 { -213 log(DEBUG,'Removed casted user from channel's internal list'); -214 internal_userlist.erase(a); -215 return; -216 } -217 } -218 log(DEBUG,'BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!',name); -219 } +202 { +203 for (std::vector<char*>::iterator a = internal_userlist.begin(); a < internal_userlist.end(); a++) +204 { +205 if (*a == castuser) +206 { +207 log(DEBUG,'Removed casted user from channel's internal list'); +208 internal_userlist.erase(a); +209 return; +210 } +211 } +212 log(DEBUG,'BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!',name); +213 } .fi -.SS "std::string chanrec::GetModeParameter (char mode)" .PP -Returns the parameter for a custom mode on a channel. \fBParameters:\fP +.SS "\fBstd::string\fP chanrec::GetModeParameter (char mode)" +.PP +Returns the parameter for a custom mode on a channel. +.PP +\fBParameters:\fP .RS 4 \fImode\fP The mode character you wish to query .RE .PP -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. +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. .PP \fBReturns:\fP .RS 4 The parameter for this mode is returned, or an empty string .RE .PP -Definition at line 181 of file channels.cpp. + +.PP +Definition at line 175 of file channels.cpp. .PP References custom_mode_params. .PP .nf -182 { -183 if (custom_mode_params.size()) -184 { -185 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) -186 { -187 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) -188 { -189 return i->parameter; -190 } -191 } -192 } -193 return ''; -194 } +176 { +177 if (custom_mode_params.size()) +178 { +179 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +180 { +181 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +182 { +183 return i->parameter; +184 } +185 } +186 } +187 return ''; +188 } .fi +.PP .SS "long chanrec::GetUserCounter ()" .PP -Obtain the channel 'user counter' This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks. \fBReturns:\fP +Obtain the channel 'user counter' This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks. +.PP +\fBReturns:\fP .RS 4 The number of users on this channel .RE .PP -Definition at line 196 of file channels.cpp. + .PP -References internal_userlist. +Definition at line 190 of file channels.cpp. .PP .nf -197 { -198 return (this->internal_userlist.size()); -199 } +191 { +192 return (this->internal_userlist.size()); +193 } .fi +.PP .SS "std::vector< char * > * chanrec::GetUsers ()" .PP -Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. These are used for rapid comparison to determine channel membership for PRIVMSG, NOTICE, QUIT, PART etc. The resulting pointer to the vector should be considered readonly and only modified via AddUser and DelUser. +Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. +.PP +These are used for rapid comparison to determine channel membership for PRIVMSG, NOTICE, QUIT, PART etc. The resulting pointer to the vector should be considered readonly and only modified via AddUser and DelUser. .PP \fBReturns:\fP .RS 4 This function returns a vector of userrec pointers, each of which has been casted to char* to prevent circular references .RE .PP -Definition at line 221 of file channels.cpp. + +.PP +Definition at line 215 of file channels.cpp. .PP References internal_userlist. .PP Referenced by Server::GetUsers(). .PP .nf -222 { -223 return &internal_userlist; -224 } +216 { +217 return &internal_userlist; +218 } .fi +.PP .SS "bool chanrec::IsCustomModeSet (char mode)" .PP -Returns true if a custom mode is set on a channel. \fBParameters:\fP +Returns true if a custom mode is set on a channel. +.PP +\fBParameters:\fP .RS 4 \fImode\fP The mode character you wish to query .RE @@ -262,56 +291,66 @@ Returns true if a custom mode is set on a channel. \fBParameters:\fP True if the custom mode is set, false if otherwise .RE .PP -Definition at line 175 of file channels.cpp. + +.PP +Definition at line 169 of file channels.cpp. .PP References DEBUG. .PP .nf -176 { -177 log(DEBUG,'Checking ISCustomModeSet: %c %s',mode,this->custom_modes); -178 return (strchr(this->custom_modes,mode) != 0); -179 } +170 { +171 log(DEBUG,'Checking ISCustomModeSet: %c %s',mode,this->custom_modes); +172 return (strchr(this->custom_modes,mode) != 0); +173 } .fi +.PP .SS "void chanrec::SetCustomMode (char mode, bool mode_on)" .PP -Sets or unsets a custom mode in the channels info. \fBParameters:\fP +Sets or unsets a custom mode in the channels info. +.PP +\fBParameters:\fP .RS 4 \fImode\fP The mode character to set or unset .br \fImode_on\fP True if you want to set the mode or false if you want to remove it .RE .PP -Definition at line 119 of file channels.cpp. + +.PP +Definition at line 113 of file channels.cpp. .PP References custom_modes, DEBUG, and SetCustomModeParam(). .PP .nf -120 { -121 if (mode_on) { -122 static char m[3]; -123 m[0] = mode; -124 m[1] = '\0'; -125 if (!strchr(this->custom_modes,mode)) -126 { -127 strlcat(custom_modes,m,MAXMODES); -128 } -129 log(DEBUG,'Custom mode %c set',mode); -130 } -131 else { -132 -133 std::string a = this->custom_modes; -134 int pos = a.find(mode); -135 a.erase(pos,1); -136 strncpy(this->custom_modes,a.c_str(),MAXMODES); -137 -138 log(DEBUG,'Custom mode %c removed: modelist='%s'',mode,this->custom_modes); -139 this->SetCustomModeParam(mode,'',false); -140 } -141 } +114 { +115 if (mode_on) { +116 static char m[3]; +117 m[0] = mode; +118 m[1] = '\0'; +119 if (!strchr(this->custom_modes,mode)) +120 { +121 strlcat(custom_modes,m,MAXMODES); +122 } +123 log(DEBUG,'Custom mode %c set',mode); +124 } +125 else { +126 +127 std::string a = this->custom_modes; +128 int pos = a.find(mode); +129 a.erase(pos,1); +130 strncpy(this->custom_modes,a.c_str(),MAXMODES); +131 +132 log(DEBUG,'Custom mode %c removed: modelist='%s'',mode,this->custom_modes); +133 this->SetCustomModeParam(mode,'',false); +134 } +135 } .fi +.PP .SS "void chanrec::SetCustomModeParam (char mode, char * parameter, bool mode_on)" .PP -Sets or unsets the parameters for a custom mode in a channels info. \fBParameters:\fP +Sets or unsets the parameters for a custom mode in a channels info. +.PP +\fBParameters:\fP .RS 4 \fImode\fP The mode character to set or unset .br @@ -320,96 +359,133 @@ Sets or unsets the parameters for a custom mode in a channels info. \fBParameter \fImode_on\fP True if you want to set the mode or false if you want to remove it .RE .PP -Definition at line 144 of file channels.cpp. + +.PP +Definition at line 138 of file channels.cpp. .PP References ModeParameter::channel, custom_mode_params, DEBUG, ModeParameter::mode, and ModeParameter::parameter. .PP Referenced by SetCustomMode(). .PP .nf -145 { -146 -147 log(DEBUG,'SetCustomModeParam called'); -148 ModeParameter M; -149 M.mode = mode; -150 strlcpy(M.channel,this->name,CHANMAX); -151 strlcpy(M.parameter,parameter,MAXBUF); -152 if (mode_on) -153 { -154 log(DEBUG,'Custom mode parameter %c %s added',mode,parameter); -155 custom_mode_params.push_back(M); -156 } -157 else -158 { -159 if (custom_mode_params.size()) -160 { -161 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) -162 { -163 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) -164 { -165 log(DEBUG,'Custom mode parameter %c %s removed',mode,parameter); -166 custom_mode_params.erase(i); -167 return; -168 } -169 } -170 } -171 log(DEBUG,'*** BUG *** Attempt to remove non-existent mode parameter!'); -172 } -173 } +139 { +140 +141 log(DEBUG,'SetCustomModeParam called'); +142 ModeParameter M; +143 M.mode = mode; +144 strlcpy(M.channel,this->name,CHANMAX); +145 strlcpy(M.parameter,parameter,MAXBUF); +146 if (mode_on) +147 { +148 log(DEBUG,'Custom mode parameter %c %s added',mode,parameter); +149 custom_mode_params.push_back(M); +150 } +151 else +152 { +153 if (custom_mode_params.size()) +154 { +155 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +156 { +157 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +158 { +159 log(DEBUG,'Custom mode parameter %c %s removed',mode,parameter); +160 custom_mode_params.erase(i); +161 return; +162 } +163 } +164 } +165 log(DEBUG,'*** BUG *** Attempt to remove non-existent mode parameter!'); +166 } +167 } .fi +.PP .SH "Member Data Documentation" .PP .SS "\fBBanList\fP \fBchanrec::bans\fP" .PP -The list of all bans set on the channel. Definition at line 149 of file channels.h. +The list of all bans set on the channel. +.PP +Definition at line 149 of file channels.h. .SS "char \fBchanrec::binarymodes\fP" .PP -Contains a bitmask of the CM_* builtin (RFC) binary mode symbols. Definition at line 145 of file channels.h. +Contains a bitmask of the CM_* builtin (RFC) binary mode symbols. +.PP +Definition at line 145 of file channels.h. .PP Referenced by chanrec(). .SS "time_t \fBchanrec::created\fP" .PP -Creation time. Definition at line 123 of file channels.h. +Creation time. +.PP +Definition at line 123 of file channels.h. .PP Referenced by chanrec(). .SS "char \fBchanrec::custom_modes\fP[MAXMODES]" .PP -Custom modes for the channel. Plugins may use this field in any way they see fit.Definition at line 110 of file channels.h. +Custom modes for the channel. +.PP +Plugins may use this field in any way they see fit. +.PP +Definition at line 110 of file channels.h. .PP Referenced by chanrec(), and SetCustomMode(). .SS "std::vector<char*> \fBchanrec::internal_userlist\fP" .PP -User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). Definition at line 115 of file channels.h. +User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). +.PP +Definition at line 115 of file channels.h. .PP -Referenced by AddUser(), chanrec(), DelUser(), GetUserCounter(), and GetUsers(). +Referenced by AddUser(), chanrec(), DelUser(), and GetUsers(). .SS "char \fBchanrec::key\fP[32]" .PP -Contains the channel key. If this value is an empty string, there is no channel key in place.Definition at line 141 of file channels.h. +Contains the channel key. +.PP +If this value is an empty string, there is no channel key in place. +.PP +Definition at line 141 of file channels.h. .PP Referenced by chanrec(). .SS "short int \fBchanrec::limit\fP" .PP -Contains the channel user limit. If this value is zero, there is no limit in place.Definition at line 136 of file channels.h. +Contains the channel user limit. +.PP +If this value is zero, there is no limit in place. +.PP +Definition at line 136 of file channels.h. .PP Referenced by chanrec(). .SS "char \fBchanrec::name\fP[CHANMAX]" .PP -The channels name. Definition at line 106 of file channels.h. +The channels name. +.PP +Definition at line 106 of file channels.h. .PP Referenced by chanrec(), DelUser(), and Server::PseudoToUser(). .SS "char \fBchanrec::setby\fP[NICKMAX]" .PP -The last user to set the topic. If this member is an empty string, no topic was ever set.Definition at line 131 of file channels.h. +The last user to set the topic. +.PP +If this member is an empty string, no topic was ever set. +.PP +Definition at line 131 of file channels.h. .PP Referenced by chanrec(), and Server::PseudoToUser(). .SS "char \fBchanrec::topic\fP[MAXBUF]" .PP -Channel topic. If this is an empty string, no channel topic is set.Definition at line 120 of file channels.h. +Channel topic. +.PP +If this is an empty string, no channel topic is set. +.PP +Definition at line 120 of file channels.h. .PP Referenced by chanrec(), and Server::PseudoToUser(). .SS "time_t \fBchanrec::topicset\fP" .PP -Time topic was set. If no topic was ever set, this will be equal to \fBchanrec::created\fPDefinition at line 127 of file channels.h. +Time topic was set. +.PP +If no topic was ever set, this will be equal to \fBchanrec::created\fP +.PP +Definition at line 127 of file channels.h. .PP Referenced by chanrec(), and Server::PseudoToUser(). diff --git a/docs/man/man3/classbase.3 b/docs/man/man3/classbase.3 index 2d962475b..cf1538044 100644 --- a/docs/man/man3/classbase.3 +++ b/docs/man/man3/classbase.3 @@ -1,4 +1,4 @@ -.TH "classbase" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "classbase" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -33,30 +33,38 @@ Inherited by \fBAdmin\fP, \fBConfigReader\fP, \fBConnectClass\fP, \fBExtensible\ .in -1c .SH "Detailed Description" .PP -The base class for all inspircd classes. Definition at line 29 of file base.h. +The base class for all inspircd classes. +.PP +Definition at line 29 of file base.h. .SH "Constructor & Destructor Documentation" .PP .SS "classbase::classbase ()\fC [inline]\fP" .PP -Constructor, Sets the object's time. Definition at line 39 of file base.h. +Constructor, Sets the object's time. +.PP +Definition at line 39 of file base.h. .PP References age. .PP .nf 39 { age = time(NULL); } .fi -.SS "classbase::~\fBclassbase\fP ()\fC [inline]\fP" +.PP +.SS "classbase::~classbase ()\fC [inline]\fP" .PP Definition at line 40 of file base.h. .PP .nf 40 { } .fi +.PP .SH "Member Data Documentation" .PP .SS "time_t \fBclassbase::age\fP" .PP -Time that the object was instantiated (used for TS calculation etc). Definition at line 34 of file base.h. +Time that the object was instantiated (used for TS calculation etc). +.PP +Definition at line 34 of file base.h. .PP Referenced by classbase(). diff --git a/docs/man/man3/command_t.3 b/docs/man/man3/command_t.3 index ccd08117f..a761b01d2 100644 --- a/docs/man/man3/command_t.3 +++ b/docs/man/man3/command_t.3 @@ -1,4 +1,4 @@ -.TH "command_t" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "command_t" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -46,30 +46,46 @@ Inherits \fBExtensible\fP. .in -1c .SH "Detailed Description" .PP -A structure that defines a command. Definition at line 26 of file ctables.h. +A structure that defines a command. +.PP +Definition at line 26 of file ctables.h. .SH "Member Data Documentation" .PP .SS "char \fBcommand_t::command\fP[MAXBUF]" .PP -Command name. Definition at line 31 of file ctables.h. +Command name. +.PP +Definition at line 31 of file ctables.h. .SS "char \fBcommand_t::flags_needed\fP" .PP -User flags needed to execute the command or 0. Definition at line 37 of file ctables.h. +User flags needed to execute the command or 0. +.PP +Definition at line 37 of file ctables.h. .SS "handlerfunc* \fBcommand_t::handler_function\fP" .PP -Handler function as in typedef. Definition at line 34 of file ctables.h. +Handler function as in typedef. +.PP +Definition at line 34 of file ctables.h. .SS "int \fBcommand_t::min_params\fP" .PP -Minimum number of parameters command takes. Definition at line 40 of file ctables.h. +Minimum number of parameters command takes. +.PP +Definition at line 40 of file ctables.h. .SS "char \fBcommand_t::source\fP[MAXBUF]" .PP -used for resource tracking between modules Definition at line 49 of file ctables.h. +used for resource tracking between modules +.PP +Definition at line 49 of file ctables.h. .SS "long \fBcommand_t::total_bytes\fP" .PP -used by /stats m Definition at line 46 of file ctables.h. +used by /stats m +.PP +Definition at line 46 of file ctables.h. .SS "long \fBcommand_t::use_count\fP" .PP -used by /stats m Definition at line 43 of file ctables.h. +used by /stats m +.PP +Definition at line 43 of file ctables.h. .SH "Author" .PP diff --git a/docs/man/man3/commands.h.3 b/docs/man/man3/commands.h.3 index a129fa14e..467911b07 100644 --- a/docs/man/man3/commands.h.3 +++ b/docs/man/man3/commands.h.3 @@ -1,4 +1,4 @@ -.TH "commands.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "commands.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -181,80 +181,6 @@ commands.h \- .RI "void \fBhandle_commands\fP (char **parameters, int pcnt, \fBuserrec\fP *user)" .br .ti -1c -.RI "void \fBhandle_link_packet\fP (char *tcp_msg, char *tcp_host, \fBserverrec\fP *serv, char *tcp_sum)" -.br -.RI "\fISpecial functions for processing server to server traffic. \fP" -.ti -1c -.RI "void \fBprocess_restricted_commands\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *ipaddr, int port, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_amp\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.RI "\fIThese are the handlers for server commands (tokens). \fP" -.ti -1c -.RI "void \fBhandle_dollar\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_J\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_R\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_plus\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_b\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_a\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_F\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_N\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_AT\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_k\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_n\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_Q\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_K\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_L\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_m\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_M\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_T\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_t\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_i\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_P\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c -.RI "void \fBhandle_V\fP (char token, char *params, \fBserverrec\fP *source, \fBserverrec\fP *reply, char *tcp_host, char *tcp_sum)" -.br -.ti -1c .RI "bool \fBis_uline\fP (const char *server)" .br .RI "\fIFunctions for u:lined servers. \fP" @@ -262,62 +188,37 @@ commands.h \- .RI "long \fBduration\fP (const char *str)" .br .RI "\fIOther useful functions. \fP" -.ti -1c -.RI "void \fBConnectServer\fP (char *servermask, \fBuserrec\fP *user)" -.br -.RI "\fI\fBServer\fP connect creation. \fP" .in -1c .SH "Function Documentation" .PP -.SS "void ConnectServer (char * servermask, \fBuserrec\fP * user)" -.PP -\fBServer\fP connect creation. .SS "long duration (const char * str)" .PP -Other useful functions. Referenced by Server::AddELine(), Server::AddGLine(), Server::AddKLine(), Server::AddQLine(), Server::AddZLine(), and Server::CalcDuration(). -.SS "void handle_a (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" +Other useful functions. .PP +Referenced by Server::CalcDuration(). .SS "void handle_admin (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_amp (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP -These are the handlers for server commands (tokens). -.SS "void handle_AT (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_away (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_b (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_commands (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_connect (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_die (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_dollar (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_eline (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_F (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_gline (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_i (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_info (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_invite (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_ison (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_J (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_join (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP These are the handlers for user commands. -.SS "void handle_K (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP -.SS "void handle_k (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" .PP .SS "void handle_kick (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP @@ -325,11 +226,6 @@ These are the handlers for user commands. .PP .SS "void handle_kline (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_L (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP -.SS "void handle_link_packet (char * tcp_msg, char * tcp_host, \fBserverrec\fP * serv, char * tcp_sum)" -.PP -Special functions for processing server to server traffic. .SS "void handle_links (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_list (char ** parameters, int pcnt, \fBuserrec\fP * user)" @@ -338,20 +234,12 @@ Special functions for processing server to server traffic. .PP .SS "void handle_lusers (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_M (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP -.SS "void handle_m (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_map (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_modules (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_motd (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_n (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP -.SS "void handle_N (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_names (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_nick (char ** parameters, int pcnt, \fBuserrec\fP * user)" @@ -360,28 +248,20 @@ Special functions for processing server to server traffic. .PP .SS "void handle_oper (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_P (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_part (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_pass (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_ping (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_plus (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_pong (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_privmsg (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_Q (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_qline (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_quit (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_R (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_rehash (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_restart (char ** parameters, int pcnt, \fBuserrec\fP * user)" @@ -396,10 +276,6 @@ Special functions for processing server to server traffic. .PP .SS "void handle_summon (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_t (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP -.SS "void handle_T (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_time (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_topic (char ** parameters, int pcnt, \fBuserrec\fP * user)" @@ -414,8 +290,6 @@ Special functions for processing server to server traffic. .PP .SS "void handle_users (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -.SS "void handle_V (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * tcp_sum)" -.PP .SS "void handle_wallops (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP .SS "void handle_who (char ** parameters, int pcnt, \fBuserrec\fP * user)" @@ -428,9 +302,9 @@ Special functions for processing server to server traffic. .PP .SS "bool is_uline (const char * server)" .PP -Functions for u:lined servers. Referenced by Server::IsUlined(). -.SS "void process_restricted_commands (char token, char * params, \fBserverrec\fP * source, \fBserverrec\fP * reply, char * tcp_host, char * ipaddr, int port, char * tcp_sum)" +Functions for u:lined servers. .PP +Referenced by Server::IsUlined(). .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/connection.3 b/docs/man/man3/connection.3 index cce6dc268..e243173d6 100644 --- a/docs/man/man3/connection.3 +++ b/docs/man/man3/connection.3 @@ -1,4 +1,4 @@ -.TH "connection" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "connection" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -12,7 +12,7 @@ connection \- Please note: classes serverrec and userrec both inherit from class .PP Inherits \fBExtensible\fP. .PP -Inherited by \fBserverrec\fP, and \fBuserrec\fP. +Inherited by \fBuserrec\fP. .PP .SS "Public Member Functions" @@ -84,84 +84,129 @@ Inherited by \fBserverrec\fP, and \fBuserrec\fP. .in -1c .SH "Detailed Description" .PP -Please note: classes serverrec and userrec both inherit from class connection. Definition at line 296 of file connection.h. +Please note: classes serverrec and userrec both inherit from class connection. +.PP +Definition at line 37 of file connection.h. .SH "Constructor & Destructor Documentation" .PP -.SS "connection::connection ()" +.SS "connection::connection ()\fC [inline]\fP" .PP Default constructor. +.PP +Definition at line 100 of file connection.h. +.PP +References fd. +.PP +.nf +101 { +102 this->fd = -1; +103 } +.fi +.PP .SH "Member Data Documentation" .PP .SS "int \fBconnection::bytes_in\fP" .PP -Stats counter for bytes inbound. Definition at line 313 of file connection.h. +Stats counter for bytes inbound. +.PP +Definition at line 54 of file connection.h. .PP Referenced by userrec::userrec(). .SS "int \fBconnection::bytes_out\fP" .PP -Stats counter for bytes outbound. Definition at line 317 of file connection.h. +Stats counter for bytes outbound. +.PP +Definition at line 58 of file connection.h. .PP Referenced by userrec::FlushWriteBuf(), and userrec::userrec(). .SS "int \fBconnection::cmds_in\fP" .PP -Stats counter for commands inbound. Definition at line 321 of file connection.h. +Stats counter for commands inbound. +.PP +Definition at line 62 of file connection.h. .PP Referenced by userrec::userrec(). .SS "int \fBconnection::cmds_out\fP" .PP -Stats counter for commands outbound. Definition at line 325 of file connection.h. +Stats counter for commands outbound. +.PP +Definition at line 66 of file connection.h. .PP Referenced by userrec::FlushWriteBuf(), and userrec::userrec(). .SS "int \fBconnection::fd\fP" .PP -File descriptor of the connection. Definition at line 301 of file connection.h. +File descriptor of the connection. .PP -Referenced by serverrec::BeginLink(), serverrec::CreateListener(), ConfigReader::DumpErrors(), serverrec::MeshCookie(), Server::PseudoToUser(), userrec::ReadData(), Server::SendTo(), serverrec::serverrec(), userrec::userrec(), and Server::UserToPseudo(). +Definition at line 42 of file connection.h. +.PP +Referenced by connection(), ConfigReader::DumpErrors(), Server::PseudoToUser(), Server::SendTo(), userrec::userrec(), and Server::UserToPseudo(). .SS "bool \fBconnection::haspassed\fP" .PP -True if server/user has authenticated, false if otherwise. Definition at line 329 of file connection.h. +True if server/user has authenticated, false if otherwise. +.PP +Definition at line 70 of file connection.h. .PP Referenced by userrec::userrec(). .SS "char \fBconnection::host\fP[160]" .PP -Hostname of connection. Not used if this is a serverrecDefinition at line 305 of file connection.h. +Hostname of connection. +.PP +Not used if this is a serverrec +.PP +Definition at line 46 of file connection.h. .PP Referenced by userrec::GetFullRealHost(), Server::PseudoToUser(), userrec::userrec(), and Server::UserToPseudo(). .SS "time_t \fBconnection::idle_lastmsg\fP" .PP -Time that the connection last sent data, used to calculate idle time. Definition at line 351 of file connection.h. +Time that the connection last sent data, used to calculate idle time. +.PP +Definition at line 92 of file connection.h. .PP Referenced by userrec::userrec(). .SS "char \fBconnection::ip\fP[16]" .PP -IP of connection. Definition at line 309 of file connection.h. +IP of connection. +.PP +Definition at line 50 of file connection.h. .PP Referenced by userrec::userrec(). .SS "time_t \fBconnection::lastping\fP" .PP -Time the connection was last pinged. Definition at line 343 of file connection.h. +Time the connection was last pinged. .PP -Referenced by serverrec::serverrec(), and userrec::userrec(). +Definition at line 84 of file connection.h. +.PP +Referenced by userrec::userrec(). .SS "time_t \fBconnection::nping\fP" .PP -Used by PING checks with clients. Definition at line 355 of file connection.h. +Used by PING checks with clients. +.PP +Definition at line 96 of file connection.h. .PP Referenced by userrec::userrec(). .SS "int \fBconnection::port\fP" .PP -Port number For a userrec, this is the port they connected to the network on. For a serverrec this is the current listening port of the serverrec object.Definition at line 335 of file connection.h. +Port number For a userrec, this is the port they connected to the network on. .PP -Referenced by serverrec::CreateListener(), and userrec::userrec(). +For a serverrec this is the current listening port of the serverrec object. +.PP +Definition at line 76 of file connection.h. +.PP +Referenced by userrec::userrec(). .SS "char \fBconnection::registered\fP" .PP -Used by userrec to indicate the registration status of the connection. Definition at line 339 of file connection.h. +Used by userrec to indicate the registration status of the connection. +.PP +Definition at line 80 of file connection.h. .PP Referenced by userrec::userrec(). .SS "time_t \fBconnection::signon\fP" .PP -Time the connection was created, set in the constructor. Definition at line 347 of file connection.h. +Time the connection was created, set in the constructor. +.PP +Definition at line 88 of file connection.h. .PP -Referenced by serverrec::serverrec(), and userrec::userrec(). +Referenced by userrec::userrec(). .SH "Author" .PP diff --git a/docs/man/man3/connection.h.3 b/docs/man/man3/connection.h.3 index 4e15d56f9..04af56c8c 100644 --- a/docs/man/man3/connection.h.3 +++ b/docs/man/man3/connection.h.3 @@ -1,4 +1,4 @@ -.TH "connection.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "connection.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -35,77 +35,14 @@ connection.h \- \fC#include <sstream>\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c .RI "class \fBconnection\fP" .br .RI "\fIPlease note: classes serverrec and userrec both inherit from class connection. \fP" -.ti -1c -.RI "class \fBircd_connector\fP" -.br -.RI "\fIEach connection has one or more of these each represents ONE outbound connection to another ircd so each inbound has multiple outbounds. \fP" -.in -1c -.SS "Defines" - -.in +1c -.ti -1c -.RI "#define \fBSTATE_DISCONNECTED\fP 0" -.br -.ti -1c -.RI "#define \fBSTATE_CONNECTED\fP 1" -.br -.ti -1c -.RI "#define \fBSTATE_SYNC\fP 2" -.br -.ti -1c -.RI "#define \fBSTATE_NOAUTH_INBOUND\fP 3" -.br -.ti -1c -.RI "#define \fBSTATE_NOAUTH_OUTBOUND\fP 4" -.br -.ti -1c -.RI "#define \fBSTATE_SERVICES\fP 5" -.br .in -1c -.SS "Functions" - -.in +1c -.ti -1c -.RI "std::string \fBCreateSum\fP ()" -.br -.in -1c -.SH "Define Documentation" -.PP -.SS "#define STATE_CONNECTED 1" -.PP -Definition at line 36 of file connection.h. -.SS "#define STATE_DISCONNECTED 0" -.PP -Definition at line 35 of file connection.h. -.PP -Referenced by serverrec::BeginLink(), serverrec::FlushWriteBuffers(), IsRoutable(), serverrec::MeshCookie(), serverrec::RecvPacket(), and serverrec::SendPacket(). -.SS "#define STATE_NOAUTH_INBOUND 3" -.PP -Definition at line 38 of file connection.h. -.PP -Referenced by serverrec::AddIncoming(), and serverrec::FlushWriteBuffers(). -.SS "#define STATE_NOAUTH_OUTBOUND 4" -.PP -Definition at line 39 of file connection.h. -.PP -Referenced by serverrec::BeginLink(), serverrec::FlushWriteBuffers(), and serverrec::MeshCookie(). -.SS "#define STATE_SERVICES 5" -.PP -Definition at line 40 of file connection.h. -.SS "#define STATE_SYNC 2" -.PP -Definition at line 37 of file connection.h. -.SH "Function Documentation" -.PP -.SS "std::string CreateSum ()" -.PP .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/ctables.h.3 b/docs/man/man3/ctables.h.3 index 1abb82f4a..b9fe786ed 100644 --- a/docs/man/man3/ctables.h.3 +++ b/docs/man/man3/ctables.h.3 @@ -1,4 +1,4 @@ -.TH "ctables.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ctables.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -13,7 +13,7 @@ ctables.h \- \fC#include 'base.h'\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c diff --git a/docs/man/man3/dns.h.3 b/docs/man/man3/dns.h.3 index 1dae58d82..a3c90c1c8 100644 --- a/docs/man/man3/dns.h.3 +++ b/docs/man/man3/dns.h.3 @@ -1,4 +1,4 @@ -.TH "dns.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "dns.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -15,16 +15,16 @@ dns.h \- \fC#include <string>\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c -.RI "class \fBDNS\fP" +.RI "struct \fBdns_ip4list\fP" .br -.RI "\fIThe DNS class allows fast nonblocking resolution of hostnames and ip addresses. \fP" .ti -1c -.RI "struct \fBdns_ip4list\fP" +.RI "class \fBDNS\fP" .br +.RI "\fIThe DNS class allows fast nonblocking resolution of hostnames and ip addresses. \fP" .in -1c .SH "Author" .PP diff --git a/docs/man/man3/dns_ip4list.3 b/docs/man/man3/dns_ip4list.3 index b94b73779..483f4c324 100644 --- a/docs/man/man3/dns_ip4list.3 +++ b/docs/man/man3/dns_ip4list.3 @@ -1,4 +1,4 @@ -.TH "dns_ip4list" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "dns_ip4list" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -18,6 +18,9 @@ dns_ip4list \- .RI "\fBdns_ip4list\fP * \fBnext\fP" .br .in -1c +.SH "Detailed Description" +.PP +Definition at line 26 of file dns.h. .SH "Member Data Documentation" .PP .SS "in_addr \fBdns_ip4list::ip\fP" diff --git a/docs/man/man3/hashcomp.h.3 b/docs/man/man3/hashcomp.h.3 index 06d234d52..2e77b22f0 100644 --- a/docs/man/man3/hashcomp.h.3 +++ b/docs/man/man3/hashcomp.h.3 @@ -1,4 +1,4 @@ -.TH "hashcomp.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "hashcomp.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -15,11 +15,33 @@ hashcomp.h \- .in +1c .ti -1c +.RI "namespace \fBnspace\fP" +.br +.ti -1c .RI "namespace \fBirc\fP" .br +.in -1c +.SS "Classes" + +.in +1c +.ti -1c +.RI "struct \fBnspace::hash< in_addr >\fP" +.br .ti -1c -.RI "namespace \fBnspace\fP" +.RI "struct \fBnspace::hash< string >\fP" +.br +.ti -1c +.RI "struct \fBirc::StrHashComp\fP" +.br +.RI "\fIThis class returns true if two strings match. \fP" +.ti -1c +.RI "struct \fBirc::InAddr_HashComp\fP" +.br +.RI "\fIThis class returns true if two in_addr structs match. \fP" +.ti -1c +.RI "struct \fBirc::irc_char_traits\fP" .br +.RI "\fIThe \fBirc_char_traits\fP class is used for RFC-style comparison of strings. \fP" .in -1c .SS "Defines" @@ -28,6 +50,14 @@ hashcomp.h \- .RI "#define \fBnspace\fP __gnu_cxx" .br .in -1c +.SS "Typedefs" + +.in +1c +.ti -1c +.RI "typedef basic_string< char, irc_char_traits, allocator< char > > \fBirc::string\fP" +.br +.RI "\fIThis typedef declares \fBirc::string\fP based upon \fBirc_char_traits\fP. \fP" +.in -1c .SH "Define Documentation" .PP .SS "#define nspace __gnu_cxx" diff --git a/docs/man/man3/irc.3 b/docs/man/man3/irc.3 index 56a91446e..5732c80f7 100644 --- a/docs/man/man3/irc.3 +++ b/docs/man/man3/irc.3 @@ -1,16 +1,21 @@ -.TH "irc" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "irc" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME irc \- The irc namespace contains a number of helper classes. +.PP .SH SYNOPSIS .br .PP -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c +.RI "struct \fBStrHashComp\fP" +.br +.RI "\fIThis class returns true if two strings match. \fP" +.ti -1c .RI "struct \fBInAddr_HashComp\fP" .br .RI "\fIThis class returns true if two in_addr structs match. \fP" @@ -18,10 +23,6 @@ irc \- The irc namespace contains a number of helper classes. .RI "struct \fBirc_char_traits\fP" .br .RI "\fIThe \fBirc_char_traits\fP class is used for RFC-style comparison of strings. \fP" -.ti -1c -.RI "struct \fBStrHashComp\fP" -.br -.RI "\fIThis class returns true if two strings match. \fP" .in -1c .SS "Typedefs" @@ -38,7 +39,9 @@ The irc namespace contains a number of helper classes. .PP .SS "typedef basic_string<char, \fBirc_char_traits\fP, allocator<char> > \fBirc::string\fP" .PP -This typedef declares \fBirc::string\fP based upon \fBirc_char_traits\fP. Definition at line 129 of file hashcomp.h. +This typedef declares \fBirc::string\fP based upon \fBirc_char_traits\fP. +.PP +Definition at line 129 of file hashcomp.h. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/irc_InAddr_HashComp.3 b/docs/man/man3/irc_InAddr_HashComp.3 index 322fd7b74..ead2429e0 100644 --- a/docs/man/man3/irc_InAddr_HashComp.3 +++ b/docs/man/man3/irc_InAddr_HashComp.3 @@ -1,4 +1,4 @@ -.TH "irc::InAddr_HashComp" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "irc::InAddr_HashComp" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -14,7 +14,7 @@ irc::InAddr_HashComp \- This class returns true if two in_addr structs match. .in +1c .ti -1c -.RI "bool \fBoperator()\fP (const in_addr &s1, const in_addr &s2) const" +.RI "bool \fBoperator()\fP (const in_addr &s1, const in_addr &s2) const " .br .RI "\fIThe operator () does the actual comparison in hash_map. \fP" .in -1c @@ -30,6 +30,8 @@ Definition at line 92 of file hashcomp.h. .SS "bool irc::InAddr_HashComp::operator() (const in_addr & s1, const in_addr & s2) const" .PP The operator () does the actual comparison in hash_map. +.PP + .SH "Author" .PP diff --git a/docs/man/man3/irc_StrHashComp.3 b/docs/man/man3/irc_StrHashComp.3 index ecd16fef2..8b96cb26a 100644 --- a/docs/man/man3/irc_StrHashComp.3 +++ b/docs/man/man3/irc_StrHashComp.3 @@ -1,4 +1,4 @@ -.TH "irc::StrHashComp" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "irc::StrHashComp" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -14,7 +14,7 @@ irc::StrHashComp \- This class returns true if two strings match. .in +1c .ti -1c -.RI "bool \fBoperator()\fP (const std::string &s1, const std::string &s2) const" +.RI "bool \fBoperator()\fP (const \fBstd::string\fP &s1, const \fBstd::string\fP &s2) const " .br .RI "\fIThe operator () does the actual comparison in hash_map. \fP" .in -1c @@ -27,9 +27,11 @@ Case sensitivity is ignored, and the RFC 'character set' is adhered to Definition at line 80 of file hashcomp.h. .SH "Member Function Documentation" .PP -.SS "bool irc::StrHashComp::operator() (const std::string & s1, const std::string & s2) const" +.SS "bool irc::StrHashComp::operator() (const \fBstd::string\fP & s1, const \fBstd::string\fP & s2) const" .PP The operator () does the actual comparison in hash_map. +.PP + .SH "Author" .PP diff --git a/docs/man/man3/irc_irc_char_traits.3 b/docs/man/man3/irc_irc_char_traits.3 index f6b81a162..fbc43ebdb 100644 --- a/docs/man/man3/irc_irc_char_traits.3 +++ b/docs/man/man3/irc_irc_char_traits.3 @@ -1,4 +1,4 @@ -.TH "irc::irc_char_traits" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "irc::irc_char_traits" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -16,23 +16,23 @@ Inherits \fBchar_traits< char >\fP. .in +1c .ti -1c -.RI "bool \fBeq\fP (char c1st, char c2nd)" +.RI "static bool \fBeq\fP (char c1st, char c2nd)" .br .RI "\fICheck if two chars match. \fP" .ti -1c -.RI "bool \fBne\fP (char c1st, char c2nd)" +.RI "static bool \fBne\fP (char c1st, char c2nd)" .br .RI "\fICheck if two chars do NOT match. \fP" .ti -1c -.RI "bool \fBlt\fP (char c1st, char c2nd)" +.RI "static bool \fBlt\fP (char c1st, char c2nd)" .br .RI "\fICheck if one char is less than another. \fP" .ti -1c -.RI "int \fBcompare\fP (const char *str1, const char *str2, size_t n)" +.RI "static int \fBcompare\fP (const char *str1, const char *str2, size_t n)" .br .RI "\fICompare two strings of size n. \fP" .ti -1c -.RI "const char * \fBfind\fP (const char *s1, int n, char c)" +.RI "static const char * \fBfind\fP (const char *s1, int n, char c)" .br .RI "\fIFind a char within a string up to position n. \fP" .in -1c @@ -45,21 +45,27 @@ This class is used to implement \fBirc::string\fP, a case-insensitive, RFC- comp Definition at line 104 of file hashcomp.h. .SH "Member Function Documentation" .PP -.SS "int irc::irc_char_traits::compare (const char * str1, const char * str2, size_t n)\fC [static]\fP" +.SS "static int irc::irc_char_traits::compare (const char * str1, const char * str2, size_t n)\fC [static]\fP" .PP Compare two strings of size n. -.SS "bool irc::irc_char_traits::eq (char c1st, char c2nd)\fC [static]\fP" +.PP +.SS "static bool irc::irc_char_traits::eq (char c1st, char c2nd)\fC [static]\fP" .PP Check if two chars match. -.SS "const char* irc::irc_char_traits::find (const char * s1, int n, char c)\fC [static]\fP" +.PP +.SS "static const char* irc::irc_char_traits::find (const char * s1, int n, char c)\fC [static]\fP" .PP Find a char within a string up to position n. -.SS "bool irc::irc_char_traits::lt (char c1st, char c2nd)\fC [static]\fP" +.PP +.SS "static bool irc::irc_char_traits::lt (char c1st, char c2nd)\fC [static]\fP" .PP Check if one char is less than another. -.SS "bool irc::irc_char_traits::ne (char c1st, char c2nd)\fC [static]\fP" +.PP +.SS "static bool irc::irc_char_traits::ne (char c1st, char c2nd)\fC [static]\fP" .PP Check if two chars do NOT match. +.PP + .SH "Author" .PP diff --git a/docs/man/man3/message.h.3 b/docs/man/man3/message.h.3 index 5fbf3852b..5778a25f6 100644 --- a/docs/man/man3/message.h.3 +++ b/docs/man/man3/message.h.3 @@ -1,4 +1,4 @@ -.TH "message.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "message.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/man/man3/mode.h.3 b/docs/man/man3/mode.h.3 index 6095483d1..8a27ddae3 100644 --- a/docs/man/man3/mode.h.3 +++ b/docs/man/man3/mode.h.3 @@ -1,4 +1,4 @@ -.TH "mode.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "mode.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -96,6 +96,7 @@ mode.h \- .PP .SS "void server_mode (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP +Referenced by Server::SendMode(). .SS "char* take_ban (\fBuserrec\fP * user, char * dest, \fBchanrec\fP * chan, int status)" .PP .SS "char* take_hops (\fBuserrec\fP * user, char * dest, \fBchanrec\fP * chan, int status)" diff --git a/docs/man/man3/modules.cpp.3 b/docs/man/man3/modules.cpp.3 index 3232cdf1a..1a652c1d6 100644 --- a/docs/man/man3/modules.cpp.3 +++ b/docs/man/man3/modules.cpp.3 @@ -1,4 +1,4 @@ -.TH "modules.cpp" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "modules.cpp" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -32,12 +32,8 @@ modules.cpp \- .br \fC#include <deque>\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 @@ -62,8 +58,10 @@ modules.cpp \- .br \fC#include 'hashcomp.h'\fP .br +\fC#include 'socket.h'\fP +.br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c @@ -74,16 +72,16 @@ modules.cpp \- .in +1c .ti -1c -.RI "typedef nspace::hash_map< std::string, \fBuserrec\fP *, nspace::hash< string >, \fBirc::StrHashComp\fP > \fBuser_hash\fP" +.RI "typedef nspace::hash_map< \fBstd::string\fP, \fBuserrec\fP *, nspace::hash< \fBstring\fP >, \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" +.RI "typedef nspace::hash_map< \fBstd::string\fP, \fBchanrec\fP *, nspace::hash< \fBstring\fP >, \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" +.RI "typedef nspace::hash_map< in_addr, \fBstring\fP *, 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" +.RI "typedef nspace::hash_map< \fBstd::string\fP, \fBWhoWasUser\fP *, nspace::hash< \fBstring\fP >, \fBirc::StrHashComp\fP > \fBwhowas_hash\fP" .br .ti -1c .RI "typedef std::deque< \fBcommand_t\fP > \fBcommand_table\fP" @@ -139,7 +137,10 @@ modules.cpp \- .RI "std::vector< \fBircd_module\fP * > \fBfactory\fP" .br .ti -1c -.RI "std::vector< std::string > \fBinclude_stack\fP" +.RI "std::vector< \fBstd::string\fP > \fBinclude_stack\fP" +.br +.ti -1c +.RI "std::vector< \fBInspSocket\fP * > \fBmodule_sockets\fP" .br .ti -1c .RI "time_t \fBTIME\fP" @@ -211,7 +212,7 @@ modules.cpp \- .RI "time_t \fBnb_start\fP" .br .ti -1c -.RI "std::vector< std::string > \fBmodule_names\fP" +.RI "std::vector< \fBstd::string\fP > \fBmodule_names\fP" .br .ti -1c .RI "int \fBboundPortCount\fP" @@ -220,24 +221,12 @@ modules.cpp \- .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 @@ -270,311 +259,265 @@ modules.cpp \- .in -1c .SH "Typedef Documentation" .PP -.SS "typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, \fBirc::InAddr_HashComp\fP> \fBaddress_cache\fP" +.SS "typedef nspace::hash_map<in_addr,\fBstring\fP*, nspace::hash<in_addr>, \fBirc::InAddr_HashComp\fP> \fBaddress_cache\fP" .PP -Definition at line 122 of file modules.cpp. -.SS "typedef nspace::hash_map<std::string, \fBchanrec\fP*, nspace::hash<string>, \fBirc::StrHashComp\fP> \fBchan_hash\fP" +Definition at line 123 of file modules.cpp. +.SS "typedef nspace::hash_map<\fBstd::string\fP, \fBchanrec\fP*, nspace::hash<\fBstring\fP>, \fBirc::StrHashComp\fP> \fBchan_hash\fP" .PP -Definition at line 121 of file modules.cpp. +Definition at line 122 of file modules.cpp. .SS "typedef std::deque<\fBcommand_t\fP> \fBcommand_table\fP" .PP -Definition at line 124 of file modules.cpp. +Definition at line 125 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. +.SS "typedef ExtModeList::iterator \fBExtModeListIter\fP" .PP -Referenced by ModeDefined(), ModeDefinedOff(), ModeDefinedOn(), ModeDefinedOper(), ModeIsListMode(), and ModeMakeList(). -.SS "typedef nspace::hash_map<std::string, \fBuserrec\fP*, nspace::hash<string>, \fBirc::StrHashComp\fP> \fBuser_hash\fP" +Definition at line 152 of file modules.cpp. +.SS "typedef nspace::hash_map<\fBstd::string\fP, \fBuserrec\fP*, nspace::hash<\fBstring\fP>, \fBirc::StrHashComp\fP> \fBuser_hash\fP" .PP -Definition at line 120 of file modules.cpp. -.SS "typedef nspace::hash_map<std::string, \fBWhoWasUser\fP*, nspace::hash<string>, \fBirc::StrHashComp\fP> \fBwhowas_hash\fP" +Definition at line 121 of file modules.cpp. +.SS "typedef nspace::hash_map<\fBstd::string\fP, \fBWhoWasUser\fP*, nspace::hash<\fBstring\fP>, \fBirc::StrHashComp\fP> \fBwhowas_hash\fP" .PP -Definition at line 123 of file modules.cpp. +Definition at line 124 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. +Definition at line 221 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 } +222 { +223 if (ModeDefined(modechar,type)) { +224 return false; +225 } +226 EMode.push_back(ExtMode(modechar,type,requires_oper,params_on,params_off)); +227 return true; +228 } .fi +.PP .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. +Definition at line 158 of file modules.cpp. .PP -References EMode, and ExtModeListIter. +References EMode. .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 } +159 { +160 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +161 { +162 if ((i->modechar == modechar) && (i->type == type)) +163 { +164 return true; +165 } +166 } +167 return false; +168 } .fi +.PP .SS "int ModeDefinedOff (char modechar, int type)" .PP -Definition at line 207 of file modules.cpp. +Definition at line 208 of file modules.cpp. .PP -References EMode, and ExtModeListIter. +References EMode. .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 } +209 { +210 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +211 { +212 if ((i->modechar == modechar) && (i->type == type)) +213 { +214 return i->params_when_off; +215 } +216 } +217 return 0; +218 } .fi +.PP .SS "int ModeDefinedOn (char modechar, int type)" .PP -Definition at line 194 of file modules.cpp. +Definition at line 195 of file modules.cpp. .PP -References EMode, and ExtModeListIter. +References EMode. .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 } +196 { +197 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +198 { +199 if ((i->modechar == modechar) && (i->type == type)) +200 { +201 return i->params_when_on; +202 } +203 } +204 return 0; +205 } .fi +.PP .SS "bool ModeDefinedOper (char modechar, int type)" .PP -Definition at line 181 of file modules.cpp. +Definition at line 182 of file modules.cpp. .PP -References EMode, and ExtModeListIter. +References EMode. .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 } +183 { +184 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +185 { +186 if ((i->modechar == modechar) && (i->type == type) && (i->needsoper == true)) +187 { +188 return true; +189 } +190 } +191 return false; +192 } .fi +.PP .SS "bool ModeIsListMode (char modechar, int type)" .PP -Definition at line 169 of file modules.cpp. +Definition at line 170 of file modules.cpp. .PP -References EMode, and ExtModeListIter. +References EMode. .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 } +171 { +172 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +173 { +174 if ((i->modechar == modechar) && (i->type == type) && (i->list == true)) +175 { +176 return true; +177 } +178 } +179 return false; +180 } .fi +.PP .SS "void ModeMakeList (char modechar)" .PP -Definition at line 230 of file modules.cpp. +Definition at line 231 of file modules.cpp. .PP -References EMode, ExtModeListIter, and MT_CHANNEL. +References EMode, 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 } +232 { +233 for (ExtModeListIter i = EMode.begin(); i < EMode.end(); i++) +234 { +235 if ((i->modechar == modechar) && (i->type == MT_CHANNEL)) +236 { +237 i->list = true; +238 return; +239 } +240 } +241 return; +242 } .fi +.PP .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<long> \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. +Definition at line 155 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<std::string> \fBinclude_stack\fP" -.PP -Definition at line 75 of file modules.cpp. +.SS "std::vector<\fBstd::string\fP> \fBinclude_stack\fP" .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. +Definition at line 81 of file channels.cpp. .SS "int \fBMODCOUNT\fP = -1" .PP -Definition at line 1019 of file modules.cpp. -.SS "std::vector<std::string> \fBmodule_names\fP" +Definition at line 994 of file modules.cpp. +.SS "std::vector<\fBstd::string\fP> \fBmodule_names\fP" .PP -Definition at line 103 of file modules.cpp. +.SS "std::vector<\fBInspSocket\fP*> \fBmodule_sockets\fP" +.PP +Referenced by Server::AddSocket(), and Server::DelSocket(). .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. diff --git a/docs/man/man3/modules.h.3 b/docs/man/man3/modules.h.3 index 3d5c084f4..36b65e742 100644 --- a/docs/man/man3/modules.h.3 +++ b/docs/man/man3/modules.h.3 @@ -1,4 +1,4 @@ -.TH "modules.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "modules.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -12,6 +12,8 @@ modules.h \- .br \fC#include 'ctables.h'\fP .br +\fC#include 'socket.h'\fP +.br \fC#include <string>\fP .br \fC#include <deque>\fP @@ -19,49 +21,49 @@ modules.h \- \fC#include <sstream>\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c +.RI "class \fBVersion\fP" +.br +.RI "\fIHolds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module. \fP" +.ti -1c .RI "class \fBAdmin\fP" .br .RI "\fIHolds /ADMIN data This class contains the admin details of the local server. \fP" .ti -1c -.RI "class \fBConfigReader\fP" +.RI "class \fBModuleMessage\fP" .br -.RI "\fIAllows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file. \fP" +.RI "\fIThe ModuleMessage class is the base class of \fBRequest\fP and \fBEvent\fP This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. \fP" .ti -1c -.RI "class \fBEvent\fP" +.RI "class \fBRequest\fP" .br -.RI "\fIThe Event class is a unicast message directed at all modules. \fP" +.RI "\fIThe Request class is a unicast message directed at a given module. \fP" .ti -1c -.RI "class \fBFileReader\fP" +.RI "class \fBEvent\fP" .br -.RI "\fICaches a text file into memory and can be used to retrieve lines from it. \fP" +.RI "\fIThe Event class is a unicast message directed at all modules. \fP" .ti -1c .RI "class \fBModule\fP" .br .RI "\fIBase class for all InspIRCd modules This class is the base class for InspIRCd modules. \fP" .ti -1c -.RI "class \fBModuleFactory\fP" -.br -.RI "\fIInstantiates classes inherited from \fBModule\fP This class creates a class inherited from type \fBModule\fP, using new. \fP" -.ti -1c -.RI "class \fBModuleMessage\fP" +.RI "class \fBServer\fP" .br -.RI "\fIThe ModuleMessage class is the base class of \fBRequest\fP and \fBEvent\fP This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. \fP" +.RI "\fIAllows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. \fP" .ti -1c -.RI "class \fBRequest\fP" +.RI "class \fBConfigReader\fP" .br -.RI "\fIThe Request class is a unicast message directed at a given module. \fP" +.RI "\fIAllows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file. \fP" .ti -1c -.RI "class \fBServer\fP" +.RI "class \fBFileReader\fP" .br -.RI "\fIAllows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. \fP" +.RI "\fICaches a text file into memory and can be used to retrieve lines from it. \fP" .ti -1c -.RI "class \fBVersion\fP" +.RI "class \fBModuleFactory\fP" .br -.RI "\fIHolds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module. \fP" +.RI "\fIInstantiates classes inherited from \fBModule\fP This class creates a class inherited from type \fBModule\fP, using new. \fP" .in -1c .SS "Defines" @@ -164,7 +166,7 @@ modules.h \- .in +1c .ti -1c -.RI "typedef std::deque< std::string > \fBfile_cache\fP" +.RI "typedef std::deque< \fBstd::string\fP > \fBfile_cache\fP" .br .RI "\fILow level definition of a \fBFileReader\fP classes file cache area. \fP" .ti -1c @@ -230,45 +232,47 @@ Referenced by Module::OnAccessCheck(). Definition at line 38 of file modules.h. .SS "#define CONF_FILE_NOT_FOUND 0x000200" .PP -Definition at line 1141 of file modules.h. +Definition at line 1112 of file modules.h. .PP Referenced by ConfigReader::ConfigReader(). .SS "#define CONF_NOT_A_NUMBER 0x000010" .PP -Definition at line 1138 of file modules.h. +Definition at line 1109 of file modules.h. .PP Referenced by ConfigReader::ReadInteger(). .SS "#define CONF_NOT_UNSIGNED 0x000080" .PP -Definition at line 1139 of file modules.h. +Definition at line 1110 of file modules.h. .PP Referenced by ConfigReader::ReadInteger(). .SS "#define CONF_VALUE_NOT_FOUND 0x000100" .PP -Definition at line 1140 of file modules.h. +Definition at line 1111 of file modules.h. .PP Referenced by ConfigReader::ReadFlag(), ConfigReader::ReadInteger(), and ConfigReader::ReadValue(). .SS "#define DEBUG 10" .PP Definition at line 23 of file modules.h. .PP -Referenced by Server::AddExtendedMode(), serverrec::AddIncoming(), chanrec::AddUser(), chanrec::DelUser(), userrec::HasPermission(), chanrec::IsCustomModeSet(), serverrec::RecvPacket(), userrec::RemoveInvite(), serverrec::SendPacket(), chanrec::SetCustomMode(), chanrec::SetCustomModeParam(), userrec::SetWriteError(), and Server::UserToPseudo(). +Referenced by Server::AddExtendedMode(), chanrec::AddUser(), chanrec::DelUser(), userrec::HasPermission(), InspSocket::InspSocket(), chanrec::IsCustomModeSet(), InspSocket::Read(), userrec::ReadData(), userrec::RemoveInvite(), chanrec::SetCustomMode(), chanrec::SetCustomModeParam(), InspSocket::SetState(), userrec::SetWriteError(), and Server::UserToPseudo(). .SS "#define DEFAULT 30" .PP Definition at line 25 of file modules.h. .SS "#define FD_MAGIC_NUMBER -42" .PP -Definition at line 99 of file modules.h. +Definition at line 100 of file modules.h. .PP Referenced by Server::PseudoToUser(), and Server::UserToPseudo(). .SS "#define FOREACH_MOD for (int _i = 0; _i <= \fBMODCOUNT\fP; _i++) modules[_i]->" .PP -Definition at line 79 of file modules.h. +Definition at line 80 of file modules.h. .PP Referenced by Event::Send(). .SS "#define FOREACH_RESULT(x)" .PP -\fBValue:\fP.nf +\fBValue:\fP +.PP +.nf { MOD_RESULT = 0; \ for (int _i = 0; _i <= MODCOUNT; _i++) { \ int res = modules[_i]->x ; \ @@ -280,7 +284,7 @@ Referenced by Event::Send(). } .fi .PP -Definition at line 87 of file modules.h. +Definition at line 88 of file modules.h. .SS "#define MT_CHANNEL 1" .PP Definition at line 31 of file modules.h. @@ -323,22 +327,20 @@ Referenced by Module::GetVersion(). .PP .SS "typedef std::deque<\fBuserrec\fP*> \fBchanuserlist\fP" .PP -Holds a list of users in a channel. Definition at line 72 of file modules.h. +Holds a list of users in a channel. .PP -Referenced by Server::GetUsers(). -.SS "typedef std::deque<std::string> \fBfile_cache\fP" +Definition at line 73 of file modules.h. +.SS "typedef std::deque<\fBstd::string\fP> \fBfile_cache\fP" .PP -Low level definition of a \fBFileReader\fP classes file cache area. Definition at line 67 of file modules.h. +Low level definition of a \fBFileReader\fP classes file cache area. .PP -Referenced by FileReader::FileReader(), and FileReader::LoadFile(). +Definition at line 68 of file modules.h. .SS "typedef DLLFactory<\fBModuleFactory\fP> \fBircd_module\fP" .PP -Definition at line 1307 of file modules.h. +Definition at line 1278 of file modules.h. .SS "typedef \fBfile_cache\fP \fBstring_list\fP" .PP -Definition at line 68 of file modules.h. -.PP -Referenced by Module::OnChannelSync(), and Module::OnUserSync(). +Definition at line 69 of file modules.h. .SH "Function Documentation" .PP .SS "void createcommand (char * cmd, handlerfunc f, char flags, int minparams, char * source)" @@ -346,7 +348,6 @@ Referenced by Module::OnChannelSync(), and Module::OnUserSync(). Referenced by Server::AddCommand(). .SS "void server_mode (char ** parameters, int pcnt, \fBuserrec\fP * user)" .PP -Referenced by Server::SendMode(). .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/nspace.3 b/docs/man/man3/nspace.3 index a70d80f53..44ac7474d 100644 --- a/docs/man/man3/nspace.3 +++ b/docs/man/man3/nspace.3 @@ -1,4 +1,4 @@ -.TH "nspace" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "nspace" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -6,14 +6,14 @@ nspace \- .SH SYNOPSIS .br .PP -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c -.RI "struct \fBnspace.hash< in_addr >\fP" +.RI "struct \fBhash< in_addr >\fP" .br .ti -1c -.RI "struct \fBnspace.hash< string >\fP" +.RI "struct \fBhash< string >\fP" .br .in -1c .SH "Author" diff --git a/docs/man/man3/std.3 b/docs/man/man3/std.3 index d7536d797..e566786d7 100644 --- a/docs/man/man3/std.3 +++ b/docs/man/man3/std.3 @@ -1,4 +1,4 @@ -.TH "std" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "std" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/man/man3/std_char_traits.3 b/docs/man/man3/std_char_traits.3 index 5d2b39799..dcf736b14 100644 --- a/docs/man/man3/std_char_traits.3 +++ b/docs/man/man3/std_char_traits.3 @@ -1,4 +1,4 @@ -.TH "std::char_traits" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "std::char_traits" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME diff --git a/docs/man/man3/ucrec.3 b/docs/man/man3/ucrec.3 index be2545aaa..464b9ab48 100644 --- a/docs/man/man3/ucrec.3 +++ b/docs/man/man3/ucrec.3 @@ -1,4 +1,4 @@ -.TH "ucrec" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "ucrec" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -28,7 +28,7 @@ Inherits \fBclassbase\fP. .ti -1c .RI "char \fBuc_modes\fP" .br -.RI "\fIContains a bitmask of the UCMODE_OP ... \fP" +.RI "\fIContains a bitmask of the UCMODE_OP . \fP" .ti -1c .RI "\fBchanrec\fP * \fBchannel\fP" .br @@ -38,7 +38,7 @@ Inherits \fBclassbase\fP. .PP Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class. -The uc_modes member holds a bitmask of which privilages the user has on the channel, such as op, voice, etc. +The uc_modes member holds a bitmask of which privilages the user has on the channel, such as op, voice, etc. .PP Definition at line 241 of file channels.h. .SH "Constructor & Destructor Documentation" @@ -50,23 +50,33 @@ Definition at line 254 of file channels.h. .nf 254 { /* stub */ } .fi -.SS "virtual ucrec::~\fBucrec\fP ()\fC [inline, virtual]\fP" +.PP +.SS "virtual ucrec::~ucrec ()\fC [inline, virtual]\fP" .PP Definition at line 255 of file channels.h. .PP .nf 255 { /* stub */ } .fi +.PP .SH "Member Data Documentation" .PP .SS "\fBchanrec\fP* \fBucrec::channel\fP" .PP -Points to the channel record where the given modes apply. If the record is not in use, this value will be NULL.Definition at line 252 of file channels.h. +Points to the channel record where the given modes apply. +.PP +If the record is not in use, this value will be NULL. +.PP +Definition at line 252 of file channels.h. .PP Referenced by Server::PseudoToUser(), and userrec::userrec(). .SS "char \fBucrec::uc_modes\fP" .PP -Contains a bitmask of the UCMODE_OP ... UCMODE_FOUNDER values. If this value is zero, the user has no privilages upon the channel.Definition at line 247 of file channels.h. +Contains a bitmask of the UCMODE_OP . +.PP +.. UCMODE_FOUNDER values. If this value is zero, the user has no privilages upon the channel. +.PP +Definition at line 247 of file channels.h. .PP Referenced by userrec::userrec(). diff --git a/docs/man/man3/userrec.3 b/docs/man/man3/userrec.3 index e5d14b57f..dd6cda28e 100644 --- a/docs/man/man3/userrec.3 +++ b/docs/man/man3/userrec.3 @@ -1,4 +1,4 @@ -.TH "userrec" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "userrec" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -50,7 +50,7 @@ Inherits \fBconnection\fP. .br .RI "\fICalls read() to read some data for this user using their fd. \fP" .ti -1c -.RI "bool \fBAddBuffer\fP (std::string a)" +.RI "bool \fBAddBuffer\fP (\fBstd::string\fP a)" .br .RI "\fIThis method adds data to the buffer of the user. \fP" .ti -1c @@ -62,19 +62,19 @@ Inherits \fBconnection\fP. .br .RI "\fIThis function clears the entire buffer by setting it to an empty string. \fP" .ti -1c -.RI "std::string \fBGetBuffer\fP ()" +.RI "\fBstd::string\fP \fBGetBuffer\fP ()" .br .RI "\fIThis method returns the first available string at the tail end of the buffer and advances the tail end of the buffer past the string. \fP" .ti -1c -.RI "void \fBSetWriteError\fP (std::string error)" +.RI "void \fBSetWriteError\fP (\fBstd::string\fP error)" .br .RI "\fISets the write error for a connection. \fP" .ti -1c -.RI "std::string \fBGetWriteError\fP ()" +.RI "\fBstd::string\fP \fBGetWriteError\fP ()" .br .RI "\fIReturns the write error which last occured on this connection or an empty string if none occured. \fP" .ti -1c -.RI "void \fBAddWriteBuf\fP (std::string data)" +.RI "void \fBAddWriteBuf\fP (\fBstd::string\fP data)" .br .RI "\fIAdds to the user's write buffer. \fP" .ti -1c @@ -149,11 +149,11 @@ Inherits \fBconnection\fP. .br .RI "\fIPassword specified by the user when they registered. \fP" .ti -1c -.RI "std::string \fBrecvq\fP" +.RI "\fBstd::string\fP \fBrecvq\fP" .br .RI "\fIUser's receive queue. \fP" .ti -1c -.RI "std::string \fBsendq\fP" +.RI "\fBstd::string\fP \fBsendq\fP" .br .RI "\fIUser's send queue. \fP" .ti -1c @@ -167,7 +167,7 @@ Inherits \fBconnection\fP. .RI "long \fBthreshold\fP" .br .ti -1c -.RI "std::string \fBWriteError\fP" +.RI "\fBstd::string\fP \fBWriteError\fP" .br .ti -1c .RI "long \fBsendqmax\fP" @@ -190,401 +190,475 @@ Inherits \fBconnection\fP. .PP Holds all information about a user This class stores all information about a user connected to the irc server. -Everything about a connection is stored here primarily, from the user's socket ID (file descriptor) through to the user's nickname and hostname. Use the Find method of the server class to locate a specific user by nickname. +Everything about a connection is stored here primarily, from the user's socket ID (file descriptor) through to the user's nickname and hostname. Use the Find method of the server class to locate a specific user by nickname. .PP Definition at line 108 of file users.h. .SH "Constructor & Destructor Documentation" .PP .SS "userrec::userrec ()" .PP -Definition at line 32 of file users.cpp. +Definition at line 33 of file users.cpp. .PP References awaymsg, connection::bytes_in, connection::bytes_out, ucrec::channel, chans, connection::cmds_in, connection::cmds_out, dhost, dns_done, connection::fd, flood, fullname, connection::haspassed, connection::host, ident, connection::idle_lastmsg, invites, connection::ip, connection::lastping, lines_in, modes, nick, connection::nping, oper, connection::port, recvq, connection::registered, reset_due, sendq, server, ServerName, connection::signon, TIME, timeout, and ucrec::uc_modes. .PP .nf -33 { -34 // the PROPER way to do it, AVOID bzero at *ALL* costs -35 strcpy(nick,''); -36 strcpy(ip,'127.0.0.1'); -37 timeout = 0; -38 strcpy(ident,''); -39 strcpy(host,''); -40 strcpy(dhost,''); -41 strcpy(fullname,''); -42 strcpy(modes,''); -43 server = (char*)FindServerNamePtr(ServerName); -44 strcpy(awaymsg,''); -45 strcpy(oper,''); -46 reset_due = TIME; -47 lines_in = 0; -48 fd = lastping = signon = idle_lastmsg = nping = registered = 0; -49 flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0; -50 haspassed = false; -51 dns_done = false; -52 recvq = ''; -53 sendq = ''; -54 for (int i = 0; i < MAXCHANS; i++) -55 { -56 this->chans[i].channel = NULL; -57 this->chans[i].uc_modes = 0; -58 } -59 invites.clear(); -60 } +34 { +35 // the PROPER way to do it, AVOID bzero at *ALL* costs +36 strcpy(nick,''); +37 strcpy(ip,'127.0.0.1'); +38 timeout = 0; +39 strcpy(ident,''); +40 strcpy(host,''); +41 strcpy(dhost,''); +42 strcpy(fullname,''); +43 strcpy(modes,''); +44 server = (char*)FindServerNamePtr(ServerName); +45 strcpy(awaymsg,''); +46 strcpy(oper,''); +47 reset_due = TIME; +48 lines_in = 0; +49 fd = lastping = signon = idle_lastmsg = nping = registered = 0; +50 flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0; +51 haspassed = false; +52 dns_done = false; +53 recvq = ''; +54 sendq = ''; +55 for (int i = 0; i < MAXCHANS; i++) +56 { +57 this->chans[i].channel = NULL; +58 this->chans[i].uc_modes = 0; +59 } +60 invites.clear(); +61 } .fi -.SS "virtual userrec::~\fBuserrec\fP ()\fC [inline, virtual]\fP" +.PP +.SS "virtual userrec::~userrec ()\fC [inline, virtual]\fP" .PP Definition at line 221 of file users.h. .PP .nf 221 { } .fi +.PP .SH "Member Function Documentation" .PP -.SS "bool userrec::AddBuffer (std::string a)" +.SS "bool userrec::AddBuffer (\fBstd::string\fP a)" +.PP +This method adds data to the buffer of the user. .PP -This method adds data to the buffer of the user. The buffer can grow to any size within limits of the available memory, managed by the size of a std::string, however if any individual line in the buffer grows over 600 bytes in length (which is 88 chars over the RFC-specified limit per line) then the method will return false and the text will not be inserted.Definition at line 192 of file users.cpp. +The buffer can grow to any size within limits of the available memory, managed by the size of a \fBstd::string\fP, however if any individual line in the buffer grows over 600 bytes in length (which is 88 chars over the RFC-specified limit per line) then the method will return false and the text will not be inserted. +.PP +Definition at line 194 of file users.cpp. .PP References recvq, recvqmax, and SetWriteError(). .PP .nf -193 { -194 std::string b = ''; -195 for (int i = 0; i < a.length(); i++) -196 if ((a[i] != '\r') && (a[i] != '\0') && (a[i] != 7)) -197 b = b + a[i]; -198 std::stringstream stream(recvq); -199 stream << b; -200 recvq = stream.str(); -201 int i = 0; -202 // count the size of the first line in the buffer. -203 while (i < recvq.length()) -204 { -205 if (recvq[i++] == '\n') -206 break; -207 } -208 if (recvq.length() > this->recvqmax) -209 { -210 this->SetWriteError('RecvQ exceeded'); -211 WriteOpers('*** User %s RecvQ of %d exceeds connect class maximum of %d',this->nick,recvq.length(),this->recvqmax); -212 } -213 // return false if we've had more than 600 characters WITHOUT -214 // a carriage return (this is BAD, drop the socket) -215 return (i < 600); -216 } +195 { +196 std::string b = ''; +197 for (unsigned int i = 0; i < a.length(); i++) +198 if ((a[i] != '\r') && (a[i] != '\0') && (a[i] != 7)) +199 b = b + a[i]; +200 std::stringstream stream(recvq); +201 stream << b; +202 recvq = stream.str(); +203 unsigned int i = 0; +204 // count the size of the first line in the buffer. +205 while (i < recvq.length()) +206 { +207 if (recvq[i++] == '\n') +208 break; +209 } +210 if (recvq.length() > (unsigned)this->recvqmax) +211 { +212 this->SetWriteError('RecvQ exceeded'); +213 WriteOpers('*** User %s RecvQ of %d exceeds connect class maximum of %d',this->nick,recvq.length(),this->recvqmax); +214 } +215 // return false if we've had more than 600 characters WITHOUT +216 // a carriage return (this is BAD, drop the socket) +217 return (i < 600); +218 } .fi -.SS "void userrec::AddWriteBuf (std::string data)" .PP -Adds to the user's write buffer. You may add any amount of text up to this users sendq value, if you exceed the sendq value, \fBSetWriteError()\fP will be called to set the users error string to 'SendQ exceeded', and further buffer adds will be dropped.Definition at line 248 of file users.cpp. +.SS "void userrec::AddWriteBuf (\fBstd::string\fP data)" +.PP +Adds to the user's write buffer. .PP -References GetWriteError(), sendq, sendqmax, and SetWriteError(). +You may add any amount of text up to this users sendq value, if you exceed the sendq value, \fBSetWriteError()\fP will be called to set the users error string to 'SendQ exceeded', and further buffer adds will be dropped. +.PP +Definition at line 250 of file users.cpp. +.PP +References sendq, sendqmax, and SetWriteError(). .PP .nf -249 { -250 if (this->GetWriteError() != '') -251 return; -252 if (sendq.length() + data.length() > this->sendqmax) -253 { -254 WriteOpers('*** User %s SendQ of %d exceeds connect class maximum of %d',this->nick,sendq.length() + data.length(),this->sendqmax); -255 this->SetWriteError('SendQ exceeded'); -256 return; -257 } -258 std::stringstream stream; -259 stream << sendq << data; -260 sendq = stream.str(); -261 } +251 { +252 if (this->GetWriteError() != '') +253 return; +254 if (sendq.length() + data.length() > (unsigned)this->sendqmax) +255 { +256 WriteOpers('*** User %s SendQ of %d exceeds connect class maximum of %d',this->nick,sendq.length() + data.length(),this->sendqmax); +257 this->SetWriteError('SendQ exceeded'); +258 return; +259 } +260 std::stringstream stream; +261 stream << sendq << data; +262 sendq = stream.str(); +263 } .fi +.PP .SS "bool userrec::BufferIsReady ()" .PP -This method returns true if the buffer contains at least one carriage return character (e.g. one complete line may be read)Definition at line 218 of file users.cpp. +This method returns true if the buffer contains at least one carriage return character (e.g. +.PP +one complete line may be read) +.PP +Definition at line 220 of file users.cpp. .PP References recvq. .PP .nf -219 { -220 for (int i = 0; i < recvq.length(); i++) -221 if (recvq[i] == '\n') -222 return true; -223 return false; -224 } +221 { +222 for (unsigned int i = 0; i < recvq.length(); i++) +223 if (recvq[i] == '\n') +224 return true; +225 return false; +226 } .fi +.PP .SS "void userrec::ClearBuffer ()" .PP -This function clears the entire buffer by setting it to an empty string. Definition at line 226 of file users.cpp. +This function clears the entire buffer by setting it to an empty string. +.PP +Definition at line 228 of file users.cpp. .PP References recvq. .PP Referenced by Server::PseudoToUser(), and Server::UserToPseudo(). .PP .nf -227 { -228 recvq = ''; -229 } +229 { +230 recvq = ''; +231 } .fi +.PP .SS "void userrec::CloseSocket ()" .PP -Shuts down and closes the user's socket. Definition at line 62 of file users.cpp. +Shuts down and closes the user's socket. +.PP +Definition at line 63 of file users.cpp. .PP .nf -63 { -64 shutdown(this->fd,2); -65 close(this->fd); -66 } +64 { +65 shutdown(this->fd,2); +66 close(this->fd); +67 } .fi +.PP .SS "void userrec::FlushWriteBuf ()" .PP -Flushes as much of the user's buffer to the file descriptor as possible. This function may not always flush the entire buffer, rather instead as much of it as it possibly can. If the send() call fails to send the entire buffer, the buffer position is advanced forwards and the rest of the data sent at the next call to this method.Definition at line 264 of file users.cpp. +Flushes as much of the user's buffer to the file descriptor as possible. +.PP +This function may not always flush the entire buffer, rather instead as much of it as it possibly can. If the send() call fails to send the entire buffer, the buffer position is advanced forwards and the rest of the data sent at the next call to this method. +.PP +Definition at line 266 of file users.cpp. .PP References connection::bytes_out, connection::cmds_out, sendq, and SetWriteError(). .PP .nf -265 { -266 if (sendq.length()) -267 { -268 char* tb = (char*)this->sendq.c_str(); -269 int n_sent = write(this->fd,tb,this->sendq.length()); -270 if (n_sent == -1) -271 { -272 this->SetWriteError(strerror(errno)); -273 } -274 else -275 { -276 // advance the queue -277 tb += n_sent; -278 this->sendq = tb; -279 // update the user's stats counters -280 this->bytes_out += n_sent; -281 this->cmds_out++; -282 } -283 } -284 } +267 { +268 if (sendq.length()) +269 { +270 char* tb = (char*)this->sendq.c_str(); +271 int n_sent = write(this->fd,tb,this->sendq.length()); +272 if (n_sent == -1) +273 { +274 this->SetWriteError(strerror(errno)); +275 } +276 else +277 { +278 // advance the queue +279 tb += n_sent; +280 this->sendq = tb; +281 // update the user's stats counters +282 this->bytes_out += n_sent; +283 this->cmds_out++; +284 } +285 } +286 } .fi -.SS "std::string userrec::GetBuffer ()" .PP -This method returns the first available string at the tail end of the buffer and advances the tail end of the buffer past the string. This means it is a one way operation in a similar way to strtok(), and multiple calls return multiple lines if they are available. The results of this function if there are no lines to be read are unknown, always use \fBBufferIsReady()\fP to check if it is ok to read the buffer before calling \fBGetBuffer()\fP.Definition at line 231 of file users.cpp. +.SS "\fBstd::string\fP userrec::GetBuffer ()" +.PP +This method returns the first available string at the tail end of the buffer and advances the tail end of the buffer past the string. +.PP +This means it is a one way operation in a similar way to strtok(), and multiple calls return multiple lines if they are available. The results of this function if there are no lines to be read are unknown, always use \fBBufferIsReady()\fP to check if it is ok to read the buffer before calling \fBGetBuffer()\fP. +.PP +Definition at line 233 of file users.cpp. .PP References recvq. .PP .nf -232 { -233 if (recvq == '') -234 return ''; -235 char* line = (char*)recvq.c_str(); -236 std::string ret = ''; -237 while ((*line != '\n') && (strlen(line))) -238 { -239 ret = ret + *line; -240 line++; -241 } -242 if ((*line == '\n') || (*line == '\r')) -243 line++; -244 recvq = line; -245 return ret; -246 } +234 { +235 if (recvq == '') +236 return ''; +237 char* line = (char*)recvq.c_str(); +238 std::string ret = ''; +239 while ((*line != '\n') && (strlen(line))) +240 { +241 ret = ret + *line; +242 line++; +243 } +244 if ((*line == '\n') || (*line == '\r')) +245 line++; +246 recvq = line; +247 return ret; +248 } .fi +.PP .SS "char * userrec::GetFullHost ()\fC [virtual]\fP" .PP -Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. Definition at line 68 of file users.cpp. +Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. +.PP +Definition at line 69 of file users.cpp. .PP References dhost, ident, and nick. .PP .nf -69 { -70 static char result[MAXBUF]; -71 snprintf(result,MAXBUF,'%s!%s@%s',nick,ident,dhost); -72 return result; -73 } +70 { +71 static char result[MAXBUF]; +72 snprintf(result,MAXBUF,'%s!%s@%s',nick,ident,dhost); +73 return result; +74 } .fi +.PP .SS "char * userrec::GetFullRealHost ()\fC [virtual]\fP" .PP -Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. 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 85 of file users.cpp. +Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. +.PP +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. +.PP +Definition at line 87 of file users.cpp. .PP References connection::host, ident, and nick. .PP .nf -86 { -87 static char fresult[MAXBUF]; -88 snprintf(fresult,MAXBUF,'%s!%s@%s',nick,ident,host); -89 return fresult; -90 } +88 { +89 static char fresult[MAXBUF]; +90 snprintf(fresult,MAXBUF,'%s!%s@%s',nick,ident,host); +91 return fresult; +92 } .fi +.PP .SS "\fBInvitedList\fP * userrec::GetInviteList ()" .PP -Returns the list of channels this user has been invited to but has not yet joined. Definition at line 106 of file users.cpp. +Returns the list of channels this user has been invited to but has not yet joined. .PP -References InvitedList, and invites. +Definition at line 108 of file users.cpp. +.PP +References invites. .PP .nf -107 { -108 return &invites; -109 } +109 { +110 return &invites; +111 } .fi -.SS "std::string userrec::GetWriteError ()" .PP -Returns the write error which last occured on this connection or an empty string if none occured. Definition at line 294 of file users.cpp. +.SS "\fBstd::string\fP userrec::GetWriteError ()" .PP -References WriteError. +Returns the write error which last occured on this connection or an empty string if none occured. .PP -Referenced by AddWriteBuf(). +Definition at line 296 of file users.cpp. +.PP +References WriteError. .PP .nf -295 { -296 return this->WriteError; -297 } +297 { +298 return this->WriteError; +299 } .fi +.PP .SS "bool userrec::HasPermission (char * command)" .PP -Returns true or false for if a user can execute a privilaged oper command. This is done by looking up their oper type from \fBuserrec::oper\fP, then referencing this to their oper classes and checking the commands they can execute.Definition at line 140 of file users.cpp. +Returns true or false for if a user can execute a privilaged oper command. +.PP +This is done by looking up their oper type from \fBuserrec::oper\fP, then referencing this to their oper classes and checking the commands they can execute. +.PP +Definition at line 142 of file users.cpp. .PP References config_f, and DEBUG. .PP .nf -141 { -142 char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF]; -143 char* mycmd; -144 char* savept; -145 char* savept2; -146 -147 // are they even an oper at all? -148 if (strchr(this->modes,'o')) -149 { -150 log(DEBUG,'*** HasPermission: %s is an oper',this->nick); -151 for (int j =0; j < ConfValueEnum('type',&config_f); j++) -152 { -153 ConfValue('type','name',j,TypeName,&config_f); -154 if (!strcmp(TypeName,this->oper)) -155 { -156 log(DEBUG,'*** HasPermission: %s is an oper of type '%s'',this->nick,this->oper); -157 ConfValue('type','classes',j,Classes,&config_f); -158 char* myclass = strtok_r(Classes,' ',&savept); -159 while (myclass) -160 { -161 log(DEBUG,'*** HasPermission: checking classtype '%s'',myclass); -162 for (int k =0; k < ConfValueEnum('class',&config_f); k++) -163 { -164 ConfValue('class','name',k,ClassName,&config_f); -165 if (!strcmp(ClassName,myclass)) -166 { -167 ConfValue('class','commands',k,CommandList,&config_f); -168 log(DEBUG,'*** HasPermission: found class named %s with commands: '%s'',ClassName,CommandList); -169 -170 -171 mycmd = strtok_r(CommandList,' ',&savept2); -172 while (mycmd) -173 { -174 if (!strcasecmp(mycmd,command)) -175 { -176 log(DEBUG,'*** Command %s found, returning true',command); -177 return true; -178 } -179 mycmd = strtok_r(NULL,' ',&savept2); -180 } -181 } -182 } -183 myclass = strtok_r(NULL,' ',&savept); -184 } -185 } -186 } -187 } -188 return false; -189 } +143 { +144 char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF]; +145 char* mycmd; +146 char* savept; +147 char* savept2; +148 +149 // are they even an oper at all? +150 if (strchr(this->modes,'o')) +151 { +152 log(DEBUG,'*** HasPermission: %s is an oper',this->nick); +153 for (int j =0; j < ConfValueEnum('type',&config_f); j++) +154 { +155 ConfValue('type','name',j,TypeName,&config_f); +156 if (!strcmp(TypeName,this->oper)) +157 { +158 log(DEBUG,'*** HasPermission: %s is an oper of type '%s'',this->nick,this->oper); +159 ConfValue('type','classes',j,Classes,&config_f); +160 char* myclass = strtok_r(Classes,' ',&savept); +161 while (myclass) +162 { +163 log(DEBUG,'*** HasPermission: checking classtype '%s'',myclass); +164 for (int k =0; k < ConfValueEnum('class',&config_f); k++) +165 { +166 ConfValue('class','name',k,ClassName,&config_f); +167 if (!strcmp(ClassName,myclass)) +168 { +169 ConfValue('class','commands',k,CommandList,&config_f); +170 log(DEBUG,'*** HasPermission: found class named %s with commands: '%s'',ClassName,CommandList); +171 +172 +173 mycmd = strtok_r(CommandList,' ',&savept2); +174 while (mycmd) +175 { +176 if (!strcasecmp(mycmd,command)) +177 { +178 log(DEBUG,'*** Command %s found, returning true',command); +179 return true; +180 } +181 mycmd = strtok_r(NULL,' ',&savept2); +182 } +183 } +184 } +185 myclass = strtok_r(NULL,' ',&savept); +186 } +187 } +188 } +189 } +190 return false; +191 } .fi +.PP .SS "void userrec::InviteTo (char * channel)\fC [virtual]\fP" .PP -Adds a channel to a users invite list (invites them to a channel). Definition at line 111 of file users.cpp. +Adds a channel to a users invite list (invites them to a channel). +.PP +Definition at line 113 of file users.cpp. .PP References Invited::channel, and invites. .PP .nf -112 { -113 Invited i; -114 strlcpy(i.channel,channel,CHANMAX); -115 invites.push_back(i); -116 } +114 { +115 Invited i; +116 strlcpy(i.channel,channel,CHANMAX); +117 invites.push_back(i); +118 } .fi +.PP .SS "bool userrec::IsInvited (char * channel)\fC [virtual]\fP" .PP -Returns true if a user is invited to a channel. Definition at line 92 of file users.cpp. +Returns true if a user is invited to a channel. +.PP +Definition at line 94 of file users.cpp. .PP References invites. .PP .nf -93 { -94 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) -95 { -96 if (i->channel) { -97 if (!strcasecmp(i->channel,channel)) -98 { -99 return true; -100 } -101 } -102 } -103 return false; -104 } +95 { +96 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) +97 { +98 if (i->channel) { +99 if (!strcasecmp(i->channel,channel)) +100 { +101 return true; +102 } +103 } +104 } +105 return false; +106 } .fi +.PP .SS "int userrec::ReadData (void * buffer, size_t size)" .PP -Calls read() to read some data for this user using their fd. Definition at line 75 of file users.cpp. +Calls read() to read some data for this user using their fd. +.PP +Definition at line 76 of file users.cpp. .PP -References connection::fd. +References DEBUG. .PP .nf -76 { -77 if (this->fd > -1) -78 { -79 return read(this->fd, buffer, size); -80 } -81 else return 0; -82 } +77 { +78 if (this->fd > -1) +79 { +80 log(DEBUG,'userrec::ReadData on fd %d',this->fd); +81 return read(this->fd, buffer, size); +82 } +83 else return 0; +84 } .fi +.PP .SS "void userrec::RemoveInvite (char * channel)\fC [virtual]\fP" .PP -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 118 of file users.cpp. +Removes a channel from a users invite list. +.PP +This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation. +.PP +Definition at line 120 of file users.cpp. .PP References DEBUG, and invites. .PP .nf -119 { -120 log(DEBUG,'Removing invites'); -121 if (channel) -122 { -123 if (invites.size()) -124 { -125 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) -126 { -127 if (i->channel) -128 { -129 if (!strcasecmp(i->channel,channel)) -130 { -131 invites.erase(i); -132 return; -133 } -134 } -135 } -136 } -137 } -138 } +121 { +122 log(DEBUG,'Removing invites'); +123 if (channel) +124 { +125 if (invites.size()) +126 { +127 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++) +128 { +129 if (i->channel) +130 { +131 if (!strcasecmp(i->channel,channel)) +132 { +133 invites.erase(i); +134 return; +135 } +136 } +137 } +138 } +139 } +140 } .fi -.SS "void userrec::SetWriteError (std::string error)" .PP -Sets the write error for a connection. This is done because the actual disconnect of a client may occur at an inopportune time such as half way through /LIST output. The WriteErrors of clients are checked at a more ideal time (in the mainloop) and errored clients purged.Definition at line 286 of file users.cpp. +.SS "void userrec::SetWriteError (\fBstd::string\fP error)" +.PP +Sets the write error for a connection. +.PP +This is done because the actual disconnect of a client may occur at an inopportune time such as half way through /LIST output. The WriteErrors of clients are checked at a more ideal time (in the mainloop) and errored clients purged. +.PP +Definition at line 288 of file users.cpp. .PP References DEBUG, and WriteError. .PP Referenced by AddBuffer(), AddWriteBuf(), and FlushWriteBuf(). .PP .nf -287 { -288 log(DEBUG,'Setting error string for %s to '%s'',this->nick,error.c_str()); -289 // don't try to set the error twice, its already set take the first string. -290 if (this->WriteError == '') -291 this->WriteError = error; -292 } +289 { +290 log(DEBUG,'Setting error string for %s to '%s'',this->nick,error.c_str()); +291 // don't try to set the error twice, its already set take the first string. +292 if (this->WriteError == '') +293 this->WriteError = error; +294 } .fi +.PP .SH "Member Data Documentation" .PP .SS "char \fBuserrec::awaymsg\fP[MAXAWAY+1]" .PP -The user's away message. If this string is empty, the user is not marked as away.Definition at line 155 of file users.h. +The user's away message. +.PP +If this string is empty, the user is not marked as away. +.PP +Definition at line 155 of file users.h. .PP Referenced by userrec(). .SS "\fBucrec\fP \fBuserrec::chans\fP[MAXCHANS]" @@ -594,68 +668,110 @@ Definition at line 146 of file users.h. Referenced by Server::PseudoToUser(), and userrec(). .SS "char \fBuserrec::dhost\fP[160]" .PP -The host displayed to non-opers (used for cloaking etc). This usually matches the value of \fBuserrec::host\fP.Definition at line 131 of file users.h. +The host displayed to non-opers (used for cloaking etc). +.PP +This usually matches the value of \fBuserrec::host\fP. +.PP +Definition at line 131 of file users.h. .PP Referenced by GetFullHost(), and userrec(). .SS "bool \fBuserrec::dns_done\fP" .PP -True when \fBDNS\fP lookups are completed. Definition at line 178 of file users.h. +True when \fBDNS\fP lookups are completed. +.PP +Definition at line 178 of file users.h. .PP Referenced by userrec(). .SS "int \fBuserrec::flood\fP" .PP -Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood. Definition at line 161 of file users.h. +Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood. +.PP +Definition at line 161 of file users.h. .PP Referenced by userrec(). .SS "char \fBuserrec::fullname\fP[MAXGECOS+1]" .PP -The users full name. Definition at line 135 of file users.h. +The users full name. +.PP +Definition at line 135 of file users.h. .PP Referenced by userrec(). .SS "char \fBuserrec::ident\fP[IDENTMAX+2]" .PP -The users ident reply. Two characters are added to the user-defined limit to compensate for the tilde etc.Definition at line 126 of file users.h. +The users ident reply. +.PP +Two characters are added to the user-defined limit to compensate for the tilde etc. +.PP +Definition at line 126 of file users.h. .PP Referenced by GetFullHost(), GetFullRealHost(), Server::PseudoToUser(), userrec(), and Server::UserToPseudo(). .SS "\fBInvitedList\fP \fBuserrec::invites\fP\fC [private]\fP" .PP -A list of channels the user has a pending invite to. Definition at line 114 of file users.h. +A list of channels the user has a pending invite to. +.PP +Definition at line 114 of file users.h. .PP Referenced by GetInviteList(), InviteTo(), IsInvited(), RemoveInvite(), and userrec(). .SS "int \fBuserrec::lines_in\fP" .PP -Flood counters. Definition at line 203 of file users.h. +Flood counters. +.PP +Definition at line 203 of file users.h. .PP Referenced by userrec(). .SS "char \fBuserrec::modes\fP[54]" .PP -The user's mode string. This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit. it is limited to length 54, as there can only be a maximum of 52 user modes (26 upper, 26 lower case) a null terminating char, and an optional + character.Definition at line 144 of file users.h. +The user's mode string. +.PP +This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit. it is limited to length 54, as there can only be a maximum of 52 user modes (26 upper, 26 lower case) a null terminating char, and an optional + character. +.PP +Definition at line 144 of file users.h. .PP Referenced by userrec(). .SS "char \fBuserrec::nick\fP[NICKMAX]" .PP -The users nickname. An invalid nickname indicates an unregistered connection prior to the NICK command.Definition at line 121 of file users.h. +The users nickname. +.PP +An invalid nickname indicates an unregistered connection prior to the NICK command. +.PP +Definition at line 121 of file users.h. .PP Referenced by ConfigReader::DumpErrors(), GetFullHost(), GetFullRealHost(), Server::PseudoToUser(), and userrec(). .SS "char \fBuserrec::oper\fP[NICKMAX]" .PP -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 174 of file users.h. +The oper type they logged in as, if they are an oper. +.PP +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. +.PP +Definition at line 174 of file users.h. .PP Referenced by userrec(). .SS "char \fBuserrec::password\fP[MAXBUF]" .PP -Password specified by the user when they registered. This is stored even if the block doesnt need a password, so that modules may check it.Definition at line 188 of file users.h. +Password specified by the user when they registered. +.PP +This is stored even if the <connect> block doesnt need a password, so that modules may check it. +.PP +Definition at line 188 of file users.h. .SS "unsigned int \fBuserrec::pingmax\fP" .PP -Number of seconds between PINGs for this user (set from <connect:allow> tag. Definition at line 182 of file users.h. -.SS "std::string \fBuserrec::recvq\fP" +Number of seconds between PINGs for this user (set from <connect:allow> tag. .PP -User's receive queue. Lines from the IRCd awaiting processing are stored here. Upgraded april 2005, old system a bit hairy.Definition at line 194 of file users.h. +Definition at line 182 of file users.h. +.SS "\fBstd::string\fP \fBuserrec::recvq\fP" +.PP +User's receive queue. +.PP +Lines from the IRCd awaiting processing are stored here. Upgraded april 2005, old system a bit hairy. +.PP +Definition at line 194 of file users.h. .PP Referenced by AddBuffer(), BufferIsReady(), ClearBuffer(), GetBuffer(), and userrec(). .SS "long \fBuserrec::recvqmax\fP" .PP -Maximum size this user's recvq can become. Definition at line 217 of file users.h. +Maximum size this user's recvq can become. +.PP +Definition at line 217 of file users.h. .PP Referenced by AddBuffer(). .SS "time_t \fBuserrec::reset_due\fP" @@ -663,19 +779,27 @@ Referenced by AddBuffer(). Definition at line 204 of file users.h. .PP Referenced by userrec(). -.SS "std::string \fBuserrec::sendq\fP" +.SS "\fBstd::string\fP \fBuserrec::sendq\fP" +.PP +User's send queue. .PP -User's send queue. Lines waiting to be sent are stored here until their buffer is flushed.Definition at line 199 of file users.h. +Lines waiting to be sent are stored here until their buffer is flushed. +.PP +Definition at line 199 of file users.h. .PP Referenced by AddWriteBuf(), FlushWriteBuf(), and userrec(). .SS "long \fBuserrec::sendqmax\fP" .PP -Maximum size this user's sendq can become. Definition at line 213 of file users.h. +Maximum size this user's sendq can become. +.PP +Definition at line 213 of file users.h. .PP Referenced by AddWriteBuf(). .SS "char* \fBuserrec::server\fP" .PP -The server the user is connected to. Definition at line 150 of file users.h. +The server the user is connected to. +.PP +Definition at line 150 of file users.h. .PP Referenced by userrec(). .SS "long \fBuserrec::threshold\fP" @@ -683,10 +807,12 @@ Referenced by userrec(). Definition at line 205 of file users.h. .SS "unsigned int \fBuserrec::timeout\fP" .PP -Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected. Definition at line 167 of file users.h. +Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected. +.PP +Definition at line 167 of file users.h. .PP Referenced by userrec(). -.SS "std::string \fBuserrec::WriteError\fP" +.SS "\fBstd::string\fP \fBuserrec::WriteError\fP" .PP Definition at line 209 of file users.h. .PP diff --git a/docs/man/man3/users.cpp.3 b/docs/man/man3/users.cpp.3 index c9dd9006a..48f8e97a8 100644 --- a/docs/man/man3/users.cpp.3 +++ b/docs/man/man3/users.cpp.3 @@ -1,4 +1,4 @@ -.TH "users.cpp" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "users.cpp" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -10,6 +10,8 @@ users.cpp \- .br \fC#include 'channels.h'\fP .br +\fC#include 'connection.h'\fP +.br \fC#include 'users.h'\fP .br \fC#include 'inspircd.h'\fP @@ -38,13 +40,10 @@ users.cpp \- .PP .SS "std::stringstream \fBconfig_f\fP" .PP -Definition at line 27 of file users.cpp. .SS "char \fBServerName\fP[MAXBUF]" .PP -Definition at line 28 of file users.cpp. .SS "time_t \fBTIME\fP" .PP -Definition at line 30 of file users.cpp. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/users.h.3 b/docs/man/man3/users.h.3 index f0872e8b1..673e90f71 100644 --- a/docs/man/man3/users.h.3 +++ b/docs/man/man3/users.h.3 @@ -1,4 +1,4 @@ -.TH "users.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "users.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -10,25 +10,25 @@ users.h \- .br \fC#include 'channels.h'\fP .br -\fC#include 'connection.h'\fP -.br \fC#include 'inspstring.h'\fP .br +\fC#include 'connection.h'\fP +.br \fC#include <string>\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c -.RI "class \fBConnectClass\fP" -.br -.RI "\fIHolds information relevent to <connect allow> and <connect deny> tags in the config file. \fP" -.ti -1c .RI "class \fBInvited\fP" .br .RI "\fIHolds a channel name to which a user has been invited. \fP" .ti -1c +.RI "class \fBConnectClass\fP" +.br +.RI "\fIHolds information relevent to <connect allow> and <connect deny> tags in the config file. \fP" +.ti -1c .RI "class \fBuserrec\fP" .br .RI "\fIHolds all information about a user This class stores all information about a user connected to the irc server. \fP" @@ -95,12 +95,14 @@ Definition at line 28 of file users.h. .PP .SS "typedef std::vector<\fBConnectClass\fP> \fBClassVector\fP" .PP -Holds a complete list of all allow and deny tags from the configuration file (connection classes). Definition at line 100 of file users.h. +Holds a complete list of all allow and deny tags from the configuration file (connection classes). +.PP +Definition at line 100 of file users.h. .SS "typedef std::vector<\fBInvited\fP> \fBInvitedList\fP" .PP -Holds a complete list of all channels to which a user has been invited and has not yet joined. Definition at line 94 of file users.h. +Holds a complete list of all channels to which a user has been invited and has not yet joined. .PP -Referenced by userrec::GetInviteList(). +Definition at line 94 of file users.h. .SH "Author" .PP Generated automatically by Doxygen for InspIRCd from the source code. diff --git a/docs/man/man3/xline.h.3 b/docs/man/man3/xline.h.3 index 3444201df..9b6a790a3 100644 --- a/docs/man/man3/xline.h.3 +++ b/docs/man/man3/xline.h.3 @@ -1,4 +1,4 @@ -.TH "xline.h" 3 "30 May 2005" "InspIRCd" \" -*- nroff -*- +.TH "xline.h" 3 "27 Nov 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*- .ad l .nh .SH NAME @@ -23,32 +23,32 @@ xline.h \- \fC#include 'channels.h'\fP .br -.SS "Compounds" +.SS "Classes" .in +1c .ti -1c -.RI "class \fBELine\fP" -.br -.ti -1c -.RI "class \fBGLine\fP" +.RI "class \fBXLine\fP" .br -.RI "\fIGLine class. \fP" +.RI "\fIXLine is the base class for ban lines such as G lines and K lines. \fP" .ti -1c .RI "class \fBKLine\fP" .br .RI "\fIKLine class. \fP" .ti -1c -.RI "class \fBQLine\fP" +.RI "class \fBGLine\fP" .br -.RI "\fIQLine class. \fP" +.RI "\fIGLine class. \fP" .ti -1c -.RI "class \fBXLine\fP" +.RI "class \fBELine\fP" .br -.RI "\fIXLine is the base class for ban lines such as G lines and K lines. \fP" .ti -1c .RI "class \fBZLine\fP" .br .RI "\fIZLine class. \fP" +.ti -1c +.RI "class \fBQLine\fP" +.br +.RI "\fIQLine class. \fP" .in -1c .SS "Functions" @@ -137,9 +137,6 @@ xline.h \- .ti -1c .RI "bool \fBqline_make_global\fP (const char *nickname)" .br -.ti -1c -.RI "void \fBsync_xlines\fP (\fBserverrec\fP *serv, char *tcp_host)" -.br .in -1c .SH "Function Documentation" .PP @@ -205,8 +202,6 @@ Referenced by Server::DelZLine(). .PP .SS "void stats_z (\fBuserrec\fP * user)" .PP -.SS "void sync_xlines (\fBserverrec\fP * serv, char * tcp_host)" -.PP .SS "bool zline_make_global (const char * ipaddr)" .PP .SS "void zline_set_creation_time (char * ip, time_t create_time)" |