summaryrefslogtreecommitdiff
path: root/docs/man
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-15 11:15:09 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-15 11:15:09 +0000
commite0db7b0d2f777361c8194c5820bb2f6e44c55204 (patch)
tree77b03ffd8512613c338900f11e0fb5cad135b9be /docs/man
parent8e4d0d74e696a4f2b31ed4abbe243faa444750c0 (diff)
Added documentation for CullItem and CullList
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2466 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'docs/man')
-rw-r--r--docs/man/man3/Admin.32
-rw-r--r--docs/man/man3/BanItem.32
-rw-r--r--docs/man/man3/BoolSet.32
-rw-r--r--docs/man/man3/ConfigReader.3272
-rw-r--r--docs/man/man3/ConnectClass.32
-rw-r--r--docs/man/man3/CullItem.387
-rw-r--r--docs/man/man3/CullList.398
-rw-r--r--docs/man/man3/DNS.32
-rw-r--r--docs/man/man3/ELine.32
-rw-r--r--docs/man/man3/Event.32
-rw-r--r--docs/man/man3/ExemptItem.32
-rw-r--r--docs/man/man3/ExtMode.32
-rw-r--r--docs/man/man3/Extensible.32
-rw-r--r--docs/man/man3/FileReader.384
-rw-r--r--docs/man/man3/GLine.32
-rw-r--r--docs/man/man3/HostItem.32
-rw-r--r--docs/man/man3/InspIRCd.330
-rw-r--r--docs/man/man3/InspSocket.32
-rw-r--r--docs/man/man3/InviteItem.32
-rw-r--r--docs/man/man3/Invited.32
-rw-r--r--docs/man/man3/KLine.32
-rw-r--r--docs/man/man3/ModeParameter.32
-rw-r--r--docs/man/man3/Module.32
-rw-r--r--docs/man/man3/ModuleFactory.312
-rw-r--r--docs/man/man3/ModuleMessage.32
-rw-r--r--docs/man/man3/QLine.32
-rw-r--r--docs/man/man3/Request.32
-rw-r--r--docs/man/man3/Server.3696
-rw-r--r--docs/man/man3/ServerConfig.32
-rw-r--r--docs/man/man3/SocketEngine.32
-rw-r--r--docs/man/man3/Version.32
-rw-r--r--docs/man/man3/WhoWasUser.32
-rw-r--r--docs/man/man3/XLine.32
-rw-r--r--docs/man/man3/ZLine.32
-rw-r--r--docs/man/man3/_home_.32
-rw-r--r--docs/man/man3/_home_brain_.32
-rw-r--r--docs/man/man3/_home_brain_inspircd-cvs_.32
-rw-r--r--docs/man/man3/_home_brain_inspircd-cvs_inspircd_.32
-rw-r--r--docs/man/man3/_home_brain_inspircd-cvs_inspircd_include_.35
-rw-r--r--docs/man/man3/_home_brain_inspircd-cvs_inspircd_src_.32
-rw-r--r--docs/man/man3/base.h.32
-rw-r--r--docs/man/man3/channels.cpp.34
-rw-r--r--docs/man/man3/channels.h.32
-rw-r--r--docs/man/man3/chanrec.32
-rw-r--r--docs/man/man3/classbase.32
-rw-r--r--docs/man/man3/command_t.32
-rw-r--r--docs/man/man3/commands.h.32
-rw-r--r--docs/man/man3/connection.32
-rw-r--r--docs/man/man3/connection.h.32
-rw-r--r--docs/man/man3/ctables.h.32
-rw-r--r--docs/man/man3/cull_list.h.340
-rw-r--r--docs/man/man3/dns.h.32
-rw-r--r--docs/man/man3/dns_ip4list.32
-rw-r--r--docs/man/man3/globals.h.32
-rw-r--r--docs/man/man3/hashcomp.h.32
-rw-r--r--docs/man/man3/inspircd.h.317
-rw-r--r--docs/man/man3/inspircd_io.h.32
-rw-r--r--docs/man/man3/irc.32
-rw-r--r--docs/man/man3/irc_InAddr_HashComp.32
-rw-r--r--docs/man/man3/irc_StrHashComp.32
-rw-r--r--docs/man/man3/irc_irc_char_traits.32
-rw-r--r--docs/man/man3/message.h.32
-rw-r--r--docs/man/man3/mode.h.32
-rw-r--r--docs/man/man3/modules.cpp.34
-rw-r--r--docs/man/man3/modules.h.312
-rw-r--r--docs/man/man3/nspace.32
-rw-r--r--docs/man/man3/nspace_hash_ in_addr _.32
-rw-r--r--docs/man/man3/nspace_hash_ string _.32
-rw-r--r--docs/man/man3/serverstats.32
-rw-r--r--docs/man/man3/socket.cpp.32
-rw-r--r--docs/man/man3/socket.h.32
-rw-r--r--docs/man/man3/socketengine.cpp.32
-rw-r--r--docs/man/man3/socketengine.h.32
-rw-r--r--docs/man/man3/std.32
-rw-r--r--docs/man/man3/std_char_traits.32
-rw-r--r--docs/man/man3/typedefs.h.32
-rw-r--r--docs/man/man3/ucrec.32
-rw-r--r--docs/man/man3/userprocess.h.32
-rw-r--r--docs/man/man3/userrec.32
-rw-r--r--docs/man/man3/users.cpp.32
-rw-r--r--docs/man/man3/users.h.32
-rw-r--r--docs/man/man3/xline.h.32
82 files changed, 878 insertions, 621 deletions
diff --git a/docs/man/man3/Admin.3 b/docs/man/man3/Admin.3
index b2148e15a..96c0513ca 100644
--- a/docs/man/man3/Admin.3
+++ b/docs/man/man3/Admin.3
@@ -1,4 +1,4 @@
-.TH "Admin" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Admin" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/BanItem.3 b/docs/man/man3/BanItem.3
index 3b5a630f2..4893370c0 100644
--- a/docs/man/man3/BanItem.3
+++ b/docs/man/man3/BanItem.3
@@ -1,4 +1,4 @@
-.TH "BanItem" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "BanItem" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/BoolSet.3 b/docs/man/man3/BoolSet.3
index 219d7e913..c45571390 100644
--- a/docs/man/man3/BoolSet.3
+++ b/docs/man/man3/BoolSet.3
@@ -1,4 +1,4 @@
-.TH "BoolSet" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "BoolSet" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ConfigReader.3 b/docs/man/man3/ConfigReader.3
index 4812464bd..4b3f48a71 100644
--- a/docs/man/man3/ConfigReader.3
+++ b/docs/man/man3/ConfigReader.3
@@ -1,4 +1,4 @@
-.TH "ConfigReader" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ConfigReader" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -84,7 +84,7 @@ Allows reading of values from configuration files This class allows a module to
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 1529 of file modules.h.
+Definition at line 1532 of file modules.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "ConfigReader::ConfigReader ()"
@@ -93,19 +93,19 @@ Default constructor.
.PP
This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.
.PP
-Definition at line 731 of file modules.cpp.
+Definition at line 736 of file modules.cpp.
.PP
References cache, ServerConfig::ClearStack(), CONF_FILE_NOT_FOUND, error, errorlog, ServerConfig::LoadConf(), and readerror.
.PP
.nf
-732 {
-733 Config->ClearStack();
-734 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-735 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-736 this->readerror = Config->LoadConf(CONFIG_FILE,this->cache,this->errorlog);
-737 if (!this->readerror)
-738 this->error = CONF_FILE_NOT_FOUND;
-739 }
+737 {
+738 Config->ClearStack();
+739 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
+740 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
+741 this->readerror = Config->LoadConf(CONFIG_FILE,this->cache,this->errorlog);
+742 if (!this->readerror)
+743 this->error = CONF_FILE_NOT_FOUND;
+744 }
.fi
.PP
.SS "ConfigReader::ConfigReader (\fBstd::string\fP filename)"
@@ -114,19 +114,19 @@ Overloaded constructor.
.PP
This constructor initialises the ConfigReader class to read a user-specified config file
.PP
-Definition at line 751 of file modules.cpp.
+Definition at line 756 of file modules.cpp.
.PP
References cache, ServerConfig::ClearStack(), CONF_FILE_NOT_FOUND, error, errorlog, ServerConfig::LoadConf(), and readerror.
.PP
.nf
-752 {
-753 Config->ClearStack();
-754 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
-755 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
-756 this->readerror = Config->LoadConf(filename.c_str(),this->cache,this->errorlog);
-757 if (!this->readerror)
-758 this->error = CONF_FILE_NOT_FOUND;
-759 };
+757 {
+758 Config->ClearStack();
+759 this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);
+760 this->errorlog = new std::stringstream(std::stringstream::in | std::stringstream::out);
+761 this->readerror = Config->LoadConf(filename.c_str(),this->cache,this->errorlog);
+762 if (!this->readerror)
+763 this->error = CONF_FILE_NOT_FOUND;
+764 };
.fi
.PP
.SS "ConfigReader::~ConfigReader ()"
@@ -135,17 +135,17 @@ Default destructor.
.PP
This method destroys the ConfigReader class.
.PP
-Definition at line 742 of file modules.cpp.
+Definition at line 747 of file modules.cpp.
.PP
References cache, and errorlog.
.PP
.nf
-743 {
-744 if (this->cache)
-745 delete this->cache;
-746 if (this->errorlog)
-747 delete this->errorlog;
-748 }
+748 {
+749 if (this->cache)
+750 delete this->cache;
+751 if (this->errorlog)
+752 delete this->errorlog;
+753 }
.fi
.PP
.SH "Member Function Documentation"
@@ -156,41 +156,41 @@ 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 830 of file modules.cpp.
+Definition at line 835 of file modules.cpp.
.PP
References errorlog, connection::fd, userrec::nick, WriteOpers(), and WriteServ().
.PP
.nf
-831 {
-832 if (bail)
-833 {
-834 printf('There were errors in your configuration:\n%s',errorlog->str().c_str());
-835 exit(0);
-836 }
-837 else
+836 {
+837 if (bail)
838 {
-839 char dataline[1024];
-840 if (user)
-841 {
-842 WriteServ(user->fd,'NOTICE %s :There were errors in the configuration file:',user->nick);
-843 while (!errorlog->eof())
-844 {
-845 errorlog->getline(dataline,1024);
-846 WriteServ(user->fd,'NOTICE %s :%s',user->nick,dataline);
-847 }
-848 }
-849 else
-850 {
-851 WriteOpers('There were errors in the configuration file:',user->nick);
-852 while (!errorlog->eof())
-853 {
-854 errorlog->getline(dataline,1024);
-855 WriteOpers(dataline);
-856 }
-857 }
-858 return;
-859 }
-860 }
+839 printf('There were errors in your configuration:\n%s',errorlog->str().c_str());
+840 exit(0);
+841 }
+842 else
+843 {
+844 char dataline[1024];
+845 if (user)
+846 {
+847 WriteServ(user->fd,'NOTICE %s :There were errors in the configuration file:',user->nick);
+848 while (!errorlog->eof())
+849 {
+850 errorlog->getline(dataline,1024);
+851 WriteServ(user->fd,'NOTICE %s :%s',user->nick,dataline);
+852 }
+853 }
+854 else
+855 {
+856 WriteOpers('There were errors in the configuration file:',user->nick);
+857 while (!errorlog->eof())
+858 {
+859 errorlog->getline(dataline,1024);
+860 WriteOpers(dataline);
+861 }
+862 }
+863 return;
+864 }
+865 }
.fi
.PP
.SS "int ConfigReader::Enumerate (\fBstd::string\fP tag)"
@@ -199,14 +199,14 @@ 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 863 of file modules.cpp.
+Definition at line 868 of file modules.cpp.
.PP
References cache, and ServerConfig::EnumConf().
.PP
.nf
-864 {
-865 return Config->EnumConf(cache,tag.c_str());
-866 }
+869 {
+870 return Config->EnumConf(cache,tag.c_str());
+871 }
.fi
.PP
.SS "int ConfigReader::EnumerateValues (\fBstd::string\fP tag, int index)"
@@ -215,14 +215,14 @@ 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 868 of file modules.cpp.
+Definition at line 873 of file modules.cpp.
.PP
References cache, and ServerConfig::EnumValues().
.PP
.nf
-869 {
-870 return Config->EnumValues(cache, tag.c_str(), index);
-871 }
+874 {
+875 return Config->EnumValues(cache, tag.c_str(), index);
+876 }
.fi
.PP
.SS "long ConfigReader::GetError ()"
@@ -231,16 +231,16 @@ 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 823 of file modules.cpp.
+Definition at line 828 of file modules.cpp.
.PP
References error.
.PP
.nf
-824 {
-825 long olderr = this->error;
-826 this->error = 0;
-827 return olderr;
-828 }
+829 {
+830 long olderr = this->error;
+831 this->error = 0;
+832 return olderr;
+833 }
.fi
.PP
.SS "bool ConfigReader::ReadFlag (\fBstd::string\fP tag, \fBstd::string\fP name, int index)"
@@ -249,26 +249,26 @@ 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 777 of file modules.cpp.
+Definition at line 782 of file modules.cpp.
.PP
References cache, CONF_VALUE_NOT_FOUND, error, and ServerConfig::ReadConf().
.PP
.nf
-778 {
-779 char val[MAXBUF];
-780 char t[MAXBUF];
-781 char n[MAXBUF];
-782 strlcpy(t,tag.c_str(),MAXBUF);
-783 strlcpy(n,name.c_str(),MAXBUF);
-784 int res = Config->ReadConf(cache,t,n,index,val);
-785 if (!res)
-786 {
-787 this->error = CONF_VALUE_NOT_FOUND;
-788 return false;
-789 }
-790 std::string s = val;
-791 return ((s == 'yes') || (s == 'YES') || (s == 'true') || (s == 'TRUE') || (s == '1'));
-792 }
+783 {
+784 char val[MAXBUF];
+785 char t[MAXBUF];
+786 char n[MAXBUF];
+787 strlcpy(t,tag.c_str(),MAXBUF);
+788 strlcpy(n,name.c_str(),MAXBUF);
+789 int res = Config->ReadConf(cache,t,n,index,val);
+790 if (!res)
+791 {
+792 this->error = CONF_VALUE_NOT_FOUND;
+793 return false;
+794 }
+795 std::string s = val;
+796 return ((s == 'yes') || (s == 'YES') || (s == 'true') || (s == 'TRUE') || (s == '1'));
+797 }
.fi
.PP
.SS "long ConfigReader::ReadInteger (\fBstd::string\fP tag, \fBstd::string\fP name, int index, bool needs_unsigned)"
@@ -277,38 +277,38 @@ 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 794 of file modules.cpp.
+Definition at line 799 of file modules.cpp.
.PP
References cache, CONF_NOT_A_NUMBER, CONF_NOT_UNSIGNED, CONF_VALUE_NOT_FOUND, error, and ServerConfig::ReadConf().
.PP
.nf
-795 {
-796 char val[MAXBUF];
-797 char t[MAXBUF];
-798 char n[MAXBUF];
-799 strlcpy(t,tag.c_str(),MAXBUF);
-800 strlcpy(n,name.c_str(),MAXBUF);
-801 int res = Config->ReadConf(cache,t,n,index,val);
-802 if (!res)
-803 {
-804 this->error = CONF_VALUE_NOT_FOUND;
-805 return 0;
-806 }
-807 for (unsigned int i = 0; i < strlen(val); i++)
+800 {
+801 char val[MAXBUF];
+802 char t[MAXBUF];
+803 char n[MAXBUF];
+804 strlcpy(t,tag.c_str(),MAXBUF);
+805 strlcpy(n,name.c_str(),MAXBUF);
+806 int res = Config->ReadConf(cache,t,n,index,val);
+807 if (!res)
808 {
-809 if (!isdigit(val[i]))
-810 {
-811 this->error = CONF_NOT_A_NUMBER;
-812 return 0;
-813 }
-814 }
-815 if ((needs_unsigned) && (atoi(val)<0))
-816 {
-817 this->error = CONF_NOT_UNSIGNED;
-818 return 0;
+809 this->error = CONF_VALUE_NOT_FOUND;
+810 return 0;
+811 }
+812 for (unsigned int i = 0; i < strlen(val); i++)
+813 {
+814 if (!isdigit(val[i]))
+815 {
+816 this->error = CONF_NOT_A_NUMBER;
+817 return 0;
+818 }
819 }
-820 return atoi(val);
-821 }
+820 if ((needs_unsigned) && (atoi(val)<0))
+821 {
+822 this->error = CONF_NOT_UNSIGNED;
+823 return 0;
+824 }
+825 return atoi(val);
+826 }
.fi
.PP
.SS "\fBstd::string\fP ConfigReader::ReadValue (\fBstd::string\fP tag, \fBstd::string\fP name, int index)"
@@ -317,25 +317,25 @@ 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 761 of file modules.cpp.
+Definition at line 766 of file modules.cpp.
.PP
References cache, CONF_VALUE_NOT_FOUND, error, and ServerConfig::ReadConf().
.PP
.nf
-762 {
-763 char val[MAXBUF];
-764 char t[MAXBUF];
-765 char n[MAXBUF];
-766 strlcpy(t,tag.c_str(),MAXBUF);
-767 strlcpy(n,name.c_str(),MAXBUF);
-768 int res = Config->ReadConf(cache,t,n,index,val);
-769 if (!res)
-770 {
-771 this->error = CONF_VALUE_NOT_FOUND;
-772 return '';
-773 }
-774 return val;
-775 }
+767 {
+768 char val[MAXBUF];
+769 char t[MAXBUF];
+770 char n[MAXBUF];
+771 strlcpy(t,tag.c_str(),MAXBUF);
+772 strlcpy(n,name.c_str(),MAXBUF);
+773 int res = Config->ReadConf(cache,t,n,index,val);
+774 if (!res)
+775 {
+776 this->error = CONF_VALUE_NOT_FOUND;
+777 return '';
+778 }
+779 return val;
+780 }
.fi
.PP
.SS "bool ConfigReader::Verify ()"
@@ -344,14 +344,14 @@ 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 873 of file modules.cpp.
+Definition at line 878 of file modules.cpp.
.PP
References readerror.
.PP
.nf
-874 {
-875 return this->readerror;
-876 }
+879 {
+880 return this->readerror;
+881 }
.fi
.PP
.SH "Member Data Documentation"
@@ -362,24 +362,24 @@ The contents of the configuration file This protected member should never be acc
.PP
It will contain a pointer to the configuration file data with unneeded data (such as comments) stripped from it.
.PP
-Definition at line 1537 of file modules.h.
+Definition at line 1540 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 1542 of file modules.h.
+Definition at line 1545 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 1538 of file modules.h.
+Definition at line 1541 of file modules.h.
.PP
Referenced by ConfigReader(), DumpErrors(), and ~ConfigReader().
.SS "bool \fBConfigReader::readerror\fP\fC [protected]\fP"
.PP
Used to store errors.
.PP
-Definition at line 1541 of file modules.h.
+Definition at line 1544 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 f4c5bbab4..25d462925 100644
--- a/docs/man/man3/ConnectClass.3
+++ b/docs/man/man3/ConnectClass.3
@@ -1,4 +1,4 @@
-.TH "ConnectClass" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ConnectClass" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/CullItem.3 b/docs/man/man3/CullItem.3
new file mode 100644
index 000000000..5a226c4c9
--- /dev/null
+++ b/docs/man/man3/CullItem.3
@@ -0,0 +1,87 @@
+.TH "CullItem" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+CullItem \- The CullItem class holds a user and their quitmessage, and is used internally by the \fBCullList\fP class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed.
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+\fC#include <cull_list.h>\fP
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "\fBCullItem\fP (\fBuserrec\fP *u, \fBstd::string\fP r)"
+.br
+.RI "\fIConstrcutor. \fP"
+.ti -1c
+.RI "\fBuserrec\fP * \fBGetUser\fP ()"
+.br
+.RI "\fIReturns a pointer to the user. \fP"
+.ti -1c
+.RI "\fBstd::string\fP \fBGetReason\fP ()"
+.br
+.RI "\fIReturns the user's quit reason. \fP"
+.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "\fBuserrec\fP * \fBuser\fP"
+.br
+.RI "\fIHolds a pointer to the user, must be valid and can be a local or remote user. \fP"
+.ti -1c
+.RI "\fBstd::string\fP \fBreason\fP"
+.br
+.RI "\fIHolds the quit reason to use for this user. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP
+The CullItem class holds a user and their quitmessage, and is used internally by the \fBCullList\fP class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed.
+.PP
+Definition at line 36 of file cull_list.h.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "CullItem::CullItem (\fBuserrec\fP * u, \fBstd::string\fP r)"
+.PP
+Constrcutor.
+.PP
+Initializes the CullItem with a user pointer and their quit reason
+.PP
+\fBParameters:\fP
+.RS 4
+\fIu\fP The user to add
+.br
+\fIr\fP The quit reason of the added user
+.RE
+.PP
+
+.SH "Member Function Documentation"
+.PP
+.SS "\fBstd::string\fP CullItem::GetReason ()"
+.PP
+Returns the user's quit reason.
+.PP
+.SS "\fBuserrec\fP* CullItem::GetUser ()"
+.PP
+Returns a pointer to the user.
+.PP
+.SH "Member Data Documentation"
+.PP
+.SS "\fBstd::string\fP \fBCullItem::reason\fP\fC [private]\fP"
+.PP
+Holds the quit reason to use for this user.
+.PP
+Definition at line 45 of file cull_list.h.
+.SS "\fBuserrec\fP* \fBCullItem::user\fP\fC [private]\fP"
+.PP
+Holds a pointer to the user, must be valid and can be a local or remote user.
+.PP
+Definition at line 42 of file cull_list.h.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for InspIRCd from the source code.
diff --git a/docs/man/man3/CullList.3 b/docs/man/man3/CullList.3
new file mode 100644
index 000000000..0d8444d53
--- /dev/null
+++ b/docs/man/man3/CullList.3
@@ -0,0 +1,98 @@
+.TH "CullList" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+CullList \- The CullList class can be used by modules, and is used by the core, to compile large lists of users in preperation to quitting them all at once.
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+\fC#include <cull_list.h>\fP
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "\fBCullList\fP ()"
+.br
+.RI "\fIConstructor. \fP"
+.ti -1c
+.RI "void \fBAddItem\fP (\fBuserrec\fP *user, \fBstd::string\fP reason)"
+.br
+.RI "\fIAdds a user to the cull list for later removal via QUIT. \fP"
+.ti -1c
+.RI "int \fBApply\fP ()"
+.br
+.RI "\fIApplies the cull list, quitting all the users on the list with their quit reasons all at once. \fP"
+.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "std::vector< \fBCullItem\fP > \fBlist\fP"
+.br
+.RI "\fIHolds a list of users being quit. \fP"
+.ti -1c
+.RI "std::map< \fBuserrec\fP *, int > \fBexempt\fP"
+.br
+.RI "\fIA list of users who have already been placed on the list, as a map for fast reference. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP
+The CullList class can be used by modules, and is used by the core, to compile large lists of users in preperation to quitting them all at once.
+
+This is faster than quitting them within the loop, as the loops become tighter with little or no comparisons within them. The CullList class operates by allowing the programmer to push users onto the list, each with a seperate quit reason, and then, once the list is complete, call a method to flush the list, quitting all the users upon it. A CullList may hold local or remote users, but it may only hold each user once. If you attempt to add the same user twice, then the second attempt will be ignored.
+.PP
+Definition at line 75 of file cull_list.h.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "CullList::CullList ()"
+.PP
+Constructor.
+.PP
+Clears the \fBCullList::list\fP and \fBCullList::exempt\fP items.
+.SH "Member Function Documentation"
+.PP
+.SS "void CullList::AddItem (\fBuserrec\fP * user, \fBstd::string\fP reason)"
+.PP
+Adds a user to the cull list for later removal via QUIT.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIuser\fP The user to add
+.br
+\fIreason\fP The quit reason of the user being added
+.RE
+.PP
+
+.SS "int CullList::Apply ()"
+.PP
+Applies the cull list, quitting all the users on the list with their quit reasons all at once.
+.PP
+This is a very fast operation compared to iterating the user list and comparing each one, especially if there are multiple comparisons to be done, or recursion.
+.PP
+\fBReturns:\fP
+.RS 4
+The number of users removed from IRC.
+.RE
+.PP
+
+.SH "Member Data Documentation"
+.PP
+.SS "std::map<\fBuserrec\fP*,int> \fBCullList::exempt\fP\fC [private]\fP"
+.PP
+A list of users who have already been placed on the list, as a map for fast reference.
+.PP
+Definition at line 87 of file cull_list.h.
+.SS "std::vector<\fBCullItem\fP> \fBCullList::list\fP\fC [private]\fP"
+.PP
+Holds a list of users being quit.
+.PP
+See the information for \fBCullItem\fP for more information.
+.PP
+Definition at line 82 of file cull_list.h.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for InspIRCd from the source code.
diff --git a/docs/man/man3/DNS.3 b/docs/man/man3/DNS.3
index 20f26f893..cd8856bc2 100644
--- a/docs/man/man3/DNS.3
+++ b/docs/man/man3/DNS.3
@@ -1,4 +1,4 @@
-.TH "DNS" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "DNS" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ELine.3 b/docs/man/man3/ELine.3
index 2ecbb46ac..f16fee5ec 100644
--- a/docs/man/man3/ELine.3
+++ b/docs/man/man3/ELine.3
@@ -1,4 +1,4 @@
-.TH "ELine" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ELine" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Event.3 b/docs/man/man3/Event.3
index 36017ae32..42c9851da 100644
--- a/docs/man/man3/Event.3
+++ b/docs/man/man3/Event.3
@@ -1,4 +1,4 @@
-.TH "Event" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Event" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ExemptItem.3 b/docs/man/man3/ExemptItem.3
index 6ff6339ed..edf2a56e1 100644
--- a/docs/man/man3/ExemptItem.3
+++ b/docs/man/man3/ExemptItem.3
@@ -1,4 +1,4 @@
-.TH "ExemptItem" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ExemptItem" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ExtMode.3 b/docs/man/man3/ExtMode.3
index 3769c5758..688fdef6d 100644
--- a/docs/man/man3/ExtMode.3
+++ b/docs/man/man3/ExtMode.3
@@ -1,4 +1,4 @@
-.TH "ExtMode" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ExtMode" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Extensible.3 b/docs/man/man3/Extensible.3
index 6ec3819c7..ea99cdf6a 100644
--- a/docs/man/man3/Extensible.3
+++ b/docs/man/man3/Extensible.3
@@ -1,4 +1,4 @@
-.TH "Extensible" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Extensible" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/FileReader.3 b/docs/man/man3/FileReader.3
index ee136db97..99afbea95 100644
--- a/docs/man/man3/FileReader.3
+++ b/docs/man/man3/FileReader.3
@@ -1,4 +1,4 @@
-.TH "FileReader" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "FileReader" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -57,7 +57,7 @@ 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.
.PP
-Definition at line 1618 of file modules.h.
+Definition at line 1621 of file modules.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "FileReader::FileReader ()"
@@ -66,11 +66,11 @@ 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 886 of file modules.cpp.
+Definition at line 891 of file modules.cpp.
.PP
.nf
-887 {
-888 }
+892 {
+893 }
.fi
.PP
.SS "FileReader::FileReader (\fBstd::string\fP filename)"
@@ -79,16 +79,16 @@ Secondary constructor.
.PP
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 879 of file modules.cpp.
+Definition at line 884 of file modules.cpp.
.PP
References fc, and readfile().
.PP
.nf
-880 {
-881 file_cache c;
-882 readfile(c,filename.c_str());
-883 this->fc = c;
-884 }
+885 {
+886 file_cache c;
+887 readfile(c,filename.c_str());
+888 this->fc = c;
+889 }
.fi
.PP
.SS "FileReader::~FileReader ()"
@@ -97,11 +97,11 @@ Default destructor.
.PP
This deletes the memory allocated to the file.
.PP
-Definition at line 898 of file modules.cpp.
+Definition at line 903 of file modules.cpp.
.PP
.nf
-899 {
-900 }
+904 {
+905 }
.fi
.PP
.SH "Member Function Documentation"
@@ -110,21 +110,21 @@ Definition at line 898 of file modules.cpp.
.PP
Returns true if the file exists This function will return false if the file could not be opened.
.PP
-Definition at line 902 of file modules.cpp.
+Definition at line 907 of file modules.cpp.
.PP
References fc.
.PP
.nf
-903 {
-904 if (fc.size() == 0)
-905 {
-906 return(false);
-907 }
-908 else
-909 {
-910 return(true);
-911 }
-912 }
+908 {
+909 if (fc.size() == 0)
+910 {
+911 return(false);
+912 }
+913 else
+914 {
+915 return(true);
+916 }
+917 }
.fi
.PP
.SS "int FileReader::FileSize ()"
@@ -133,14 +133,14 @@ 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 921 of file modules.cpp.
+Definition at line 926 of file modules.cpp.
.PP
References fc.
.PP
.nf
-922 {
-923 return fc.size();
-924 }
+927 {
+928 return fc.size();
+929 }
.fi
.PP
.SS "\fBstd::string\fP FileReader::GetLine (int x)"
@@ -149,16 +149,16 @@ 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 914 of file modules.cpp.
+Definition at line 919 of file modules.cpp.
.PP
References fc.
.PP
.nf
-915 {
-916 if ((x<0) || ((unsigned)x>fc.size()))
-917 return '';
-918 return fc[x];
-919 }
+920 {
+921 if ((x<0) || ((unsigned)x>fc.size()))
+922 return '';
+923 return fc[x];
+924 }
.fi
.PP
.SS "void FileReader::LoadFile (\fBstd::string\fP filename)"
@@ -167,23 +167,23 @@ 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 890 of file modules.cpp.
+Definition at line 895 of file modules.cpp.
.PP
References fc, and readfile().
.PP
.nf
-891 {
-892 file_cache c;
-893 readfile(c,filename.c_str());
-894 this->fc = c;
-895 }
+896 {
+897 file_cache c;
+898 readfile(c,filename.c_str());
+899 this->fc = c;
+900 }
.fi
.PP
.SH "Member Data Documentation"
.PP
.SS "\fBfile_cache\fP \fBFileReader::fc\fP\fC [private]\fP"
.PP
-Definition at line 1620 of file modules.h.
+Definition at line 1623 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 ce80b2e36..6ef1c742e 100644
--- a/docs/man/man3/GLine.3
+++ b/docs/man/man3/GLine.3
@@ -1,4 +1,4 @@
-.TH "GLine" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "GLine" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/HostItem.3 b/docs/man/man3/HostItem.3
index 2cd48e892..79c256f86 100644
--- a/docs/man/man3/HostItem.3
+++ b/docs/man/man3/HostItem.3
@@ -1,4 +1,4 @@
-.TH "HostItem" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "HostItem" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/InspIRCd.3 b/docs/man/man3/InspIRCd.3
index 5e2a718f7..219e539b4 100644
--- a/docs/man/man3/InspIRCd.3
+++ b/docs/man/man3/InspIRCd.3
@@ -1,4 +1,4 @@
-.TH "InspIRCd" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "InspIRCd" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -12,6 +12,15 @@ InspIRCd \-
.in +1c
.ti -1c
+.RI "\fBstd::string\fP \fBGetRevision\fP ()"
+.br
+.ti -1c
+.RI "\fBstd::string\fP \fBGetVersionString\fP ()"
+.br
+.ti -1c
+.RI "char * \fBModuleError\fP ()"
+.br
+.ti -1c
.RI "bool \fBLoadModule\fP (const char *filename)"
.br
.ti -1c
@@ -41,6 +50,13 @@ InspIRCd \-
.RI "void \fBerase_module\fP (int j)"
.br
.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "char \fBMODERR\fP [MAXBUF]"
+.br
+.in -1c
.SH "Detailed Description"
.PP
Definition at line 95 of file inspircd.h.
@@ -54,17 +70,27 @@ Definition at line 95 of file inspircd.h.
.PP
.SS "void InspIRCd::erase_module (int j)\fC [private]\fP"
.PP
+.SS "\fBstd::string\fP InspIRCd::GetRevision ()"
+.PP
+.SS "\fBstd::string\fP InspIRCd::GetVersionString ()"
+.PP
+Referenced by Server::GetVersion().
.SS "bool InspIRCd::LoadModule (const char * filename)"
.PP
+.SS "char* InspIRCd::ModuleError ()"
+.PP
.SS "int InspIRCd::Run ()"
.PP
.SS "bool InspIRCd::UnloadModule (const char * filename)"
.PP
.SH "Member Data Documentation"
.PP
+.SS "char \fBInspIRCd::MODERR\fP[MAXBUF]\fC [private]\fP"
+.PP
+Definition at line 99 of file inspircd.h.
.SS "time_t \fBInspIRCd::startup_time\fP"
.PP
-Definition at line 103 of file inspircd.h.
+Definition at line 104 of file inspircd.h.
.SH "Author"
.PP
diff --git a/docs/man/man3/InspSocket.3 b/docs/man/man3/InspSocket.3
index 06bd1e1cf..d2e99e555 100644
--- a/docs/man/man3/InspSocket.3
+++ b/docs/man/man3/InspSocket.3
@@ -1,4 +1,4 @@
-.TH "InspSocket" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "InspSocket" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/InviteItem.3 b/docs/man/man3/InviteItem.3
index 03eeb6189..213477029 100644
--- a/docs/man/man3/InviteItem.3
+++ b/docs/man/man3/InviteItem.3
@@ -1,4 +1,4 @@
-.TH "InviteItem" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "InviteItem" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Invited.3 b/docs/man/man3/Invited.3
index b30256956..07e201794 100644
--- a/docs/man/man3/Invited.3
+++ b/docs/man/man3/Invited.3
@@ -1,4 +1,4 @@
-.TH "Invited" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Invited" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/KLine.3 b/docs/man/man3/KLine.3
index f05160828..195d3a860 100644
--- a/docs/man/man3/KLine.3
+++ b/docs/man/man3/KLine.3
@@ -1,4 +1,4 @@
-.TH "KLine" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "KLine" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ModeParameter.3 b/docs/man/man3/ModeParameter.3
index c1af78bc6..93b0f4381 100644
--- a/docs/man/man3/ModeParameter.3
+++ b/docs/man/man3/ModeParameter.3
@@ -1,4 +1,4 @@
-.TH "ModeParameter" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ModeParameter" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Module.3 b/docs/man/man3/Module.3
index 111e53012..3800b0172 100644
--- a/docs/man/man3/Module.3
+++ b/docs/man/man3/Module.3
@@ -1,4 +1,4 @@
-.TH "Module" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Module" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ModuleFactory.3 b/docs/man/man3/ModuleFactory.3
index 476737145..290073277 100644
--- a/docs/man/man3/ModuleFactory.3
+++ b/docs/man/man3/ModuleFactory.3
@@ -1,4 +1,4 @@
-.TH "ModuleFactory" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ModuleFactory" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -32,23 +32,23 @@ Instantiates classes inherited from \fBModule\fP This class creates a class inhe
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 1673 of file modules.h.
+Definition at line 1676 of file modules.h.
.SH "Constructor & Destructor Documentation"
.PP
.SS "ModuleFactory::ModuleFactory ()\fC [inline]\fP"
.PP
-Definition at line 1676 of file modules.h.
+Definition at line 1679 of file modules.h.
.PP
.nf
-1676 { }
+1679 { }
.fi
.PP
.SS "virtual ModuleFactory::~ModuleFactory ()\fC [inline, virtual]\fP"
.PP
-Definition at line 1677 of file modules.h.
+Definition at line 1680 of file modules.h.
.PP
.nf
-1677 { }
+1680 { }
.fi
.PP
.SH "Member Function Documentation"
diff --git a/docs/man/man3/ModuleMessage.3 b/docs/man/man3/ModuleMessage.3
index f066a685b..ceb20c96d 100644
--- a/docs/man/man3/ModuleMessage.3
+++ b/docs/man/man3/ModuleMessage.3
@@ -1,4 +1,4 @@
-.TH "ModuleMessage" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ModuleMessage" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/QLine.3 b/docs/man/man3/QLine.3
index 761a5e72e..a5fad88b9 100644
--- a/docs/man/man3/QLine.3
+++ b/docs/man/man3/QLine.3
@@ -1,4 +1,4 @@
-.TH "QLine" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "QLine" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Request.3 b/docs/man/man3/Request.3
index e9353856c..d910f5ab3 100644
--- a/docs/man/man3/Request.3
+++ b/docs/man/man3/Request.3
@@ -1,4 +1,4 @@
-.TH "Request" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Request" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Server.3 b/docs/man/man3/Server.3
index 415ab762b..95aa8cd87 100644
--- a/docs/man/man3/Server.3
+++ b/docs/man/man3/Server.3
@@ -1,4 +1,4 @@
-.TH "Server" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Server" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -32,6 +32,10 @@ Inherits \fBclassbase\fP.
.br
.RI "\fISends text to all opers. \fP"
.ti -1c
+.RI "\fBstd::string\fP \fBGetVersion\fP ()"
+.br
+.RI "\fIReturns the version string of this server. \fP"
+.ti -1c
.RI "virtual void \fBLog\fP (int level, \fBstd::string\fP s)"
.br
.RI "\fIWrites a log string. \fP"
@@ -297,14 +301,14 @@ typedef void (handlerfunc) (char**, int, userrec*); ... void \fBhandle_kill(char
.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.
.PP
-Definition at line 411 of file modules.cpp.
+Definition at line 416 of file modules.cpp.
.PP
References createcommand().
.PP
.nf
-412 {
-413 createcommand(cmd,f,flags,minparams,source);
-414 }
+417 {
+418 createcommand(cmd,f,flags,minparams,source);
+419 }
.fi
.PP
.SS "void Server::AddELine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)\fC [virtual]\fP"
@@ -313,14 +317,14 @@ 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
-Definition at line 655 of file modules.cpp.
+Definition at line 660 of file modules.cpp.
.PP
References add_eline().
.PP
.nf
-656 {
-657 add_eline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-658 }
+661 {
+662 add_eline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+663 }
.fi
.PP
.SS "bool Server::AddExtendedListMode (char modechar)\fC [virtual]\fP"
@@ -339,17 +343,17 @@ This call is used to implement modes like +q and +a. The characteristics of thes
.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 \fBServer::Find\fP 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 579 of file modules.cpp.
+Definition at line 584 of file modules.cpp.
.PP
References DoAddExtendedMode(), ModeMakeList(), and MT_CHANNEL.
.PP
.nf
-580 {
-581 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1);
-582 if (res)
-583 ModeMakeList(modechar);
-584 return res;
-585 }
+585 {
+586 bool res = DoAddExtendedMode(modechar,MT_CHANNEL,false,1,1);
+587 if (res)
+588 ModeMakeList(modechar);
+589 return res;
+590 }
.fi
.PP
.SS "bool Server::AddExtendedMode (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)\fC [virtual]\fP"
@@ -358,37 +362,37 @@ 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 551 of file modules.cpp.
+Definition at line 556 of file modules.cpp.
.PP
References DEBUG, DoAddExtendedMode(), log(), MT_CLIENT, and MT_SERVER.
.PP
.nf
-552 {
-553 if (((modechar >= 'A') && (modechar <= 'Z')) || ((modechar >= 'a') && (modechar <= 'z')))
-554 {
-555 if (type == MT_SERVER)
-556 {
-557 log(DEBUG,'*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion');
-558 return false;
-559 }
-560 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
+557 {
+558 if (((modechar >= 'A') && (modechar <= 'Z')) || ((modechar >= 'a') && (modechar <= 'z')))
+559 {
+560 if (type == MT_SERVER)
561 {
-562 log(DEBUG,'*** API ERROR *** Parameters on MT_CLIENT modes are not supported');
+562 log(DEBUG,'*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion');
563 return false;
564 }
-565 if ((params_when_on>1) || (params_when_off>1))
+565 if (((params_when_on>0) || (params_when_off>0)) && (type == MT_CLIENT))
566 {
-567 log(DEBUG,'*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported');
+567 log(DEBUG,'*** API ERROR *** Parameters on MT_CLIENT modes are not supported');
568 return false;
569 }
-570 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
-571 }
-572 else
-573 {
-574 log(DEBUG,'*** API ERROR *** Muppet modechar detected.');
-575 }
-576 return false;
-577 }
+570 if ((params_when_on>1) || (params_when_off>1))
+571 {
+572 log(DEBUG,'*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported');
+573 return false;
+574 }
+575 return DoAddExtendedMode(modechar,type,requires_oper,params_when_on,params_when_off);
+576 }
+577 else
+578 {
+579 log(DEBUG,'*** API ERROR *** Muppet modechar detected.');
+580 }
+581 return false;
+582 }
.fi
.PP
.SS "void Server::AddGLine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)\fC [virtual]\fP"
@@ -397,14 +401,14 @@ Adds a G-line The G-line is propogated to all of the servers in the mesh and enf
.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 635 of file modules.cpp.
+Definition at line 640 of file modules.cpp.
.PP
References add_gline().
.PP
.nf
-636 {
-637 add_gline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-638 }
+641 {
+642 add_gline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+643 }
.fi
.PP
.SS "void Server::AddKLine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP hostmask)\fC [virtual]\fP"
@@ -413,14 +417,14 @@ 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 650 of file modules.cpp.
+Definition at line 655 of file modules.cpp.
.PP
References add_kline().
.PP
.nf
-651 {
-652 add_kline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
-653 }
+656 {
+657 add_kline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+658 }
.fi
.PP
.SS "void Server::AddQLine (long duration, \fBstd::string\fP source, \fBstd::string\fP reason, \fBstd::string\fP nickname)\fC [virtual]\fP"
@@ -429,14 +433,14 @@ Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enf
.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 640 of file modules.cpp.
+Definition at line 645 of file modules.cpp.
.PP
References add_qline().
.PP
.nf
-641 {
-642 add_qline(duration, source.c_str(), reason.c_str(), nickname.c_str());
-643 }
+646 {
+647 add_qline(duration, source.c_str(), reason.c_str(), nickname.c_str());
+648 }
.fi
.PP
.SS "void Server::AddSocket (\fBInspSocket\fP * sock)\fC [virtual]\fP"
@@ -459,14 +463,14 @@ Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enf
.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 645 of file modules.cpp.
+Definition at line 650 of file modules.cpp.
.PP
References add_zline().
.PP
.nf
-646 {
-647 add_zline(duration, source.c_str(), reason.c_str(), ipaddr.c_str());
-648 }
+651 {
+652 add_zline(duration, source.c_str(), reason.c_str(), ipaddr.c_str());
+653 }
.fi
.PP
.SS "long Server::CalcDuration (\fBstd::string\fP duration)\fC [virtual]\fP"
@@ -475,14 +479,14 @@ Calculates a duration This method will take a string containing a formatted dura
.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 685 of file modules.cpp.
+Definition at line 690 of file modules.cpp.
.PP
References duration().
.PP
.nf
-686 {
-687 return duration(delta.c_str());
-688 }
+691 {
+692 return duration(delta.c_str());
+693 }
.fi
.PP
.SS "void Server::CallCommandHandler (\fBstd::string\fP commandname, char ** parameters, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP"
@@ -493,14 +497,14 @@ You can use this function to trigger other commands in the ircd, such as PRIVMSG
.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.
.PP
-Definition at line 396 of file modules.cpp.
+Definition at line 401 of file modules.cpp.
.PP
References call_handler().
.PP
.nf
-397 {
-398 call_handler(commandname.c_str(),parameters,pcnt,user);
-399 }
+402 {
+403 call_handler(commandname.c_str(),parameters,pcnt,user);
+404 }
.fi
.PP
.SS "void Server::ChangeGECOS (\fBuserrec\fP * user, \fBstd::string\fP gecos)\fC [virtual]\fP"
@@ -509,14 +513,14 @@ 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 494 of file modules.cpp.
+Definition at line 499 of file modules.cpp.
.PP
References ChangeName().
.PP
.nf
-495 {
-496 ChangeName(user,gecos.c_str());
-497 }
+500 {
+501 ChangeName(user,gecos.c_str());
+502 }
.fi
.PP
.SS "void Server::ChangeHost (\fBuserrec\fP * user, \fBstd::string\fP host)\fC [virtual]\fP"
@@ -525,14 +529,14 @@ 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 489 of file modules.cpp.
+Definition at line 494 of file modules.cpp.
.PP
References ChangeDisplayedHost().
.PP
.nf
-490 {
-491 ChangeDisplayedHost(user,host.c_str());
-492 }
+495 {
+496 ChangeDisplayedHost(user,host.c_str());
+497 }
.fi
.PP
.SS "void Server::ChangeUserNick (\fBuserrec\fP * user, \fBstd::string\fP nickname)\fC [virtual]\fP"
@@ -541,14 +545,14 @@ 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 381 of file modules.cpp.
+Definition at line 386 of file modules.cpp.
.PP
References force_nickchange().
.PP
.nf
-382 {
-383 force_nickchange(user,nickname.c_str());
-384 }
+387 {
+388 force_nickchange(user,nickname.c_str());
+389 }
.fi
.PP
.SS "\fBstd::string\fP Server::ChanMode (\fBuserrec\fP * User, \fBchanrec\fP * Chan)\fC [virtual]\fP"
@@ -557,14 +561,14 @@ 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 519 of file modules.cpp.
+Definition at line 524 of file modules.cpp.
.PP
References cmode().
.PP
.nf
-520 {
-521 return cmode(User,Chan);
-522 }
+525 {
+526 return cmode(User,Chan);
+527 }
.fi
.PP
.SS "bool Server::CommonChannels (\fBuserrec\fP * u1, \fBuserrec\fP * u2)\fC [virtual]\fP"
@@ -573,14 +577,14 @@ 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 467 of file modules.cpp.
+Definition at line 472 of file modules.cpp.
.PP
References common_channels().
.PP
.nf
-468 {
-469 return (common_channels(u1,u2) != 0);
-470 }
+473 {
+474 return (common_channels(u1,u2) != 0);
+475 }
.fi
.PP
.SS "int Server::CountUsers (\fBchanrec\fP * c)\fC [virtual]\fP"
@@ -589,103 +593,103 @@ 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 587 of file modules.cpp.
+Definition at line 592 of file modules.cpp.
.PP
.nf
-588 {
-589 return usercount(c);
-590 }
+593 {
+594 return usercount(c);
+595 }
.fi
.PP
.SS "bool Server::DelELine (\fBstd::string\fP hostmask)\fC [virtual]\fP"
.PP
Deletes a local E-Line.
.PP
-Definition at line 680 of file modules.cpp.
+Definition at line 685 of file modules.cpp.
.PP
References del_eline().
.PP
.nf
-681 {
-682 return del_eline(hostmask.c_str());
-683 }
+686 {
+687 return del_eline(hostmask.c_str());
+688 }
.fi
.PP
.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 660 of file modules.cpp.
+Definition at line 665 of file modules.cpp.
.PP
References del_gline().
.PP
.nf
-661 {
-662 return del_gline(hostmask.c_str());
-663 }
+666 {
+667 return del_gline(hostmask.c_str());
+668 }
.fi
.PP
.SS "bool Server::DelKLine (\fBstd::string\fP hostmask)\fC [virtual]\fP"
.PP
Deletes a local K-Line.
.PP
-Definition at line 675 of file modules.cpp.
+Definition at line 680 of file modules.cpp.
.PP
References del_kline().
.PP
.nf
-676 {
-677 return del_kline(hostmask.c_str());
-678 }
+681 {
+682 return del_kline(hostmask.c_str());
+683 }
.fi
.PP
.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 665 of file modules.cpp.
+Definition at line 670 of file modules.cpp.
.PP
References del_qline().
.PP
.nf
-666 {
-667 return del_qline(nickname.c_str());
-668 }
+671 {
+672 return del_qline(nickname.c_str());
+673 }
.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 329 of file modules.cpp.
+Definition at line 334 of file modules.cpp.
.PP
References module_sockets.
.PP
.nf
-330 {
-331 for (std::vector<InspSocket*>::iterator a = module_sockets.begin(); a < module_sockets.end(); a++)
-332 {
-333 if (*a == sock)
-334 {
-335 module_sockets.erase(a);
-336 return;
-337 }
-338 }
-339 }
+335 {
+336 for (std::vector<InspSocket*>::iterator a = module_sockets.begin(); a < module_sockets.end(); a++)
+337 {
+338 if (*a == sock)
+339 {
+340 module_sockets.erase(a);
+341 return;
+342 }
+343 }
+344 }
.fi
.PP
.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 670 of file modules.cpp.
+Definition at line 675 of file modules.cpp.
.PP
References del_zline().
.PP
.nf
-671 {
-672 return del_zline(ipaddr.c_str());
-673 }
+676 {
+677 return del_zline(ipaddr.c_str());
+678 }
.fi
.PP
.SS "\fBchanrec\fP * Server::FindChannel (\fBstd::string\fP channel)\fC [virtual]\fP"
@@ -694,14 +698,14 @@ 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 514 of file modules.cpp.
+Definition at line 519 of file modules.cpp.
.PP
References FindChan().
.PP
.nf
-515 {
-516 return FindChan(channel.c_str());
-517 }
+520 {
+521 return FindChan(channel.c_str());
+522 }
.fi
.PP
.SS "\fBuserrec\fP * Server::FindDescriptor (int socket)\fC [virtual]\fP"
@@ -710,12 +714,12 @@ 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
-Definition at line 509 of file modules.cpp.
+Definition at line 514 of file modules.cpp.
.PP
.nf
-510 {
-511 return (socket < 65536 ? fd_ref_table[socket] : NULL);
-512 }
+515 {
+516 return (socket < 65536 ? fd_ref_table[socket] : NULL);
+517 }
.fi
.PP
.SS "\fBModule\fP * Server::FindModule (\fBstd::string\fP name)\fC [virtual]\fP"
@@ -724,21 +728,21 @@ 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 719 of file modules.cpp.
+Definition at line 724 of file modules.cpp.
.PP
References MODCOUNT, ServerConfig::module_names, and modules.
.PP
.nf
-720 {
-721 for (int i = 0; i <= MODCOUNT; i++)
-722 {
-723 if (Config->module_names[i] == name)
-724 {
-725 return modules[i];
-726 }
-727 }
-728 return NULL;
-729 }
+725 {
+726 for (int i = 0; i <= MODCOUNT; i++)
+727 {
+728 if (Config->module_names[i] == name)
+729 {
+730 return modules[i];
+731 }
+732 }
+733 return NULL;
+734 }
.fi
.PP
.SS "\fBuserrec\fP * Server::FindNick (\fBstd::string\fP nick)\fC [virtual]\fP"
@@ -747,14 +751,14 @@ 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 504 of file modules.cpp.
+Definition at line 509 of file modules.cpp.
.PP
References Find().
.PP
.nf
-505 {
-506 return Find(nick);
-507 }
+510 {
+511 return Find(nick);
+512 }
.fi
.PP
.SS "\fBAdmin\fP Server::GetAdmin ()\fC [virtual]\fP"
@@ -763,14 +767,14 @@ 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 544 of file modules.cpp.
+Definition at line 549 of file modules.cpp.
.PP
References ServerConfig::AdminEmail, ServerConfig::AdminName, and ServerConfig::AdminNick.
.PP
.nf
-545 {
-546 return Admin(Config->AdminName,Config->AdminEmail,Config->AdminNick);
-547 }
+550 {
+551 return Admin(Config->AdminName,Config->AdminEmail,Config->AdminNick);
+552 }
.fi
.PP
.SS "\fBServerConfig\fP * Server::GetConfig ()"
@@ -791,42 +795,42 @@ Definition at line 324 of file modules.cpp.
.PP
Returns the network name, global to all linked servers.
.PP
-Definition at line 534 of file modules.cpp.
+Definition at line 539 of file modules.cpp.
.PP
References ServerConfig::Network.
.PP
.nf
-535 {
-536 return Config->Network;
-537 }
+540 {
+541 return Config->Network;
+542 }
.fi
.PP
.SS "\fBstd::string\fP Server::GetServerDescription ()\fC [virtual]\fP"
.PP
Returns the server description string of the local server.
.PP
-Definition at line 539 of file modules.cpp.
+Definition at line 544 of file modules.cpp.
.PP
References ServerConfig::ServerDesc.
.PP
.nf
-540 {
-541 return Config->ServerDesc;
-542 }
+545 {
+546 return Config->ServerDesc;
+547 }
.fi
.PP
.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 529 of file modules.cpp.
+Definition at line 534 of file modules.cpp.
.PP
References ServerConfig::ServerName.
.PP
.nf
-530 {
-531 return Config->ServerName;
-532 }
+535 {
+536 return Config->ServerName;
+537 }
.fi
.PP
.SS "\fBchanuserlist\fP Server::GetUsers (\fBchanrec\fP * chan)\fC [virtual]\fP"
@@ -835,22 +839,36 @@ 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
-Definition at line 369 of file modules.cpp.
+Definition at line 374 of file modules.cpp.
.PP
References chanrec::GetUsers().
.PP
.nf
-370 {
-371 chanuserlist userl;
-372 userl.clear();
-373 std::vector<char*> *list = chan->GetUsers();
-374 for (std::vector<char*>::iterator i = list->begin(); i != list->end(); i++)
-375 {
-376 char* o = *i;
-377 userl.push_back((userrec*)o);
-378 }
-379 return userl;
-380 }
+375 {
+376 chanuserlist userl;
+377 userl.clear();
+378 std::vector<char*> *list = chan->GetUsers();
+379 for (std::vector<char*>::iterator i = list->begin(); i != list->end(); i++)
+380 {
+381 char* o = *i;
+382 userl.push_back((userrec*)o);
+383 }
+384 return userl;
+385 }
+.fi
+.PP
+.SS "\fBstd::string\fP Server::GetVersion ()"
+.PP
+Returns the version string of this server.
+.PP
+Definition at line 329 of file modules.cpp.
+.PP
+References InspIRCd::GetVersionString().
+.PP
+.nf
+330 {
+331 return ServerInstance->GetVersionString();
+332 }
.fi
.PP
.SS "bool Server::IsNick (\fBstd::string\fP nick)\fC [virtual]\fP"
@@ -859,14 +877,14 @@ Returns true if a nick is valid.
.PP
Nicks for unregistered connections will return false.
.PP
-Definition at line 499 of file modules.cpp.
+Definition at line 504 of file modules.cpp.
.PP
References isnick().
.PP
.nf
-500 {
-501 return (isnick(nick.c_str()) != 0);
-502 }
+505 {
+506 return (isnick(nick.c_str()) != 0);
+507 }
.fi
.PP
.SS "bool Server::IsOnChannel (\fBuserrec\fP * User, \fBchanrec\fP * Chan)\fC [virtual]\fP"
@@ -875,14 +893,14 @@ 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 524 of file modules.cpp.
+Definition at line 529 of file modules.cpp.
.PP
References has_channel().
.PP
.nf
-525 {
-526 return has_channel(User,Chan);
-527 }
+530 {
+531 return has_channel(User,Chan);
+532 }
.fi
.PP
.SS "bool Server::IsUlined (\fBstd::string\fP server)\fC [virtual]\fP"
@@ -891,62 +909,62 @@ Returns true if the servername you give is ulined.
.PP
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 391 of file modules.cpp.
+Definition at line 396 of file modules.cpp.
.PP
References is_uline().
.PP
.nf
-392 {
-393 return is_uline(server.c_str());
-394 }
+397 {
+398 return is_uline(server.c_str());
+399 }
.fi
.PP
.SS "bool Server::IsValidMask (\fBstd::string\fP mask)\fC [virtual]\fP"
.PP
Returns true if a nick!ident string is correctly formatted, false if otherwise.
.PP
-Definition at line 690 of file modules.cpp.
+Definition at line 695 of file modules.cpp.
.PP
.nf
-691 {
-692 const char* dest = mask.c_str();
-693 if (strchr(dest,'!')==0)
-694 return false;
-695 if (strchr(dest,'@')==0)
-696 return false;
-697 for (unsigned int i = 0; i < strlen(dest); i++)
-698 if (dest[i] < 32)
-699 return false;
-700 for (unsigned int i = 0; i < strlen(dest); i++)
-701 if (dest[i] > 126)
-702 return false;
-703 unsigned int c = 0;
-704 for (unsigned int i = 0; i < strlen(dest); i++)
-705 if (dest[i] == '!')
-706 c++;
-707 if (c>1)
-708 return false;
-709 c = 0;
-710 for (unsigned int i = 0; i < strlen(dest); i++)
-711 if (dest[i] == '@')
-712 c++;
-713 if (c>1)
-714 return false;
-715
-716 return true;
-717 }
+696 {
+697 const char* dest = mask.c_str();
+698 if (strchr(dest,'!')==0)
+699 return false;
+700 if (strchr(dest,'@')==0)
+701 return false;
+702 for (unsigned int i = 0; i < strlen(dest); i++)
+703 if (dest[i] < 32)
+704 return false;
+705 for (unsigned int i = 0; i < strlen(dest); i++)
+706 if (dest[i] > 126)
+707 return false;
+708 unsigned int c = 0;
+709 for (unsigned int i = 0; i < strlen(dest); i++)
+710 if (dest[i] == '!')
+711 c++;
+712 if (c>1)
+713 return false;
+714 c = 0;
+715 for (unsigned int i = 0; i < strlen(dest); i++)
+716 if (dest[i] == '@')
+717 c++;
+718 if (c>1)
+719 return false;
+720
+721 return true;
+722 }
.fi
.PP
.SS "bool Server::IsValidModuleCommand (\fBstd::string\fP commandname, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP"
.PP
-Definition at line 401 of file modules.cpp.
+Definition at line 406 of file modules.cpp.
.PP
References is_valid_cmd().
.PP
.nf
-402 {
-403 return is_valid_cmd(commandname.c_str(), pcnt, user);
-404 }
+407 {
+408 return is_valid_cmd(commandname.c_str(), pcnt, user);
+409 }
.fi
.PP
.SS "\fBchanrec\fP * Server::JoinUserToChannel (\fBuserrec\fP * user, \fBstd::string\fP cname, \fBstd::string\fP key)\fC [virtual]\fP"
@@ -955,14 +973,14 @@ Forces a user to join a channel.
.PP
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 359 of file modules.cpp.
+Definition at line 364 of file modules.cpp.
.PP
References add_channel().
.PP
.nf
-360 {
-361 return add_channel(user,cname.c_str(),key.c_str(),false);
-362 }
+365 {
+366 return add_channel(user,cname.c_str(),key.c_str(),false);
+367 }
.fi
.PP
.SS "void Server::Log (int level, \fBstd::string\fP s)\fC [virtual]\fP"
@@ -971,14 +989,14 @@ 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
-Definition at line 406 of file modules.cpp.
+Definition at line 411 of file modules.cpp.
.PP
References log().
.PP
.nf
-407 {
-408 log(level,'%s',s.c_str());
-409 }
+412 {
+413 log(level,'%s',s.c_str());
+414 }
.fi
.PP
.SS "bool Server::MatchText (\fBstd::string\fP sliteral, \fBstd::string\fP spattern)\fC [virtual]\fP"
@@ -987,15 +1005,15 @@ 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
-Definition at line 346 of file modules.cpp.
+Definition at line 351 of file modules.cpp.
.PP
.nf
-347 {
-348 char literal[MAXBUF],pattern[MAXBUF];
-349 strlcpy(literal,sliteral.c_str(),MAXBUF);
-350 strlcpy(pattern,spattern.c_str(),MAXBUF);
-351 return match(literal,pattern);
-352 }
+352 {
+353 char literal[MAXBUF],pattern[MAXBUF];
+354 strlcpy(literal,sliteral.c_str(),MAXBUF);
+355 strlcpy(pattern,spattern.c_str(),MAXBUF);
+356 return match(literal,pattern);
+357 }
.fi
.PP
.SS "\fBchanrec\fP * Server::PartUserFromChannel (\fBuserrec\fP * user, \fBstd::string\fP cname, \fBstd::string\fP reason)\fC [virtual]\fP"
@@ -1004,14 +1022,14 @@ 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
-Definition at line 364 of file modules.cpp.
+Definition at line 369 of file modules.cpp.
.PP
References del_channel().
.PP
.nf
-365 {
-366 return del_channel(user,cname.c_str(),reason.c_str(),false);
-367 }
+370 {
+371 return del_channel(user,cname.c_str(),reason.c_str(),false);
+372 }
.fi
.PP
.SS "bool Server::PseudoToUser (\fBuserrec\fP * alive, \fBuserrec\fP * zombie, \fBstd::string\fP message)\fC [virtual]\fP"
@@ -1020,39 +1038,39 @@ This user takes one user, and switches their file descriptor with another user,
.PP
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
-Definition at line 605 of file modules.cpp.
+Definition at line 610 of file modules.cpp.
.PP
References userrec::chans, userrec::ClearBuffer(), connection::fd, FD_MAGIC_NUMBER, connection::host, userrec::ident, kill_link(), chanrec::name, userrec::nick, chanrec::setby, chanrec::topic, chanrec::topicset, Write(), WriteFrom(), and WriteServ().
.PP
.nf
-606 {
-607 zombie->fd = alive->fd;
-608 alive->fd = FD_MAGIC_NUMBER;
-609 alive->ClearBuffer();
-610 Write(zombie->fd,':%s!%s@%s NICK %s',alive->nick,alive->ident,alive->host,zombie->nick);
-611 kill_link(alive,message.c_str());
-612 fd_ref_table[zombie->fd] = zombie;
-613 for (unsigned int i = 0; i < zombie->chans.size(); i++)
-614 {
-615 if (zombie->chans[i].channel != NULL)
-616 {
-617 if (zombie->chans[i].channel->name)
-618 {
-619 chanrec* Ptr = zombie->chans[i].channel;
-620 WriteFrom(zombie->fd,zombie,'JOIN %s',Ptr->name);
-621 if (Ptr->topicset)
-622 {
-623 WriteServ(zombie->fd,'332 %s %s :%s', zombie->nick, Ptr->name, Ptr->topic);
-624 WriteServ(zombie->fd,'333 %s %s %s %d', zombie->nick, Ptr->name, Ptr->setby, Ptr->topicset);
-625 }
-626 userlist(zombie,Ptr);
-627 WriteServ(zombie->fd,'366 %s %s :End of /NAMES list.', zombie->nick, Ptr->name);
-628
-629 }
-630 }
-631 }
-632 return true;
-633 }
+611 {
+612 zombie->fd = alive->fd;
+613 alive->fd = FD_MAGIC_NUMBER;
+614 alive->ClearBuffer();
+615 Write(zombie->fd,':%s!%s@%s NICK %s',alive->nick,alive->ident,alive->host,zombie->nick);
+616 kill_link(alive,message.c_str());
+617 fd_ref_table[zombie->fd] = zombie;
+618 for (unsigned int i = 0; i < zombie->chans.size(); i++)
+619 {
+620 if (zombie->chans[i].channel != NULL)
+621 {
+622 if (zombie->chans[i].channel->name)
+623 {
+624 chanrec* Ptr = zombie->chans[i].channel;
+625 WriteFrom(zombie->fd,zombie,'JOIN %s',Ptr->name);
+626 if (Ptr->topicset)
+627 {
+628 WriteServ(zombie->fd,'332 %s %s :%s', zombie->nick, Ptr->name, Ptr->topic);
+629 WriteServ(zombie->fd,'333 %s %s %s %d', zombie->nick, Ptr->name, Ptr->setby, Ptr->topicset);
+630 }
+631 userlist(zombie,Ptr);
+632 WriteServ(zombie->fd,'366 %s %s :End of /NAMES list.', zombie->nick, Ptr->name);
+633
+634 }
+635 }
+636 }
+637 return true;
+638 }
.fi
.PP
.SS "void Server::QuitUser (\fBuserrec\fP * user, \fBstd::string\fP reason)\fC [virtual]\fP"
@@ -1065,14 +1083,14 @@ 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.
.PP
-Definition at line 386 of file modules.cpp.
+Definition at line 391 of file modules.cpp.
.PP
References kill_link().
.PP
.nf
-387 {
-388 kill_link(user,reason.c_str());
-389 }
+392 {
+393 kill_link(user,reason.c_str());
+394 }
.fi
.PP
.SS "void Server::RehashServer ()\fC [virtual]\fP"
@@ -1094,14 +1112,14 @@ 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 421 of file modules.cpp.
+Definition at line 426 of file modules.cpp.
.PP
References Write().
.PP
.nf
-422 {
-423 Write(Socket,'%s',s.c_str());
-424 }
+427 {
+428 Write(Socket,'%s',s.c_str());
+429 }
.fi
.PP
.SS "void Server::SendChannel (\fBuserrec\fP * User, \fBchanrec\fP * Channel, \fBstd::string\fP s, bool IncludeSender)\fC [virtual]\fP"
@@ -1110,21 +1128,21 @@ 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 455 of file modules.cpp.
+Definition at line 460 of file modules.cpp.
.PP
References ChanExceptSender(), and WriteChannel().
.PP
.nf
-456 {
-457 if (IncludeSender)
-458 {
-459 WriteChannel(Channel,User,'%s',s.c_str());
-460 }
-461 else
-462 {
-463 ChanExceptSender(Channel,User,'%s',s.c_str());
-464 }
-465 }
+461 {
+462 if (IncludeSender)
+463 {
+464 WriteChannel(Channel,User,'%s',s.c_str());
+465 }
+466 else
+467 {
+468 ChanExceptSender(Channel,User,'%s',s.c_str());
+469 }
+470 }
.fi
.PP
.SS "void Server::SendChannelServerNotice (\fBstd::string\fP ServName, \fBchanrec\fP * Channel, \fBstd::string\fP text)\fC [virtual]\fP"
@@ -1133,12 +1151,12 @@ 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 450 of file modules.cpp.
+Definition at line 455 of file modules.cpp.
.PP
.nf
-451 {
-452 WriteChannelWithServ((char*)ServName.c_str(), Channel, '%s', text.c_str());
-453 }
+456 {
+457 WriteChannelWithServ((char*)ServName.c_str(), Channel, '%s', text.c_str());
+458 }
.fi
.PP
.SS "void Server::SendCommon (\fBuserrec\fP * User, \fBstd::string\fP text, bool IncludeSender)\fC [virtual]\fP"
@@ -1147,21 +1165,21 @@ 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 472 of file modules.cpp.
+Definition at line 477 of file modules.cpp.
.PP
References WriteCommon(), and WriteCommonExcept().
.PP
.nf
-473 {
-474 if (IncludeSender)
-475 {
-476 WriteCommon(User,'%s',text.c_str());
-477 }
-478 else
-479 {
-480 WriteCommonExcept(User,'%s',text.c_str());
-481 }
-482 }
+478 {
+479 if (IncludeSender)
+480 {
+481 WriteCommon(User,'%s',text.c_str());
+482 }
+483 else
+484 {
+485 WriteCommonExcept(User,'%s',text.c_str());
+486 }
+487 }
.fi
.PP
.SS "void Server::SendFrom (int Socket, \fBuserrec\fP * User, \fBstd::string\fP s)\fC [virtual]\fP"
@@ -1170,14 +1188,14 @@ 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 431 of file modules.cpp.
+Definition at line 436 of file modules.cpp.
.PP
References WriteFrom().
.PP
.nf
-432 {
-433 WriteFrom(Socket,User,'%s',s.c_str());
-434 }
+437 {
+438 WriteFrom(Socket,User,'%s',s.c_str());
+439 }
.fi
.PP
.SS "void Server::SendMode (char ** parameters, int pcnt, \fBuserrec\fP * user)\fC [virtual]\fP"
@@ -1200,14 +1218,14 @@ 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!
.PP
-Definition at line 416 of file modules.cpp.
+Definition at line 421 of file modules.cpp.
.PP
References server_mode().
.PP
.nf
-417 {
-418 server_mode(parameters,pcnt,user);
-419 }
+422 {
+423 server_mode(parameters,pcnt,user);
+424 }
.fi
.PP
.SS "void Server::SendOpers (\fBstd::string\fP s)\fC [virtual]\fP"
@@ -1216,14 +1234,14 @@ Sends text to all opers.
.PP
This method sends a server notice to all opers with the usermode +s.
.PP
-Definition at line 341 of file modules.cpp.
+Definition at line 346 of file modules.cpp.
.PP
References WriteOpers().
.PP
.nf
-342 {
-343 WriteOpers('%s',s.c_str());
-344 }
+347 {
+348 WriteOpers('%s',s.c_str());
+349 }
.fi
.PP
.SS "void Server::SendServ (int Socket, \fBstd::string\fP s)\fC [virtual]\fP"
@@ -1232,14 +1250,14 @@ 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 426 of file modules.cpp.
+Definition at line 431 of file modules.cpp.
.PP
References WriteServ().
.PP
.nf
-427 {
-428 WriteServ(Socket,'%s',s.c_str());
-429 }
+432 {
+433 WriteServ(Socket,'%s',s.c_str());
+434 }
.fi
.PP
.SS "void Server::SendTo (\fBuserrec\fP * Source, \fBuserrec\fP * Dest, \fBstd::string\fP s)\fC [virtual]\fP"
@@ -1256,23 +1274,23 @@ The format will become:
.PP
Which is useful for numerics and server notices to single users, etc.
.PP
-Definition at line 436 of file modules.cpp.
+Definition at line 441 of file modules.cpp.
.PP
References connection::fd, Write(), and WriteTo().
.PP
.nf
-437 {
-438 if (!Source)
-439 {
-440 // if source is NULL, then the message originates from the local server
-441 Write(Dest->fd,':%s %s',this->GetServerName().c_str(),s.c_str());
-442 }
-443 else
+442 {
+443 if (!Source)
444 {
-445 // otherwise it comes from the user specified
-446 WriteTo(Source,Dest,'%s',s.c_str());
+445 // if source is NULL, then the message originates from the local server
+446 Write(Dest->fd,':%s %s',this->GetServerName().c_str(),s.c_str());
447 }
-448 }
+448 else
+449 {
+450 // otherwise it comes from the user specified
+451 WriteTo(Source,Dest,'%s',s.c_str());
+452 }
+453 }
.fi
.PP
.SS "void Server::SendToModeMask (\fBstd::string\fP modes, int flags, \fBstd::string\fP text)\fC [virtual]\fP"
@@ -1285,12 +1303,12 @@ 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.
.PP
-Definition at line 354 of file modules.cpp.
+Definition at line 359 of file modules.cpp.
.PP
.nf
-355 {
-356 WriteMode(modes.c_str(),flags,'%s',text.c_str());
-357 }
+360 {
+361 WriteMode(modes.c_str(),flags,'%s',text.c_str());
+362 }
.fi
.PP
.SS "void Server::SendWallops (\fBuserrec\fP * User, \fBstd::string\fP text)\fC [virtual]\fP"
@@ -1299,14 +1317,14 @@ 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 484 of file modules.cpp.
+Definition at line 489 of file modules.cpp.
.PP
References WriteWallOps().
.PP
.nf
-485 {
-486 WriteWallOps(User,false,'%s',text.c_str());
-487 }
+490 {
+491 WriteWallOps(User,false,'%s',text.c_str());
+492 }
.fi
.PP
.SS "bool Server::UserToPseudo (\fBuserrec\fP * user, \fBstd::string\fP message)\fC [virtual]\fP"
@@ -1315,21 +1333,21 @@ Remove a user's connection to the irc server, but leave their client in existenc
.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 593 of file modules.cpp.
+Definition at line 598 of file modules.cpp.
.PP
References userrec::ClearBuffer(), SocketEngine::DelFd(), connection::fd, FD_MAGIC_NUMBER, connection::host, userrec::ident, and Write().
.PP
.nf
-594 {
-595 unsigned int old_fd = user->fd;
-596 user->fd = FD_MAGIC_NUMBER;
-597 user->ClearBuffer();
-598 Write(old_fd,'ERROR :Closing link (%s@%s) [%s]',user->ident,user->host,message.c_str());
-599 SE->DelFd(old_fd);
-600 shutdown(old_fd,2);
-601 close(old_fd);
-602 return true;
-603 }
+599 {
+600 unsigned int old_fd = user->fd;
+601 user->fd = FD_MAGIC_NUMBER;
+602 user->ClearBuffer();
+603 Write(old_fd,'ERROR :Closing link (%s@%s) [%s]',user->ident,user->host,message.c_str());
+604 SE->DelFd(old_fd);
+605 shutdown(old_fd,2);
+606 close(old_fd);
+607 return true;
+608 }
.fi
.PP
diff --git a/docs/man/man3/ServerConfig.3 b/docs/man/man3/ServerConfig.3
index 18db5e7a1..445d8b097 100644
--- a/docs/man/man3/ServerConfig.3
+++ b/docs/man/man3/ServerConfig.3
@@ -1,4 +1,4 @@
-.TH "ServerConfig" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ServerConfig" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/SocketEngine.3 b/docs/man/man3/SocketEngine.3
index 9a1a5ea58..e61149335 100644
--- a/docs/man/man3/SocketEngine.3
+++ b/docs/man/man3/SocketEngine.3
@@ -1,4 +1,4 @@
-.TH "SocketEngine" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "SocketEngine" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Version.3 b/docs/man/man3/Version.3
index abb990e74..003e3723c 100644
--- a/docs/man/man3/Version.3
+++ b/docs/man/man3/Version.3
@@ -1,4 +1,4 @@
-.TH "Version" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "Version" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/WhoWasUser.3 b/docs/man/man3/WhoWasUser.3
index 77a8d08e4..094ed41ae 100644
--- a/docs/man/man3/WhoWasUser.3
+++ b/docs/man/man3/WhoWasUser.3
@@ -1,4 +1,4 @@
-.TH "WhoWasUser" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "WhoWasUser" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/XLine.3 b/docs/man/man3/XLine.3
index 8eed9ef38..216576090 100644
--- a/docs/man/man3/XLine.3
+++ b/docs/man/man3/XLine.3
@@ -1,4 +1,4 @@
-.TH "XLine" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "XLine" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ZLine.3 b/docs/man/man3/ZLine.3
index 0bd28d854..06d8663f6 100644
--- a/docs/man/man3/ZLine.3
+++ b/docs/man/man3/ZLine.3
@@ -1,4 +1,4 @@
-.TH "ZLine" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ZLine" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/_home_.3 b/docs/man/man3/_home_.3
index 854a16ffe..49efbaddf 100644
--- a/docs/man/man3/_home_.3
+++ b/docs/man/man3/_home_.3
@@ -1,4 +1,4 @@
-.TH "/home/ Directory Reference" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "/home/ Directory Reference" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/_home_brain_.3 b/docs/man/man3/_home_brain_.3
index 8d5e2c76e..babca30f7 100644
--- a/docs/man/man3/_home_brain_.3
+++ b/docs/man/man3/_home_brain_.3
@@ -1,4 +1,4 @@
-.TH "/home/brain/ Directory Reference" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "/home/brain/ Directory Reference" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/_home_brain_inspircd-cvs_.3 b/docs/man/man3/_home_brain_inspircd-cvs_.3
index 2c61b2388..1479abc84 100644
--- a/docs/man/man3/_home_brain_inspircd-cvs_.3
+++ b/docs/man/man3/_home_brain_inspircd-cvs_.3
@@ -1,4 +1,4 @@
-.TH "/home/brain/inspircd-cvs/ Directory Reference" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "/home/brain/inspircd-cvs/ Directory Reference" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/_home_brain_inspircd-cvs_inspircd_.3 b/docs/man/man3/_home_brain_inspircd-cvs_inspircd_.3
index e1366b44a..0284e0651 100644
--- a/docs/man/man3/_home_brain_inspircd-cvs_inspircd_.3
+++ b/docs/man/man3/_home_brain_inspircd-cvs_inspircd_.3
@@ -1,4 +1,4 @@
-.TH "/home/brain/inspircd-cvs/inspircd/ Directory Reference" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "/home/brain/inspircd-cvs/inspircd/ Directory Reference" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/_home_brain_inspircd-cvs_inspircd_include_.3 b/docs/man/man3/_home_brain_inspircd-cvs_inspircd_include_.3
index 75e0ef123..e10e04e57 100644
--- a/docs/man/man3/_home_brain_inspircd-cvs_inspircd_include_.3
+++ b/docs/man/man3/_home_brain_inspircd-cvs_inspircd_include_.3
@@ -1,4 +1,4 @@
-.TH "/home/brain/inspircd-cvs/inspircd/include/ Directory Reference" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "/home/brain/inspircd-cvs/inspircd/include/ Directory Reference" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -22,6 +22,9 @@
.RI "file \fBctables.h\fP"
.br
.ti -1c
+.RI "file \fBcull_list.h\fP"
+.br
+.ti -1c
.RI "file \fBdns.h\fP"
.br
.ti -1c
diff --git a/docs/man/man3/_home_brain_inspircd-cvs_inspircd_src_.3 b/docs/man/man3/_home_brain_inspircd-cvs_inspircd_src_.3
index 846f10c4e..9071df9e9 100644
--- a/docs/man/man3/_home_brain_inspircd-cvs_inspircd_src_.3
+++ b/docs/man/man3/_home_brain_inspircd-cvs_inspircd_src_.3
@@ -1,4 +1,4 @@
-.TH "/home/brain/inspircd-cvs/inspircd/src/ Directory Reference" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "/home/brain/inspircd-cvs/inspircd/src/ Directory Reference" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/base.h.3 b/docs/man/man3/base.h.3
index 1fbc395b3..31b4deb84 100644
--- a/docs/man/man3/base.h.3
+++ b/docs/man/man3/base.h.3
@@ -1,4 +1,4 @@
-.TH "base.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "base.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/channels.cpp.3 b/docs/man/man3/channels.cpp.3
index 25dc3b6bd..443276105 100644
--- a/docs/man/man3/channels.cpp.3
+++ b/docs/man/man3/channels.cpp.3
@@ -1,4 +1,4 @@
-.TH "channels.cpp" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "channels.cpp" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -527,7 +527,7 @@ Referenced by chanrec::GetModeParameter(), and chanrec::SetCustomModeParam().
.PP
.SS "int \fBMODCOUNT\fP = -1"
.PP
-Definition at line 930 of file modules.cpp.
+Definition at line 935 of file modules.cpp.
.PP
Referenced by Server::FindModule().
.SS "std::vector<\fBModule\fP*> modules"
diff --git a/docs/man/man3/channels.h.3 b/docs/man/man3/channels.h.3
index d69ebe674..f8f81e705 100644
--- a/docs/man/man3/channels.h.3
+++ b/docs/man/man3/channels.h.3
@@ -1,4 +1,4 @@
-.TH "channels.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "channels.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/chanrec.3 b/docs/man/man3/chanrec.3
index 393b75457..fbd6260ec 100644
--- a/docs/man/man3/chanrec.3
+++ b/docs/man/man3/chanrec.3
@@ -1,4 +1,4 @@
-.TH "chanrec" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "chanrec" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/classbase.3 b/docs/man/man3/classbase.3
index 3982b20ac..de085033f 100644
--- a/docs/man/man3/classbase.3
+++ b/docs/man/man3/classbase.3
@@ -1,4 +1,4 @@
-.TH "classbase" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "classbase" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/command_t.3 b/docs/man/man3/command_t.3
index 37dbe8e76..1e49a2996 100644
--- a/docs/man/man3/command_t.3
+++ b/docs/man/man3/command_t.3
@@ -1,4 +1,4 @@
-.TH "command_t" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "command_t" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/commands.h.3 b/docs/man/man3/commands.h.3
index 27e6cf0a7..4d4920f53 100644
--- a/docs/man/man3/commands.h.3
+++ b/docs/man/man3/commands.h.3
@@ -1,4 +1,4 @@
-.TH "commands.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "commands.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/connection.3 b/docs/man/man3/connection.3
index c341c9284..841c792f1 100644
--- a/docs/man/man3/connection.3
+++ b/docs/man/man3/connection.3
@@ -1,4 +1,4 @@
-.TH "connection" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "connection" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/connection.h.3 b/docs/man/man3/connection.h.3
index 9cd67bf20..7e78e8aab 100644
--- a/docs/man/man3/connection.h.3
+++ b/docs/man/man3/connection.h.3
@@ -1,4 +1,4 @@
-.TH "connection.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "connection.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ctables.h.3 b/docs/man/man3/ctables.h.3
index f1b2cc9be..72fbad97b 100644
--- a/docs/man/man3/ctables.h.3
+++ b/docs/man/man3/ctables.h.3
@@ -1,4 +1,4 @@
-.TH "ctables.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ctables.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/cull_list.h.3 b/docs/man/man3/cull_list.h.3
new file mode 100644
index 000000000..b6ded78a3
--- /dev/null
+++ b/docs/man/man3/cull_list.h.3
@@ -0,0 +1,40 @@
+.TH "cull_list.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+cull_list.h \-
+.SH SYNOPSIS
+.br
+.PP
+\fC#include <typeinfo>\fP
+.br
+\fC#include <iostream>\fP
+.br
+\fC#include <string>\fP
+.br
+\fC#include <deque>\fP
+.br
+\fC#include <sstream>\fP
+.br
+\fC#include <vector>\fP
+.br
+\fC#include 'users.h'\fP
+.br
+\fC#include 'channels.h'\fP
+.br
+
+.SS "Classes"
+
+.in +1c
+.ti -1c
+.RI "class \fBCullItem\fP"
+.br
+.RI "\fIThe CullItem class holds a user and their quitmessage, and is used internally by the \fBCullList\fP class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed. \fP"
+.ti -1c
+.RI "class \fBCullList\fP"
+.br
+.RI "\fIThe CullList class can be used by modules, and is used by the core, to compile large lists of users in preperation to quitting them all at once. \fP"
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for InspIRCd from the source code.
diff --git a/docs/man/man3/dns.h.3 b/docs/man/man3/dns.h.3
index b22f0409c..03f36a822 100644
--- a/docs/man/man3/dns.h.3
+++ b/docs/man/man3/dns.h.3
@@ -1,4 +1,4 @@
-.TH "dns.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "dns.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/dns_ip4list.3 b/docs/man/man3/dns_ip4list.3
index 61d591237..9a31009aa 100644
--- a/docs/man/man3/dns_ip4list.3
+++ b/docs/man/man3/dns_ip4list.3
@@ -1,4 +1,4 @@
-.TH "dns_ip4list" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "dns_ip4list" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/globals.h.3 b/docs/man/man3/globals.h.3
index 06d0d81f1..f60a9448d 100644
--- a/docs/man/man3/globals.h.3
+++ b/docs/man/man3/globals.h.3
@@ -1,4 +1,4 @@
-.TH "globals.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "globals.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/hashcomp.h.3 b/docs/man/man3/hashcomp.h.3
index 751489424..21ba40560 100644
--- a/docs/man/man3/hashcomp.h.3
+++ b/docs/man/man3/hashcomp.h.3
@@ -1,4 +1,4 @@
-.TH "hashcomp.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "hashcomp.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/inspircd.h.3 b/docs/man/man3/inspircd.h.3
index 7ad3acf2c..32e2fdb01 100644
--- a/docs/man/man3/inspircd.h.3
+++ b/docs/man/man3/inspircd.h.3
@@ -1,4 +1,4 @@
-.TH "inspircd.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "inspircd.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -126,9 +126,6 @@ inspircd.h \-
.RI "bool \fBis_valid_cmd\fP (const char *commandname, int pcnt, \fBuserrec\fP *user)"
.br
.ti -1c
-.RI "\fBstd::string\fP \fBGetRevision\fP ()"
-.br
-.ti -1c
.RI "int \fBloop_call\fP (\fBhandlerfunc\fP fn, char **parameters, int pcnt, \fBuserrec\fP *u, int start, int end, int joins)"
.br
.ti -1c
@@ -141,9 +138,6 @@ inspircd.h \-
.RI "\fBuserrec\fP * \fBReHashNick\fP (char *Old, char *New)"
.br
.ti -1c
-.RI "char * \fBModuleError\fP ()"
-.br
-.ti -1c
.RI "void \fBAddOper\fP (\fBuserrec\fP *user)"
.br
.ti -1c
@@ -159,9 +153,6 @@ inspircd.h \-
.RI "const char * \fBFindServerNamePtr\fP (\fBstd::string\fP servername)"
.br
.ti -1c
-.RI "\fBstd::string\fP \fBGetVersionString\fP ()"
-.br
-.ti -1c
.RI "void * \fBdns_task\fP (void *arg)"
.br
.ti -1c
@@ -244,10 +235,6 @@ Referenced by userrec::userrec().
Referenced by Server::ChangeUserNick().
.SS "void FullConnectUser (\fBuserrec\fP * user)"
.PP
-.SS "\fBstd::string\fP GetRevision ()"
-.PP
-.SS "\fBstd::string\fP GetVersionString ()"
-.PP
.SS "void handle_version (char ** parameters, int pcnt, \fBuserrec\fP * user)"
.PP
.SS "bool is_valid_cmd (const char * commandname, int pcnt, \fBuserrec\fP * user)"
@@ -260,8 +247,6 @@ Referenced by Server::PseudoToUser(), and Server::QuitUser().
.PP
.SS "int loop_call (\fBhandlerfunc\fP fn, char ** parameters, int pcnt, \fBuserrec\fP * u, int start, int end, int joins)"
.PP
-.SS "char* ModuleError ()"
-.PP
.SS "void process_buffer (const char * cmdbuf, \fBuserrec\fP * user)"
.PP
.SS "\fBuserrec\fP* ReHashNick (char * Old, char * New)"
diff --git a/docs/man/man3/inspircd_io.h.3 b/docs/man/man3/inspircd_io.h.3
index 623efdc4a..9ed14e7be 100644
--- a/docs/man/man3/inspircd_io.h.3
+++ b/docs/man/man3/inspircd_io.h.3
@@ -1,4 +1,4 @@
-.TH "inspircd_io.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "inspircd_io.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/irc.3 b/docs/man/man3/irc.3
index 71dc962ae..357498a3b 100644
--- a/docs/man/man3/irc.3
+++ b/docs/man/man3/irc.3
@@ -1,4 +1,4 @@
-.TH "irc" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "irc" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/irc_InAddr_HashComp.3 b/docs/man/man3/irc_InAddr_HashComp.3
index e06813d73..2530f430d 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 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "irc::InAddr_HashComp" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/irc_StrHashComp.3 b/docs/man/man3/irc_StrHashComp.3
index 25f8918f9..c27aab162 100644
--- a/docs/man/man3/irc_StrHashComp.3
+++ b/docs/man/man3/irc_StrHashComp.3
@@ -1,4 +1,4 @@
-.TH "irc::StrHashComp" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "irc::StrHashComp" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/irc_irc_char_traits.3 b/docs/man/man3/irc_irc_char_traits.3
index 5001fb780..4b94560db 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 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "irc::irc_char_traits" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/message.h.3 b/docs/man/man3/message.h.3
index f677c6554..ab4a63db8 100644
--- a/docs/man/man3/message.h.3
+++ b/docs/man/man3/message.h.3
@@ -1,4 +1,4 @@
-.TH "message.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "message.h" 3 "15 Dec 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 19df0b06d..c00c3947e 100644
--- a/docs/man/man3/mode.h.3
+++ b/docs/man/man3/mode.h.3
@@ -1,4 +1,4 @@
-.TH "mode.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "mode.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/modules.cpp.3 b/docs/man/man3/modules.cpp.3
index 0739843bf..6a58ebacd 100644
--- a/docs/man/man3/modules.cpp.3
+++ b/docs/man/man3/modules.cpp.3
@@ -1,4 +1,4 @@
-.TH "modules.cpp" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "modules.cpp" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -303,7 +303,7 @@ Referenced by DoAddExtendedMode(), ModeDefined(), ModeDefinedOff(), ModeDefinedO
.PP
.SS "int \fBMODCOUNT\fP = -1"
.PP
-Definition at line 930 of file modules.cpp.
+Definition at line 935 of file modules.cpp.
.SS "std::vector<\fBInspSocket\fP*> \fBmodule_sockets\fP"
.PP
Referenced by Server::AddSocket(), and Server::DelSocket().
diff --git a/docs/man/man3/modules.h.3 b/docs/man/man3/modules.h.3
index 24fd4c360..481aeaa57 100644
--- a/docs/man/man3/modules.h.3
+++ b/docs/man/man3/modules.h.3
@@ -1,4 +1,4 @@
-.TH "modules.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "modules.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -264,22 +264,22 @@ Definition at line 38 of file modules.h.
Referenced by kick_channel().
.SS "#define CONF_FILE_NOT_FOUND 0x000200"
.PP
-Definition at line 1520 of file modules.h.
+Definition at line 1523 of file modules.h.
.PP
Referenced by ConfigReader::ConfigReader().
.SS "#define CONF_NOT_A_NUMBER 0x000010"
.PP
-Definition at line 1517 of file modules.h.
+Definition at line 1520 of file modules.h.
.PP
Referenced by ConfigReader::ReadInteger().
.SS "#define CONF_NOT_UNSIGNED 0x000080"
.PP
-Definition at line 1518 of file modules.h.
+Definition at line 1521 of file modules.h.
.PP
Referenced by ConfigReader::ReadInteger().
.SS "#define CONF_VALUE_NOT_FOUND 0x000100"
.PP
-Definition at line 1519 of file modules.h.
+Definition at line 1522 of file modules.h.
.PP
Referenced by ConfigReader::ReadFlag(), ConfigReader::ReadInteger(), and ConfigReader::ReadValue().
.SS "#define DEBUG 10"
@@ -375,7 +375,7 @@ Low level definition of a \fBFileReader\fP classes file cache area.
Definition at line 65 of file modules.h.
.SS "typedef DLLFactory<\fBModuleFactory\fP> \fBircd_module\fP"
.PP
-Definition at line 1686 of file modules.h.
+Definition at line 1689 of file modules.h.
.SS "typedef \fBfile_cache\fP \fBstring_list\fP"
.PP
Definition at line 70 of file modules.h.
diff --git a/docs/man/man3/nspace.3 b/docs/man/man3/nspace.3
index 5ec9865ba..710faf6e3 100644
--- a/docs/man/man3/nspace.3
+++ b/docs/man/man3/nspace.3
@@ -1,4 +1,4 @@
-.TH "nspace" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "nspace" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/nspace_hash_ in_addr _.3 b/docs/man/man3/nspace_hash_ in_addr _.3
index a8485cd17..1957a8802 100644
--- a/docs/man/man3/nspace_hash_ in_addr _.3
+++ b/docs/man/man3/nspace_hash_ in_addr _.3
@@ -1,4 +1,4 @@
-.TH "nspace::hash< in_addr >" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "nspace::hash< in_addr >" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/nspace_hash_ string _.3 b/docs/man/man3/nspace_hash_ string _.3
index a71325c4d..aba6882af 100644
--- a/docs/man/man3/nspace_hash_ string _.3
+++ b/docs/man/man3/nspace_hash_ string _.3
@@ -1,4 +1,4 @@
-.TH "nspace::hash< string >" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "nspace::hash< string >" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/serverstats.3 b/docs/man/man3/serverstats.3
index 18657e790..c3448337f 100644
--- a/docs/man/man3/serverstats.3
+++ b/docs/man/man3/serverstats.3
@@ -1,4 +1,4 @@
-.TH "serverstats" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "serverstats" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/socket.cpp.3 b/docs/man/man3/socket.cpp.3
index b483fd050..4960cafd7 100644
--- a/docs/man/man3/socket.cpp.3
+++ b/docs/man/man3/socket.cpp.3
@@ -1,4 +1,4 @@
-.TH "socket.cpp" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "socket.cpp" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/socket.h.3 b/docs/man/man3/socket.h.3
index 5efbc0311..788e52df6 100644
--- a/docs/man/man3/socket.h.3
+++ b/docs/man/man3/socket.h.3
@@ -1,4 +1,4 @@
-.TH "socket.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "socket.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/socketengine.cpp.3 b/docs/man/man3/socketengine.cpp.3
index b864541ba..9be381503 100644
--- a/docs/man/man3/socketengine.cpp.3
+++ b/docs/man/man3/socketengine.cpp.3
@@ -1,4 +1,4 @@
-.TH "socketengine.cpp" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "socketengine.cpp" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/socketengine.h.3 b/docs/man/man3/socketengine.h.3
index 54d35e323..35bf728c1 100644
--- a/docs/man/man3/socketengine.h.3
+++ b/docs/man/man3/socketengine.h.3
@@ -1,4 +1,4 @@
-.TH "socketengine.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "socketengine.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/std.3 b/docs/man/man3/std.3
index 2f27c8b5a..a420bba50 100644
--- a/docs/man/man3/std.3
+++ b/docs/man/man3/std.3
@@ -1,4 +1,4 @@
-.TH "std" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "std" 3 "15 Dec 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 c875bc7d9..599987085 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 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "std::char_traits" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/typedefs.h.3 b/docs/man/man3/typedefs.h.3
index d93fbb901..f2a9a31ea 100644
--- a/docs/man/man3/typedefs.h.3
+++ b/docs/man/man3/typedefs.h.3
@@ -1,4 +1,4 @@
-.TH "typedefs.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "typedefs.h" 3 "15 Dec 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 764821843..ba427060b 100644
--- a/docs/man/man3/ucrec.3
+++ b/docs/man/man3/ucrec.3
@@ -1,4 +1,4 @@
-.TH "ucrec" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "ucrec" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/userprocess.h.3 b/docs/man/man3/userprocess.h.3
index 92541398d..70e681727 100644
--- a/docs/man/man3/userprocess.h.3
+++ b/docs/man/man3/userprocess.h.3
@@ -1,4 +1,4 @@
-.TH "userprocess.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "userprocess.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/userrec.3 b/docs/man/man3/userrec.3
index ce863107f..9c34db700 100644
--- a/docs/man/man3/userrec.3
+++ b/docs/man/man3/userrec.3
@@ -1,4 +1,4 @@
-.TH "userrec" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "userrec" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/users.cpp.3 b/docs/man/man3/users.cpp.3
index 9b4705a63..05915282e 100644
--- a/docs/man/man3/users.cpp.3
+++ b/docs/man/man3/users.cpp.3
@@ -1,4 +1,4 @@
-.TH "users.cpp" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "users.cpp" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/users.h.3 b/docs/man/man3/users.h.3
index 8f98caab3..895149d91 100644
--- a/docs/man/man3/users.h.3
+++ b/docs/man/man3/users.h.3
@@ -1,4 +1,4 @@
-.TH "users.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "users.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/xline.h.3 b/docs/man/man3/xline.h.3
index 1e12b1309..bac860eff 100644
--- a/docs/man/man3/xline.h.3
+++ b/docs/man/man3/xline.h.3
@@ -1,4 +1,4 @@
-.TH "xline.h" 3 "14 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
+.TH "xline.h" 3 "15 Dec 2005" "Version 1.0Betareleases" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME