summaryrefslogtreecommitdiff
path: root/docs
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
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')
-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
-rw-r--r--docs/module-doc/annotated.html4
-rw-r--r--docs/module-doc/base_8h-source.html2
-rw-r--r--docs/module-doc/base_8h.html2
-rw-r--r--docs/module-doc/base_8h__dep__incl.md52
-rw-r--r--docs/module-doc/channels_8cpp-source.html2
-rw-r--r--docs/module-doc/channels_8cpp.html12
-rw-r--r--docs/module-doc/channels_8h-source.html2
-rw-r--r--docs/module-doc/channels_8h.html17
-rw-r--r--docs/module-doc/channels_8h__dep__incl.gifbin7072 -> 7842 bytes
-rw-r--r--docs/module-doc/channels_8h__dep__incl.map11
-rw-r--r--docs/module-doc/channels_8h__dep__incl.md52
-rw-r--r--docs/module-doc/classAdmin-members.html2
-rw-r--r--docs/module-doc/classAdmin.html2
-rw-r--r--docs/module-doc/classBanItem-members.html2
-rw-r--r--docs/module-doc/classBanItem.html2
-rw-r--r--docs/module-doc/classBoolSet-members.html2
-rw-r--r--docs/module-doc/classBoolSet.html2
-rw-r--r--docs/module-doc/classConfigReader-members.html2
-rw-r--r--docs/module-doc/classConfigReader.html286
-rw-r--r--docs/module-doc/classConnectClass-members.html2
-rw-r--r--docs/module-doc/classConnectClass.html2
-rw-r--r--docs/module-doc/classCullItem-members.html18
-rw-r--r--docs/module-doc/classCullItem.html208
-rw-r--r--docs/module-doc/classCullItem__coll__graph.gifbin0 -> 2126 bytes
-rw-r--r--docs/module-doc/classCullItem__coll__graph.map2
-rw-r--r--docs/module-doc/classCullItem__coll__graph.md51
-rw-r--r--docs/module-doc/classCullList-members.html18
-rw-r--r--docs/module-doc/classCullList.html208
-rw-r--r--docs/module-doc/classCullList__coll__graph.gifbin0 -> 1767 bytes
-rw-r--r--docs/module-doc/classCullList__coll__graph.map1
-rw-r--r--docs/module-doc/classCullList__coll__graph.md51
-rw-r--r--docs/module-doc/classDNS-members.html2
-rw-r--r--docs/module-doc/classDNS.html2
-rw-r--r--docs/module-doc/classELine-members.html2
-rw-r--r--docs/module-doc/classELine.html2
-rw-r--r--docs/module-doc/classEvent-members.html2
-rw-r--r--docs/module-doc/classEvent.html2
-rw-r--r--docs/module-doc/classExemptItem-members.html2
-rw-r--r--docs/module-doc/classExemptItem.html2
-rw-r--r--docs/module-doc/classExtMode-members.html2
-rw-r--r--docs/module-doc/classExtMode.html2
-rw-r--r--docs/module-doc/classExtensible-members.html2
-rw-r--r--docs/module-doc/classExtensible.html2
-rw-r--r--docs/module-doc/classFileReader-members.html2
-rw-r--r--docs/module-doc/classFileReader.html84
-rw-r--r--docs/module-doc/classGLine-members.html2
-rw-r--r--docs/module-doc/classGLine.html2
-rw-r--r--docs/module-doc/classHostItem-members.html2
-rw-r--r--docs/module-doc/classHostItem.html2
-rw-r--r--docs/module-doc/classInspIRCd-members.html6
-rw-r--r--docs/module-doc/classInspIRCd.html121
-rw-r--r--docs/module-doc/classInspIRCd__coll__graph.gifbin1041 -> 1553 bytes
-rw-r--r--docs/module-doc/classInspIRCd__coll__graph.md52
-rw-r--r--docs/module-doc/classInspSocket-members.html2
-rw-r--r--docs/module-doc/classInspSocket.html2
-rw-r--r--docs/module-doc/classInviteItem-members.html2
-rw-r--r--docs/module-doc/classInviteItem.html2
-rw-r--r--docs/module-doc/classInvited-members.html2
-rw-r--r--docs/module-doc/classInvited.html2
-rw-r--r--docs/module-doc/classKLine-members.html2
-rw-r--r--docs/module-doc/classKLine.html2
-rw-r--r--docs/module-doc/classModeParameter-members.html2
-rw-r--r--docs/module-doc/classModeParameter.html2
-rw-r--r--docs/module-doc/classModule-members.html2
-rw-r--r--docs/module-doc/classModule.html2
-rw-r--r--docs/module-doc/classModuleFactory-members.html2
-rw-r--r--docs/module-doc/classModuleFactory.html8
-rw-r--r--docs/module-doc/classModuleMessage-members.html2
-rw-r--r--docs/module-doc/classModuleMessage.html2
-rw-r--r--docs/module-doc/classQLine-members.html2
-rw-r--r--docs/module-doc/classQLine.html2
-rw-r--r--docs/module-doc/classRequest-members.html2
-rw-r--r--docs/module-doc/classRequest.html2
-rw-r--r--docs/module-doc/classServer-members.html3
-rw-r--r--docs/module-doc/classServer.html719
-rw-r--r--docs/module-doc/classServerConfig-members.html2
-rw-r--r--docs/module-doc/classServerConfig.html26
-rw-r--r--docs/module-doc/classSocketEngine-members.html2
-rw-r--r--docs/module-doc/classSocketEngine.html4
-rw-r--r--docs/module-doc/classVersion-members.html2
-rw-r--r--docs/module-doc/classVersion.html2
-rw-r--r--docs/module-doc/classWhoWasUser-members.html2
-rw-r--r--docs/module-doc/classWhoWasUser.html2
-rw-r--r--docs/module-doc/classXLine-members.html2
-rw-r--r--docs/module-doc/classXLine.html2
-rw-r--r--docs/module-doc/classZLine-members.html2
-rw-r--r--docs/module-doc/classZLine.html2
-rw-r--r--docs/module-doc/classchanrec-members.html2
-rw-r--r--docs/module-doc/classchanrec.html12
-rw-r--r--docs/module-doc/classclassbase-members.html2
-rw-r--r--docs/module-doc/classclassbase.html2
-rw-r--r--docs/module-doc/classcommand__t-members.html2
-rw-r--r--docs/module-doc/classcommand__t.html2
-rw-r--r--docs/module-doc/classconnection-members.html2
-rw-r--r--docs/module-doc/classconnection.html6
-rw-r--r--docs/module-doc/classes.html28
-rw-r--r--docs/module-doc/classserverstats-members.html2
-rw-r--r--docs/module-doc/classserverstats.html2
-rw-r--r--docs/module-doc/classstd_1_1char__traits.html2
-rw-r--r--docs/module-doc/classucrec-members.html2
-rw-r--r--docs/module-doc/classucrec.html2
-rw-r--r--docs/module-doc/classuserrec-members.html2
-rw-r--r--docs/module-doc/classuserrec.html10
-rw-r--r--docs/module-doc/commands_8h-source.html2
-rw-r--r--docs/module-doc/commands_8h.html6
-rw-r--r--docs/module-doc/connection_8h-source.html2
-rw-r--r--docs/module-doc/connection_8h.html2
-rw-r--r--docs/module-doc/connection_8h__dep__incl.md52
-rw-r--r--docs/module-doc/ctables_8h-source.html2
-rw-r--r--docs/module-doc/ctables_8h.html2
-rw-r--r--docs/module-doc/cull__list_8h-source.html67
-rw-r--r--docs/module-doc/cull__list_8h.html42
-rw-r--r--docs/module-doc/cull__list_8h__incl.gifbin0 -> 7389 bytes
-rw-r--r--docs/module-doc/cull__list_8h__incl.map4
-rw-r--r--docs/module-doc/cull__list_8h__incl.md51
-rw-r--r--docs/module-doc/dir_000000.html2
-rw-r--r--docs/module-doc/dir_000001.html2
-rw-r--r--docs/module-doc/dir_000002.html2
-rw-r--r--docs/module-doc/dir_000003.html2
-rw-r--r--docs/module-doc/dir_000004.html4
-rw-r--r--docs/module-doc/dir_000005.html2
-rw-r--r--docs/module-doc/dir_000005_000004.html2
-rw-r--r--docs/module-doc/dirs.html2
-rw-r--r--docs/module-doc/dns_8h-source.html2
-rw-r--r--docs/module-doc/dns_8h.html2
-rw-r--r--docs/module-doc/files.html3
-rw-r--r--docs/module-doc/functions.html8
-rw-r--r--docs/module-doc/functions_0x62.html2
-rw-r--r--docs/module-doc/functions_0x63.html6
-rw-r--r--docs/module-doc/functions_0x64.html2
-rw-r--r--docs/module-doc/functions_0x65.html5
-rw-r--r--docs/module-doc/functions_0x66.html2
-rw-r--r--docs/module-doc/functions_0x67.html14
-rw-r--r--docs/module-doc/functions_0x68.html2
-rw-r--r--docs/module-doc/functions_0x69.html8
-rw-r--r--docs/module-doc/functions_0x6a.html2
-rw-r--r--docs/module-doc/functions_0x6b.html2
-rw-r--r--docs/module-doc/functions_0x6c.html4
-rw-r--r--docs/module-doc/functions_0x6d.html8
-rw-r--r--docs/module-doc/functions_0x6e.html2
-rw-r--r--docs/module-doc/functions_0x6f.html2
-rw-r--r--docs/module-doc/functions_0x70.html2
-rw-r--r--docs/module-doc/functions_0x71.html2
-rw-r--r--docs/module-doc/functions_0x72.html4
-rw-r--r--docs/module-doc/functions_0x73.html2
-rw-r--r--docs/module-doc/functions_0x74.html8
-rw-r--r--docs/module-doc/functions_0x75.html5
-rw-r--r--docs/module-doc/functions_0x76.html2
-rw-r--r--docs/module-doc/functions_0x77.html2
-rw-r--r--docs/module-doc/functions_0x7e.html2
-rw-r--r--docs/module-doc/functions_func.html8
-rw-r--r--docs/module-doc/functions_func_0x62.html2
-rw-r--r--docs/module-doc/functions_func_0x63.html6
-rw-r--r--docs/module-doc/functions_func_0x64.html2
-rw-r--r--docs/module-doc/functions_func_0x65.html2
-rw-r--r--docs/module-doc/functions_func_0x66.html2
-rw-r--r--docs/module-doc/functions_func_0x67.html14
-rw-r--r--docs/module-doc/functions_func_0x68.html2
-rw-r--r--docs/module-doc/functions_func_0x69.html2
-rw-r--r--docs/module-doc/functions_func_0x6a.html2
-rw-r--r--docs/module-doc/functions_func_0x6c.html2
-rw-r--r--docs/module-doc/functions_func_0x6d.html5
-rw-r--r--docs/module-doc/functions_func_0x6e.html2
-rw-r--r--docs/module-doc/functions_func_0x6f.html2
-rw-r--r--docs/module-doc/functions_func_0x70.html2
-rw-r--r--docs/module-doc/functions_func_0x71.html2
-rw-r--r--docs/module-doc/functions_func_0x72.html2
-rw-r--r--docs/module-doc/functions_func_0x73.html2
-rw-r--r--docs/module-doc/functions_func_0x74.html2
-rw-r--r--docs/module-doc/functions_func_0x75.html2
-rw-r--r--docs/module-doc/functions_func_0x76.html2
-rw-r--r--docs/module-doc/functions_func_0x77.html2
-rw-r--r--docs/module-doc/functions_func_0x7e.html2
-rw-r--r--docs/module-doc/functions_vars.html21
-rw-r--r--docs/module-doc/globals.html2
-rw-r--r--docs/module-doc/globals_0x62.html2
-rw-r--r--docs/module-doc/globals_0x63.html2
-rw-r--r--docs/module-doc/globals_0x64.html2
-rw-r--r--docs/module-doc/globals_0x65.html2
-rw-r--r--docs/module-doc/globals_0x66.html2
-rw-r--r--docs/module-doc/globals_0x67.html8
-rw-r--r--docs/module-doc/globals_0x68.html2
-rw-r--r--docs/module-doc/globals_0x69.html2
-rw-r--r--docs/module-doc/globals_0x6b.html2
-rw-r--r--docs/module-doc/globals_0x6c.html2
-rw-r--r--docs/module-doc/globals_0x6d.html5
-rw-r--r--docs/module-doc/globals_0x6e.html2
-rw-r--r--docs/module-doc/globals_0x6f.html2
-rw-r--r--docs/module-doc/globals_0x70.html2
-rw-r--r--docs/module-doc/globals_0x71.html2
-rw-r--r--docs/module-doc/globals_0x72.html2
-rw-r--r--docs/module-doc/globals_0x73.html2
-rw-r--r--docs/module-doc/globals_0x74.html2
-rw-r--r--docs/module-doc/globals_0x75.html2
-rw-r--r--docs/module-doc/globals_0x76.html2
-rw-r--r--docs/module-doc/globals_0x77.html2
-rw-r--r--docs/module-doc/globals_0x78.html2
-rw-r--r--docs/module-doc/globals_0x7a.html2
-rw-r--r--docs/module-doc/globals_8h-source.html2
-rw-r--r--docs/module-doc/globals_8h.html36
-rw-r--r--docs/module-doc/globals_defs.html2
-rw-r--r--docs/module-doc/globals_enum.html2
-rw-r--r--docs/module-doc/globals_eval.html2
-rw-r--r--docs/module-doc/globals_func.html11
-rw-r--r--docs/module-doc/globals_type.html2
-rw-r--r--docs/module-doc/globals_vars.html2
-rw-r--r--docs/module-doc/graph_legend.html2
-rw-r--r--docs/module-doc/hashcomp_8h-source.html2
-rw-r--r--docs/module-doc/hashcomp_8h.html2
-rw-r--r--docs/module-doc/hierarchy.html4
-rw-r--r--docs/module-doc/inherit__graph__10.gifbin587 -> 526 bytes
-rw-r--r--docs/module-doc/inherit__graph__10.map2
-rw-r--r--docs/module-doc/inherit__graph__10.md52
-rw-r--r--docs/module-doc/inherit__graph__11.gifbin423 -> 608 bytes
-rw-r--r--docs/module-doc/inherit__graph__11.map2
-rw-r--r--docs/module-doc/inherit__graph__11.md52
-rw-r--r--docs/module-doc/inherit__graph__12.gifbin460 -> 587 bytes
-rw-r--r--docs/module-doc/inherit__graph__12.map2
-rw-r--r--docs/module-doc/inherit__graph__12.md52
-rw-r--r--docs/module-doc/inherit__graph__13.gifbin508 -> 423 bytes
-rw-r--r--docs/module-doc/inherit__graph__13.map2
-rw-r--r--docs/module-doc/inherit__graph__13.md52
-rw-r--r--docs/module-doc/inherit__graph__14.gifbin0 -> 460 bytes
-rw-r--r--docs/module-doc/inherit__graph__14.map2
-rw-r--r--docs/module-doc/inherit__graph__14.md51
-rw-r--r--docs/module-doc/inherit__graph__15.gifbin0 -> 508 bytes
-rw-r--r--docs/module-doc/inherit__graph__15.map2
-rw-r--r--docs/module-doc/inherit__graph__15.md51
-rw-r--r--docs/module-doc/inherit__graph__3.gifbin304 -> 346 bytes
-rw-r--r--docs/module-doc/inherit__graph__3.map2
-rw-r--r--docs/module-doc/inherit__graph__3.md52
-rw-r--r--docs/module-doc/inherit__graph__4.gifbin395 -> 332 bytes
-rw-r--r--docs/module-doc/inherit__graph__4.map2
-rw-r--r--docs/module-doc/inherit__graph__4.md52
-rw-r--r--docs/module-doc/inherit__graph__5.gifbin396 -> 304 bytes
-rw-r--r--docs/module-doc/inherit__graph__5.map2
-rw-r--r--docs/module-doc/inherit__graph__5.md52
-rw-r--r--docs/module-doc/inherit__graph__6.gifbin434 -> 395 bytes
-rw-r--r--docs/module-doc/inherit__graph__6.map2
-rw-r--r--docs/module-doc/inherit__graph__6.md52
-rw-r--r--docs/module-doc/inherit__graph__7.gifbin600 -> 396 bytes
-rw-r--r--docs/module-doc/inherit__graph__7.map2
-rw-r--r--docs/module-doc/inherit__graph__7.md52
-rw-r--r--docs/module-doc/inherit__graph__8.gifbin526 -> 434 bytes
-rw-r--r--docs/module-doc/inherit__graph__8.map2
-rw-r--r--docs/module-doc/inherit__graph__8.md52
-rw-r--r--docs/module-doc/inherit__graph__9.gifbin608 -> 600 bytes
-rw-r--r--docs/module-doc/inherit__graph__9.map2
-rw-r--r--docs/module-doc/inherit__graph__9.md52
-rw-r--r--docs/module-doc/inherits.html32
-rw-r--r--docs/module-doc/inspircd_8h-source.html79
-rw-r--r--docs/module-doc/inspircd_8h.html97
-rw-r--r--docs/module-doc/inspircd__io_8h-source.html2
-rw-r--r--docs/module-doc/inspircd__io_8h.html4
-rw-r--r--docs/module-doc/main.html2
-rw-r--r--docs/module-doc/message_8h-source.html2
-rw-r--r--docs/module-doc/message_8h.html8
-rw-r--r--docs/module-doc/mode_8h-source.html2
-rw-r--r--docs/module-doc/mode_8h.html4
-rw-r--r--docs/module-doc/modules_8cpp-source.html923
-rw-r--r--docs/module-doc/modules_8cpp.html10
-rw-r--r--docs/module-doc/modules_8h-source.html323
-rw-r--r--docs/module-doc/modules_8h.html32
-rw-r--r--docs/module-doc/namespaceirc.html2
-rw-r--r--docs/module-doc/namespacemembers.html2
-rw-r--r--docs/module-doc/namespacemembers_type.html2
-rw-r--r--docs/module-doc/namespacenspace.html2
-rw-r--r--docs/module-doc/namespaces.html2
-rw-r--r--docs/module-doc/namespacestd.html2
-rw-r--r--docs/module-doc/socket_8cpp-source.html2
-rw-r--r--docs/module-doc/socket_8cpp.html2
-rw-r--r--docs/module-doc/socket_8h-source.html2
-rw-r--r--docs/module-doc/socket_8h.html2
-rw-r--r--docs/module-doc/socketengine_8cpp-source.html2
-rw-r--r--docs/module-doc/socketengine_8cpp.html2
-rw-r--r--docs/module-doc/socketengine_8h-source.html2
-rw-r--r--docs/module-doc/socketengine_8h.html2
-rw-r--r--docs/module-doc/structdns__ip4list-members.html2
-rw-r--r--docs/module-doc/structdns__ip4list.html2
-rw-r--r--docs/module-doc/structirc_1_1InAddr__HashComp-members.html2
-rw-r--r--docs/module-doc/structirc_1_1InAddr__HashComp.html2
-rw-r--r--docs/module-doc/structirc_1_1StrHashComp-members.html2
-rw-r--r--docs/module-doc/structirc_1_1StrHashComp.html2
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits-members.html2
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits.html2
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html2
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html2
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html2
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01string_01_4.html2
-rw-r--r--docs/module-doc/tree.html5
-rw-r--r--docs/module-doc/typedefs_8h-source.html2
-rw-r--r--docs/module-doc/typedefs_8h.html2
-rw-r--r--docs/module-doc/userprocess_8h-source.html2
-rw-r--r--docs/module-doc/userprocess_8h.html2
-rw-r--r--docs/module-doc/users_8cpp-source.html2
-rw-r--r--docs/module-doc/users_8cpp.html2
-rw-r--r--docs/module-doc/users_8h-source.html2
-rw-r--r--docs/module-doc/users_8h.html25
-rw-r--r--docs/module-doc/users_8h__dep__incl.gifbin10481 -> 10591 bytes
-rw-r--r--docs/module-doc/users_8h__dep__incl.map23
-rw-r--r--docs/module-doc/users_8h__dep__incl.md52
-rw-r--r--docs/module-doc/xline_8h-source.html2
-rw-r--r--docs/module-doc/xline_8h.html22
385 files changed, 3304 insertions, 2345 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
diff --git a/docs/module-doc/annotated.html b/docs/module-doc/annotated.html
index 3bce7949d..d242be3d1 100644
--- a/docs/module-doc/annotated.html
+++ b/docs/module-doc/annotated.html
@@ -16,6 +16,8 @@
<tr><td class="indexkey"><a class="el" href="classConfigReader.html">ConfigReader</a></td><td class="indexvalue">Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file </td></tr>
<tr><td class="indexkey"><a class="el" href="classConnectClass.html">ConnectClass</a></td><td class="indexvalue">Holds information relevent to &lt;connect allow&gt; and &lt;connect deny&gt; tags in the config file </td></tr>
<tr><td class="indexkey"><a class="el" href="classconnection.html">connection</a></td><td class="indexvalue">Please note: classes serverrec and userrec both inherit from class connection </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classCullItem.html">CullItem</a></td><td class="indexvalue">Holds a user and their quitmessage, and is used internally by the <a class="el" href="classCullList.html">CullList</a> class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classCullList.html">CullList</a></td><td class="indexvalue">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 </td></tr>
<tr><td class="indexkey"><a class="el" href="classDNS.html">DNS</a></td><td class="indexvalue">Allows fast nonblocking resolution of hostnames and ip addresses </td></tr>
<tr><td class="indexkey"><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classELine.html">ELine</a></td><td class="indexvalue"></td></tr>
@@ -53,7 +55,7 @@
<tr><td class="indexkey"><a class="el" href="classXLine.html">XLine</a></td><td class="indexvalue">XLine is the base class for ban lines such as G lines and K lines </td></tr>
<tr><td class="indexkey"><a class="el" href="classZLine.html">ZLine</a></td><td class="indexvalue">ZLine class </td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/base_8h-source.html b/docs/module-doc/base_8h-source.html
index 5bf35fa88..dd5093d21 100644
--- a/docs/module-doc/base_8h-source.html
+++ b/docs/module-doc/base_8h-source.html
@@ -88,7 +88,7 @@
<a name="l00161"></a>00161
<a name="l00162"></a>00162 <span class="preprocessor">#endif</span>
<a name="l00163"></a>00163 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/base_8h.html b/docs/module-doc/base_8h.html
index 08420dfa3..21cb374ca 100644
--- a/docs/module-doc/base_8h.html
+++ b/docs/module-doc/base_8h.html
@@ -68,7 +68,7 @@ This graph shows which files directly or indirectly include this file:<p><center
Definition at line <a class="el" href="base_8h-source.html#l00026">26</a> of file <a class="el" href="base_8h-source.html">base.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:15 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/base_8h__dep__incl.md5 b/docs/module-doc/base_8h__dep__incl.md5
index f7dba84b9..41b455699 100644
--- a/docs/module-doc/base_8h__dep__incl.md5
+++ b/docs/module-doc/base_8h__dep__incl.md5
@@ -1 +1 @@
-2f30fe04f1854df5912b946d431d890e \ No newline at end of file
+b145898866c61fc2668d99f3afe53948 \ No newline at end of file
diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html
index 7000fa17d..c8421934a 100644
--- a/docs/module-doc/channels_8cpp-source.html
+++ b/docs/module-doc/channels_8cpp-source.html
@@ -552,7 +552,7 @@
<a name="l00543"></a>00543 }
<a name="l00544"></a>00544
<a name="l00545"></a>00545
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/channels_8cpp.html b/docs/module-doc/channels_8cpp.html
index 3eeac7995..4bd98b6e2 100644
--- a/docs/module-doc/channels_8cpp.html
+++ b/docs/module-doc/channels_8cpp.html
@@ -169,7 +169,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00195">195</a>
<p>
References <a class="el" href="channels_8h-source.html#l00151">chanrec::bans</a>, <a class="el" href="channels_8h-source.html#l00147">chanrec::binarymodes</a>, <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00149">userrec::chans</a>, <a class="el" href="channels_8h-source.html#l00028">CM_INVITEONLY</a>, <a class="el" href="channels_8h-source.html#l00027">CM_NOEXTERNAL</a>, <a class="el" href="channels_8h-source.html#l00026">CM_TOPICLOCK</a>, <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00030">DEFAULT</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="modules_8h-source.html#l00089">FOREACH_RESULT</a>, <a class="el" href="users_8cpp-source.html#l00072">userrec::GetFullHost()</a>, <a class="el" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel()</a>, <a class="el" href="users_8cpp-source.html#l00096">userrec::IsInvited()</a>, <a class="el" href="channels_8h-source.html#l00143">chanrec::key</a>, <a class="el" href="channels_8h-source.html#l00138">chanrec::limit</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="users_8h-source.html#l00147">userrec::modes</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, <a class="el" href="users_8cpp-source.html#l00122">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</a>, and <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00359">Server::JoinUserToChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00196"></a>00196 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00364">Server::JoinUserToChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00196"></a>00196 {
<a name="l00197"></a>00197 <span class="keywordflow">if</span> ((!user) || (!cn))
<a name="l00198"></a>00198 {
<a name="l00199"></a>00199 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEFAULT">DEFAULT</a>,<span class="stringliteral">"*** BUG *** add_channel was given an invalid parameter"</span>);
@@ -401,7 +401,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00401">401</a>
<p>
References <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00149">userrec::chans</a>, <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00030">DEFAULT</a>, <a class="el" href="channels_8cpp-source.html#l00173">chanrec::DelUser()</a>, <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan()</a>, <a class="el" href="modules_8h-source.html#l00081">FOREACH_MOD</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, and <a class="el" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel()</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00364">Server::PartUserFromChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00402"></a>00402 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00369">Server::PartUserFromChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00402"></a>00402 {
<a name="l00403"></a>00403 <span class="keywordflow">if</span> ((!user) || (!cname))
<a name="l00404"></a>00404 {
<a name="l00405"></a>00405 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEFAULT">DEFAULT</a>,<span class="stringliteral">"*** BUG *** del_channel was given an invalid parameter"</span>);
@@ -802,9 +802,9 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00147">chanrec::Get
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00930">930</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00935">935</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00719">Server::FindModule()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00724">Server::FindModule()</a>. </td>
</tr>
</table>
<a class="anchor" name="modules"></a><!-- doxytag: member="channels.cpp::modules" ref="modules" args="" --><p>
@@ -829,7 +829,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00719">Server::FindM
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00719">Server::FindModule()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00724">Server::FindModule()</a>. </td>
</tr>
</table>
<a class="anchor" name="TIME"></a><!-- doxytag: member="channels.cpp::TIME" ref="TIME" args="" --><p>
@@ -903,7 +903,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel(
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:14 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:15 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/channels_8h-source.html b/docs/module-doc/channels_8h-source.html
index d2ae71063..c66267f32 100644
--- a/docs/module-doc/channels_8h-source.html
+++ b/docs/module-doc/channels_8h-source.html
@@ -154,7 +154,7 @@
<a name="l00263"></a>00263
<a name="l00264"></a>00264 <span class="preprocessor">#endif</span>
<a name="l00265"></a>00265 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/channels_8h.html b/docs/module-doc/channels_8h.html
index fe3e3e2fe..bafe033e1 100644
--- a/docs/module-doc/channels_8h.html
+++ b/docs/module-doc/channels_8h.html
@@ -23,13 +23,14 @@ Include dependency graph for channels.h:<p><center><img src="channels_8h__incl.g
This graph shows which files directly or indirectly include this file:<p><center><img src="channels_8h__dep__incl.gif" border="0" usemap="#channels.hdep_map" alt=""></center>
<map name="channels.hdep_map">
<area href="users_8cpp-source.html" shape="rect" coords="407,83,487,109" alt="">
-<area href="users_8h-source.html" shape="rect" coords="144,257,208,284" alt="">
+<area href="users_8h-source.html" shape="rect" coords="144,260,208,287" alt="">
<area href="commands_8h-source.html" shape="rect" coords="257,57,356,84" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="269,159,344,185" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="404,209,489,236" alt="">
+<area href="globals_8h-source.html" shape="rect" coords="269,209,344,236" alt="">
+<area href="typedefs_8h-source.html" shape="rect" coords="404,235,489,261" alt="">
<area href="inspircd_8h-source.html" shape="rect" coords="267,108,347,135" alt="">
-<area href="message_8h-source.html" shape="rect" coords="264,311,349,337" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="273,361,340,388" alt="">
+<area href="cull__list_8h-source.html" shape="rect" coords="268,311,345,337" alt="">
+<area href="message_8h-source.html" shape="rect" coords="264,361,349,388" alt="">
+<area href="mode_8h-source.html" shape="rect" coords="273,412,340,439" alt="">
<area href="xline_8h-source.html" shape="rect" coords="276,463,337,489" alt="">
</map>
@@ -518,7 +519,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00195">195</a>
<p>
References <a class="el" href="channels_8h-source.html#l00151">chanrec::bans</a>, <a class="el" href="channels_8h-source.html#l00147">chanrec::binarymodes</a>, <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00149">userrec::chans</a>, <a class="el" href="channels_8h-source.html#l00028">CM_INVITEONLY</a>, <a class="el" href="channels_8h-source.html#l00027">CM_NOEXTERNAL</a>, <a class="el" href="channels_8h-source.html#l00026">CM_TOPICLOCK</a>, <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00030">DEFAULT</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="modules_8h-source.html#l00089">FOREACH_RESULT</a>, <a class="el" href="users_8cpp-source.html#l00072">userrec::GetFullHost()</a>, <a class="el" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel()</a>, <a class="el" href="users_8cpp-source.html#l00096">userrec::IsInvited()</a>, <a class="el" href="channels_8h-source.html#l00143">chanrec::key</a>, <a class="el" href="channels_8h-source.html#l00138">chanrec::limit</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="users_8h-source.html#l00147">userrec::modes</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, <a class="el" href="users_8cpp-source.html#l00122">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</a>, and <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00359">Server::JoinUserToChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00196"></a>00196 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00364">Server::JoinUserToChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00196"></a>00196 {
<a name="l00197"></a>00197 <span class="keywordflow">if</span> ((!user) || (!cn))
<a name="l00198"></a>00198 {
<a name="l00199"></a>00199 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEFAULT">DEFAULT</a>,<span class="stringliteral">"*** BUG *** add_channel was given an invalid parameter"</span>);
@@ -750,7 +751,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00401">401</a>
<p>
References <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00149">userrec::chans</a>, <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00030">DEFAULT</a>, <a class="el" href="channels_8cpp-source.html#l00173">chanrec::DelUser()</a>, <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan()</a>, <a class="el" href="modules_8h-source.html#l00081">FOREACH_MOD</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, and <a class="el" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel()</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00364">Server::PartUserFromChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00402"></a>00402 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00369">Server::PartUserFromChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00402"></a>00402 {
<a name="l00403"></a>00403 <span class="keywordflow">if</span> ((!user) || (!cname))
<a name="l00404"></a>00404 {
<a name="l00405"></a>00405 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEFAULT">DEFAULT</a>,<span class="stringliteral">"*** BUG *** del_channel was given an invalid parameter"</span>);
@@ -949,7 +950,7 @@ References <a class="el" href="modules_8h-source.html#l00040">AC_KICK</a>, <a cl
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:15 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:15 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/channels_8h__dep__incl.gif b/docs/module-doc/channels_8h__dep__incl.gif
index 44faae19a..5760f5fb0 100644
--- a/docs/module-doc/channels_8h__dep__incl.gif
+++ b/docs/module-doc/channels_8h__dep__incl.gif
Binary files differ
diff --git a/docs/module-doc/channels_8h__dep__incl.map b/docs/module-doc/channels_8h__dep__incl.map
index 51a68abc7..de7344cbf 100644
--- a/docs/module-doc/channels_8h__dep__incl.map
+++ b/docs/module-doc/channels_8h__dep__incl.map
@@ -1,10 +1,11 @@
base referer
rect $users_8cpp-source.html 407,83 487,109
-rect $users_8h-source.html 144,257 208,284
+rect $users_8h-source.html 144,260 208,287
rect $commands_8h-source.html 257,57 356,84
-rect $globals_8h-source.html 269,159 344,185
-rect $typedefs_8h-source.html 404,209 489,236
+rect $globals_8h-source.html 269,209 344,236
+rect $typedefs_8h-source.html 404,235 489,261
rect $inspircd_8h-source.html 267,108 347,135
-rect $message_8h-source.html 264,311 349,337
-rect $mode_8h-source.html 273,361 340,388
+rect $cull__list_8h-source.html 268,311 345,337
+rect $message_8h-source.html 264,361 349,388
+rect $mode_8h-source.html 273,412 340,439
rect $xline_8h-source.html 276,463 337,489
diff --git a/docs/module-doc/channels_8h__dep__incl.md5 b/docs/module-doc/channels_8h__dep__incl.md5
index 7cdd2a07a..2578e8764 100644
--- a/docs/module-doc/channels_8h__dep__incl.md5
+++ b/docs/module-doc/channels_8h__dep__incl.md5
@@ -1 +1 @@
-c1ac9086e017050822f2734a737f9114 \ No newline at end of file
+de274c87a015c43131b3ccf72e93a260 \ No newline at end of file
diff --git a/docs/module-doc/classAdmin-members.html b/docs/module-doc/classAdmin-members.html
index 03b44986f..3771e8c94 100644
--- a/docs/module-doc/classAdmin-members.html
+++ b/docs/module-doc/classAdmin-members.html
@@ -13,7 +13,7 @@
<tr class="memlist"><td><a class="el" href="classAdmin.html#Name">Name</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classAdmin.html#Nick">Nick</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classAdmin.html b/docs/module-doc/classAdmin.html
index 88d159fe1..a6f132e7d 100644
--- a/docs/module-doc/classAdmin.html
+++ b/docs/module-doc/classAdmin.html
@@ -165,7 +165,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00128">128</a> of
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classBanItem-members.html b/docs/module-doc/classBanItem-members.html
index 15d99bd40..c7d9059a9 100644
--- a/docs/module-doc/classBanItem-members.html
+++ b/docs/module-doc/classBanItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Ftime">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#_7EHostItem_28_29">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classBanItem.html b/docs/module-doc/classBanItem.html
index f9270f2c0..06957a4be 100644
--- a/docs/module-doc/classBanItem.html
+++ b/docs/module-doc/classBanItem.html
@@ -30,7 +30,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00054">54</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classBoolSet-members.html b/docs/module-doc/classBoolSet-members.html
index b16f5c2bb..66273bbab 100644
--- a/docs/module-doc/classBoolSet-members.html
+++ b/docs/module-doc/classBoolSet-members.html
@@ -17,7 +17,7 @@
<tr class="memlist"><td><a class="el" href="classBoolSet.html#operator_7C_28BoolSet_20other_29">operator|</a>(BoolSet other)</td><td><a class="el" href="classBoolSet.html">BoolSet</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBoolSet.html#Set_28int_20number_29">Set</a>(int number)</td><td><a class="el" href="classBoolSet.html">BoolSet</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classBoolSet.html#Unset_28int_20number_29">Unset</a>(int number)</td><td><a class="el" href="classBoolSet.html">BoolSet</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classBoolSet.html b/docs/module-doc/classBoolSet.html
index dfeab1879..b88883b5e 100644
--- a/docs/module-doc/classBoolSet.html
+++ b/docs/module-doc/classBoolSet.html
@@ -405,7 +405,7 @@ Definition at line <a class="el" href="base_8h-source.html#l00106">106</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classConfigReader-members.html b/docs/module-doc/classConfigReader-members.html
index 02f31cdb0..2dfac88f7 100644
--- a/docs/module-doc/classConfigReader-members.html
+++ b/docs/module-doc/classConfigReader-members.html
@@ -24,7 +24,7 @@
<tr class="memlist"><td><a class="el" href="classConfigReader.html#Verify_28_29">Verify</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classConfigReader.html#_7EConfigReader_28_29">~ConfigReader</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classConfigReader.html b/docs/module-doc/classConfigReader.html
index 706de5241..88ea934ac 100644
--- a/docs/module-doc/classConfigReader.html
+++ b/docs/module-doc/classConfigReader.html
@@ -73,7 +73,7 @@ It may either be instantiated with one parameter or none. Constructing the class
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01529">1529</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l01532">1532</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ConfigReader_28_29"></a><!-- doxytag: member="ConfigReader::ConfigReader" ref="ConfigReader_28_29" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -102,16 +102,16 @@ Default constructor.
<p>
This constructor initialises the ConfigReader class to read the inspircd.conf file as specified when running ./configure.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00731">731</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00736">736</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig::ClearStack()</a>, <a class="el" href="modules_8h-source.html#l01520">CONF_FILE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01542">error</a>, <a class="el" href="modules_8h-source.html#l01538">errorlog</a>, <a class="el" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">ServerConfig::LoadConf()</a>, and <a class="el" href="modules_8h-source.html#l01541">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00732"></a>00732 {
-<a name="l00733"></a>00733 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00734"></a>00734 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00735"></a>00735 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00736"></a>00736 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(CONFIG_FILE,this-&gt;cache,this-&gt;errorlog);
-<a name="l00737"></a>00737 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00738"></a>00738 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
-<a name="l00739"></a>00739 }
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig::ClearStack()</a>, <a class="el" href="modules_8h-source.html#l01523">CONF_FILE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01545">error</a>, <a class="el" href="modules_8h-source.html#l01541">errorlog</a>, <a class="el" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">ServerConfig::LoadConf()</a>, and <a class="el" href="modules_8h-source.html#l01544">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00737"></a>00737 {
+<a name="l00738"></a>00738 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
+<a name="l00739"></a>00739 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00740"></a>00740 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00741"></a>00741 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(CONFIG_FILE,this-&gt;cache,this-&gt;errorlog);
+<a name="l00742"></a>00742 <span class="keywordflow">if</span> (!this-&gt;readerror)
+<a name="l00743"></a>00743 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
+<a name="l00744"></a>00744 }
</pre></div>
<p>
</td>
@@ -146,16 +146,16 @@ Overloaded constructor.
<p>
This constructor initialises the ConfigReader class to read a user-specified config file
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00751">751</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00756">756</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig::ClearStack()</a>, <a class="el" href="modules_8h-source.html#l01520">CONF_FILE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01542">error</a>, <a class="el" href="modules_8h-source.html#l01538">errorlog</a>, <a class="el" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">ServerConfig::LoadConf()</a>, and <a class="el" href="modules_8h-source.html#l01541">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00752"></a>00752 {
-<a name="l00753"></a>00753 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00754"></a>00754 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00755"></a>00755 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00756"></a>00756 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(filename.c_str(),this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>,this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>);
-<a name="l00757"></a>00757 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00758"></a>00758 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
-<a name="l00759"></a>00759 };
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig::ClearStack()</a>, <a class="el" href="modules_8h-source.html#l01523">CONF_FILE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01545">error</a>, <a class="el" href="modules_8h-source.html#l01541">errorlog</a>, <a class="el" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">ServerConfig::LoadConf()</a>, and <a class="el" href="modules_8h-source.html#l01544">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00757"></a>00757 {
+<a name="l00758"></a>00758 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
+<a name="l00759"></a>00759 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00760"></a>00760 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00761"></a>00761 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(filename.c_str(),this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>,this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>);
+<a name="l00762"></a>00762 <span class="keywordflow">if</span> (!this-&gt;readerror)
+<a name="l00763"></a>00763 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
+<a name="l00764"></a>00764 };
</pre></div>
<p>
</td>
@@ -189,14 +189,14 @@ Default destructor.
<p>
This method destroys the ConfigReader class.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00742">742</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00747">747</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, and <a class="el" href="modules_8h-source.html#l01538">errorlog</a>.<div class="fragment"><pre class="fragment"><a name="l00743"></a>00743 {
-<a name="l00744"></a>00744 <span class="keywordflow">if</span> (this-&gt;cache)
-<a name="l00745"></a>00745 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>;
-<a name="l00746"></a>00746 <span class="keywordflow">if</span> (this-&gt;errorlog)
-<a name="l00747"></a>00747 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
-<a name="l00748"></a>00748 }
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, and <a class="el" href="modules_8h-source.html#l01541">errorlog</a>.<div class="fragment"><pre class="fragment"><a name="l00748"></a>00748 {
+<a name="l00749"></a>00749 <span class="keywordflow">if</span> (this-&gt;cache)
+<a name="l00750"></a>00750 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>;
+<a name="l00751"></a>00751 <span class="keywordflow">if</span> (this-&gt;errorlog)
+<a name="l00752"></a>00752 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
+<a name="l00753"></a>00753 }
</pre></div>
<p>
</td>
@@ -241,38 +241,38 @@ Dumps the list of errors in a config file to an output location.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00830">830</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00835">835</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01538">errorlog</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers()</a>, and <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.<div class="fragment"><pre class="fragment"><a name="l00831"></a>00831 {
-<a name="l00832"></a>00832 <span class="keywordflow">if</span> (bail)
-<a name="l00833"></a>00833 {
-<a name="l00834"></a>00834 printf(<span class="stringliteral">"There were errors in your configuration:\n%s"</span>,<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;str().c_str());
-<a name="l00835"></a>00835 exit(0);
-<a name="l00836"></a>00836 }
-<a name="l00837"></a>00837 <span class="keywordflow">else</span>
+References <a class="el" href="modules_8h-source.html#l01541">errorlog</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers()</a>, and <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.<div class="fragment"><pre class="fragment"><a name="l00836"></a>00836 {
+<a name="l00837"></a>00837 <span class="keywordflow">if</span> (bail)
<a name="l00838"></a>00838 {
-<a name="l00839"></a>00839 <span class="keywordtype">char</span> dataline[1024];
-<a name="l00840"></a>00840 <span class="keywordflow">if</span> (user)
-<a name="l00841"></a>00841 {
-<a name="l00842"></a>00842 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00843"></a>00843 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00844"></a>00844 {
-<a name="l00845"></a>00845 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00846"></a>00846 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :%s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,dataline);
-<a name="l00847"></a>00847 }
-<a name="l00848"></a>00848 }
-<a name="l00849"></a>00849 <span class="keywordflow">else</span>
-<a name="l00850"></a>00850 {
-<a name="l00851"></a>00851 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00852"></a>00852 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00853"></a>00853 {
-<a name="l00854"></a>00854 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00855"></a>00855 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(dataline);
-<a name="l00856"></a>00856 }
-<a name="l00857"></a>00857 }
-<a name="l00858"></a>00858 <span class="keywordflow">return</span>;
-<a name="l00859"></a>00859 }
-<a name="l00860"></a>00860 }
+<a name="l00839"></a>00839 printf(<span class="stringliteral">"There were errors in your configuration:\n%s"</span>,<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;str().c_str());
+<a name="l00840"></a>00840 exit(0);
+<a name="l00841"></a>00841 }
+<a name="l00842"></a>00842 <span class="keywordflow">else</span>
+<a name="l00843"></a>00843 {
+<a name="l00844"></a>00844 <span class="keywordtype">char</span> dataline[1024];
+<a name="l00845"></a>00845 <span class="keywordflow">if</span> (user)
+<a name="l00846"></a>00846 {
+<a name="l00847"></a>00847 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
+<a name="l00848"></a>00848 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
+<a name="l00849"></a>00849 {
+<a name="l00850"></a>00850 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
+<a name="l00851"></a>00851 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :%s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,dataline);
+<a name="l00852"></a>00852 }
+<a name="l00853"></a>00853 }
+<a name="l00854"></a>00854 <span class="keywordflow">else</span>
+<a name="l00855"></a>00855 {
+<a name="l00856"></a>00856 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
+<a name="l00857"></a>00857 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
+<a name="l00858"></a>00858 {
+<a name="l00859"></a>00859 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
+<a name="l00860"></a>00860 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(dataline);
+<a name="l00861"></a>00861 }
+<a name="l00862"></a>00862 }
+<a name="l00863"></a>00863 <span class="keywordflow">return</span>;
+<a name="l00864"></a>00864 }
+<a name="l00865"></a>00865 }
</pre></div>
<p>
</td>
@@ -307,11 +307,11 @@ Counts the number of times a given tag appears in the config file.
<p>
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 <a class="el" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ConfigReader::ReadValue</a> to loop through all copies of a multiple instance tag.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00863">863</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00868">868</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, and <a class="el" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">ServerConfig::EnumConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00864"></a>00864 {
-<a name="l00865"></a>00865 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">EnumConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,tag.c_str());
-<a name="l00866"></a>00866 }
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, and <a class="el" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">ServerConfig::EnumConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00869"></a>00869 {
+<a name="l00870"></a>00870 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">EnumConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,tag.c_str());
+<a name="l00871"></a>00871 }
</pre></div>
<p>
</td>
@@ -355,11 +355,11 @@ Returns the number of items within a tag.
<p>
For example if the tag was &lt;test tag="blah" data="foo"&gt; then this function would return 2. Spaces and newlines both qualify as valid seperators between values.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00868">868</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00873">873</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, and <a class="el" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">ServerConfig::EnumValues()</a>.<div class="fragment"><pre class="fragment"><a name="l00869"></a>00869 {
-<a name="l00870"></a>00870 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a>(<a class="code" href="classConfigReader.html#cache">cache</a>, tag.c_str(), index);
-<a name="l00871"></a>00871 }
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, and <a class="el" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">ServerConfig::EnumValues()</a>.<div class="fragment"><pre class="fragment"><a name="l00874"></a>00874 {
+<a name="l00875"></a>00875 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a>(<a class="code" href="classConfigReader.html#cache">cache</a>, tag.c_str(), index);
+<a name="l00876"></a>00876 }
</pre></div>
<p>
</td>
@@ -393,13 +393,13 @@ Returns the last error to occur.
<p>
Valid errors can be found by looking in <a class="el" href="modules_8h.html">modules.h</a>. Any nonzero value indicates an error condition. A call to <a class="el" href="classConfigReader.html#GetError_28_29">GetError()</a> resets the error flag back to 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00823">823</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00828">828</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01542">error</a>.<div class="fragment"><pre class="fragment"><a name="l00824"></a>00824 {
-<a name="l00825"></a>00825 <span class="keywordtype">long</span> olderr = this-&gt;<a class="code" href="classConfigReader.html#error">error</a>;
-<a name="l00826"></a>00826 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = 0;
-<a name="l00827"></a>00827 <span class="keywordflow">return</span> olderr;
-<a name="l00828"></a>00828 }
+References <a class="el" href="modules_8h-source.html#l01545">error</a>.<div class="fragment"><pre class="fragment"><a name="l00829"></a>00829 {
+<a name="l00830"></a>00830 <span class="keywordtype">long</span> olderr = this-&gt;<a class="code" href="classConfigReader.html#error">error</a>;
+<a name="l00831"></a>00831 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = 0;
+<a name="l00832"></a>00832 <span class="keywordflow">return</span> olderr;
+<a name="l00833"></a>00833 }
</pre></div>
<p>
</td>
@@ -449,23 +449,23 @@ Retrieves a boolean value from the config file.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00777">777</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, <a class="el" href="modules_8h-source.html#l01519">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01542">error</a>, and <a class="el" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ServerConfig::ReadConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00778"></a>00778 {
-<a name="l00779"></a>00779 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00780"></a>00780 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00781"></a>00781 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00782"></a>00782 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00783"></a>00783 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00784"></a>00784 <span class="keywordtype">int</span> res = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
-<a name="l00785"></a>00785 <span class="keywordflow">if</span> (!res)
-<a name="l00786"></a>00786 {
-<a name="l00787"></a>00787 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
-<a name="l00788"></a>00788 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00789"></a>00789 }
-<a name="l00790"></a>00790 <a class="code" href="namespaceirc.html#string">std::string</a> s = val;
-<a name="l00791"></a>00791 <span class="keywordflow">return</span> ((s == <span class="stringliteral">"yes"</span>) || (s == <span class="stringliteral">"YES"</span>) || (s == <span class="stringliteral">"true"</span>) || (s == <span class="stringliteral">"TRUE"</span>) || (s == <span class="stringliteral">"1"</span>));
-<a name="l00792"></a>00792 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00782">782</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, <a class="el" href="modules_8h-source.html#l01522">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01545">error</a>, and <a class="el" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ServerConfig::ReadConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00783"></a>00783 {
+<a name="l00784"></a>00784 <span class="keywordtype">char</span> val[MAXBUF];
+<a name="l00785"></a>00785 <span class="keywordtype">char</span> t[MAXBUF];
+<a name="l00786"></a>00786 <span class="keywordtype">char</span> n[MAXBUF];
+<a name="l00787"></a>00787 strlcpy(t,tag.c_str(),MAXBUF);
+<a name="l00788"></a>00788 strlcpy(n,name.c_str(),MAXBUF);
+<a name="l00789"></a>00789 <span class="keywordtype">int</span> res = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
+<a name="l00790"></a>00790 <span class="keywordflow">if</span> (!res)
+<a name="l00791"></a>00791 {
+<a name="l00792"></a>00792 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
+<a name="l00793"></a>00793 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00794"></a>00794 }
+<a name="l00795"></a>00795 <a class="code" href="namespaceirc.html#string">std::string</a> s = val;
+<a name="l00796"></a>00796 <span class="keywordflow">return</span> ((s == <span class="stringliteral">"yes"</span>) || (s == <span class="stringliteral">"YES"</span>) || (s == <span class="stringliteral">"true"</span>) || (s == <span class="stringliteral">"TRUE"</span>) || (s == <span class="stringliteral">"1"</span>));
+<a name="l00797"></a>00797 }
</pre></div>
<p>
</td>
@@ -521,35 +521,35 @@ Retrieves an integer value from the config file.
<p>
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 <a class="el" href="classConfigReader.html#GetError_28_29">GetError()</a> 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 <a class="el" href="classConfigReader.html#GetError_28_29">GetError()</a> will return CONF_NOT_UNSIGNED
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00794">794</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, <a class="el" href="modules_8h-source.html#l01517">CONF_NOT_A_NUMBER</a>, <a class="el" href="modules_8h-source.html#l01518">CONF_NOT_UNSIGNED</a>, <a class="el" href="modules_8h-source.html#l01519">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01542">error</a>, and <a class="el" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ServerConfig::ReadConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00795"></a>00795 {
-<a name="l00796"></a>00796 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00797"></a>00797 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00798"></a>00798 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00799"></a>00799 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00800"></a>00800 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00801"></a>00801 <span class="keywordtype">int</span> res = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
-<a name="l00802"></a>00802 <span class="keywordflow">if</span> (!res)
-<a name="l00803"></a>00803 {
-<a name="l00804"></a>00804 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
-<a name="l00805"></a>00805 <span class="keywordflow">return</span> 0;
-<a name="l00806"></a>00806 }
-<a name="l00807"></a>00807 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(val); i++)
+Definition at line <a class="el" href="modules_8cpp-source.html#l00799">799</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, <a class="el" href="modules_8h-source.html#l01520">CONF_NOT_A_NUMBER</a>, <a class="el" href="modules_8h-source.html#l01521">CONF_NOT_UNSIGNED</a>, <a class="el" href="modules_8h-source.html#l01522">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01545">error</a>, and <a class="el" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ServerConfig::ReadConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00800"></a>00800 {
+<a name="l00801"></a>00801 <span class="keywordtype">char</span> val[MAXBUF];
+<a name="l00802"></a>00802 <span class="keywordtype">char</span> t[MAXBUF];
+<a name="l00803"></a>00803 <span class="keywordtype">char</span> n[MAXBUF];
+<a name="l00804"></a>00804 strlcpy(t,tag.c_str(),MAXBUF);
+<a name="l00805"></a>00805 strlcpy(n,name.c_str(),MAXBUF);
+<a name="l00806"></a>00806 <span class="keywordtype">int</span> res = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
+<a name="l00807"></a>00807 <span class="keywordflow">if</span> (!res)
<a name="l00808"></a>00808 {
-<a name="l00809"></a>00809 <span class="keywordflow">if</span> (!isdigit(val[i]))
-<a name="l00810"></a>00810 {
-<a name="l00811"></a>00811 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">CONF_NOT_A_NUMBER</a>;
-<a name="l00812"></a>00812 <span class="keywordflow">return</span> 0;
-<a name="l00813"></a>00813 }
-<a name="l00814"></a>00814 }
-<a name="l00815"></a>00815 <span class="keywordflow">if</span> ((needs_unsigned) &amp;&amp; (atoi(val)&lt;0))
-<a name="l00816"></a>00816 {
-<a name="l00817"></a>00817 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">CONF_NOT_UNSIGNED</a>;
-<a name="l00818"></a>00818 <span class="keywordflow">return</span> 0;
+<a name="l00809"></a>00809 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
+<a name="l00810"></a>00810 <span class="keywordflow">return</span> 0;
+<a name="l00811"></a>00811 }
+<a name="l00812"></a>00812 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(val); i++)
+<a name="l00813"></a>00813 {
+<a name="l00814"></a>00814 <span class="keywordflow">if</span> (!isdigit(val[i]))
+<a name="l00815"></a>00815 {
+<a name="l00816"></a>00816 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">CONF_NOT_A_NUMBER</a>;
+<a name="l00817"></a>00817 <span class="keywordflow">return</span> 0;
+<a name="l00818"></a>00818 }
<a name="l00819"></a>00819 }
-<a name="l00820"></a>00820 <span class="keywordflow">return</span> atoi(val);
-<a name="l00821"></a>00821 }
+<a name="l00820"></a>00820 <span class="keywordflow">if</span> ((needs_unsigned) &amp;&amp; (atoi(val)&lt;0))
+<a name="l00821"></a>00821 {
+<a name="l00822"></a>00822 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">CONF_NOT_UNSIGNED</a>;
+<a name="l00823"></a>00823 <span class="keywordflow">return</span> 0;
+<a name="l00824"></a>00824 }
+<a name="l00825"></a>00825 <span class="keywordflow">return</span> atoi(val);
+<a name="l00826"></a>00826 }
</pre></div>
<p>
</td>
@@ -599,22 +599,22 @@ Retrieves a value from the config file.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00761">761</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01537">cache</a>, <a class="el" href="modules_8h-source.html#l01519">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01542">error</a>, and <a class="el" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ServerConfig::ReadConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00762"></a>00762 {
-<a name="l00763"></a>00763 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00764"></a>00764 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00765"></a>00765 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00766"></a>00766 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00767"></a>00767 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00768"></a>00768 <span class="keywordtype">int</span> res = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
-<a name="l00769"></a>00769 <span class="keywordflow">if</span> (!res)
-<a name="l00770"></a>00770 {
-<a name="l00771"></a>00771 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
-<a name="l00772"></a>00772 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00773"></a>00773 }
-<a name="l00774"></a>00774 <span class="keywordflow">return</span> val;
-<a name="l00775"></a>00775 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00766">766</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l01540">cache</a>, <a class="el" href="modules_8h-source.html#l01522">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01545">error</a>, and <a class="el" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ServerConfig::ReadConf()</a>.<div class="fragment"><pre class="fragment"><a name="l00767"></a>00767 {
+<a name="l00768"></a>00768 <span class="keywordtype">char</span> val[MAXBUF];
+<a name="l00769"></a>00769 <span class="keywordtype">char</span> t[MAXBUF];
+<a name="l00770"></a>00770 <span class="keywordtype">char</span> n[MAXBUF];
+<a name="l00771"></a>00771 strlcpy(t,tag.c_str(),MAXBUF);
+<a name="l00772"></a>00772 strlcpy(n,name.c_str(),MAXBUF);
+<a name="l00773"></a>00773 <span class="keywordtype">int</span> res = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
+<a name="l00774"></a>00774 <span class="keywordflow">if</span> (!res)
+<a name="l00775"></a>00775 {
+<a name="l00776"></a>00776 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
+<a name="l00777"></a>00777 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+<a name="l00778"></a>00778 }
+<a name="l00779"></a>00779 <span class="keywordflow">return</span> val;
+<a name="l00780"></a>00780 }
</pre></div>
<p>
</td>
@@ -648,11 +648,11 @@ Returns true if a config file is valid.
<p>
This method is partially implemented and will only return false if the config file does not exist or could not be opened.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00873">873</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00878">878</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01541">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00874"></a>00874 {
-<a name="l00875"></a>00875 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a>;
-<a name="l00876"></a>00876 }
+References <a class="el" href="modules_8h-source.html#l01544">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00879"></a>00879 {
+<a name="l00880"></a>00880 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a>;
+<a name="l00881"></a>00881 }
</pre></div>
<p>
</td>
@@ -683,9 +683,9 @@ The contents of the configuration file This protected member should never be acc
<p>
It will contain a pointer to the configuration file data with unneeded data (such as comments) stripped from it.
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01537">1537</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01540">1540</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00863">Enumerate()</a>, <a class="el" href="modules_8cpp-source.html#l00868">EnumerateValues()</a>, <a class="el" href="modules_8cpp-source.html#l00777">ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00794">ReadInteger()</a>, <a class="el" href="modules_8cpp-source.html#l00761">ReadValue()</a>, and <a class="el" href="modules_8cpp-source.html#l00742">~ConfigReader()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00736">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00868">Enumerate()</a>, <a class="el" href="modules_8cpp-source.html#l00873">EnumerateValues()</a>, <a class="el" href="modules_8cpp-source.html#l00782">ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00799">ReadInteger()</a>, <a class="el" href="modules_8cpp-source.html#l00766">ReadValue()</a>, and <a class="el" href="modules_8cpp-source.html#l00747">~ConfigReader()</a>. </td>
</tr>
</table>
<a class="anchor" name="error"></a><!-- doxytag: member="ConfigReader::error" ref="error" args="" --><p>
@@ -710,9 +710,9 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader(
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01542">1542</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01545">1545</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00823">GetError()</a>, <a class="el" href="modules_8cpp-source.html#l00777">ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00794">ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00761">ReadValue()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00736">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00828">GetError()</a>, <a class="el" href="modules_8cpp-source.html#l00782">ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00799">ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00766">ReadValue()</a>. </td>
</tr>
</table>
<a class="anchor" name="errorlog"></a><!-- doxytag: member="ConfigReader::errorlog" ref="errorlog" args="" --><p>
@@ -737,9 +737,9 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader(
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01538">1538</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01541">1541</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00830">DumpErrors()</a>, and <a class="el" href="modules_8cpp-source.html#l00742">~ConfigReader()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00736">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00835">DumpErrors()</a>, and <a class="el" href="modules_8cpp-source.html#l00747">~ConfigReader()</a>. </td>
</tr>
</table>
<a class="anchor" name="readerror"></a><!-- doxytag: member="ConfigReader::readerror" ref="readerror" args="" --><p>
@@ -766,14 +766,14 @@ Used to store errors.
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01541">1541</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01544">1544</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00873">Verify()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00736">ConfigReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00878">Verify()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classConnectClass-members.html b/docs/module-doc/classConnectClass-members.html
index fd25f56cd..611aad790 100644
--- a/docs/module-doc/classConnectClass-members.html
+++ b/docs/module-doc/classConnectClass-members.html
@@ -19,7 +19,7 @@
<tr class="memlist"><td><a class="el" href="classConnectClass.html#threshold">threshold</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classConnectClass.html#type">type</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classConnectClass.html b/docs/module-doc/classConnectClass.html
index a10520294..181775c1e 100644
--- a/docs/module-doc/classConnectClass.html
+++ b/docs/module-doc/classConnectClass.html
@@ -363,7 +363,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00053">53</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classCullItem-members.html b/docs/module-doc/classCullItem-members.html
new file mode 100644
index 000000000..caf670396
--- /dev/null
+++ b/docs/module-doc/classCullItem-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: Member List</title>
+<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.4-20050815 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>CullItem Member List</h1>This is the complete list of members for <a class="el" href="classCullItem.html">CullItem</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classCullItem.html#CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29">CullItem</a>(userrec *u, std::string r)</td><td><a class="el" href="classCullItem.html">CullItem</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullItem.html#GetReason_28_29">GetReason</a>()</td><td><a class="el" href="classCullItem.html">CullItem</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullItem.html#GetUser_28_29">GetUser</a>()</td><td><a class="el" href="classCullItem.html">CullItem</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullItem.html#reason">reason</a></td><td><a class="el" href="classCullItem.html">CullItem</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullItem.html#user">user</a></td><td><a class="el" href="classCullItem.html">CullItem</a></td><td><code> [private]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/classCullItem.html b/docs/module-doc/classCullItem.html
new file mode 100644
index 000000000..238f45a7a
--- /dev/null
+++ b/docs/module-doc/classCullItem.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: CullItem Class Reference</title>
+<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.4-20050815 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>CullItem Class Reference</h1><!-- doxytag: class="CullItem" -->The CullItem class holds a user and their quitmessage, and is used internally by the <a class="el" href="classCullList.html">CullList</a> class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="cull__list_8h-source.html">cull_list.h</a>&gt;</code>
+<p>
+Collaboration diagram for CullItem:<p><center><img src="classCullItem__coll__graph.gif" border="0" usemap="#CullItem__coll__map" alt="Collaboration graph"></center>
+<map name="CullItem__coll__map">
+<area href="classuserrec.html" shape="rect" coords="96,129,163,156" alt="">
+</map>
+<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classCullItem-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullItem.html#CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29">CullItem</a> (<a class="el" href="classuserrec.html">userrec</a> *u, <a class="el" href="namespaceirc.html#string">std::string</a> r)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constrcutor. <a href="#CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullItem.html#GetUser_28_29">GetUser</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to the user. <a href="#GetUser_28_29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullItem.html#GetReason_28_29">GetReason</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the user's quit reason. <a href="#GetReason_28_29"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullItem.html#user">user</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a pointer to the user, must be valid and can be a local or remote user. <a href="#user"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullItem.html#reason">reason</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the quit reason to use for this user. <a href="#reason"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The CullItem class holds a user and their quitmessage, and is used internally by the <a class="el" href="classCullList.html">CullList</a> class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed.
+<p>
+
+<p>
+Definition at line <a class="el" href="cull__list_8h-source.html#l00036">36</a> of file <a class="el" href="cull__list_8h-source.html">cull_list.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29"></a><!-- doxytag: member="CullItem::CullItem" ref="CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29" args="(userrec *u, std::string r)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">CullItem::CullItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>u</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>r</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constrcutor.
+<p>
+Initializes the CullItem with a user pointer and their quit reason <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>u</em>&nbsp;</td><td>The user to add </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The quit reason of the added user</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="GetReason_28_29"></a><!-- doxytag: member="CullItem::GetReason" ref="GetReason_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> CullItem::GetReason </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the user's quit reason.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="GetUser_28_29"></a><!-- doxytag: member="CullItem::GetUser" ref="GetUser_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a>* CullItem::GetUser </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a pointer to the user.
+<p>
+ </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="reason"></a><!-- doxytag: member="CullItem::reason" ref="reason" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classCullItem.html#reason">CullItem::reason</a><code> [private]</code> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds the quit reason to use for this user.
+<p>
+
+<p>
+Definition at line <a class="el" href="cull__list_8h-source.html#l00045">45</a> of file <a class="el" href="cull__list_8h-source.html">cull_list.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="user"></a><!-- doxytag: member="CullItem::user" ref="user" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a>* <a class="el" href="classCullItem.html#user">CullItem::user</a><code> [private]</code> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds a pointer to the user, must be valid and can be a local or remote user.
+<p>
+
+<p>
+Definition at line <a class="el" href="cull__list_8h-source.html#l00042">42</a> of file <a class="el" href="cull__list_8h-source.html">cull_list.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="cull__list_8h-source.html">cull_list.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/classCullItem__coll__graph.gif b/docs/module-doc/classCullItem__coll__graph.gif
new file mode 100644
index 000000000..8c1aced31
--- /dev/null
+++ b/docs/module-doc/classCullItem__coll__graph.gif
Binary files differ
diff --git a/docs/module-doc/classCullItem__coll__graph.map b/docs/module-doc/classCullItem__coll__graph.map
new file mode 100644
index 000000000..bda5d1397
--- /dev/null
+++ b/docs/module-doc/classCullItem__coll__graph.map
@@ -0,0 +1,2 @@
+base referer
+rect $classuserrec.html 96,129 163,156
diff --git a/docs/module-doc/classCullItem__coll__graph.md5 b/docs/module-doc/classCullItem__coll__graph.md5
new file mode 100644
index 000000000..cff8e7180
--- /dev/null
+++ b/docs/module-doc/classCullItem__coll__graph.md5
@@ -0,0 +1 @@
+9d61b45ecc01934af9274355ddb80aeb \ No newline at end of file
diff --git a/docs/module-doc/classCullList-members.html b/docs/module-doc/classCullList-members.html
new file mode 100644
index 000000000..2fdf261b6
--- /dev/null
+++ b/docs/module-doc/classCullList-members.html
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: Member List</title>
+<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.4-20050815 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>CullList Member List</h1>This is the complete list of members for <a class="el" href="classCullList.html">CullList</a>, including all inherited members.<p><table>
+ <tr class="memlist"><td><a class="el" href="classCullList.html#AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">AddItem</a>(userrec *user, std::string reason)</td><td><a class="el" href="classCullList.html">CullList</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullList.html#Apply_28_29">Apply</a>()</td><td><a class="el" href="classCullList.html">CullList</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullList.html#CullList_28_29">CullList</a>()</td><td><a class="el" href="classCullList.html">CullList</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullList.html#exempt">exempt</a></td><td><a class="el" href="classCullList.html">CullList</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classCullList.html#list">list</a></td><td><a class="el" href="classCullList.html">CullList</a></td><td><code> [private]</code></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/classCullList.html b/docs/module-doc/classCullList.html
new file mode 100644
index 000000000..23176ef93
--- /dev/null
+++ b/docs/module-doc/classCullList.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: CullList Class Reference</title>
+<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.4-20050815 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>CullList Class Reference</h1><!-- doxytag: class="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.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="cull__list_8h-source.html">cull_list.h</a>&gt;</code>
+<p>
+Collaboration diagram for CullList:<p><center><img src="classCullList__coll__graph.gif" border="0" usemap="#CullList__coll__map" alt="Collaboration graph"></center>
+<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classCullList-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullList.html#CullList_28_29">CullList</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <a href="#CullList_28_29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullList.html#AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">AddItem</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> reason)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a user to the cull list for later removal via QUIT. <a href="#AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullList.html#Apply_28_29">Apply</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Applies the cull list, quitting all the users on the list with their quit reasons all at once. <a href="#Apply_28_29"></a><br></td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classCullItem.html">CullItem</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullList.html#list">list</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a list of users being quit. <a href="#list"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">std::map&lt; <a class="el" href="classuserrec.html">userrec</a> *, int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullList.html#exempt">exempt</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of users who have already been placed on the list, as a map for fast reference. <a href="#exempt"></a><br></td></tr>
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+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.
+<p>
+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.
+<p>
+
+<p>
+Definition at line <a class="el" href="cull__list_8h-source.html#l00075">75</a> of file <a class="el" href="cull__list_8h-source.html">cull_list.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" name="CullList_28_29"></a><!-- doxytag: member="CullList::CullList" ref="CullList_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">CullList::CullList </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Constructor.
+<p>
+Clears the <a class="el" href="classCullList.html#list">CullList::list</a> and <a class="el" href="classCullList.html#exempt">CullList::exempt</a> items. </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a class="anchor" name="AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29"></a><!-- doxytag: member="CullList::AddItem" ref="AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29" args="(userrec *user, std::string reason)" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">void CullList::AddItem </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>user</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>reason</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Adds a user to the cull list for later removal via QUIT.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>The user to add </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The quit reason of the user being added</td></tr>
+ </table>
+</dl>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="Apply_28_29"></a><!-- doxytag: member="CullList::Apply" ref="Apply_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int CullList::Apply </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Applies the cull list, quitting all the users on the list with their quit reasons all at once.
+<p>
+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. <dl compact><dt><b>Returns:</b></dt><dd>The number of users removed from IRC.</dd></dl>
+ </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="exempt"></a><!-- doxytag: member="CullList::exempt" ref="exempt" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">std::map&lt;<a class="el" href="classuserrec.html">userrec</a>*,int&gt; <a class="el" href="classCullList.html#exempt">CullList::exempt</a><code> [private]</code> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+A list of users who have already been placed on the list, as a map for fast reference.
+<p>
+
+<p>
+Definition at line <a class="el" href="cull__list_8h-source.html#l00087">87</a> of file <a class="el" href="cull__list_8h-source.html">cull_list.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="list"></a><!-- doxytag: member="CullList::list" ref="list" args="" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">std::vector&lt;<a class="el" href="classCullItem.html">CullItem</a>&gt; <a class="el" href="classCullList.html#list">CullList::list</a><code> [private]</code> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Holds a list of users being quit.
+<p>
+See the information for <a class="el" href="classCullItem.html">CullItem</a> for more information.
+<p>
+Definition at line <a class="el" href="cull__list_8h-source.html#l00082">82</a> of file <a class="el" href="cull__list_8h-source.html">cull_list.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="cull__list_8h-source.html">cull_list.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/classCullList__coll__graph.gif b/docs/module-doc/classCullList__coll__graph.gif
new file mode 100644
index 000000000..345d611ab
--- /dev/null
+++ b/docs/module-doc/classCullList__coll__graph.gif
Binary files differ
diff --git a/docs/module-doc/classCullList__coll__graph.map b/docs/module-doc/classCullList__coll__graph.map
new file mode 100644
index 000000000..5a14779e7
--- /dev/null
+++ b/docs/module-doc/classCullList__coll__graph.map
@@ -0,0 +1 @@
+base referer
diff --git a/docs/module-doc/classCullList__coll__graph.md5 b/docs/module-doc/classCullList__coll__graph.md5
new file mode 100644
index 000000000..08f5d16b2
--- /dev/null
+++ b/docs/module-doc/classCullList__coll__graph.md5
@@ -0,0 +1 @@
+b81df992144d9e553d1d2e340caa3110 \ No newline at end of file
diff --git a/docs/module-doc/classDNS-members.html b/docs/module-doc/classDNS-members.html
index efde00a13..c69edea68 100644
--- a/docs/module-doc/classDNS-members.html
+++ b/docs/module-doc/classDNS-members.html
@@ -36,7 +36,7 @@
<tr class="memlist"><td><a class="el" href="classDNS.html#SetNS_28std_3A_3Astring_20dnsserver_29">SetNS</a>(std::string dnsserver)</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classDNS.html#t">t</a></td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classDNS.html#_7EDNS_28_29">~DNS</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classDNS.html b/docs/module-doc/classDNS.html
index 18811cb34..c9ce09783 100644
--- a/docs/module-doc/classDNS.html
+++ b/docs/module-doc/classDNS.html
@@ -961,7 +961,7 @@ Definition at line <a class="el" href="dns_8h-source.html#l00041">41</a> of file
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="dns_8h-source.html">dns.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classELine-members.html b/docs/module-doc/classELine-members.html
index bfb550091..bae6a2915 100644
--- a/docs/module-doc/classELine-members.html
+++ b/docs/module-doc/classELine-members.html
@@ -15,7 +15,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#set_5Ftime">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#source_5B_32_35_36_5D">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classELine.html b/docs/module-doc/classELine.html
index dd3975c00..40d87e692 100644
--- a/docs/module-doc/classELine.html
+++ b/docs/module-doc/classELine.html
@@ -59,7 +59,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00093">93</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classEvent-members.html b/docs/module-doc/classEvent-members.html
index e23790a4c..c69a63474 100644
--- a/docs/module-doc/classEvent-members.html
+++ b/docs/module-doc/classEvent-members.html
@@ -18,7 +18,7 @@
<tr class="memlist"><td><a class="el" href="classEvent.html#source">source</a></td><td><a class="el" href="classEvent.html">Event</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classModuleMessage.html#_7EModuleMessage_28_29">~ModuleMessage</a>()</td><td><a class="el" href="classModuleMessage.html">ModuleMessage</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classEvent.html b/docs/module-doc/classEvent.html
index a7c7ae246..56a41deab 100644
--- a/docs/module-doc/classEvent.html
+++ b/docs/module-doc/classEvent.html
@@ -354,7 +354,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00201">GetSource()</
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classExemptItem-members.html b/docs/module-doc/classExemptItem-members.html
index e84efb986..53aa957e0 100644
--- a/docs/module-doc/classExemptItem-members.html
+++ b/docs/module-doc/classExemptItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Ftime">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#_7EHostItem_28_29">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classExemptItem.html b/docs/module-doc/classExemptItem.html
index 8f2f1172d..289ab1249 100644
--- a/docs/module-doc/classExemptItem.html
+++ b/docs/module-doc/classExemptItem.html
@@ -30,7 +30,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00062">62</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classExtMode-members.html b/docs/module-doc/classExtMode-members.html
index b93cebf62..cacf87d7c 100644
--- a/docs/module-doc/classExtMode-members.html
+++ b/docs/module-doc/classExtMode-members.html
@@ -16,7 +16,7 @@
<tr class="memlist"><td><a class="el" href="classExtMode.html#params_5Fwhen_5Fon">params_when_on</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classExtMode.html#type">type</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classExtMode.html b/docs/module-doc/classExtMode.html
index a270f0099..8b50f1182 100644
--- a/docs/module-doc/classExtMode.html
+++ b/docs/module-doc/classExtMode.html
@@ -258,7 +258,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00240">240</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classExtensible-members.html b/docs/module-doc/classExtensible-members.html
index 89894749f..b5b8b6f26 100644
--- a/docs/module-doc/classExtensible-members.html
+++ b/docs/module-doc/classExtensible-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classExtensible.html#GetExtList_28std_3A_3Adeque_3C_20std_3A_3Astring_20_3E_20_26list_29">GetExtList</a>(std::deque&lt; std::string &gt; &amp;list)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classExtensible.html#Shrink_28std_3A_3Astring_20key_29">Shrink</a>(std::string key)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classExtensible.html b/docs/module-doc/classExtensible.html
index 8b4cc47e6..ada843501 100644
--- a/docs/module-doc/classExtensible.html
+++ b/docs/module-doc/classExtensible.html
@@ -236,7 +236,7 @@ Definition at line <a class="el" href="base_8h-source.html#l00055">55</a> of fil
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classFileReader-members.html b/docs/module-doc/classFileReader-members.html
index 92dd85ddd..1ab48f288 100644
--- a/docs/module-doc/classFileReader-members.html
+++ b/docs/module-doc/classFileReader-members.html
@@ -17,7 +17,7 @@
<tr class="memlist"><td><a class="el" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">LoadFile</a>(std::string filename)</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFileReader.html#_7EFileReader_28_29">~FileReader</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classFileReader.html b/docs/module-doc/classFileReader.html
index a0eff7f08..e5a725a26 100644
--- a/docs/module-doc/classFileReader.html
+++ b/docs/module-doc/classFileReader.html
@@ -53,7 +53,7 @@ This class contains methods for read-only manipulation of a text file in memory.
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01618">1618</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l01621">1621</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="FileReader_28_29"></a><!-- doxytag: member="FileReader::FileReader" ref="FileReader_28_29" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -82,8 +82,8 @@ Default constructor.
<p>
This method does not load any file into memory, you must use the LoadFile method after constructing the class this way.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00886">886</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00887"></a>00887 {
-<a name="l00888"></a>00888 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00891">891</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00892"></a>00892 {
+<a name="l00893"></a>00893 }
</pre></div>
<p>
</td>
@@ -118,13 +118,13 @@ Secondary constructor.
<p>
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, <a class="el" href="classFileReader.html#FileSize_28_29">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00879">879</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00884">884</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01620">fc</a>, and <a class="el" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile()</a>.<div class="fragment"><pre class="fragment"><a name="l00880"></a>00880 {
-<a name="l00881"></a>00881 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00882"></a>00882 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
-<a name="l00883"></a>00883 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00884"></a>00884 }
+References <a class="el" href="modules_8h-source.html#l01623">fc</a>, and <a class="el" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile()</a>.<div class="fragment"><pre class="fragment"><a name="l00885"></a>00885 {
+<a name="l00886"></a>00886 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
+<a name="l00887"></a>00887 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
+<a name="l00888"></a>00888 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
+<a name="l00889"></a>00889 }
</pre></div>
<p>
</td>
@@ -158,8 +158,8 @@ Default destructor.
<p>
This deletes the memory allocated to the file.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00898">898</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00899"></a>00899 {
-<a name="l00900"></a>00900 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00903">903</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00904"></a>00904 {
+<a name="l00905"></a>00905 }
</pre></div>
<p>
</td>
@@ -194,18 +194,18 @@ Returns true if the file exists This function will return false if the file coul
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00902">902</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01620">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00903"></a>00903 {
-<a name="l00904"></a>00904 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#fc">fc</a>.size() == 0)
-<a name="l00905"></a>00905 {
-<a name="l00906"></a>00906 <span class="keywordflow">return</span>(<span class="keyword">false</span>);
-<a name="l00907"></a>00907 }
-<a name="l00908"></a>00908 <span class="keywordflow">else</span>
-<a name="l00909"></a>00909 {
-<a name="l00910"></a>00910 <span class="keywordflow">return</span>(<span class="keyword">true</span>);
-<a name="l00911"></a>00911 }
-<a name="l00912"></a>00912 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00907">907</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8h-source.html#l01623">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00908"></a>00908 {
+<a name="l00909"></a>00909 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#fc">fc</a>.size() == 0)
+<a name="l00910"></a>00910 {
+<a name="l00911"></a>00911 <span class="keywordflow">return</span>(<span class="keyword">false</span>);
+<a name="l00912"></a>00912 }
+<a name="l00913"></a>00913 <span class="keywordflow">else</span>
+<a name="l00914"></a>00914 {
+<a name="l00915"></a>00915 <span class="keywordflow">return</span>(<span class="keyword">true</span>);
+<a name="l00916"></a>00916 }
+<a name="l00917"></a>00917 }
</pre></div>
<p>
</td>
@@ -239,11 +239,11 @@ Returns the size of the file in lines.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00921">921</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00926">926</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01620">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00922"></a>00922 {
-<a name="l00923"></a>00923 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>.size();
-<a name="l00924"></a>00924 }
+References <a class="el" href="modules_8h-source.html#l01623">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00927"></a>00927 {
+<a name="l00928"></a>00928 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>.size();
+<a name="l00929"></a>00929 }
</pre></div>
<p>
</td>
@@ -278,13 +278,13 @@ Retrieve one line from the file.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00914">914</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00919">919</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01620">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00915"></a>00915 {
-<a name="l00916"></a>00916 <span class="keywordflow">if</span> ((x&lt;0) || ((<span class="keywordtype">unsigned</span>)x&gt;<a class="code" href="classFileReader.html#fc">fc</a>.size()))
-<a name="l00917"></a>00917 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00918"></a>00918 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>[x];
-<a name="l00919"></a>00919 }
+References <a class="el" href="modules_8h-source.html#l01623">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00920"></a>00920 {
+<a name="l00921"></a>00921 <span class="keywordflow">if</span> ((x&lt;0) || ((<span class="keywordtype">unsigned</span>)x&gt;<a class="code" href="classFileReader.html#fc">fc</a>.size()))
+<a name="l00922"></a>00922 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+<a name="l00923"></a>00923 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>[x];
+<a name="l00924"></a>00924 }
</pre></div>
<p>
</td>
@@ -319,13 +319,13 @@ Used to load a file.
<p>
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, <a class="el" href="classFileReader.html#FileSize_28_29">FileReader::FileSize</a> returns 0.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00890">890</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00895">895</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h-source.html#l01620">fc</a>, and <a class="el" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile()</a>.<div class="fragment"><pre class="fragment"><a name="l00891"></a>00891 {
-<a name="l00892"></a>00892 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00893"></a>00893 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
-<a name="l00894"></a>00894 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00895"></a>00895 }
+References <a class="el" href="modules_8h-source.html#l01623">fc</a>, and <a class="el" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile()</a>.<div class="fragment"><pre class="fragment"><a name="l00896"></a>00896 {
+<a name="l00897"></a>00897 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
+<a name="l00898"></a>00898 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
+<a name="l00899"></a>00899 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
+<a name="l00900"></a>00900 }
</pre></div>
<p>
</td>
@@ -354,14 +354,14 @@ References <a class="el" href="modules_8h-source.html#l01620">fc</a>, and <a cla
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01620">1620</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01623">1623</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00902">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00879">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00921">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00914">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00890">LoadFile()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00907">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00884">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00926">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00919">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00895">LoadFile()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classGLine-members.html b/docs/module-doc/classGLine-members.html
index 19fa8dab8..7c08537db 100644
--- a/docs/module-doc/classGLine-members.html
+++ b/docs/module-doc/classGLine-members.html
@@ -15,7 +15,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#set_5Ftime">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#source_5B_32_35_36_5D">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classGLine.html b/docs/module-doc/classGLine.html
index 27a583304..1741041f4 100644
--- a/docs/module-doc/classGLine.html
+++ b/docs/module-doc/classGLine.html
@@ -62,7 +62,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00084">84</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classHostItem-members.html b/docs/module-doc/classHostItem-members.html
index 074136932..4ece9c4c0 100644
--- a/docs/module-doc/classHostItem-members.html
+++ b/docs/module-doc/classHostItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Ftime">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#_7EHostItem_28_29">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classHostItem.html b/docs/module-doc/classHostItem.html
index 571b45330..f1a09c4ef 100644
--- a/docs/module-doc/classHostItem.html
+++ b/docs/module-doc/classHostItem.html
@@ -186,7 +186,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00041">41</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInspIRCd-members.html b/docs/module-doc/classInspIRCd-members.html
index 876bc4066..5966c253a 100644
--- a/docs/module-doc/classInspIRCd-members.html
+++ b/docs/module-doc/classInspIRCd-members.html
@@ -8,12 +8,16 @@
<h1>InspIRCd Member List</h1>This is the complete list of members for <a class="el" href="classInspIRCd.html">InspIRCd</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="classInspIRCd.html#erase_5Ffactory_28int_20j_29">erase_factory</a>(int j)</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInspIRCd.html#erase_5Fmodule_28int_20j_29">erase_module</a>(int j)</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classInspIRCd.html#GetRevision_28_29">GetRevision</a>()</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classInspIRCd.html#GetVersionString_28_29">GetVersionString</a>()</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInspIRCd.html#InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29">InspIRCd</a>(int argc, char **argv)</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInspIRCd.html#LoadModule_28const_20char_20_2Afilename_29">LoadModule</a>(const char *filename)</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">MODERR</a></td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classInspIRCd.html#ModuleError_28_29">ModuleError</a>()</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInspIRCd.html#Run_28_29">Run</a>()</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInspIRCd.html#startup_5Ftime">startup_time</a></td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classInspIRCd.html#UnloadModule_28const_20char_20_2Afilename_29">UnloadModule</a>(const char *filename)</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInspIRCd.html b/docs/module-doc/classInspIRCd.html
index 227dd7f1b..26e293181 100644
--- a/docs/module-doc/classInspIRCd.html
+++ b/docs/module-doc/classInspIRCd.html
@@ -11,6 +11,12 @@ Collaboration diagram for InspIRCd:<p><center><img src="classInspIRCd__coll__gra
<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classInspIRCd-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#GetRevision_28_29">GetRevision</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#GetVersionString_28_29">GetVersionString</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#ModuleError_28_29">ModuleError</a> ()</td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#LoadModule_28const_20char_20_2Afilename_29">LoadModule</a> (const char *filename)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#UnloadModule_28const_20char_20_2Afilename_29">UnloadModule</a> (const char *filename)</td></tr>
@@ -27,6 +33,9 @@ Collaboration diagram for InspIRCd:<p><center><img src="classInspIRCd__coll__gra
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#erase_5Fmodule_28int_20j_29">erase_module</a> (int j)</td></tr>
+<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">MODERR</a> [MAXBUF]</td></tr>
+
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
@@ -128,6 +137,62 @@ Definition at line <a class="el" href="inspircd_8h-source.html#l00095">95</a> of
</td>
</tr>
</table>
+<a class="anchor" name="GetRevision_28_29"></a><!-- doxytag: member="InspIRCd::GetRevision" ref="GetRevision_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> InspIRCd::GetRevision </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="GetVersionString_28_29"></a><!-- doxytag: member="InspIRCd::GetVersionString" ref="GetVersionString_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> InspIRCd::GetVersionString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00329">Server::GetVersion()</a>. </td>
+ </tr>
+</table>
<a class="anchor" name="LoadModule_28const_20char_20_2Afilename_29"></a><!-- doxytag: member="InspIRCd::LoadModule" ref="LoadModule_28const_20char_20_2Afilename_29" args="(const char *filename)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -156,6 +221,33 @@ Definition at line <a class="el" href="inspircd_8h-source.html#l00095">95</a> of
</td>
</tr>
</table>
+<a class="anchor" name="ModuleError_28_29"></a><!-- doxytag: member="InspIRCd::ModuleError" ref="ModuleError_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char* InspIRCd::ModuleError </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
<a class="anchor" name="Run_28_29"></a><!-- doxytag: member="InspIRCd::Run" ref="Run_28_29" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -212,6 +304,31 @@ Definition at line <a class="el" href="inspircd_8h-source.html#l00095">95</a> of
</tr>
</table>
<hr><h2>Member Data Documentation</h2>
+<a class="anchor" name="MODERR_5BMAXBUF_5D"></a><!-- doxytag: member="InspIRCd::MODERR" ref="MODERR_5BMAXBUF_5D" args="[MAXBUF]" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">char <a class="el" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">InspIRCd::MODERR</a>[MAXBUF]<code> [private]</code> </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="inspircd_8h-source.html#l00099">99</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
+ </tr>
+</table>
<a class="anchor" name="startup_5Ftime"></a><!-- doxytag: member="InspIRCd::startup_time" ref="startup_5Ftime" args="" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -234,12 +351,12 @@ Definition at line <a class="el" href="inspircd_8h-source.html#l00095">95</a> of
<p>
<p>
-Definition at line <a class="el" href="inspircd_8h-source.html#l00103">103</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
+Definition at line <a class="el" href="inspircd_8h-source.html#l00104">104</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="inspircd_8h-source.html">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInspIRCd__coll__graph.gif b/docs/module-doc/classInspIRCd__coll__graph.gif
index 43cef99ee..bc33d87e5 100644
--- a/docs/module-doc/classInspIRCd__coll__graph.gif
+++ b/docs/module-doc/classInspIRCd__coll__graph.gif
Binary files differ
diff --git a/docs/module-doc/classInspIRCd__coll__graph.md5 b/docs/module-doc/classInspIRCd__coll__graph.md5
index a144ffcc9..9b6b4f43b 100644
--- a/docs/module-doc/classInspIRCd__coll__graph.md5
+++ b/docs/module-doc/classInspIRCd__coll__graph.md5
@@ -1 +1 @@
-b3dafd7c4d84a4bd0d14f723f37928d7 \ No newline at end of file
+cf2870df5188e9dd73f618305a399ded \ No newline at end of file
diff --git a/docs/module-doc/classInspSocket-members.html b/docs/module-doc/classInspSocket-members.html
index 4636f9f16..a828ac31e 100644
--- a/docs/module-doc/classInspSocket-members.html
+++ b/docs/module-doc/classInspSocket-members.html
@@ -39,7 +39,7 @@
<tr class="memlist"><td><a class="el" href="classInspSocket.html#timeout_5Fend">timeout_end</a></td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">Write</a>(std::string data)</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classInspSocket.html#_7EInspSocket_28_29">~InspSocket</a>()</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInspSocket.html b/docs/module-doc/classInspSocket.html
index 17e451bec..315270d80 100644
--- a/docs/module-doc/classInspSocket.html
+++ b/docs/module-doc/classInspSocket.html
@@ -1465,7 +1465,7 @@ Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket()</
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="socket_8h-source.html">socket.h</a><li><a class="el" href="socket_8cpp-source.html">socket.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInviteItem-members.html b/docs/module-doc/classInviteItem-members.html
index e9103c7a6..7ab51ae72 100644
--- a/docs/module-doc/classInviteItem-members.html
+++ b/docs/module-doc/classInviteItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Ftime">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#_7EHostItem_28_29">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInviteItem.html b/docs/module-doc/classInviteItem.html
index 37047e6ea..6a6ed71c8 100644
--- a/docs/module-doc/classInviteItem.html
+++ b/docs/module-doc/classInviteItem.html
@@ -30,7 +30,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00070">70</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInvited-members.html b/docs/module-doc/classInvited-members.html
index 0c8bc01f9..c13a0f6e6 100644
--- a/docs/module-doc/classInvited-members.html
+++ b/docs/module-doc/classInvited-members.html
@@ -10,7 +10,7 @@
<tr class="memlist"><td><a class="el" href="classInvited.html#channel_5BCHANMAX_5D">channel</a></td><td><a class="el" href="classInvited.html">Invited</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#classbase_28_29">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classInvited.html b/docs/module-doc/classInvited.html
index 9e1c20016..a339904ba 100644
--- a/docs/module-doc/classInvited.html
+++ b/docs/module-doc/classInvited.html
@@ -59,7 +59,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00115">userrec::Invite
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classKLine-members.html b/docs/module-doc/classKLine-members.html
index 0e58ade78..455ad453b 100644
--- a/docs/module-doc/classKLine-members.html
+++ b/docs/module-doc/classKLine-members.html
@@ -15,7 +15,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#set_5Ftime">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#source_5B_32_35_36_5D">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classKLine.html b/docs/module-doc/classKLine.html
index 17fa151f0..d9a258167 100644
--- a/docs/module-doc/classKLine.html
+++ b/docs/module-doc/classKLine.html
@@ -62,7 +62,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00073">73</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModeParameter-members.html b/docs/module-doc/classModeParameter-members.html
index 67ec13862..33f7e6248 100644
--- a/docs/module-doc/classModeParameter-members.html
+++ b/docs/module-doc/classModeParameter-members.html
@@ -12,7 +12,7 @@
<tr class="memlist"><td><a class="el" href="classModeParameter.html#mode">mode</a></td><td><a class="el" href="classModeParameter.html">ModeParameter</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classModeParameter.html#parameter_5BMAXBUF_5D">parameter</a></td><td><a class="el" href="classModeParameter.html">ModeParameter</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModeParameter.html b/docs/module-doc/classModeParameter.html
index 1a7c0e835..8e9753f5c 100644
--- a/docs/module-doc/classModeParameter.html
+++ b/docs/module-doc/classModeParameter.html
@@ -119,7 +119,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00111">chanrec::Set
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModule-members.html b/docs/module-doc/classModule-members.html
index 08dcca923..da275b22c 100644
--- a/docs/module-doc/classModule-members.html
+++ b/docs/module-doc/classModule-members.html
@@ -89,7 +89,7 @@
<tr class="memlist"><td><a class="el" href="classModule.html#ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29">ProtoSendMode</a>(void *opaque, int target_type, void *target, std::string modeline)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classModule.html#_7EModule_28_29">~Module</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModule.html b/docs/module-doc/classModule.html
index 07293e12f..abedf601d 100644
--- a/docs/module-doc/classModule.html
+++ b/docs/module-doc/classModule.html
@@ -4570,7 +4570,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00281">281</a>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModuleFactory-members.html b/docs/module-doc/classModuleFactory-members.html
index afd2289f8..212914370 100644
--- a/docs/module-doc/classModuleFactory-members.html
+++ b/docs/module-doc/classModuleFactory-members.html
@@ -12,7 +12,7 @@
<tr class="memlist"><td><a class="el" href="classModuleFactory.html#ModuleFactory_28_29">ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classModuleFactory.html#_7EModuleFactory_28_29">~ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModuleFactory.html b/docs/module-doc/classModuleFactory.html
index 95f29051f..096f37551 100644
--- a/docs/module-doc/classModuleFactory.html
+++ b/docs/module-doc/classModuleFactory.html
@@ -36,7 +36,7 @@ This is to allow for modules to create many different variants of <a class="el"
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01673">1673</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+Definition at line <a class="el" href="modules_8h-source.html#l01676">1676</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ModuleFactory_28_29"></a><!-- doxytag: member="ModuleFactory::ModuleFactory" ref="ModuleFactory_28_29" args="()" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -63,7 +63,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l01673">1673</a> o
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01676">1676</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l01676"></a>01676 { }
+Definition at line <a class="el" href="modules_8h-source.html#l01679">1679</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l01679"></a>01679 { }
</pre></div>
<p>
</td>
@@ -95,7 +95,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l01676">1676</a> o
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01677">1677</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l01677"></a>01677 { }
+Definition at line <a class="el" href="modules_8h-source.html#l01680">1680</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l01680"></a>01680 { }
</pre></div>
<p>
</td>
@@ -134,7 +134,7 @@ Your inherited class of ModuleFactory must return a pointer to your <a class="el
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModuleMessage-members.html b/docs/module-doc/classModuleMessage-members.html
index 78b120d70..bc697a2ef 100644
--- a/docs/module-doc/classModuleMessage-members.html
+++ b/docs/module-doc/classModuleMessage-members.html
@@ -11,7 +11,7 @@
<tr class="memlist"><td><a class="el" href="classModuleMessage.html#Send_28_29_3D_30">Send</a>()=0</td><td><a class="el" href="classModuleMessage.html">ModuleMessage</a></td><td><code> [pure virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classModuleMessage.html#_7EModuleMessage_28_29">~ModuleMessage</a>()</td><td><a class="el" href="classModuleMessage.html">ModuleMessage</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classModuleMessage.html b/docs/module-doc/classModuleMessage.html
index 411534828..71f5fd7f2 100644
--- a/docs/module-doc/classModuleMessage.html
+++ b/docs/module-doc/classModuleMessage.html
@@ -101,7 +101,7 @@ Implemented in <a class="el" href="classRequest.html#Send_28_29">Request</a>, an
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classQLine-members.html b/docs/module-doc/classQLine-members.html
index bbdcd1341..0d85a935d 100644
--- a/docs/module-doc/classQLine-members.html
+++ b/docs/module-doc/classQLine-members.html
@@ -16,7 +16,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#set_5Ftime">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#source_5B_32_35_36_5D">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classQLine.html b/docs/module-doc/classQLine.html
index f867bb102..5cd4ea28d 100644
--- a/docs/module-doc/classQLine.html
+++ b/docs/module-doc/classQLine.html
@@ -92,7 +92,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00119">119</a> of f
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classRequest-members.html b/docs/module-doc/classRequest-members.html
index e031e42ba..9f2ed1f7e 100644
--- a/docs/module-doc/classRequest-members.html
+++ b/docs/module-doc/classRequest-members.html
@@ -18,7 +18,7 @@
<tr class="memlist"><td><a class="el" href="classRequest.html#source">source</a></td><td><a class="el" href="classRequest.html">Request</a></td><td><code> [protected]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classModuleMessage.html#_7EModuleMessage_28_29">~ModuleMessage</a>()</td><td><a class="el" href="classModuleMessage.html">ModuleMessage</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classRequest.html b/docs/module-doc/classRequest.html
index 2ccfadc1e..a42c65b8c 100644
--- a/docs/module-doc/classRequest.html
+++ b/docs/module-doc/classRequest.html
@@ -360,7 +360,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00172">GetSource()</
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classServer-members.html b/docs/module-doc/classServer-members.html
index b099d44b0..a268ec1b6 100644
--- a/docs/module-doc/classServer-members.html
+++ b/docs/module-doc/classServer-members.html
@@ -41,6 +41,7 @@
<tr class="memlist"><td><a class="el" href="classServer.html#GetServerDescription_28_29">GetServerDescription</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classServer.html#GetServerName_28_29">GetServerName</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">GetUsers</a>(chanrec *chan)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classServer.html#GetVersion_28_29">GetVersion</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">IsNick</a>(std::string nick)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">IsOnChannel</a>(userrec *User, chanrec *Chan)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">IsUlined</a>(std::string server)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
@@ -68,7 +69,7 @@
<tr class="memlist"><td><a class="el" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">UserToPseudo</a>(userrec *user, std::string message)</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classServer.html#_7EServer_28_29">~Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classServer.html b/docs/module-doc/classServer.html
index 67c35d924..21df2ba69 100644
--- a/docs/module-doc/classServer.html
+++ b/docs/module-doc/classServer.html
@@ -33,6 +33,9 @@ Inheritance diagram for Server:<p><center><img src="classServer__inherit__graph.
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">SendOpers</a> (<a class="el" href="namespaceirc.html#string">std::string</a> s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends text to all opers. <a href="#SendOpers_28std_3A_3Astring_20s_29"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#GetVersion_28_29">GetVersion</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the version string of this server. <a href="#GetVersion_28_29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Log</a> (int level, <a class="el" href="namespaceirc.html#string">std::string</a> s)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a log string. <a href="#Log_28int_20level_2C_20std_3A_3Astring_20s_29"></a><br></td></tr>
@@ -334,11 +337,11 @@ This allows modules to add extra commands into the command table. You must place
typedef void (handlerfunc) (char**, int, userrec*); ... void <a class="el" href="commands_8h.html#handle_5Fkill_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">handle_kill(char **parameters, int pcnt, userrec *user)</a><p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00411">411</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00416">416</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8h.html#createcommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">createcommand()</a>.<div class="fragment"><pre class="fragment"><a name="l00412"></a>00412 {
-<a name="l00413"></a>00413 <a class="code" href="modules_8h.html#createcommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">createcommand</a>(cmd,f,flags,minparams,source);
-<a name="l00414"></a>00414 }
+References <a class="el" href="modules_8h.html#createcommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">createcommand()</a>.<div class="fragment"><pre class="fragment"><a name="l00417"></a>00417 {
+<a name="l00418"></a>00418 <a class="code" href="modules_8h.html#createcommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">createcommand</a>(cmd,f,flags,minparams,source);
+<a name="l00419"></a>00419 }
</pre></div>
<p>
</td>
@@ -394,11 +397,11 @@ Adds a E-line The E-line is enforced as soon as it is added.
<p>
The duration must be in seconds, however you can use the <a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server::CalcDuration</a> 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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00655">655</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00660">660</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#add_5Feline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_eline()</a>.<div class="fragment"><pre class="fragment"><a name="l00656"></a>00656 {
-<a name="l00657"></a>00657 <a class="code" href="xline_8h.html#add_5Feline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_eline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), hostmask.c_str());
-<a name="l00658"></a>00658 }
+References <a class="el" href="xline_8h.html#add_5Feline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_eline()</a>.<div class="fragment"><pre class="fragment"><a name="l00661"></a>00661 {
+<a name="l00662"></a>00662 <a class="code" href="xline_8h.html#add_5Feline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_eline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), hostmask.c_str());
+<a name="l00663"></a>00663 }
</pre></div>
<p>
</td>
@@ -438,14 +441,14 @@ This call is used to implement modes like +q and +a. The characteristics of thes
(4) The mode and its parameter are NOT stored in the channels modes structure<p>
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 <a class="el" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Server::Find</a> 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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00579">579</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00584">584</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8cpp-source.html#l00134">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00144">ModeMakeList()</a>, and <a class="el" href="modules_8h-source.html#l00031">MT_CHANNEL</a>.<div class="fragment"><pre class="fragment"><a name="l00580"></a>00580 {
-<a name="l00581"></a>00581 <span class="keywordtype">bool</span> res = <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,<a class="code" href="modules_8h.html#MT_5FCHANNEL">MT_CHANNEL</a>,<span class="keyword">false</span>,1,1);
-<a name="l00582"></a>00582 <span class="keywordflow">if</span> (res)
-<a name="l00583"></a>00583 <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(modechar);
-<a name="l00584"></a>00584 <span class="keywordflow">return</span> res;
-<a name="l00585"></a>00585 }
+References <a class="el" href="modules_8cpp-source.html#l00134">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00144">ModeMakeList()</a>, and <a class="el" href="modules_8h-source.html#l00031">MT_CHANNEL</a>.<div class="fragment"><pre class="fragment"><a name="l00585"></a>00585 {
+<a name="l00586"></a>00586 <span class="keywordtype">bool</span> res = <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,<a class="code" href="modules_8h.html#MT_5FCHANNEL">MT_CHANNEL</a>,<span class="keyword">false</span>,1,1);
+<a name="l00587"></a>00587 <span class="keywordflow">if</span> (res)
+<a name="l00588"></a>00588 <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(modechar);
+<a name="l00589"></a>00589 <span class="keywordflow">return</span> res;
+<a name="l00590"></a>00590 }
</pre></div>
<p>
</td>
@@ -507,34 +510,34 @@ Adds an extended mode letter which is parsed by a module.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00551">551</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="modules_8cpp-source.html#l00134">DoAddExtendedMode()</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="modules_8h-source.html#l00032">MT_CLIENT</a>, and <a class="el" href="modules_8h-source.html#l00033">MT_SERVER</a>.<div class="fragment"><pre class="fragment"><a name="l00552"></a>00552 {
-<a name="l00553"></a>00553 <span class="keywordflow">if</span> (((modechar &gt;= <span class="charliteral">'A'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'Z'</span>)) || ((modechar &gt;= <span class="charliteral">'a'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'z'</span>)))
-<a name="l00554"></a>00554 {
-<a name="l00555"></a>00555 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#MT_5FSERVER">MT_SERVER</a>)
-<a name="l00556"></a>00556 {
-<a name="l00557"></a>00557 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
-<a name="l00558"></a>00558 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00559"></a>00559 }
-<a name="l00560"></a>00560 <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#MT_5FCLIENT">MT_CLIENT</a>))
+Definition at line <a class="el" href="modules_8cpp-source.html#l00556">556</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="modules_8cpp-source.html#l00134">DoAddExtendedMode()</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="modules_8h-source.html#l00032">MT_CLIENT</a>, and <a class="el" href="modules_8h-source.html#l00033">MT_SERVER</a>.<div class="fragment"><pre class="fragment"><a name="l00557"></a>00557 {
+<a name="l00558"></a>00558 <span class="keywordflow">if</span> (((modechar &gt;= <span class="charliteral">'A'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'Z'</span>)) || ((modechar &gt;= <span class="charliteral">'a'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'z'</span>)))
+<a name="l00559"></a>00559 {
+<a name="l00560"></a>00560 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#MT_5FSERVER">MT_SERVER</a>)
<a name="l00561"></a>00561 {
-<a name="l00562"></a>00562 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
+<a name="l00562"></a>00562 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
<a name="l00563"></a>00563 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00564"></a>00564 }
-<a name="l00565"></a>00565 <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
+<a name="l00565"></a>00565 <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#MT_5FCLIENT">MT_CLIENT</a>))
<a name="l00566"></a>00566 {
-<a name="l00567"></a>00567 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+<a name="l00567"></a>00567 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
<a name="l00568"></a>00568 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00569"></a>00569 }
-<a name="l00570"></a>00570 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,type,requires_oper,params_when_on,params_when_off);
-<a name="l00571"></a>00571 }
-<a name="l00572"></a>00572 <span class="keywordflow">else</span>
-<a name="l00573"></a>00573 {
-<a name="l00574"></a>00574 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Muppet modechar detected."</span>);
-<a name="l00575"></a>00575 }
-<a name="l00576"></a>00576 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00577"></a>00577 }
+<a name="l00570"></a>00570 <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
+<a name="l00571"></a>00571 {
+<a name="l00572"></a>00572 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+<a name="l00573"></a>00573 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00574"></a>00574 }
+<a name="l00575"></a>00575 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,type,requires_oper,params_when_on,params_when_off);
+<a name="l00576"></a>00576 }
+<a name="l00577"></a>00577 <span class="keywordflow">else</span>
+<a name="l00578"></a>00578 {
+<a name="l00579"></a>00579 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Muppet modechar detected."</span>);
+<a name="l00580"></a>00580 }
+<a name="l00581"></a>00581 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00582"></a>00582 }
</pre></div>
<p>
</td>
@@ -590,11 +593,11 @@ Adds a G-line The G-line is propogated to all of the servers in the mesh and enf
<p>
The duration must be in seconds, however you can use the <a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server::CalcDuration</a> 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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00635">635</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00640">640</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_gline()</a>.<div class="fragment"><pre class="fragment"><a name="l00636"></a>00636 {
-<a name="l00637"></a>00637 <a class="code" href="xline_8h.html#add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_gline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), hostmask.c_str());
-<a name="l00638"></a>00638 }
+References <a class="el" href="xline_8h.html#add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_gline()</a>.<div class="fragment"><pre class="fragment"><a name="l00641"></a>00641 {
+<a name="l00642"></a>00642 <a class="code" href="xline_8h.html#add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_gline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), hostmask.c_str());
+<a name="l00643"></a>00643 }
</pre></div>
<p>
</td>
@@ -650,11 +653,11 @@ Adds a K-line The K-line is enforced as soon as it is added.
<p>
The duration must be in seconds, however you can use the <a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server::CalcDuration</a> 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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00650">650</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00655">655</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_kline()</a>.<div class="fragment"><pre class="fragment"><a name="l00651"></a>00651 {
-<a name="l00652"></a>00652 <a class="code" href="xline_8h.html#add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_kline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), hostmask.c_str());
-<a name="l00653"></a>00653 }
+References <a class="el" href="xline_8h.html#add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_kline()</a>.<div class="fragment"><pre class="fragment"><a name="l00656"></a>00656 {
+<a name="l00657"></a>00657 <a class="code" href="xline_8h.html#add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_kline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), hostmask.c_str());
+<a name="l00658"></a>00658 }
</pre></div>
<p>
</td>
@@ -710,11 +713,11 @@ Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enf
<p>
The duration must be in seconds, however you can use the <a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server::CalcDuration</a> 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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00640">640</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00645">645</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29">add_qline()</a>.<div class="fragment"><pre class="fragment"><a name="l00641"></a>00641 {
-<a name="l00642"></a>00642 <a class="code" href="xline_8h.html#add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29">add_qline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), nickname.c_str());
-<a name="l00643"></a>00643 }
+References <a class="el" href="xline_8h.html#add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29">add_qline()</a>.<div class="fragment"><pre class="fragment"><a name="l00646"></a>00646 {
+<a name="l00647"></a>00647 <a class="code" href="xline_8h.html#add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29">add_qline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), nickname.c_str());
+<a name="l00648"></a>00648 }
</pre></div>
<p>
</td>
@@ -809,11 +812,11 @@ Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enf
<p>
The duration must be in seconds, however you can use the <a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server::CalcDuration</a> 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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00645">645</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00650">650</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29">add_zline()</a>.<div class="fragment"><pre class="fragment"><a name="l00646"></a>00646 {
-<a name="l00647"></a>00647 <a class="code" href="xline_8h.html#add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29">add_zline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), ipaddr.c_str());
-<a name="l00648"></a>00648 }
+References <a class="el" href="xline_8h.html#add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29">add_zline()</a>.<div class="fragment"><pre class="fragment"><a name="l00651"></a>00651 {
+<a name="l00652"></a>00652 <a class="code" href="xline_8h.html#add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29">add_zline</a>(<a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, source.c_str(), reason.c_str(), ipaddr.c_str());
+<a name="l00653"></a>00653 }
</pre></div>
<p>
</td>
@@ -848,11 +851,11 @@ Calculates a duration This method will take a string containing a formatted dura
<p>
"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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00685">685</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00690">690</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration()</a>.<div class="fragment"><pre class="fragment"><a name="l00686"></a>00686 {
-<a name="l00687"></a>00687 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>(delta.c_str());
-<a name="l00688"></a>00688 }
+References <a class="el" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration()</a>.<div class="fragment"><pre class="fragment"><a name="l00691"></a>00691 {
+<a name="l00692"></a>00692 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>(delta.c_str());
+<a name="l00693"></a>00693 }
</pre></div>
<p>
</td>
@@ -909,11 +912,11 @@ Calls the handler for a command, either implemented by the core or by another mo
You can use this function to trigger other commands in the ircd, such as PRIVMSG, JOIN, KICK etc, or even as a method of callback. By defining command names that are untypeable for users on irc (e.g. those which contain a or <br>
) you may use them as callback identifiers. The first parameter to this method is the name of the command handler you wish to call, e.g. PRIVMSG. This will be a command handler previously registered by the core or wih <a class="el" href="classServer.html#AddCommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">AddCommand()</a>. 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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00396">396</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00401">401</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler()</a>.<div class="fragment"><pre class="fragment"><a name="l00397"></a>00397 {
-<a name="l00398"></a>00398 <a class="code" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler</a>(commandname.c_str(),parameters,pcnt,user);
-<a name="l00399"></a>00399 }
+References <a class="el" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler()</a>.<div class="fragment"><pre class="fragment"><a name="l00402"></a>00402 {
+<a name="l00403"></a>00403 <a class="code" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler</a>(commandname.c_str(),parameters,pcnt,user);
+<a name="l00404"></a>00404 }
</pre></div>
<p>
</td>
@@ -957,11 +960,11 @@ Change GECOS (fullname) of a user.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00494">494</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00499">499</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName()</a>.<div class="fragment"><pre class="fragment"><a name="l00495"></a>00495 {
-<a name="l00496"></a>00496 <a class="code" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName</a>(user,gecos.c_str());
-<a name="l00497"></a>00497 }
+References <a class="el" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName()</a>.<div class="fragment"><pre class="fragment"><a name="l00500"></a>00500 {
+<a name="l00501"></a>00501 <a class="code" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName</a>(user,gecos.c_str());
+<a name="l00502"></a>00502 }
</pre></div>
<p>
</td>
@@ -1005,11 +1008,11 @@ Change displayed hostname of a user.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00489">489</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00494">494</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost()</a>.<div class="fragment"><pre class="fragment"><a name="l00490"></a>00490 {
-<a name="l00491"></a>00491 <a class="code" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost</a>(user,host.c_str());
-<a name="l00492"></a>00492 }
+References <a class="el" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost()</a>.<div class="fragment"><pre class="fragment"><a name="l00495"></a>00495 {
+<a name="l00496"></a>00496 <a class="code" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost</a>(user,host.c_str());
+<a name="l00497"></a>00497 }
</pre></div>
<p>
</td>
@@ -1053,11 +1056,11 @@ Forces a user nickchange.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00381">381</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00386">386</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange()</a>.<div class="fragment"><pre class="fragment"><a name="l00382"></a>00382 {
-<a name="l00383"></a>00383 <a class="code" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(user,nickname.c_str());
-<a name="l00384"></a>00384 }
+References <a class="el" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange()</a>.<div class="fragment"><pre class="fragment"><a name="l00387"></a>00387 {
+<a name="l00388"></a>00388 <a class="code" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(user,nickname.c_str());
+<a name="l00389"></a>00389 }
</pre></div>
<p>
</td>
@@ -1101,11 +1104,11 @@ Attempts to look up a user's privilages on a channel.
<p>
This function will return a string containing either @, %, +, or an empty string, representing the user's privilages upon the channel you specify.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00519">519</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00524">524</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode()</a>.<div class="fragment"><pre class="fragment"><a name="l00520"></a>00520 {
-<a name="l00521"></a>00521 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a>(User,Chan);
-<a name="l00522"></a>00522 }
+References <a class="el" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode()</a>.<div class="fragment"><pre class="fragment"><a name="l00525"></a>00525 {
+<a name="l00526"></a>00526 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a>(User,Chan);
+<a name="l00527"></a>00527 }
</pre></div>
<p>
</td>
@@ -1149,11 +1152,11 @@ Returns true if two users share a common channel.
<p>
This method is used internally by the NICK and QUIT commands, and the <a class="el" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">Server::SendCommon</a> method.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00467">467</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00472">472</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels()</a>.<div class="fragment"><pre class="fragment"><a name="l00468"></a>00468 {
-<a name="l00469"></a>00469 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a>(u1,u2) != 0);
-<a name="l00470"></a>00470 }
+References <a class="el" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels()</a>.<div class="fragment"><pre class="fragment"><a name="l00473"></a>00473 {
+<a name="l00474"></a>00474 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a>(u1,u2) != 0);
+<a name="l00475"></a>00475 }
</pre></div>
<p>
</td>
@@ -1188,9 +1191,9 @@ Returns a count of the number of users on a channel.
<p>
This will NEVER be 0, as if the chanrec exists, it will have at least one user in the channel.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00587">587</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00588"></a>00588 {
-<a name="l00589"></a>00589 <span class="keywordflow">return</span> usercount(c);
-<a name="l00590"></a>00590 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00592">592</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00593"></a>00593 {
+<a name="l00594"></a>00594 <span class="keywordflow">return</span> usercount(c);
+<a name="l00595"></a>00595 }
</pre></div>
<p>
</td>
@@ -1225,11 +1228,11 @@ Deletes a local E-Line.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00680">680</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00685">685</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline()</a>.<div class="fragment"><pre class="fragment"><a name="l00681"></a>00681 {
-<a name="l00682"></a>00682 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline</a>(hostmask.c_str());
-<a name="l00683"></a>00683 }
+References <a class="el" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline()</a>.<div class="fragment"><pre class="fragment"><a name="l00686"></a>00686 {
+<a name="l00687"></a>00687 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline</a>(hostmask.c_str());
+<a name="l00688"></a>00688 }
</pre></div>
<p>
</td>
@@ -1264,11 +1267,11 @@ Deletes a G-Line from all servers on the mesh.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00660">660</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00665">665</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline()</a>.<div class="fragment"><pre class="fragment"><a name="l00661"></a>00661 {
-<a name="l00662"></a>00662 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline</a>(hostmask.c_str());
-<a name="l00663"></a>00663 }
+References <a class="el" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline()</a>.<div class="fragment"><pre class="fragment"><a name="l00666"></a>00666 {
+<a name="l00667"></a>00667 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline</a>(hostmask.c_str());
+<a name="l00668"></a>00668 }
</pre></div>
<p>
</td>
@@ -1303,11 +1306,11 @@ Deletes a local K-Line.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00675">675</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00680">680</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline()</a>.<div class="fragment"><pre class="fragment"><a name="l00676"></a>00676 {
-<a name="l00677"></a>00677 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline</a>(hostmask.c_str());
-<a name="l00678"></a>00678 }
+References <a class="el" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline()</a>.<div class="fragment"><pre class="fragment"><a name="l00681"></a>00681 {
+<a name="l00682"></a>00682 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline</a>(hostmask.c_str());
+<a name="l00683"></a>00683 }
</pre></div>
<p>
</td>
@@ -1342,11 +1345,11 @@ Deletes a Q-Line from all servers on the mesh.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00665">665</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00670">670</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline()</a>.<div class="fragment"><pre class="fragment"><a name="l00666"></a>00666 {
-<a name="l00667"></a>00667 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline</a>(nickname.c_str());
-<a name="l00668"></a>00668 }
+References <a class="el" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline()</a>.<div class="fragment"><pre class="fragment"><a name="l00671"></a>00671 {
+<a name="l00672"></a>00672 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline</a>(nickname.c_str());
+<a name="l00673"></a>00673 }
</pre></div>
<p>
</td>
@@ -1381,18 +1384,18 @@ Deletes a class derived from <a class="el" href="classInspSocket.html">InspSocke
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00329">329</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00334">334</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.<div class="fragment"><pre class="fragment"><a name="l00330"></a>00330 {
-<a name="l00331"></a>00331 <span class="keywordflow">for</span> (std::vector&lt;InspSocket*&gt;::iterator a = <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.begin(); a &lt; <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.end(); a++)
-<a name="l00332"></a>00332 {
-<a name="l00333"></a>00333 <span class="keywordflow">if</span> (*a == sock)
-<a name="l00334"></a>00334 {
-<a name="l00335"></a>00335 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.erase(a);
-<a name="l00336"></a>00336 <span class="keywordflow">return</span>;
-<a name="l00337"></a>00337 }
-<a name="l00338"></a>00338 }
-<a name="l00339"></a>00339 }
+References <a class="el" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.<div class="fragment"><pre class="fragment"><a name="l00335"></a>00335 {
+<a name="l00336"></a>00336 <span class="keywordflow">for</span> (std::vector&lt;InspSocket*&gt;::iterator a = <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.begin(); a &lt; <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.end(); a++)
+<a name="l00337"></a>00337 {
+<a name="l00338"></a>00338 <span class="keywordflow">if</span> (*a == sock)
+<a name="l00339"></a>00339 {
+<a name="l00340"></a>00340 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.erase(a);
+<a name="l00341"></a>00341 <span class="keywordflow">return</span>;
+<a name="l00342"></a>00342 }
+<a name="l00343"></a>00343 }
+<a name="l00344"></a>00344 }
</pre></div>
<p>
</td>
@@ -1427,11 +1430,11 @@ Deletes a Z-Line from all servers on the mesh.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00670">670</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00675">675</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline()</a>.<div class="fragment"><pre class="fragment"><a name="l00671"></a>00671 {
-<a name="l00672"></a>00672 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline</a>(ipaddr.c_str());
-<a name="l00673"></a>00673 }
+References <a class="el" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline()</a>.<div class="fragment"><pre class="fragment"><a name="l00676"></a>00676 {
+<a name="l00677"></a>00677 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline</a>(ipaddr.c_str());
+<a name="l00678"></a>00678 }
</pre></div>
<p>
</td>
@@ -1466,11 +1469,11 @@ Attempts to look up a channel and return a pointer to it.
<p>
This function will return NULL if the channel does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00514">514</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00519">519</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan()</a>.<div class="fragment"><pre class="fragment"><a name="l00515"></a>00515 {
-<a name="l00516"></a>00516 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(channel.c_str());
-<a name="l00517"></a>00517 }
+References <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan()</a>.<div class="fragment"><pre class="fragment"><a name="l00520"></a>00520 {
+<a name="l00521"></a>00521 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(channel.c_str());
+<a name="l00522"></a>00522 }
</pre></div>
<p>
</td>
@@ -1505,9 +1508,9 @@ Attempts to look up a nick using the file descriptor associated with that nick.
<p>
This function will return NULL if the file descriptor is not associated with a valid user.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00509">509</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00510"></a>00510 {
-<a name="l00511"></a>00511 <span class="keywordflow">return</span> (socket &lt; 65536 ? fd_ref_table[socket] : NULL);
-<a name="l00512"></a>00512 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00514">514</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00515"></a>00515 {
+<a name="l00516"></a>00516 <span class="keywordflow">return</span> (socket &lt; 65536 ? fd_ref_table[socket] : NULL);
+<a name="l00517"></a>00517 }
</pre></div>
<p>
</td>
@@ -1542,18 +1545,18 @@ This function finds a module by name.
<p>
You must provide the filename of the module. If the module cannot be found (is not loaded) the function will return NULL.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00719">719</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00930">MODCOUNT</a>, <a class="el" href="inspircd__io_8h-source.html#l00247">ServerConfig::module_names</a>, and <a class="el" href="channels_8cpp.html#modules">modules</a>.<div class="fragment"><pre class="fragment"><a name="l00720"></a>00720 {
-<a name="l00721"></a>00721 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a>; i++)
-<a name="l00722"></a>00722 {
-<a name="l00723"></a>00723 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#module_5Fnames">module_names</a>[i] == name)
-<a name="l00724"></a>00724 {
-<a name="l00725"></a>00725 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#modules">modules</a>[i];
-<a name="l00726"></a>00726 }
-<a name="l00727"></a>00727 }
-<a name="l00728"></a>00728 <span class="keywordflow">return</span> NULL;
-<a name="l00729"></a>00729 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00724">724</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="modules_8cpp-source.html#l00935">MODCOUNT</a>, <a class="el" href="inspircd__io_8h-source.html#l00247">ServerConfig::module_names</a>, and <a class="el" href="channels_8cpp.html#modules">modules</a>.<div class="fragment"><pre class="fragment"><a name="l00725"></a>00725 {
+<a name="l00726"></a>00726 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a>; i++)
+<a name="l00727"></a>00727 {
+<a name="l00728"></a>00728 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#module_5Fnames">module_names</a>[i] == name)
+<a name="l00729"></a>00729 {
+<a name="l00730"></a>00730 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#modules">modules</a>[i];
+<a name="l00731"></a>00731 }
+<a name="l00732"></a>00732 }
+<a name="l00733"></a>00733 <span class="keywordflow">return</span> NULL;
+<a name="l00734"></a>00734 }
</pre></div>
<p>
</td>
@@ -1588,11 +1591,11 @@ Attempts to look up a nick and return a pointer to it.
<p>
This function will return NULL if the nick does not exist.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00504">504</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00509">509</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find()</a>.<div class="fragment"><pre class="fragment"><a name="l00505"></a>00505 {
-<a name="l00506"></a>00506 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a>(nick);
-<a name="l00507"></a>00507 }
+References <a class="el" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find()</a>.<div class="fragment"><pre class="fragment"><a name="l00510"></a>00510 {
+<a name="l00511"></a>00511 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a>(nick);
+<a name="l00512"></a>00512 }
</pre></div>
<p>
</td>
@@ -1626,11 +1629,11 @@ Returns the information of the server as returned by the /ADMIN command.
<p>
See the <a class="el" href="classAdmin.html">Admin</a> class for further information of the return value. The members <a class="el" href="classAdmin.html#Nick">Admin::Nick</a>, <a class="el" href="classAdmin.html#Email">Admin::Email</a> and <a class="el" href="classAdmin.html#Name">Admin::Name</a> contain the information for the server where the module is loaded.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00544">544</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00549">549</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00089">ServerConfig::AdminEmail</a>, <a class="el" href="inspircd__io_8h-source.html#l00084">ServerConfig::AdminName</a>, and <a class="el" href="inspircd__io_8h-source.html#l00094">ServerConfig::AdminNick</a>.<div class="fragment"><pre class="fragment"><a name="l00545"></a>00545 {
-<a name="l00546"></a>00546 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#AdminName_5BMAXBUF_5D">AdminName</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">AdminEmail</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">AdminNick</a>);
-<a name="l00547"></a>00547 }
+References <a class="el" href="inspircd__io_8h-source.html#l00089">ServerConfig::AdminEmail</a>, <a class="el" href="inspircd__io_8h-source.html#l00084">ServerConfig::AdminName</a>, and <a class="el" href="inspircd__io_8h-source.html#l00094">ServerConfig::AdminNick</a>.<div class="fragment"><pre class="fragment"><a name="l00550"></a>00550 {
+<a name="l00551"></a>00551 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#AdminName_5BMAXBUF_5D">AdminName</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">AdminEmail</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">AdminNick</a>);
+<a name="l00552"></a>00552 }
</pre></div>
<p>
</td>
@@ -1700,11 +1703,11 @@ Returns the network name, global to all linked servers.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00534">534</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00539">539</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00074">ServerConfig::Network</a>.<div class="fragment"><pre class="fragment"><a name="l00535"></a>00535 {
-<a name="l00536"></a>00536 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
-<a name="l00537"></a>00537 }
+References <a class="el" href="inspircd__io_8h-source.html#l00074">ServerConfig::Network</a>.<div class="fragment"><pre class="fragment"><a name="l00540"></a>00540 {
+<a name="l00541"></a>00541 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
+<a name="l00542"></a>00542 }
</pre></div>
<p>
</td>
@@ -1738,11 +1741,11 @@ Returns the server description string of the local server.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00539">539</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00544">544</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00079">ServerConfig::ServerDesc</a>.<div class="fragment"><pre class="fragment"><a name="l00540"></a>00540 {
-<a name="l00541"></a>00541 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a>;
-<a name="l00542"></a>00542 }
+References <a class="el" href="inspircd__io_8h-source.html#l00079">ServerConfig::ServerDesc</a>.<div class="fragment"><pre class="fragment"><a name="l00545"></a>00545 {
+<a name="l00546"></a>00546 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a>;
+<a name="l00547"></a>00547 }
</pre></div>
<p>
</td>
@@ -1776,11 +1779,11 @@ Returns the server name of the server where the module is loaded.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00529">529</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00534">534</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00068">ServerConfig::ServerName</a>.<div class="fragment"><pre class="fragment"><a name="l00530"></a>00530 {
-<a name="l00531"></a>00531 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>;
-<a name="l00532"></a>00532 }
+References <a class="el" href="inspircd__io_8h-source.html#l00068">ServerConfig::ServerName</a>.<div class="fragment"><pre class="fragment"><a name="l00535"></a>00535 {
+<a name="l00536"></a>00536 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>;
+<a name="l00537"></a>00537 }
</pre></div>
<p>
</td>
@@ -1815,19 +1818,57 @@ Fetches the userlist of a channel.
<p>
This function must be here and not a member of userrec or chanrec due to include constraints.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00369">369</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00374">374</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="channels_8cpp-source.html#l00187">chanrec::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00375"></a>00375 {
+<a name="l00376"></a>00376 <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> userl;
+<a name="l00377"></a>00377 userl.clear();
+<a name="l00378"></a>00378 std::vector&lt;char*&gt; *list = chan-&gt;<a class="code" href="classchanrec.html#GetUsers_28_29">GetUsers</a>();
+<a name="l00379"></a>00379 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator i = list-&gt;begin(); i != list-&gt;end(); i++)
+<a name="l00380"></a>00380 {
+<a name="l00381"></a>00381 <span class="keywordtype">char</span>* o = *i;
+<a name="l00382"></a>00382 userl.push_back((<a class="code" href="classuserrec.html">userrec</a>*)o);
+<a name="l00383"></a>00383 }
+<a name="l00384"></a>00384 <span class="keywordflow">return</span> userl;
+<a name="l00385"></a>00385 }
+</pre></div>
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="GetVersion_28_29"></a><!-- doxytag: member="Server::GetVersion" ref="GetVersion_28_29" args="()" --><p>
+<table class="mdTable" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> Server::GetVersion </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns the version string of this server.
+<p>
+
+<p>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00329">329</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="channels_8cpp-source.html#l00187">chanrec::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00370"></a>00370 {
-<a name="l00371"></a>00371 <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> userl;
-<a name="l00372"></a>00372 userl.clear();
-<a name="l00373"></a>00373 std::vector&lt;char*&gt; *list = chan-&gt;<a class="code" href="classchanrec.html#GetUsers_28_29">GetUsers</a>();
-<a name="l00374"></a>00374 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator i = list-&gt;begin(); i != list-&gt;end(); i++)
-<a name="l00375"></a>00375 {
-<a name="l00376"></a>00376 <span class="keywordtype">char</span>* o = *i;
-<a name="l00377"></a>00377 userl.push_back((<a class="code" href="classuserrec.html">userrec</a>*)o);
-<a name="l00378"></a>00378 }
-<a name="l00379"></a>00379 <span class="keywordflow">return</span> userl;
-<a name="l00380"></a>00380 }
+References <a class="el" href="classInspIRCd.html#GetVersionString_28_29">InspIRCd::GetVersionString()</a>.<div class="fragment"><pre class="fragment"><a name="l00330"></a>00330 {
+<a name="l00331"></a>00331 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#GetVersionString_28_29">GetVersionString</a>();
+<a name="l00332"></a>00332 }
</pre></div>
<p>
</td>
@@ -1862,11 +1903,11 @@ Returns true if a nick is valid.
<p>
Nicks for unregistered connections will return false.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00499">499</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00504">504</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick()</a>.<div class="fragment"><pre class="fragment"><a name="l00500"></a>00500 {
-<a name="l00501"></a>00501 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick</a>(nick.c_str()) != 0);
-<a name="l00502"></a>00502 }
+References <a class="el" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick()</a>.<div class="fragment"><pre class="fragment"><a name="l00505"></a>00505 {
+<a name="l00506"></a>00506 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick</a>(nick.c_str()) != 0);
+<a name="l00507"></a>00507 }
</pre></div>
<p>
</td>
@@ -1910,11 +1951,11 @@ Checks if a user is on a channel.
<p>
This function will return true or false to indicate if user 'User' is on channel 'Chan'.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00524">524</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00529">529</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00525"></a>00525 {
-<a name="l00526"></a>00526 <span class="keywordflow">return</span> <a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(User,Chan);
-<a name="l00527"></a>00527 }
+References <a class="el" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00530"></a>00530 {
+<a name="l00531"></a>00531 <span class="keywordflow">return</span> <a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(User,Chan);
+<a name="l00532"></a>00532 }
</pre></div>
<p>
</td>
@@ -1949,11 +1990,11 @@ Returns true if the servername you give is ulined.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00391">391</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00396">396</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline()</a>.<div class="fragment"><pre class="fragment"><a name="l00392"></a>00392 {
-<a name="l00393"></a>00393 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(server.c_str());
-<a name="l00394"></a>00394 }
+References <a class="el" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline()</a>.<div class="fragment"><pre class="fragment"><a name="l00397"></a>00397 {
+<a name="l00398"></a>00398 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(server.c_str());
+<a name="l00399"></a>00399 }
</pre></div>
<p>
</td>
@@ -1988,33 +2029,33 @@ Returns true if a nick!ident string is correctly formatted, false if otherwise.
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00690">690</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00691"></a>00691 {
-<a name="l00692"></a>00692 <span class="keyword">const</span> <span class="keywordtype">char</span>* dest = mask.c_str();
-<a name="l00693"></a>00693 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'!'</span>)==0)
-<a name="l00694"></a>00694 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00695"></a>00695 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'@'</span>)==0)
-<a name="l00696"></a>00696 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00697"></a>00697 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00698"></a>00698 <span class="keywordflow">if</span> (dest[i] &lt; 32)
-<a name="l00699"></a>00699 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00700"></a>00700 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00701"></a>00701 <span class="keywordflow">if</span> (dest[i] &gt; 126)
-<a name="l00702"></a>00702 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00703"></a>00703 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c = 0;
-<a name="l00704"></a>00704 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00705"></a>00705 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'!'</span>)
-<a name="l00706"></a>00706 c++;
-<a name="l00707"></a>00707 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00708"></a>00708 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00709"></a>00709 c = 0;
-<a name="l00710"></a>00710 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00711"></a>00711 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'@'</span>)
-<a name="l00712"></a>00712 c++;
-<a name="l00713"></a>00713 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00714"></a>00714 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00715"></a>00715
-<a name="l00716"></a>00716 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00717"></a>00717 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00695">695</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00696"></a>00696 {
+<a name="l00697"></a>00697 <span class="keyword">const</span> <span class="keywordtype">char</span>* dest = mask.c_str();
+<a name="l00698"></a>00698 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'!'</span>)==0)
+<a name="l00699"></a>00699 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00700"></a>00700 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'@'</span>)==0)
+<a name="l00701"></a>00701 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00702"></a>00702 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00703"></a>00703 <span class="keywordflow">if</span> (dest[i] &lt; 32)
+<a name="l00704"></a>00704 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00705"></a>00705 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00706"></a>00706 <span class="keywordflow">if</span> (dest[i] &gt; 126)
+<a name="l00707"></a>00707 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00708"></a>00708 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c = 0;
+<a name="l00709"></a>00709 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00710"></a>00710 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'!'</span>)
+<a name="l00711"></a>00711 c++;
+<a name="l00712"></a>00712 <span class="keywordflow">if</span> (c&gt;1)
+<a name="l00713"></a>00713 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00714"></a>00714 c = 0;
+<a name="l00715"></a>00715 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00716"></a>00716 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'@'</span>)
+<a name="l00717"></a>00717 c++;
+<a name="l00718"></a>00718 <span class="keywordflow">if</span> (c&gt;1)
+<a name="l00719"></a>00719 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00720"></a>00720
+<a name="l00721"></a>00721 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00722"></a>00722 }
</pre></div>
<p>
</td>
@@ -2062,11 +2103,11 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00690">690</a>
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00401">401</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00406">406</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd()</a>.<div class="fragment"><pre class="fragment"><a name="l00402"></a>00402 {
-<a name="l00403"></a>00403 <span class="keywordflow">return</span> <a class="code" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd</a>(commandname.c_str(), pcnt, user);
-<a name="l00404"></a>00404 }
+References <a class="el" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd()</a>.<div class="fragment"><pre class="fragment"><a name="l00407"></a>00407 {
+<a name="l00408"></a>00408 <span class="keywordflow">return</span> <a class="code" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd</a>(commandname.c_str(), pcnt, user);
+<a name="l00409"></a>00409 }
</pre></div>
<p>
</td>
@@ -2116,11 +2157,11 @@ Forces a user to join a channel.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00359">359</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00364">364</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00360"></a>00360 {
-<a name="l00361"></a>00361 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">add_channel</a>(user,cname.c_str(),key.c_str(),<span class="keyword">false</span>);
-<a name="l00362"></a>00362 }
+References <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00365"></a>00365 {
+<a name="l00366"></a>00366 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">add_channel</a>(user,cname.c_str(),key.c_str(),<span class="keyword">false</span>);
+<a name="l00367"></a>00367 }
</pre></div>
<p>
</td>
@@ -2164,11 +2205,11 @@ Writes a log string.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00406">406</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00411">411</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>.<div class="fragment"><pre class="fragment"><a name="l00407"></a>00407 {
-<a name="l00408"></a>00408 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(level,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00409"></a>00409 }
+References <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>.<div class="fragment"><pre class="fragment"><a name="l00412"></a>00412 {
+<a name="l00413"></a>00413 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(level,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00414"></a>00414 }
</pre></div>
<p>
</td>
@@ -2212,12 +2253,12 @@ Matches text against a glob pattern.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00346">346</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00347"></a>00347 {
-<a name="l00348"></a>00348 <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
-<a name="l00349"></a>00349 strlcpy(literal,sliteral.c_str(),MAXBUF);
-<a name="l00350"></a>00350 strlcpy(pattern,spattern.c_str(),MAXBUF);
-<a name="l00351"></a>00351 <span class="keywordflow">return</span> match(literal,pattern);
-<a name="l00352"></a>00352 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00351">351</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00352"></a>00352 {
+<a name="l00353"></a>00353 <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
+<a name="l00354"></a>00354 strlcpy(literal,sliteral.c_str(),MAXBUF);
+<a name="l00355"></a>00355 strlcpy(pattern,spattern.c_str(),MAXBUF);
+<a name="l00356"></a>00356 <span class="keywordflow">return</span> match(literal,pattern);
+<a name="l00357"></a>00357 }
</pre></div>
<p>
</td>
@@ -2267,11 +2308,11 @@ Forces a user to part a channel.
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00364">364</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00369">369</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00365"></a>00365 {
-<a name="l00366"></a>00366 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">del_channel</a>(user,cname.c_str(),reason.c_str(),<span class="keyword">false</span>);
-<a name="l00367"></a>00367 }
+References <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00370"></a>00370 {
+<a name="l00371"></a>00371 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">del_channel</a>(user,cname.c_str(),reason.c_str(),<span class="keyword">false</span>);
+<a name="l00372"></a>00372 }
</pre></div>
<p>
</td>
@@ -2321,36 +2362,36 @@ This user takes one user, and switches their file descriptor with another user,
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00605">605</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00149">userrec::chans</a>, <a class="el" href="users_8cpp-source.html#l00232">userrec::ClearBuffer()</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00101">FD_MAGIC_NUMBER</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00129">userrec::ident</a>, <a class="el" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link()</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, <a class="el" href="channels_8h-source.html#l00133">chanrec::setby</a>, <a class="el" href="channels_8h-source.html#l00122">chanrec::topic</a>, <a class="el" href="channels_8h-source.html#l00129">chanrec::topicset</a>, <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>, <a class="el" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom()</a>, and <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.<div class="fragment"><pre class="fragment"><a name="l00606"></a>00606 {
-<a name="l00607"></a>00607 zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a> = alive-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
-<a name="l00608"></a>00608 alive-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
-<a name="l00609"></a>00609 alive-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00610"></a>00610 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s!%s@%s NICK %s"</span>,alive-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,alive-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,alive-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00611"></a>00611 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(alive,message.c_str());
-<a name="l00612"></a>00612 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = zombie;
-<a name="l00613"></a>00613 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; zombie-&gt;chans.size(); i++)
-<a name="l00614"></a>00614 {
-<a name="l00615"></a>00615 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel != NULL)
-<a name="l00616"></a>00616 {
-<a name="l00617"></a>00617 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name)
-<a name="l00618"></a>00618 {
-<a name="l00619"></a>00619 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel;
-<a name="l00620"></a>00620 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,zombie,<span class="stringliteral">"JOIN %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00621"></a>00621 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
-<a name="l00622"></a>00622 {
-<a name="l00623"></a>00623 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"332 %s %s :%s"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>);
-<a name="l00624"></a>00624 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"333 %s %s %s %d"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>);
-<a name="l00625"></a>00625 }
-<a name="l00626"></a>00626 userlist(zombie,Ptr);
-<a name="l00627"></a>00627 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"366 %s %s :End of /NAMES list."</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00628"></a>00628
-<a name="l00629"></a>00629 }
-<a name="l00630"></a>00630 }
-<a name="l00631"></a>00631 }
-<a name="l00632"></a>00632 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00633"></a>00633 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00610">610</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="users_8h-source.html#l00149">userrec::chans</a>, <a class="el" href="users_8cpp-source.html#l00232">userrec::ClearBuffer()</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00101">FD_MAGIC_NUMBER</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00129">userrec::ident</a>, <a class="el" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link()</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00124">userrec::nick</a>, <a class="el" href="channels_8h-source.html#l00133">chanrec::setby</a>, <a class="el" href="channels_8h-source.html#l00122">chanrec::topic</a>, <a class="el" href="channels_8h-source.html#l00129">chanrec::topicset</a>, <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>, <a class="el" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom()</a>, and <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.<div class="fragment"><pre class="fragment"><a name="l00611"></a>00611 {
+<a name="l00612"></a>00612 zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a> = alive-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
+<a name="l00613"></a>00613 alive-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
+<a name="l00614"></a>00614 alive-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
+<a name="l00615"></a>00615 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s!%s@%s NICK %s"</span>,alive-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,alive-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,alive-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
+<a name="l00616"></a>00616 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(alive,message.c_str());
+<a name="l00617"></a>00617 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = zombie;
+<a name="l00618"></a>00618 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; zombie-&gt;chans.size(); i++)
+<a name="l00619"></a>00619 {
+<a name="l00620"></a>00620 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel != NULL)
+<a name="l00621"></a>00621 {
+<a name="l00622"></a>00622 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name)
+<a name="l00623"></a>00623 {
+<a name="l00624"></a>00624 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel;
+<a name="l00625"></a>00625 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,zombie,<span class="stringliteral">"JOIN %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
+<a name="l00626"></a>00626 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
+<a name="l00627"></a>00627 {
+<a name="l00628"></a>00628 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"332 %s %s :%s"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>);
+<a name="l00629"></a>00629 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"333 %s %s %s %d"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>);
+<a name="l00630"></a>00630 }
+<a name="l00631"></a>00631 userlist(zombie,Ptr);
+<a name="l00632"></a>00632 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"366 %s %s :End of /NAMES list."</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
+<a name="l00633"></a>00633
+<a name="l00634"></a>00634 }
+<a name="l00635"></a>00635 }
+<a name="l00636"></a>00636 }
+<a name="l00637"></a>00637 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00638"></a>00638 }
</pre></div>
<p>
</td>
@@ -2396,11 +2437,11 @@ To the user, it will appear as if they typed /QUIT themselves, except for the fa
WARNING!<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00386">386</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00391">391</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link()</a>.<div class="fragment"><pre class="fragment"><a name="l00387"></a>00387 {
-<a name="l00388"></a>00388 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,reason.c_str());
-<a name="l00389"></a>00389 }
+References <a class="el" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link()</a>.<div class="fragment"><pre class="fragment"><a name="l00392"></a>00392 {
+<a name="l00393"></a>00393 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,reason.c_str());
+<a name="l00394"></a>00394 }
</pre></div>
<p>
</td>
@@ -2481,11 +2522,11 @@ Sends a line of text down a TCP/IP socket.
<p>
This method writes a line of text to an established socket, cutting it to 510 characters plus a carriage return and linefeed if required.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00421">421</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00426">426</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>.<div class="fragment"><pre class="fragment"><a name="l00422"></a>00422 {
-<a name="l00423"></a>00423 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00424"></a>00424 }
+References <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>.<div class="fragment"><pre class="fragment"><a name="l00427"></a>00427 {
+<a name="l00428"></a>00428 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00429"></a>00429 }
</pre></div>
<p>
</td>
@@ -2541,18 +2582,18 @@ Sends text from a user to a channel (mulicast).
<p>
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).
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00455">455</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">ChanExceptSender()</a>, and <a class="el" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00456"></a>00456 {
-<a name="l00457"></a>00457 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00458"></a>00458 {
-<a name="l00459"></a>00459 <a class="code" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00460"></a>00460 }
-<a name="l00461"></a>00461 <span class="keywordflow">else</span>
-<a name="l00462"></a>00462 {
-<a name="l00463"></a>00463 <a class="code" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">ChanExceptSender</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00464"></a>00464 }
-<a name="l00465"></a>00465 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00460">460</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">ChanExceptSender()</a>, and <a class="el" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00461"></a>00461 {
+<a name="l00462"></a>00462 <span class="keywordflow">if</span> (IncludeSender)
+<a name="l00463"></a>00463 {
+<a name="l00464"></a>00464 <a class="code" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00465"></a>00465 }
+<a name="l00466"></a>00466 <span class="keywordflow">else</span>
+<a name="l00467"></a>00467 {
+<a name="l00468"></a>00468 <a class="code" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">ChanExceptSender</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00469"></a>00469 }
+<a name="l00470"></a>00470 }
</pre></div>
<p>
</td>
@@ -2602,9 +2643,9 @@ Writes text to a channel, but from a server, including all.
<p>
This can be used to send server notices to a group of users.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00450">450</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00451"></a>00451 {
-<a name="l00452"></a>00452 WriteChannelWithServ((<span class="keywordtype">char</span>*)ServName.c_str(), Channel, <span class="stringliteral">"%s"</span>, text.c_str());
-<a name="l00453"></a>00453 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00455">455</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00456"></a>00456 {
+<a name="l00457"></a>00457 WriteChannelWithServ((<span class="keywordtype">char</span>*)ServName.c_str(), Channel, <span class="stringliteral">"%s"</span>, text.c_str());
+<a name="l00458"></a>00458 }
</pre></div>
<p>
</td>
@@ -2654,18 +2695,18 @@ Sends text from a user to one or more channels (mulicast).
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00472">472</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon()</a>, and <a class="el" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept()</a>.<div class="fragment"><pre class="fragment"><a name="l00473"></a>00473 {
-<a name="l00474"></a>00474 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00475"></a>00475 {
-<a name="l00476"></a>00476 <a class="code" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00477"></a>00477 }
-<a name="l00478"></a>00478 <span class="keywordflow">else</span>
-<a name="l00479"></a>00479 {
-<a name="l00480"></a>00480 <a class="code" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00481"></a>00481 }
-<a name="l00482"></a>00482 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00477">477</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon()</a>, and <a class="el" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept()</a>.<div class="fragment"><pre class="fragment"><a name="l00478"></a>00478 {
+<a name="l00479"></a>00479 <span class="keywordflow">if</span> (IncludeSender)
+<a name="l00480"></a>00480 {
+<a name="l00481"></a>00481 <a class="code" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00482"></a>00482 }
+<a name="l00483"></a>00483 <span class="keywordflow">else</span>
+<a name="l00484"></a>00484 {
+<a name="l00485"></a>00485 <a class="code" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00486"></a>00486 }
+<a name="l00487"></a>00487 }
</pre></div>
<p>
</td>
@@ -2715,11 +2756,11 @@ Sends text from a user to a socket.
<p>
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)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00431">431</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00436">436</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom()</a>.<div class="fragment"><pre class="fragment"><a name="l00432"></a>00432 {
-<a name="l00433"></a>00433 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00434"></a>00434 }
+References <a class="el" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom()</a>.<div class="fragment"><pre class="fragment"><a name="l00437"></a>00437 {
+<a name="l00438"></a>00438 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00439"></a>00439 }
</pre></div>
<p>
</td>
@@ -2776,11 +2817,11 @@ modes[2] = user-&gt;nick;<p>
Srv-&gt;SendMode(modes,3,user);<p>
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!
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00416">416</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00421">421</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="mode_8h.html#server_5Fmode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">server_mode()</a>.<div class="fragment"><pre class="fragment"><a name="l00417"></a>00417 {
-<a name="l00418"></a>00418 <a class="code" href="mode_8h.html#server_5Fmode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">server_mode</a>(parameters,pcnt,user);
-<a name="l00419"></a>00419 }
+References <a class="el" href="mode_8h.html#server_5Fmode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">server_mode()</a>.<div class="fragment"><pre class="fragment"><a name="l00422"></a>00422 {
+<a name="l00423"></a>00423 <a class="code" href="mode_8h.html#server_5Fmode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">server_mode</a>(parameters,pcnt,user);
+<a name="l00424"></a>00424 }
</pre></div>
<p>
</td>
@@ -2815,11 +2856,11 @@ Sends text to all opers.
<p>
This method sends a server notice to all opers with the usermode +s.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00341">341</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00346">346</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers()</a>.<div class="fragment"><pre class="fragment"><a name="l00342"></a>00342 {
-<a name="l00343"></a>00343 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00344"></a>00344 }
+References <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers()</a>.<div class="fragment"><pre class="fragment"><a name="l00347"></a>00347 {
+<a name="l00348"></a>00348 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00349"></a>00349 }
</pre></div>
<p>
</td>
@@ -2863,11 +2904,11 @@ Sends text from the server to a socket.
<p>
This method writes a line of text to an established socket, with the servername prepended as used by numerics (see RFC 1459)
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00426">426</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00431">431</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.<div class="fragment"><pre class="fragment"><a name="l00427"></a>00427 {
-<a name="l00428"></a>00428 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00429"></a>00429 }
+References <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ()</a>.<div class="fragment"><pre class="fragment"><a name="l00432"></a>00432 {
+<a name="l00433"></a>00433 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00434"></a>00434 }
</pre></div>
<p>
</td>
@@ -2921,20 +2962,20 @@ The format will become:<p>
:localserver TEXT<p>
Which is useful for numerics and server notices to single users, etc.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00436">436</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00441">441</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>, and <a class="el" href="globals_8h.html#WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29">WriteTo()</a>.<div class="fragment"><pre class="fragment"><a name="l00437"></a>00437 {
-<a name="l00438"></a>00438 <span class="keywordflow">if</span> (!Source)
-<a name="l00439"></a>00439 {
-<a name="l00440"></a>00440 <span class="comment">// if source is NULL, then the message originates from the local server</span>
-<a name="l00441"></a>00441 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Dest-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s %s"</span>,this-&gt;GetServerName().c_str(),s.c_str());
-<a name="l00442"></a>00442 }
-<a name="l00443"></a>00443 <span class="keywordflow">else</span>
+References <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>, and <a class="el" href="globals_8h.html#WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29">WriteTo()</a>.<div class="fragment"><pre class="fragment"><a name="l00442"></a>00442 {
+<a name="l00443"></a>00443 <span class="keywordflow">if</span> (!Source)
<a name="l00444"></a>00444 {
-<a name="l00445"></a>00445 <span class="comment">// otherwise it comes from the user specified</span>
-<a name="l00446"></a>00446 <a class="code" href="globals_8h.html#WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29">WriteTo</a>(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00445"></a>00445 <span class="comment">// if source is NULL, then the message originates from the local server</span>
+<a name="l00446"></a>00446 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Dest-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s %s"</span>,this-&gt;GetServerName().c_str(),s.c_str());
<a name="l00447"></a>00447 }
-<a name="l00448"></a>00448 }
+<a name="l00448"></a>00448 <span class="keywordflow">else</span>
+<a name="l00449"></a>00449 {
+<a name="l00450"></a>00450 <span class="comment">// otherwise it comes from the user specified</span>
+<a name="l00451"></a>00451 <a class="code" href="globals_8h.html#WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29">WriteTo</a>(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00452"></a>00452 }
+<a name="l00453"></a>00453 }
</pre></div>
<p>
</td>
@@ -2986,9 +3027,9 @@ These can be RFC specified modes such as +i, or module provided modes, including
Serv-&gt;SendToModeMask("xi", WM_OR, "m00");<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00354">354</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00355"></a>00355 {
-<a name="l00356"></a>00356 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00357"></a>00357 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00359">359</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00360"></a>00360 {
+<a name="l00361"></a>00361 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00362"></a>00362 }
</pre></div>
<p>
</td>
@@ -3032,11 +3073,11 @@ Sends a WALLOPS message.
<p>
This method writes a WALLOPS message to all users with the +w flag, originating from the specified user.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00484">484</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+Definition at line <a class="el" href="modules_8cpp-source.html#l00489">489</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
<p>
-References <a class="el" href="globals_8h.html#WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteWallOps()</a>.<div class="fragment"><pre class="fragment"><a name="l00485"></a>00485 {
-<a name="l00486"></a>00486 <a class="code" href="globals_8h.html#WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteWallOps</a>(User,<span class="keyword">false</span>,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00487"></a>00487 }
+References <a class="el" href="globals_8h.html#WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteWallOps()</a>.<div class="fragment"><pre class="fragment"><a name="l00490"></a>00490 {
+<a name="l00491"></a>00491 <a class="code" href="globals_8h.html#WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteWallOps</a>(User,<span class="keyword">false</span>,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00492"></a>00492 }
</pre></div>
<p>
</td>
@@ -3080,18 +3121,18 @@ Remove a user's connection to the irc server, but leave their client in existenc
<p>
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.
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00593">593</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00232">userrec::ClearBuffer()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00101">FD_MAGIC_NUMBER</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00129">userrec::ident</a>, and <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>.<div class="fragment"><pre class="fragment"><a name="l00594"></a>00594 {
-<a name="l00595"></a>00595 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> old_fd = user-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
-<a name="l00596"></a>00596 user-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
-<a name="l00597"></a>00597 user-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00598"></a>00598 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(old_fd,<span class="stringliteral">"ERROR :Closing link (%s@%s) [%s]"</span>,user-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,user-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,message.c_str());
-<a name="l00599"></a>00599 <a class="code" href="modules_8cpp.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(old_fd);
-<a name="l00600"></a>00600 shutdown(old_fd,2);
-<a name="l00601"></a>00601 close(old_fd);
-<a name="l00602"></a>00602 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00603"></a>00603 }
+Definition at line <a class="el" href="modules_8cpp-source.html#l00598">598</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
+<p>
+References <a class="el" href="users_8cpp-source.html#l00232">userrec::ClearBuffer()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00101">FD_MAGIC_NUMBER</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00129">userrec::ident</a>, and <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write()</a>.<div class="fragment"><pre class="fragment"><a name="l00599"></a>00599 {
+<a name="l00600"></a>00600 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> old_fd = user-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
+<a name="l00601"></a>00601 user-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
+<a name="l00602"></a>00602 user-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
+<a name="l00603"></a>00603 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(old_fd,<span class="stringliteral">"ERROR :Closing link (%s@%s) [%s]"</span>,user-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,user-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,message.c_str());
+<a name="l00604"></a>00604 <a class="code" href="modules_8cpp.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(old_fd);
+<a name="l00605"></a>00605 shutdown(old_fd,2);
+<a name="l00606"></a>00606 close(old_fd);
+<a name="l00607"></a>00607 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00608"></a>00608 }
</pre></div>
<p>
</td>
@@ -3099,7 +3140,7 @@ References <a class="el" href="users_8cpp-source.html#l00232">userrec::ClearBuff
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:27 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classServerConfig-members.html b/docs/module-doc/classServerConfig-members.html
index 6ef03ed50..6093b0551 100644
--- a/docs/module-doc/classServerConfig-members.html
+++ b/docs/module-doc/classServerConfig-members.html
@@ -57,7 +57,7 @@
<tr class="memlist"><td><a class="el" href="classServerConfig.html#SoftLimit">SoftLimit</a></td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classServerConfig.html#unlimitcore">unlimitcore</a></td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classServerConfig.html b/docs/module-doc/classServerConfig.html
index 037f117b4..990abb166 100644
--- a/docs/module-doc/classServerConfig.html
+++ b/docs/module-doc/classServerConfig.html
@@ -225,7 +225,7 @@ Clears the include stack in preperation for a <a class="el" href="classServerCon
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader::ConfigReader()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00736">ConfigReader::ConfigReader()</a>. </td>
</tr>
</table>
<a class="anchor" name="ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29"></a><!-- doxytag: member="ServerConfig::ConfProcess" ref="ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29" args="(char *buffer, long linenumber, std::stringstream *errorstream, bool &amp;error, std::string filename)" --><p>
@@ -415,7 +415,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00144">userrec::HasPer
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00863">ConfigReader::Enumerate()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00868">ConfigReader::Enumerate()</a>. </td>
</tr>
</table>
<a class="anchor" name="EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29"></a><!-- doxytag: member="ServerConfig::EnumValues" ref="EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29" args="(std::stringstream *config, const char *tag, int index)" --><p>
@@ -460,7 +460,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00863">ConfigReader:
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00868">ConfigReader::EnumerateValues()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00873">ConfigReader::EnumerateValues()</a>. </td>
</tr>
</table>
<a class="anchor" name="fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29"></a><!-- doxytag: member="ServerConfig::fgets_safe" ref="fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29" args="(char *buffer, size_t maxsize, FILE *&amp;file)" --><p>
@@ -550,7 +550,7 @@ it can read both windows and UNIX style linefeeds transparently. </td>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader::ConfigReader()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00736">ConfigReader::ConfigReader()</a>. </td>
</tr>
</table>
<a class="anchor" name="Read_28bool_20bail_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="ServerConfig::Read" ref="Read_28bool_20bail_2C_20userrec_20_2Auser_29" args="(bool bail, userrec *user)" --><p>
@@ -648,7 +648,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00318">Server::Rehas
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00777">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00794">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00761">ConfigReader::ReadValue()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00782">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00799">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00766">ConfigReader::ReadValue()</a>. </td>
</tr>
</table>
<hr><h2>Member Data Documentation</h2>
@@ -705,7 +705,7 @@ Holds the email address of the admin, for output in the /ADMIN command.
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00089">89</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00544">Server::GetAdmin()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00549">Server::GetAdmin()</a>. </td>
</tr>
</table>
<a class="anchor" name="AdminName_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::AdminName" ref="AdminName_5BMAXBUF_5D" args="[MAXBUF]" --><p>
@@ -734,7 +734,7 @@ Holds the admin's name, for output in the /ADMIN command.
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00084">84</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00544">Server::GetAdmin()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00549">Server::GetAdmin()</a>. </td>
</tr>
</table>
<a class="anchor" name="AdminNick_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::AdminNick" ref="AdminNick_5BMAXBUF_5D" args="[MAXBUF]" --><p>
@@ -763,7 +763,7 @@ Holds the admin's nickname, for output in the /ADMIN command.
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00094">94</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00544">Server::GetAdmin()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00549">Server::GetAdmin()</a>. </td>
</tr>
</table>
<a class="anchor" name="AllowHalfop"></a><!-- doxytag: member="ServerConfig::AllowHalfop" ref="AllowHalfop" args="" --><p>
@@ -1226,7 +1226,7 @@ A list of module names (names only, no paths) which are currently loaded by the
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00247">247</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00719">Server::FindModule()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00724">Server::FindModule()</a>. </td>
</tr>
</table>
<a class="anchor" name="MOTD"></a><!-- doxytag: member="ServerConfig::MOTD" ref="MOTD" args="" --><p>
@@ -1361,7 +1361,7 @@ Definition at line <a class="el" href="inspircd__io_8h-source.html#l00182">182</
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00074">74</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00534">Server::GetNetworkName()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00539">Server::GetNetworkName()</a>. </td>
</tr>
</table>
<a class="anchor" name="nofork"></a><!-- doxytag: member="ServerConfig::nofork" ref="nofork" args="" --><p>
@@ -1579,7 +1579,7 @@ Holds the description of the local server as defined by the administrator.
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00079">79</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00539">Server::GetServerDescription()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00544">Server::GetServerDescription()</a>. </td>
</tr>
</table>
<a class="anchor" name="ServerName_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::ServerName" ref="ServerName_5BMAXBUF_5D" args="[MAXBUF]" --><p>
@@ -1608,7 +1608,7 @@ Holds the server name of the local server as defined by the administrator.
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00068">68</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00529">Server::GetServerName()</a>, and <a class="el" href="users_8cpp-source.html#l00036">userrec::userrec()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00534">Server::GetServerName()</a>, and <a class="el" href="users_8cpp-source.html#l00036">userrec::userrec()</a>. </td>
</tr>
</table>
<a class="anchor" name="SoftLimit"></a><!-- doxytag: member="ServerConfig::SoftLimit" ref="SoftLimit" args="" --><p>
@@ -1667,7 +1667,7 @@ Definition at line <a class="el" href="inspircd__io_8h-source.html#l00166">166</
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classSocketEngine-members.html b/docs/module-doc/classSocketEngine-members.html
index 7ba725cfc..4a2c4f319 100644
--- a/docs/module-doc/classSocketEngine-members.html
+++ b/docs/module-doc/classSocketEngine-members.html
@@ -17,7 +17,7 @@
<tr class="memlist"><td><a class="el" href="classSocketEngine.html#ts">ts</a></td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classSocketEngine.html#Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29">Wait</a>(std::vector&lt; int &gt; &amp;fdlist)</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classSocketEngine.html#_7ESocketEngine_28_29">~SocketEngine</a>()</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classSocketEngine.html b/docs/module-doc/classSocketEngine.html
index ee8167bb8..76c76d918 100644
--- a/docs/module-doc/classSocketEngine.html
+++ b/docs/module-doc/classSocketEngine.html
@@ -264,7 +264,7 @@ Definition at line <a class="el" href="socketengine_8cpp-source.html#l00103">103
<p>
References <a class="el" href="inspircd__io_8h-source.html#l00028">DEBUG</a>, <a class="el" href="socketengine_8h-source.html#l00069">EngineHandle</a>, <a class="el" href="socketengine_8h-source.html#l00068">fds</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, <a class="el" href="socketengine_8cpp-source.html#l00033">ref</a>, and <a class="el" href="socketengine_8h-source.html#l00055">X_READBIT</a>.
<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00217">InspSocket::Poll()</a>, and <a class="el" href="modules_8cpp-source.html#l00593">Server::UserToPseudo()</a>.<div class="fragment"><pre class="fragment"><a name="l00104"></a>00104 {
+Referenced by <a class="el" href="socket_8cpp-source.html#l00217">InspSocket::Poll()</a>, and <a class="el" href="modules_8cpp-source.html#l00598">Server::UserToPseudo()</a>.<div class="fragment"><pre class="fragment"><a name="l00104"></a>00104 {
<a name="l00105"></a>00105 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"SocketEngine::DelFd(%d)"</span>,fd);
<a name="l00106"></a>00106
<a name="l00107"></a>00107 <span class="keywordflow">if</span> ((fd &lt; 0) || (fd &gt; 65535))
@@ -589,7 +589,7 @@ Referenced by <a class="el" href="socketengine_8cpp-source.html#l00146">Wait()</
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="socketengine_8h-source.html">socketengine.h</a><li><a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classVersion-members.html b/docs/module-doc/classVersion-members.html
index 40a66249f..8463f70f4 100644
--- a/docs/module-doc/classVersion-members.html
+++ b/docs/module-doc/classVersion-members.html
@@ -15,7 +15,7 @@
<tr class="memlist"><td><a class="el" href="classVersion.html#Revision">Revision</a></td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classVersion.html#Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29">Version</a>(int major, int minor, int revision, int build, int flags)</td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classVersion.html b/docs/module-doc/classVersion.html
index 2b39d5d5b..d2b5d2220 100644
--- a/docs/module-doc/classVersion.html
+++ b/docs/module-doc/classVersion.html
@@ -231,7 +231,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00116">116</a> of
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classWhoWasUser-members.html b/docs/module-doc/classWhoWasUser-members.html
index 59a557a52..1139e562e 100644
--- a/docs/module-doc/classWhoWasUser-members.html
+++ b/docs/module-doc/classWhoWasUser-members.html
@@ -13,7 +13,7 @@
<tr class="memlist"><td><a class="el" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a></td><td><a class="el" href="classWhoWasUser.html">WhoWasUser</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWhoWasUser.html#server_5B_32_35_36_5D">server</a></td><td><a class="el" href="classWhoWasUser.html">WhoWasUser</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classWhoWasUser.html#signon">signon</a></td><td><a class="el" href="classWhoWasUser.html">WhoWasUser</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classWhoWasUser.html b/docs/module-doc/classWhoWasUser.html
index 5eb8091ac..f12e98d57 100644
--- a/docs/module-doc/classWhoWasUser.html
+++ b/docs/module-doc/classWhoWasUser.html
@@ -212,7 +212,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00341">341</a> of f
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classXLine-members.html b/docs/module-doc/classXLine-members.html
index e31a65ea8..f6812f058 100644
--- a/docs/module-doc/classXLine-members.html
+++ b/docs/module-doc/classXLine-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#set_5Ftime">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#source_5B_32_35_36_5D">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classXLine.html b/docs/module-doc/classXLine.html
index 4d4260822..e031d7638 100644
--- a/docs/module-doc/classXLine.html
+++ b/docs/module-doc/classXLine.html
@@ -185,7 +185,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00053">53</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classZLine-members.html b/docs/module-doc/classZLine-members.html
index 0fc18f1ee..b2c982668 100644
--- a/docs/module-doc/classZLine-members.html
+++ b/docs/module-doc/classZLine-members.html
@@ -16,7 +16,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#set_5Ftime">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#source_5B_32_35_36_5D">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classZLine.html b/docs/module-doc/classZLine.html
index bdc481060..335760d10 100644
--- a/docs/module-doc/classZLine.html
+++ b/docs/module-doc/classZLine.html
@@ -92,7 +92,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00108">108</a> of f
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classchanrec-members.html b/docs/module-doc/classchanrec-members.html
index bcca4f16a..edb7982d7 100644
--- a/docs/module-doc/classchanrec-members.html
+++ b/docs/module-doc/classchanrec-members.html
@@ -34,7 +34,7 @@
<tr class="memlist"><td><a class="el" href="classchanrec.html#topicset">topicset</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classchanrec.html#_7Echanrec_28_29">~chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classchanrec.html b/docs/module-doc/classchanrec.html
index 97d321cf6..ec4daab2b 100644
--- a/docs/module-doc/classchanrec.html
+++ b/docs/module-doc/classchanrec.html
@@ -402,7 +402,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00187">187</a>
<p>
References <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00369">Server::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00188"></a>00188 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00374">Server::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00188"></a>00188 {
<a name="l00189"></a>00189 <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>;
<a name="l00190"></a>00190 }
</pre></div>
@@ -845,7 +845,7 @@ The channels name.
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00108">108</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00173">DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00173">DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>. </td>
</tr>
</table>
<a class="anchor" name="setby_5BNICKMAX_5D"></a><!-- doxytag: member="chanrec::setby" ref="setby_5BNICKMAX_5D" args="[NICKMAX]" --><p>
@@ -874,7 +874,7 @@ If this member is an empty string, no topic was ever set.
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00133">133</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>. </td>
</tr>
</table>
<a class="anchor" name="topic_5BMAXBUF_5D"></a><!-- doxytag: member="chanrec::topic" ref="topic_5BMAXBUF_5D" args="[MAXBUF]" --><p>
@@ -903,7 +903,7 @@ If this is an empty string, no channel topic is set.
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00122">122</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>. </td>
</tr>
</table>
<a class="anchor" name="topicset"></a><!-- doxytag: member="chanrec::topicset" ref="topicset" args="" --><p>
@@ -932,12 +932,12 @@ If no topic was ever set, this will be equal to <a class="el" href="classchanrec
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00129">129</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00074">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a><li><a class="el" href="channels_8cpp-source.html">channels.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classclassbase-members.html b/docs/module-doc/classclassbase-members.html
index a24bd7491..6ebcc98e8 100644
--- a/docs/module-doc/classclassbase-members.html
+++ b/docs/module-doc/classclassbase-members.html
@@ -9,7 +9,7 @@
<tr class="memlist"><td><a class="el" href="classclassbase.html#age">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#classbase_28_29">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classclassbase.html b/docs/module-doc/classclassbase.html
index 795db3524..ccef96079 100644
--- a/docs/module-doc/classclassbase.html
+++ b/docs/module-doc/classclassbase.html
@@ -150,7 +150,7 @@ Referenced by <a class="el" href="base_8h-source.html#l00040">classbase()</a>.
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classcommand__t-members.html b/docs/module-doc/classcommand__t-members.html
index fbdbbbb15..661039851 100644
--- a/docs/module-doc/classcommand__t-members.html
+++ b/docs/module-doc/classcommand__t-members.html
@@ -20,7 +20,7 @@
<tr class="memlist"><td><a class="el" href="classcommand__t.html#total_5Fbytes">total_bytes</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcommand__t.html#use_5Fcount">use_count</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classcommand__t.html b/docs/module-doc/classcommand__t.html
index 49f4c942a..1b665f081 100644
--- a/docs/module-doc/classcommand__t.html
+++ b/docs/module-doc/classcommand__t.html
@@ -242,7 +242,7 @@ Definition at line <a class="el" href="ctables_8h-source.html#l00043">43</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ctables_8h-source.html">ctables.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classconnection-members.html b/docs/module-doc/classconnection-members.html
index f52b9977f..6d4b23eee 100644
--- a/docs/module-doc/classconnection-members.html
+++ b/docs/module-doc/classconnection-members.html
@@ -28,7 +28,7 @@
<tr class="memlist"><td><a class="el" href="classExtensible.html#Shrink_28std_3A_3Astring_20key_29">Shrink</a>(std::string key)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classconnection.html#signon">signon</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html
index cdaa102c2..7fec9c414 100644
--- a/docs/module-doc/classconnection.html
+++ b/docs/module-doc/classconnection.html
@@ -258,7 +258,7 @@ File descriptor of the connection.
<p>
Definition at line <a class="el" href="connection_8h-source.html#l00042">42</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="connection_8h-source.html#l00100">connection()</a>, <a class="el" href="modules_8cpp-source.html#l00830">ConfigReader::DumpErrors()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, <a class="el" href="modules_8cpp-source.html#l00436">Server::SendTo()</a>, <a class="el" href="users_8cpp-source.html#l00036">userrec::userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00593">Server::UserToPseudo()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="connection_8h-source.html#l00100">connection()</a>, <a class="el" href="modules_8cpp-source.html#l00835">ConfigReader::DumpErrors()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, <a class="el" href="modules_8cpp-source.html#l00441">Server::SendTo()</a>, <a class="el" href="users_8cpp-source.html#l00036">userrec::userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00598">Server::UserToPseudo()</a>. </td>
</tr>
</table>
<a class="anchor" name="haspassed"></a><!-- doxytag: member="connection::haspassed" ref="haspassed" args="" --><p>
@@ -316,7 +316,7 @@ Not used if this is a serverrec
<p>
Definition at line <a class="el" href="connection_8h-source.html#l00046">46</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00089">userrec::GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, <a class="el" href="users_8cpp-source.html#l00036">userrec::userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00593">Server::UserToPseudo()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00089">userrec::GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, <a class="el" href="users_8cpp-source.html#l00036">userrec::userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00598">Server::UserToPseudo()</a>. </td>
</tr>
</table>
<a class="anchor" name="idle_5Flastmsg"></a><!-- doxytag: member="connection::idle_lastmsg" ref="idle_5Flastmsg" args="" --><p>
@@ -524,7 +524,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00036">userrec::userre
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classes.html b/docs/module-doc/classes.html
index 87df799cc..bf330f4a0 100644
--- a/docs/module-doc/classes.html
+++ b/docs/module-doc/classes.html
@@ -8,26 +8,26 @@
<h1>InspIRCd Class Index</h1><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_K">K</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Z">Z</a></div><p>
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><a name="letter_A"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classCullList.html">CullList</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
</td><td><a name="letter_M"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classAdmin.html">Admin</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classDNS.html">DNS</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">hash&lt; in_addr &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModeParameter.html">ModeParameter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structirc_1_1StrHashComp.html">StrHashComp</a> (<a class="el" href="namespaceirc.html">irc</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structdns__ip4list.html">dns_ip4list</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structnspace_1_1hash_3_01string_01_4.html">hash&lt; string &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModule.html">Module</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classBanItem.html">BanItem</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classHostItem.html">HostItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classucrec.html">ucrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classELine.html">ELine</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classAdmin.html">Admin</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_D"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">hash&lt; in_addr &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModeParameter.html">ModeParameter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structirc_1_1StrHashComp.html">StrHashComp</a> (<a class="el" href="namespaceirc.html">irc</a>)&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_B"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classDNS.html">DNS</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structnspace_1_1hash_3_01string_01_4.html">hash&lt; string &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModule.html">Module</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_U"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classBanItem.html">BanItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structdns__ip4list.html">dns_ip4list</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classHostItem.html">HostItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classucrec.html">ucrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a name="letter_I"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classModuleMessage.html">ModuleMessage</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classuserrec.html">userrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classEvent.html">Event</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structirc_1_1InAddr__HashComp.html">InAddr_HashComp</a> (<a class="el" href="namespaceirc.html">irc</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classELine.html">ELine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structirc_1_1InAddr__HashComp.html">InAddr_HashComp</a> (<a class="el" href="namespaceirc.html">irc</a>)&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
</td><td><a name="letter_V"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExemptItem.html">ExemptItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classQLine.html">QLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classstd_1_1char__traits.html">char_traits</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtensible.html">Extensible</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInspSocket.html">InspSocket</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classEvent.html">Event</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInspIRCd.html">InspIRCd</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classQLine.html">QLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classstd_1_1char__traits.html">char_traits</a> (<a class="el" href="namespacestd.html">std</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExemptItem.html">ExemptItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInspSocket.html">InspSocket</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_R"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;R&nbsp;&nbsp;</div></td></tr></table>
</td><td><a name="letter_W"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;W&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInvited.html">Invited</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRequest.html">Request</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classWhoWasUser.html">WhoWasUser</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classcommand__t.html">command_t</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtensible.html">Extensible</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInvited.html">Invited</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classRequest.html">Request</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classWhoWasUser.html">WhoWasUser</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classcommand__t.html">command_t</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
</td><td><a name="letter_X"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;X&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classConfigReader.html">ConfigReader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFileReader.html">FileReader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> (<a class="el" href="namespaceirc.html">irc</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classXLine.html">XLine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classConnectClass.html">ConnectClass</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a name="letter_K"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;K&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classConfigReader.html">ConfigReader</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_F"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> (<a class="el" href="namespaceirc.html">irc</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classXLine.html">XLine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classConnectClass.html">ConnectClass</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFileReader.html">FileReader</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_K"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;K&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="classServerConfig.html">ServerConfig</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_Z"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Z&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classconnection.html">connection</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classGLine.html">GLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classKLine.html">KLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classserverstats.html">serverstats</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classZLine.html">ZLine</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_K">K</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Z">Z</a></div><p>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+</td></tr><tr><td><a class="el" href="classconnection.html">connection</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_G"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classKLine.html">KLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classserverstats.html">serverstats</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classZLine.html">ZLine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classCullItem.html">CullItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classGLine.html">GLine</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_A">A</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_B">B</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_D">D</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_F">F</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_G">G</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_H">H</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_I">I</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_K">K</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_M">M</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Q">Q</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_R">R</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_U">U</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_V">V</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_W">W</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_X">X</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_Z">Z</a></div><p>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classserverstats-members.html b/docs/module-doc/classserverstats-members.html
index c214ec3a5..09fe9f5f3 100644
--- a/docs/module-doc/classserverstats-members.html
+++ b/docs/module-doc/classserverstats-members.html
@@ -17,7 +17,7 @@
<tr class="memlist"><td><a class="el" href="classserverstats.html#statsRefused">statsRefused</a></td><td><a class="el" href="classserverstats.html">serverstats</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classserverstats.html#statsSent">statsSent</a></td><td><a class="el" href="classserverstats.html">serverstats</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classserverstats.html#statsUnknown">statsUnknown</a></td><td><a class="el" href="classserverstats.html">serverstats</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classserverstats.html b/docs/module-doc/classserverstats.html
index 339a96961..676683293 100644
--- a/docs/module-doc/classserverstats.html
+++ b/docs/module-doc/classserverstats.html
@@ -352,7 +352,7 @@ Referenced by <a class="el" href="inspircd_8h-source.html#l00086">serverstats()<
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="inspircd_8h-source.html">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classstd_1_1char__traits.html b/docs/module-doc/classstd_1_1char__traits.html
index f89c32613..cf38e16f5 100644
--- a/docs/module-doc/classstd_1_1char__traits.html
+++ b/docs/module-doc/classstd_1_1char__traits.html
@@ -14,7 +14,7 @@
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="hashcomp_8h-source.html">hashcomp.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classucrec-members.html b/docs/module-doc/classucrec-members.html
index 7b2e09572..f1038cef0 100644
--- a/docs/module-doc/classucrec-members.html
+++ b/docs/module-doc/classucrec-members.html
@@ -13,7 +13,7 @@
<tr class="memlist"><td><a class="el" href="classucrec.html#ucrec_28_29">ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classucrec.html#_7Eucrec_28_29">~ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classucrec.html b/docs/module-doc/classucrec.html
index 96fce0cc8..cf4852d6d 100644
--- a/docs/module-doc/classucrec.html
+++ b/docs/module-doc/classucrec.html
@@ -167,7 +167,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()<
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:19 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classuserrec-members.html b/docs/module-doc/classuserrec-members.html
index 6779391fd..9dccd1622 100644
--- a/docs/module-doc/classuserrec-members.html
+++ b/docs/module-doc/classuserrec-members.html
@@ -70,7 +70,7 @@
<tr class="memlist"><td><a class="el" href="classuserrec.html#WriteError">WriteError</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classuserrec.html#_7Euserrec_28_29">~userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/classuserrec.html b/docs/module-doc/classuserrec.html
index dda1f1255..bd18e2d55 100644
--- a/docs/module-doc/classuserrec.html
+++ b/docs/module-doc/classuserrec.html
@@ -427,7 +427,7 @@ Definition at line <a class="el" href="users_8cpp-source.html#l00232">232</a> of
<p>
References <a class="el" href="users_8h-source.html#l00197">recvq</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00593">Server::UserToPseudo()</a>.<div class="fragment"><pre class="fragment"><a name="l00233"></a>00233 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00598">Server::UserToPseudo()</a>.<div class="fragment"><pre class="fragment"><a name="l00233"></a>00233 {
<a name="l00234"></a>00234 <a class="code" href="classuserrec.html#recvq">recvq</a> = <span class="stringliteral">""</span>;
<a name="l00235"></a>00235 }
</pre></div>
@@ -1119,7 +1119,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00036">userrec()</a>.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00149">149</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, and <a class="el" href="users_8cpp-source.html#l00036">userrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, and <a class="el" href="users_8cpp-source.html#l00036">userrec()</a>. </td>
</tr>
</table>
<a class="anchor" name="dhost_5B_31_36_30_5D"></a><!-- doxytag: member="userrec::dhost" ref="dhost_5B_31_36_30_5D" args="[160]" --><p>
@@ -1264,7 +1264,7 @@ Two characters are added to the user-defined limit to compensate for the tilde e
<p>
Definition at line <a class="el" href="users_8h-source.html#l00129">129</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00072">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00089">GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, <a class="el" href="users_8cpp-source.html#l00036">userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00593">Server::UserToPseudo()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00072">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00089">GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, <a class="el" href="users_8cpp-source.html#l00036">userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00598">Server::UserToPseudo()</a>. </td>
</tr>
</table>
<a class="anchor" name="invites"></a><!-- doxytag: member="userrec::invites" ref="invites" args="" --><p>
@@ -1380,7 +1380,7 @@ An invalid nickname indicates an unregistered connection prior to the NICK comma
<p>
Definition at line <a class="el" href="users_8h-source.html#l00124">124</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00830">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00072">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00089">GetFullRealHost()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, and <a class="el" href="users_8cpp-source.html#l00036">userrec()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00835">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00072">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00089">GetFullRealHost()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, and <a class="el" href="users_8cpp-source.html#l00036">userrec()</a>. </td>
</tr>
</table>
<a class="anchor" name="oper_5BNICKMAX_5D"></a><!-- doxytag: member="userrec::oper" ref="oper_5BNICKMAX_5D" args="[NICKMAX]" --><p>
@@ -1721,7 +1721,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00300">GetWriteError()
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a><li><a class="el" href="users_8cpp-source.html">users.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/commands_8h-source.html b/docs/module-doc/commands_8h-source.html
index e356b5056..463355e9f 100644
--- a/docs/module-doc/commands_8h-source.html
+++ b/docs/module-doc/commands_8h-source.html
@@ -97,7 +97,7 @@
<a name="l00094"></a>00094 <span class="keywordtype">void</span> <a class="code" href="commands_8h.html#do_5Fwhois_28userrec_20_2Auser_2C_20userrec_20_2Adest_2C_20unsigned_20long_20signon_2C_20unsigned_20long_20idle_2C_20char_20_2Anick_29">do_whois</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classuserrec.html">userrec</a>* dest,<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> signon, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> idle, <span class="keywordtype">char</span>* nick);
<a name="l00095"></a>00095
<a name="l00096"></a>00096 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/commands_8h.html b/docs/module-doc/commands_8h.html
index d29dad4f9..d34bebd33 100644
--- a/docs/module-doc/commands_8h.html
+++ b/docs/module-doc/commands_8h.html
@@ -233,7 +233,7 @@ Other useful functions.
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00685">Server::CalcDuration()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00690">Server::CalcDuration()</a>. </td>
</tr>
</table>
<a class="anchor" name="handle_5Fadmin_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="commands.h::handle_admin" ref="handle_5Fadmin_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29" args="(char **parameters, int pcnt, userrec *user)" --><p>
@@ -2460,10 +2460,10 @@ Functions for u:lined servers.
<p>
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00144">userrec::HasPermission()</a>, <a class="el" href="modules_8cpp-source.html#l00391">Server::IsUlined()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00144">userrec::HasPermission()</a>, <a class="el" href="modules_8cpp-source.html#l00396">Server::IsUlined()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:15 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:15 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/connection_8h-source.html b/docs/module-doc/connection_8h-source.html
index e4e28adff..be8560aa5 100644
--- a/docs/module-doc/connection_8h-source.html
+++ b/docs/module-doc/connection_8h-source.html
@@ -82,7 +82,7 @@
<a name="l00107"></a>00107 <span class="preprocessor">#endif</span>
<a name="l00108"></a>00108 <span class="preprocessor"></span>
<a name="l00109"></a>00109
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/connection_8h.html b/docs/module-doc/connection_8h.html
index bc368f1b1..d78e7e3ba 100644
--- a/docs/module-doc/connection_8h.html
+++ b/docs/module-doc/connection_8h.html
@@ -43,7 +43,7 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Please note: classes serverrec and userrec both inherit from class connection. <a href="classconnection.html#_details">More...</a><br></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:15 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/connection_8h__dep__incl.md5 b/docs/module-doc/connection_8h__dep__incl.md5
index f230951e3..107cf65bd 100644
--- a/docs/module-doc/connection_8h__dep__incl.md5
+++ b/docs/module-doc/connection_8h__dep__incl.md5
@@ -1 +1 @@
-48392e1e3cdad2c3fa929f7ffbab3e13 \ No newline at end of file
+59ee32ffe8ea5904c6be653a9ecfd51c \ No newline at end of file
diff --git a/docs/module-doc/ctables_8h-source.html b/docs/module-doc/ctables_8h-source.html
index e0a06f50f..d5c1630ad 100644
--- a/docs/module-doc/ctables_8h-source.html
+++ b/docs/module-doc/ctables_8h-source.html
@@ -44,7 +44,7 @@
<a name="l00051"></a>00051
<a name="l00052"></a>00052 <span class="preprocessor">#endif</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/ctables_8h.html b/docs/module-doc/ctables_8h.html
index 0c38e802d..8c924681f 100644
--- a/docs/module-doc/ctables_8h.html
+++ b/docs/module-doc/ctables_8h.html
@@ -35,7 +35,7 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A structure that defines a command. <a href="classcommand__t.html#_details">More...</a><br></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:16 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/cull__list_8h-source.html b/docs/module-doc/cull__list_8h-source.html
new file mode 100644
index 000000000..0edd66e92
--- /dev/null
+++ b/docs/module-doc/cull__list_8h-source.html
@@ -0,0 +1,67 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: cull_list.h Source File</title>
+<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.4-20050815 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<div class="nav">
+<a class="el" href="dir_000000.html">home</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">brain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">inspircd-cvs</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">inspircd</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000004.html">include</a></div>
+<h1>cull_list.h</h1><a href="cull__list_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* +------------------------------------+</span>
+<a name="l00002"></a>00002 <span class="comment"> * | Inspire Internet Relay Chat Daemon |</span>
+<a name="l00003"></a>00003 <span class="comment"> * +------------------------------------+</span>
+<a name="l00004"></a>00004 <span class="comment"> *</span>
+<a name="l00005"></a>00005 <span class="comment"> * Inspire is copyright (C) 2002-2005 ChatSpike-Dev.</span>
+<a name="l00006"></a>00006 <span class="comment"> * E-mail:</span>
+<a name="l00007"></a>00007 <span class="comment"> * &lt;brain@chatspike.net&gt;</span>
+<a name="l00008"></a>00008 <span class="comment"> * &lt;Craig@chatspike.net&gt;</span>
+<a name="l00009"></a>00009 <span class="comment"> *</span>
+<a name="l00010"></a>00010 <span class="comment"> * Written by Craig Edwards, Craig McLure, and others.</span>
+<a name="l00011"></a>00011 <span class="comment"> * This program is free but copyrighted software; see</span>
+<a name="l00012"></a>00012 <span class="comment"> * the file COPYING for details.</span>
+<a name="l00013"></a>00013 <span class="comment"> *</span>
+<a name="l00014"></a>00014 <span class="comment"> * ---------------------------------------------------</span>
+<a name="l00015"></a>00015 <span class="comment"> */</span>
+<a name="l00016"></a>00016
+<a name="l00017"></a>00017 <span class="preprocessor">#ifndef __CULLLIST_H__</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __CULLLIST_H__</span>
+<a name="l00019"></a>00019 <span class="preprocessor"></span>
+<a name="l00020"></a>00020 <span class="comment">// include the common header files</span>
+<a name="l00021"></a>00021
+<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;typeinfo&gt;</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;iostream&gt;</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;string&gt;</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;deque&gt;</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;sstream&gt;</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;vector&gt;</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
+<a name="l00030"></a>00030
+<a name="l00036"></a><a class="code" href="classCullItem.html">00036</a> <span class="keyword">class </span><a class="code" href="classCullItem.html">CullItem</a>
+<a name="l00037"></a>00037 {
+<a name="l00038"></a>00038 <span class="keyword">private</span>:
+<a name="l00042"></a><a class="code" href="classCullItem.html#user">00042</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classCullItem.html#user">user</a>;
+<a name="l00045"></a><a class="code" href="classCullItem.html#reason">00045</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classCullItem.html#reason">reason</a>;
+<a name="l00046"></a>00046 <span class="keyword">public</span>:
+<a name="l00053"></a>00053 <a class="code" href="classCullItem.html#CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29">CullItem</a>(<a class="code" href="classuserrec.html">userrec</a>* u, <a class="code" href="namespaceirc.html#string">std::string</a> r);
+<a name="l00056"></a>00056 <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classCullItem.html#GetUser_28_29">GetUser</a>();
+<a name="l00059"></a>00059 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classCullItem.html#GetReason_28_29">GetReason</a>();
+<a name="l00060"></a>00060 };
+<a name="l00061"></a>00061
+<a name="l00075"></a><a class="code" href="classCullList.html">00075</a> <span class="keyword">class </span><a class="code" href="classCullList.html">CullList</a>
+<a name="l00076"></a>00076 {
+<a name="l00077"></a>00077 <span class="keyword">private</span>:
+<a name="l00082"></a><a class="code" href="classCullList.html#list">00082</a> std::vector&lt;CullItem&gt; <a class="code" href="classCullList.html#list">list</a>;
+<a name="l00087"></a><a class="code" href="classCullList.html#exempt">00087</a> std::map&lt;userrec*,int&gt; <a class="code" href="classCullList.html#exempt">exempt</a>;
+<a name="l00088"></a>00088 <span class="keyword">public</span>:
+<a name="l00093"></a>00093 <a class="code" href="classCullList.html#CullList_28_29">CullList</a>();
+<a name="l00099"></a>00099 <span class="keywordtype">void</span> <a class="code" href="classCullList.html#AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">AddItem</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> reason);
+<a name="l00108"></a>00108 <span class="keywordtype">int</span> <a class="code" href="classCullList.html#Apply_28_29">Apply</a>();
+<a name="l00109"></a>00109 };
+<a name="l00110"></a>00110
+<a name="l00111"></a>00111 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/cull__list_8h.html b/docs/module-doc/cull__list_8h.html
new file mode 100644
index 000000000..3495b81d6
--- /dev/null
+++ b/docs/module-doc/cull__list_8h.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: cull_list.h File Reference</title>
+<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.4.4-20050815 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<div class="nav">
+<a class="el" href="dir_000000.html">home</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">brain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">inspircd-cvs</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">inspircd</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000004.html">include</a></div>
+<h1>cull_list.h File Reference</h1><code>#include &lt;typeinfo&gt;</code><br>
+<code>#include &lt;iostream&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
+<code>#include &lt;deque&gt;</code><br>
+<code>#include &lt;sstream&gt;</code><br>
+<code>#include &lt;vector&gt;</code><br>
+<code>#include &quot;<a class="el" href="users_8h-source.html">users.h</a>&quot;</code><br>
+<code>#include &quot;<a class="el" href="channels_8h-source.html">channels.h</a>&quot;</code><br>
+
+<p>
+Include dependency graph for cull_list.h:<p><center><img src="cull__list_8h__incl.gif" border="0" usemap="#cull_list.h_map" alt=""></center>
+<map name="cull_list.h_map">
+<area href="users_8h-source.html" shape="rect" coords="138,260,202,287" alt="">
+<area href="channels_8h-source.html" shape="rect" coords="262,210,347,236" alt="">
+<area href="connection_8h-source.html" shape="rect" coords="255,362,354,388" alt="">
+</map>
+
+<p>
+<a href="cull__list_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullItem.html">CullItem</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The CullItem class holds a user and their quitmessage, and is used internally by the <a class="el" href="classCullList.html">CullList</a> class to compile a list of users which are to be culled when a long operation (such as a netsplit) has completed. <a href="classCullItem.html#_details">More...</a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCullList.html">CullList</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. <a href="classCullList.html#_details">More...</a><br></td></tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/cull__list_8h__incl.gif b/docs/module-doc/cull__list_8h__incl.gif
new file mode 100644
index 000000000..bd450b9da
--- /dev/null
+++ b/docs/module-doc/cull__list_8h__incl.gif
Binary files differ
diff --git a/docs/module-doc/cull__list_8h__incl.map b/docs/module-doc/cull__list_8h__incl.map
new file mode 100644
index 000000000..1308df182
--- /dev/null
+++ b/docs/module-doc/cull__list_8h__incl.map
@@ -0,0 +1,4 @@
+base referer
+rect $users_8h-source.html 138,260 202,287
+rect $channels_8h-source.html 262,210 347,236
+rect $connection_8h-source.html 255,362 354,388
diff --git a/docs/module-doc/cull__list_8h__incl.md5 b/docs/module-doc/cull__list_8h__incl.md5
new file mode 100644
index 000000000..0d58df24d
--- /dev/null
+++ b/docs/module-doc/cull__list_8h__incl.md5
@@ -0,0 +1 @@
+eba432fe5650ee3ba1491a9f1a296ae1 \ No newline at end of file
diff --git a/docs/module-doc/dir_000000.html b/docs/module-doc/dir_000000.html
index 3297fb792..1d1d82589 100644
--- a/docs/module-doc/dir_000000.html
+++ b/docs/module-doc/dir_000000.html
@@ -20,7 +20,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000001.html">brain</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dir_000001.html b/docs/module-doc/dir_000001.html
index 54683974a..5a5ae1ff0 100644
--- a/docs/module-doc/dir_000001.html
+++ b/docs/module-doc/dir_000001.html
@@ -21,7 +21,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000002.html">inspircd-cvs</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:28 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dir_000002.html b/docs/module-doc/dir_000002.html
index 68847bb5e..9661f9726 100644
--- a/docs/module-doc/dir_000002.html
+++ b/docs/module-doc/dir_000002.html
@@ -21,7 +21,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000003.html">inspircd</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dir_000003.html b/docs/module-doc/dir_000003.html
index 6b733d943..bbc95ada8 100644
--- a/docs/module-doc/dir_000003.html
+++ b/docs/module-doc/dir_000003.html
@@ -26,7 +26,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000005.html">src</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dir_000004.html b/docs/module-doc/dir_000004.html
index e22bf124b..9f9dfde98 100644
--- a/docs/module-doc/dir_000004.html
+++ b/docs/module-doc/dir_000004.html
@@ -27,6 +27,8 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ctables_8h.html">ctables.h</a> <a href="ctables_8h-source.html">[code]</a></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cull__list_8h.html">cull_list.h</a> <a href="cull__list_8h-source.html">[code]</a></td></tr>
+
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dns_8h.html">dns.h</a> <a href="dns_8h-source.html">[code]</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html">globals.h</a> <a href="globals_8h-source.html">[code]</a></td></tr>
@@ -56,7 +58,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html">xline.h</a> <a href="xline_8h-source.html">[code]</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dir_000005.html b/docs/module-doc/dir_000005.html
index 8e30e0827..f5c01a6e1 100644
--- a/docs/module-doc/dir_000005.html
+++ b/docs/module-doc/dir_000005.html
@@ -31,7 +31,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html">users.cpp</a> <a href="users_8cpp-source.html">[code]</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dir_000005_000004.html b/docs/module-doc/dir_000005_000004.html
index b97941555..028cea65e 100644
--- a/docs/module-doc/dir_000005_000004.html
+++ b/docs/module-doc/dir_000005_000004.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">home</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">brain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">inspircd-cvs</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">inspircd</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000005.html">src</a></div>
-<h3>src &rarr; include Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in <a class="el" href="dir_000000.html">home</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">brain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">inspircd-cvs</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">inspircd</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000005.html">src</a></th><th class="dirtab">Includes file in <a class="el" href="dir_000000.html">home</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">brain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">inspircd-cvs</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">inspircd</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000004.html">include</a></th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="commands_8h.html">commands.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="ctables_8h.html">ctables.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="globals_8h.html">globals.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="inspircd__io_8h.html">inspircd_io.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="message_8h.html">message.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="mode_8h.html">mode.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="modules_8h.html">modules.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="typedefs_8h.html">typedefs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="users_8h.html">users.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="xline_8h.html">xline.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="commands_8h.html">commands.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="ctables_8h.html">ctables.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="globals_8h.html">globals.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="hashcomp_8h.html">hashcomp.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="inspircd__io_8h.html">inspircd_io.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="message_8h.html">message.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="mode_8h.html">mode.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="modules_8h.html">modules.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="socket_8h.html">socket.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="socketengine_8h.html">socketengine.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="typedefs_8h.html">typedefs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="users_8h.html">users.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="xline_8h.html">xline.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="inspircd__io_8h.html">inspircd_io.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="socket_8h.html">socket.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="socketengine_8h.html">socketengine.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socketengine_8cpp.html">socketengine.cpp</a></td><td class="dirtab"><a class="el" href="globals_8h.html">globals.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socketengine_8cpp.html">socketengine.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socketengine_8cpp.html">socketengine.cpp</a></td><td class="dirtab"><a class="el" href="socketengine_8h.html">socketengine.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="channels_8h.html">channels.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="commands_8h.html">commands.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="connection_8h.html">connection.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="users_8h.html">users.h</a></td></tr></table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<h3>src &rarr; include Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in <a class="el" href="dir_000000.html">home</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">brain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">inspircd-cvs</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">inspircd</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000005.html">src</a></th><th class="dirtab">Includes file in <a class="el" href="dir_000000.html">home</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000001.html">brain</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000002.html">inspircd-cvs</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000003.html">inspircd</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_000004.html">include</a></th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="commands_8h.html">commands.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="ctables_8h.html">ctables.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="globals_8h.html">globals.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="inspircd__io_8h.html">inspircd_io.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="message_8h.html">message.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="mode_8h.html">mode.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="modules_8h.html">modules.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="typedefs_8h.html">typedefs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="users_8h.html">users.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="channels_8cpp.html">channels.cpp</a></td><td class="dirtab"><a class="el" href="xline_8h.html">xline.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="commands_8h.html">commands.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="ctables_8h.html">ctables.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="globals_8h.html">globals.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="hashcomp_8h.html">hashcomp.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="inspircd__io_8h.html">inspircd_io.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="message_8h.html">message.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="mode_8h.html">mode.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="modules_8h.html">modules.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="socket_8h.html">socket.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="socketengine_8h.html">socketengine.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="typedefs_8h.html">typedefs.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="users_8h.html">users.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="modules_8cpp.html">modules.cpp</a></td><td class="dirtab"><a class="el" href="xline_8h.html">xline.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="inspircd__io_8h.html">inspircd_io.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="socket_8h.html">socket.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socket_8cpp.html">socket.cpp</a></td><td class="dirtab"><a class="el" href="socketengine_8h.html">socketengine.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socketengine_8cpp.html">socketengine.cpp</a></td><td class="dirtab"><a class="el" href="globals_8h.html">globals.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socketengine_8cpp.html">socketengine.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="socketengine_8cpp.html">socketengine.cpp</a></td><td class="dirtab"><a class="el" href="socketengine_8h.html">socketengine.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="channels_8h.html">channels.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="commands_8h.html">commands.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="connection_8h.html">connection.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="inspircd_8h.html">inspircd.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="users_8h.html">users.h</a></td></tr></table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dirs.html b/docs/module-doc/dirs.html
index 310630555..f4c283aef 100644
--- a/docs/module-doc/dirs.html
+++ b/docs/module-doc/dirs.html
@@ -21,7 +21,7 @@
</ul>
</ul>
</ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dns_8h-source.html b/docs/module-doc/dns_8h-source.html
index 0b07e2f90..76c546680 100644
--- a/docs/module-doc/dns_8h-source.html
+++ b/docs/module-doc/dns_8h-source.html
@@ -75,7 +75,7 @@
<a name="l00098"></a>00098 };
<a name="l00099"></a>00099
<a name="l00100"></a>00100 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/dns_8h.html b/docs/module-doc/dns_8h.html
index 2e4440242..e24387110 100644
--- a/docs/module-doc/dns_8h.html
+++ b/docs/module-doc/dns_8h.html
@@ -25,7 +25,7 @@ Include dependency graph for dns.h:<p><center><img src="dns_8h__incl.gif" border
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The DNS class allows fast nonblocking resolution of hostnames and ip addresses. <a href="classDNS.html#_details">More...</a><br></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:16 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/files.html b/docs/module-doc/files.html
index 39590f8aa..32fe81008 100644
--- a/docs/module-doc/files.html
+++ b/docs/module-doc/files.html
@@ -12,6 +12,7 @@
<tr><td class="indexkey"><a class="el" href="commands_8h.html">commands.h</a> <a href="commands_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="connection_8h.html">connection.h</a> <a href="connection_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="ctables_8h.html">ctables.h</a> <a href="ctables_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="cull__list_8h.html">cull_list.h</a> <a href="cull__list_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="dns_8h.html">dns.h</a> <a href="dns_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="globals_8h.html">globals.h</a> <a href="globals_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="hashcomp_8h.html">hashcomp.h</a> <a href="hashcomp_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@@ -31,7 +32,7 @@
<tr><td class="indexkey"><a class="el" href="users_8h.html">users.h</a> <a href="users_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xline_8h.html">xline.h</a> <a href="xline_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions.html b/docs/module-doc/functions.html
index a2435f459..63ec060ee 100644
--- a/docs/module-doc/functions.html
+++ b/docs/module-doc/functions.html
@@ -19,7 +19,8 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classServer.html#AddExtendedListMode_28char_20modechar_29">Server</a><li>AddExtendedMode()
: <a class="el" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">Server</a><li>AddFd()
: <a class="el" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">SocketEngine</a><li>AddGLine()
-: <a class="el" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddKLine()
+: <a class="el" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddItem()
+: <a class="el" href="classCullList.html#AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">CullList</a><li>AddKLine()
: <a class="el" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddQLine()
: <a class="el" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">Server</a><li>addr
: <a class="el" href="classInspSocket.html#addr">InspSocket</a><li>addrs
@@ -34,9 +35,10 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classServerConfig.html#AdminName_5BMAXBUF_5D">ServerConfig</a><li>AdminNick
: <a class="el" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">ServerConfig</a><li>age
: <a class="el" href="classclassbase.html#age">classbase</a><li>AllowHalfop
-: <a class="el" href="classServerConfig.html#AllowHalfop">ServerConfig</a><li>awaymsg
+: <a class="el" href="classServerConfig.html#AllowHalfop">ServerConfig</a><li>Apply()
+: <a class="el" href="classCullList.html#Apply_28_29">CullList</a><li>awaymsg
: <a class="el" href="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x62.html b/docs/module-doc/functions_0x62.html
index 98cd0d1eb..736160f32 100644
--- a/docs/module-doc/functions_0x62.html
+++ b/docs/module-doc/functions_0x62.html
@@ -22,7 +22,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classVersion.html#Build">Version</a><li>bytes_in
: <a class="el" href="classconnection.html#bytes_5Fin">connection</a><li>bytes_out
: <a class="el" href="classconnection.html#bytes_5Fout">connection</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x63.html b/docs/module-doc/functions_0x63.html
index 5aaa05f50..0d8524325 100644
--- a/docs/module-doc/functions_0x63.html
+++ b/docs/module-doc/functions_0x63.html
@@ -44,9 +44,11 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classconnection.html#connection_28_29">connection</a><li>CountUsers()
: <a class="el" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">Server</a><li>created
: <a class="el" href="classchanrec.html#created">chanrec</a><li>CreateModule()
-: <a class="el" href="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">ModuleFactory</a><li>custom_modes
+: <a class="el" href="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">ModuleFactory</a><li>CullItem()
+: <a class="el" href="classCullItem.html#CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29">CullItem</a><li>CullList()
+: <a class="el" href="classCullList.html#CullList_28_29">CullList</a><li>custom_modes
: <a class="el" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">chanrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x64.html b/docs/module-doc/functions_0x64.html
index 90af80165..0b78affb0 100644
--- a/docs/module-doc/functions_0x64.html
+++ b/docs/module-doc/functions_0x64.html
@@ -49,7 +49,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classServerConfig.html#DNSServer_5BMAXBUF_5D">ServerConfig</a><li>DumpErrors()
: <a class="el" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">ConfigReader</a><li>duration
: <a class="el" href="classXLine.html#duration">XLine</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x65.html b/docs/module-doc/functions_0x65.html
index 41ba8f632..b13a3179c 100644
--- a/docs/module-doc/functions_0x65.html
+++ b/docs/module-doc/functions_0x65.html
@@ -24,12 +24,13 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classInspIRCd.html#erase_5Fmodule_28int_20j_29">InspIRCd</a><li>error
: <a class="el" href="classConfigReader.html#error">ConfigReader</a><li>errorlog
: <a class="el" href="classConfigReader.html#errorlog">ConfigReader</a><li>Event()
-: <a class="el" href="classEvent.html#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29">Event</a><li>Exists()
+: <a class="el" href="classEvent.html#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29">Event</a><li>exempt
+: <a class="el" href="classCullList.html#exempt">CullList</a><li>Exists()
: <a class="el" href="classFileReader.html#Exists_28_29">FileReader</a><li>Extend()
: <a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extensible</a><li>Extension_Items
: <a class="el" href="classExtensible.html#Extension_5FItems">Extensible</a><li>ExtMode()
: <a class="el" href="classExtMode.html#ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29">ExtMode</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x66.html b/docs/module-doc/functions_0x66.html
index 05e498cca..6943c877f 100644
--- a/docs/module-doc/functions_0x66.html
+++ b/docs/module-doc/functions_0x66.html
@@ -30,7 +30,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classuserrec.html#FlushWriteBuf_28_29">userrec</a><li>ForwardLookup()
: <a class="el" href="classDNS.html#ForwardLookup_28std_3A_3Astring_20host_29">DNS</a><li>fullname
: <a class="el" href="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x67.html b/docs/module-doc/functions_0x67.html
index 529ab33d2..acc6bf592 100644
--- a/docs/module-doc/functions_0x67.html
+++ b/docs/module-doc/functions_0x67.html
@@ -32,19 +32,23 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classFileReader.html#GetLine_28int_20x_29">FileReader</a><li>GetModeParameter()
: <a class="el" href="classchanrec.html#GetModeParameter_28char_20mode_29">chanrec</a><li>GetName()
: <a class="el" href="classSocketEngine.html#GetName_28_29">SocketEngine</a><li>GetNetworkName()
-: <a class="el" href="classServer.html#GetNetworkName_28_29">Server</a><li>GetResult()
+: <a class="el" href="classServer.html#GetNetworkName_28_29">Server</a><li>GetReason()
+: <a class="el" href="classCullItem.html#GetReason_28_29">CullItem</a><li>GetResult()
: <a class="el" href="classDNS.html#GetResult_28_29">DNS</a><li>GetResultIP()
-: <a class="el" href="classDNS.html#GetResultIP_28_29">DNS</a><li>GetServerDescription()
+: <a class="el" href="classDNS.html#GetResultIP_28_29">DNS</a><li>GetRevision()
+: <a class="el" href="classInspIRCd.html#GetRevision_28_29">InspIRCd</a><li>GetServerDescription()
: <a class="el" href="classServer.html#GetServerDescription_28_29">Server</a><li>GetServerName()
: <a class="el" href="classServer.html#GetServerName_28_29">Server</a><li>GetSource()
: <a class="el" href="classEvent.html#GetSource_28_29">Event</a>, <a class="el" href="classRequest.html#GetSource_28_29">Request</a><li>GetState()
: <a class="el" href="classInspSocket.html#GetState_28_29">InspSocket</a><li>GetType()
-: <a class="el" href="classSocketEngine.html#GetType_28int_20fd_29">SocketEngine</a><li>GetUserCounter()
+: <a class="el" href="classSocketEngine.html#GetType_28int_20fd_29">SocketEngine</a><li>GetUser()
+: <a class="el" href="classCullItem.html#GetUser_28_29">CullItem</a><li>GetUserCounter()
: <a class="el" href="classchanrec.html#GetUserCounter_28_29">chanrec</a><li>GetUsers()
: <a class="el" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">Server</a>, <a class="el" href="classchanrec.html#GetUsers_28_29">chanrec</a><li>GetVersion()
-: <a class="el" href="classModule.html#GetVersion_28_29">Module</a><li>GetWriteError()
+: <a class="el" href="classServer.html#GetVersion_28_29">Server</a>, <a class="el" href="classModule.html#GetVersion_28_29">Module</a><li>GetVersionString()
+: <a class="el" href="classInspIRCd.html#GetVersionString_28_29">InspIRCd</a><li>GetWriteError()
: <a class="el" href="classuserrec.html#GetWriteError_28_29">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x68.html b/docs/module-doc/functions_0x68.html
index 4131e6476..3250e4c58 100644
--- a/docs/module-doc/functions_0x68.html
+++ b/docs/module-doc/functions_0x68.html
@@ -20,7 +20,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classWhoWasUser.html#host_5B_31_36_30_5D">WhoWasUser</a>, <a class="el" href="classConnectClass.html#host_5BMAXBUF_5D">ConnectClass</a>, <a class="el" href="classInspSocket.html#host">InspSocket</a>, <a class="el" href="classconnection.html#host_5B_31_36_30_5D">connection</a><li>HostItem()
: <a class="el" href="classHostItem.html#HostItem_28_29">HostItem</a><li>hostmask
: <a class="el" href="classELine.html#hostmask_5B_32_30_30_5D">ELine</a>, <a class="el" href="classGLine.html#hostmask_5B_32_30_30_5D">GLine</a>, <a class="el" href="classKLine.html#hostmask_5B_32_30_30_5D">KLine</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x69.html b/docs/module-doc/functions_0x69.html
index 8d8478e5a..00e894dc9 100644
--- a/docs/module-doc/functions_0x69.html
+++ b/docs/module-doc/functions_0x69.html
@@ -23,9 +23,9 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classchanrec.html#internal_5Fuserlist">chanrec</a><li>Invert()
: <a class="el" href="classBoolSet.html#Invert_28int_20number_29">BoolSet</a><li>invites
: <a class="el" href="classuserrec.html#invites">userrec</a><li>InviteTo()
-: <a class="el" href="classuserrec.html#InviteTo_28char_20_2Achannel_29">userrec</a><li>ip
-: <a class="el" href="structdns__ip4list.html#ip">dns_ip4list</a>, <a class="el" href="classconnection.html#ip_5B_31_36_5D">connection</a><li>IP
-: <a class="el" href="classInspSocket.html#IP">InspSocket</a><li>ipaddr
+: <a class="el" href="classuserrec.html#InviteTo_28char_20_2Achannel_29">userrec</a><li>IP
+: <a class="el" href="classInspSocket.html#IP">InspSocket</a><li>ip
+: <a class="el" href="structdns__ip4list.html#ip">dns_ip4list</a>, <a class="el" href="classconnection.html#ip_5B_31_36_5D">connection</a><li>ipaddr
: <a class="el" href="classZLine.html#ipaddr_5B_34_30_5D">ZLine</a><li>is_global
: <a class="el" href="classQLine.html#is_5Fglobal">QLine</a>, <a class="el" href="classZLine.html#is_5Fglobal">ZLine</a><li>IsCustomModeSet()
: <a class="el" href="classchanrec.html#IsCustomModeSet_28char_20mode_29">chanrec</a><li>IsInvited()
@@ -35,7 +35,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">Server</a><li>IsValidMask()
: <a class="el" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">Server</a><li>IsValidModuleCommand()
: <a class="el" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x6a.html b/docs/module-doc/functions_0x6a.html
index a3db95b12..9ab823918 100644
--- a/docs/module-doc/functions_0x6a.html
+++ b/docs/module-doc/functions_0x6a.html
@@ -14,7 +14,7 @@ Here is a list of all class members with links to the classes they belong to:
<h3><a class="anchor" name="index_j">- j -</a></h3><ul>
<li>JoinUserToChannel()
: <a class="el" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x6b.html b/docs/module-doc/functions_0x6b.html
index 66cbdfb3f..b31f235c5 100644
--- a/docs/module-doc/functions_0x6b.html
+++ b/docs/module-doc/functions_0x6b.html
@@ -15,7 +15,7 @@ Here is a list of all class members with links to the classes they belong to:
<li>ke_list
: <a class="el" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">SocketEngine</a><li>key
: <a class="el" href="classchanrec.html#key_5B_33_32_5D">chanrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x6c.html b/docs/module-doc/functions_0x6c.html
index bff22b689..f61606efc 100644
--- a/docs/module-doc/functions_0x6c.html
+++ b/docs/module-doc/functions_0x6c.html
@@ -17,7 +17,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classInspSocket.html#length">InspSocket</a><li>limit
: <a class="el" href="classchanrec.html#limit">chanrec</a><li>lines_in
: <a class="el" href="classuserrec.html#lines_5Fin">userrec</a><li>list
-: <a class="el" href="classExtMode.html#list">ExtMode</a><li>LoadConf()
+: <a class="el" href="classExtMode.html#list">ExtMode</a>, <a class="el" href="classCullList.html#list">CullList</a><li>LoadConf()
: <a class="el" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">ServerConfig</a><li>LoadFile()
: <a class="el" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">FileReader</a><li>LoadModule()
: <a class="el" href="classInspIRCd.html#LoadModule_28const_20char_20_2Afilename_29">InspIRCd</a><li>localbuf
@@ -26,7 +26,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classServerConfig.html#log_5Ffile">ServerConfig</a><li>LogLevel
: <a class="el" href="classServerConfig.html#LogLevel">ServerConfig</a><li>lt()
: <a class="el" href="structirc_1_1irc__char__traits.html#lt_28char_20c_31st_2C_20char_20c_32nd_29">irc::irc_char_traits</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x6d.html b/docs/module-doc/functions_0x6d.html
index 2541400f3..44a413882 100644
--- a/docs/module-doc/functions_0x6d.html
+++ b/docs/module-doc/functions_0x6d.html
@@ -20,17 +20,19 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classcommand__t.html#min_5Fparams">command_t</a><li>Minor
: <a class="el" href="classVersion.html#Minor">Version</a><li>mode
: <a class="el" href="classModeParameter.html#mode">ModeParameter</a><li>modechar
-: <a class="el" href="classExtMode.html#modechar">ExtMode</a><li>modes
+: <a class="el" href="classExtMode.html#modechar">ExtMode</a><li>MODERR
+: <a class="el" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">InspIRCd</a><li>modes
: <a class="el" href="classuserrec.html#modes_5B_35_34_5D">userrec</a><li>ModPath
: <a class="el" href="classServerConfig.html#ModPath_5B_31_30_32_34_5D">ServerConfig</a><li>Module()
: <a class="el" href="classModule.html#Module_28Server_20_2AMe_29">Module</a><li>module_names
-: <a class="el" href="classServerConfig.html#module_5Fnames">ServerConfig</a><li>ModuleFactory()
+: <a class="el" href="classServerConfig.html#module_5Fnames">ServerConfig</a><li>ModuleError()
+: <a class="el" href="classInspIRCd.html#ModuleError_28_29">InspIRCd</a><li>ModuleFactory()
: <a class="el" href="classModuleFactory.html#ModuleFactory_28_29">ModuleFactory</a><li>motd
: <a class="el" href="classServerConfig.html#motd_5BMAXBUF_5D">ServerConfig</a><li>MOTD
: <a class="el" href="classServerConfig.html#MOTD">ServerConfig</a><li>MyExecutable
: <a class="el" href="classServerConfig.html#MyExecutable_5B_31_30_32_34_5D">ServerConfig</a><li>myfd
: <a class="el" href="classDNS.html#myfd">DNS</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x6e.html b/docs/module-doc/functions_0x6e.html
index e0ecf3df2..397d656be 100644
--- a/docs/module-doc/functions_0x6e.html
+++ b/docs/module-doc/functions_0x6e.html
@@ -25,7 +25,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classAdmin.html#Nick">Admin</a><li>nofork
: <a class="el" href="classServerConfig.html#nofork">ServerConfig</a><li>nping
: <a class="el" href="classconnection.html#nping">connection</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x6f.html b/docs/module-doc/functions_0x6f.html
index 7593ac7e4..f012bb45a 100644
--- a/docs/module-doc/functions_0x6f.html
+++ b/docs/module-doc/functions_0x6f.html
@@ -101,7 +101,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classBoolSet.html#operator_3D_28BoolSet_20other_29">BoolSet</a><li>operator==()
: <a class="el" href="classBoolSet.html#operator_3D_3D_28BoolSet_20other_29">BoolSet</a><li>operator|()
: <a class="el" href="classBoolSet.html#operator_7C_28BoolSet_20other_29">BoolSet</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x70.html b/docs/module-doc/functions_0x70.html
index ae7bf859b..5d6613503 100644
--- a/docs/module-doc/functions_0x70.html
+++ b/docs/module-doc/functions_0x70.html
@@ -29,7 +29,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classModule.html#ProtoSendMetaData_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">Module</a><li>ProtoSendMode()
: <a class="el" href="classModule.html#ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29">Module</a><li>PseudoToUser()
: <a class="el" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x71.html b/docs/module-doc/functions_0x71.html
index 786acc5fd..7b4365cb6 100644
--- a/docs/module-doc/functions_0x71.html
+++ b/docs/module-doc/functions_0x71.html
@@ -14,7 +14,7 @@ Here is a list of all class members with links to the classes they belong to:
<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
<li>QuitUser()
: <a class="el" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x72.html b/docs/module-doc/functions_0x72.html
index ffa8e9f5e..e89daa627 100644
--- a/docs/module-doc/functions_0x72.html
+++ b/docs/module-doc/functions_0x72.html
@@ -20,7 +20,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ConfigReader</a><li>ReadInteger()
: <a class="el" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">ConfigReader</a><li>ReadValue()
: <a class="el" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ConfigReader</a><li>reason
-: <a class="el" href="classXLine.html#reason_5BMAXBUF_5D">XLine</a><li>recvq
+: <a class="el" href="classXLine.html#reason_5BMAXBUF_5D">XLine</a>, <a class="el" href="classCullItem.html#reason">CullItem</a><li>recvq
: <a class="el" href="classuserrec.html#recvq">userrec</a><li>recvqmax
: <a class="el" href="classuserrec.html#recvqmax">userrec</a>, <a class="el" href="classConnectClass.html#recvqmax">ConnectClass</a><li>registered
: <a class="el" href="classconnection.html#registered">connection</a><li>registration_timeout
@@ -36,7 +36,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classServerConfig.html#rules_5BMAXBUF_5D">ServerConfig</a><li>RULES
: <a class="el" href="classServerConfig.html#RULES">ServerConfig</a><li>Run()
: <a class="el" href="classInspIRCd.html#Run_28_29">InspIRCd</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x73.html b/docs/module-doc/functions_0x73.html
index 555686707..12dbd6c49 100644
--- a/docs/module-doc/functions_0x73.html
+++ b/docs/module-doc/functions_0x73.html
@@ -58,7 +58,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classserverstats.html#statsRefused">serverstats</a><li>statsSent
: <a class="el" href="classserverstats.html#statsSent">serverstats</a><li>statsUnknown
: <a class="el" href="classserverstats.html#statsUnknown">serverstats</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x74.html b/docs/module-doc/functions_0x74.html
index 1c56235de..79d5d82a7 100644
--- a/docs/module-doc/functions_0x74.html
+++ b/docs/module-doc/functions_0x74.html
@@ -14,16 +14,16 @@ Here is a list of all class members with links to the classes they belong to:
<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
<li>t
: <a class="el" href="classDNS.html#t">DNS</a><li>threshold
-: <a class="el" href="classuserrec.html#threshold">userrec</a>, <a class="el" href="classConnectClass.html#threshold">ConnectClass</a><li>timeout
-: <a class="el" href="classuserrec.html#timeout">userrec</a>, <a class="el" href="classInspSocket.html#timeout">InspSocket</a><li>Timeout()
-: <a class="el" href="classInspSocket.html#Timeout_28time_5Ft_20current_29">InspSocket</a><li>timeout_end
+: <a class="el" href="classuserrec.html#threshold">userrec</a>, <a class="el" href="classConnectClass.html#threshold">ConnectClass</a><li>Timeout()
+: <a class="el" href="classInspSocket.html#Timeout_28time_5Ft_20current_29">InspSocket</a><li>timeout
+: <a class="el" href="classuserrec.html#timeout">userrec</a>, <a class="el" href="classInspSocket.html#timeout">InspSocket</a><li>timeout_end
: <a class="el" href="classInspSocket.html#timeout_5Fend">InspSocket</a><li>topic
: <a class="el" href="classchanrec.html#topic_5BMAXBUF_5D">chanrec</a><li>topicset
: <a class="el" href="classchanrec.html#topicset">chanrec</a><li>total_bytes
: <a class="el" href="classcommand__t.html#total_5Fbytes">command_t</a><li>ts
: <a class="el" href="classSocketEngine.html#ts">SocketEngine</a><li>type
: <a class="el" href="classConnectClass.html#type">ConnectClass</a>, <a class="el" href="classExtMode.html#type">ExtMode</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x75.html b/docs/module-doc/functions_0x75.html
index 36b85dad2..2867f70ee 100644
--- a/docs/module-doc/functions_0x75.html
+++ b/docs/module-doc/functions_0x75.html
@@ -18,10 +18,11 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classServerConfig.html#unlimitcore">ServerConfig</a><li>UnloadModule()
: <a class="el" href="classInspIRCd.html#UnloadModule_28const_20char_20_2Afilename_29">InspIRCd</a><li>Unset()
: <a class="el" href="classBoolSet.html#Unset_28int_20number_29">BoolSet</a><li>use_count
-: <a class="el" href="classcommand__t.html#use_5Fcount">command_t</a><li>userrec()
+: <a class="el" href="classcommand__t.html#use_5Fcount">command_t</a><li>user
+: <a class="el" href="classCullItem.html#user">CullItem</a><li>userrec()
: <a class="el" href="classuserrec.html#userrec_28_29">userrec</a><li>UserToPseudo()
: <a class="el" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x76.html b/docs/module-doc/functions_0x76.html
index fd9ee7da5..2bb6274dc 100644
--- a/docs/module-doc/functions_0x76.html
+++ b/docs/module-doc/functions_0x76.html
@@ -15,7 +15,7 @@ Here is a list of all class members with links to the classes they belong to:
<li>Verify()
: <a class="el" href="classConfigReader.html#Verify_28_29">ConfigReader</a><li>Version()
: <a class="el" href="classVersion.html#Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29">Version</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x77.html b/docs/module-doc/functions_0x77.html
index a306d63b6..3a959fe84 100644
--- a/docs/module-doc/functions_0x77.html
+++ b/docs/module-doc/functions_0x77.html
@@ -16,7 +16,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classSocketEngine.html#Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29">SocketEngine</a><li>Write()
: <a class="el" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">InspSocket</a><li>WriteError
: <a class="el" href="classuserrec.html#WriteError">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_0x7e.html b/docs/module-doc/functions_0x7e.html
index ab2abb6ab..1845daa86 100644
--- a/docs/module-doc/functions_0x7e.html
+++ b/docs/module-doc/functions_0x7e.html
@@ -27,7 +27,7 @@ Here is a list of all class members with links to the classes they belong to:
: <a class="el" href="classSocketEngine.html#_7ESocketEngine_28_29">SocketEngine</a><li>~ucrec()
: <a class="el" href="classucrec.html#_7Eucrec_28_29">ucrec</a><li>~userrec()
: <a class="el" href="classuserrec.html#_7Euserrec_28_29">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func.html b/docs/module-doc/functions_func.html
index 634c3966a..f9c400a64 100644
--- a/docs/module-doc/functions_func.html
+++ b/docs/module-doc/functions_func.html
@@ -19,15 +19,17 @@
: <a class="el" href="classServer.html#AddExtendedListMode_28char_20modechar_29">Server</a><li>AddExtendedMode()
: <a class="el" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">Server</a><li>AddFd()
: <a class="el" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">SocketEngine</a><li>AddGLine()
-: <a class="el" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddKLine()
+: <a class="el" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddItem()
+: <a class="el" href="classCullList.html#AddItem_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">CullList</a><li>AddKLine()
: <a class="el" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddQLine()
: <a class="el" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">Server</a><li>AddSocket()
: <a class="el" href="classServer.html#AddSocket_28InspSocket_20_2Asock_29">Server</a><li>AddUser()
: <a class="el" href="classchanrec.html#AddUser_28char_20_2Acastuser_29">chanrec</a><li>AddWriteBuf()
: <a class="el" href="classuserrec.html#AddWriteBuf_28std_3A_3Astring_20data_29">userrec</a><li>AddZLine()
: <a class="el" href="classServer.html#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">Server</a><li>Admin()
-: <a class="el" href="classAdmin.html#Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29">Admin</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+: <a class="el" href="classAdmin.html#Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29">Admin</a><li>Apply()
+: <a class="el" href="classCullList.html#Apply_28_29">CullList</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x62.html b/docs/module-doc/functions_func_0x62.html
index 9e6af1a24..4cc924223 100644
--- a/docs/module-doc/functions_func_0x62.html
+++ b/docs/module-doc/functions_func_0x62.html
@@ -15,7 +15,7 @@
<li>BoolSet()
: <a class="el" href="classBoolSet.html#BoolSet_28char_20bitmask_29">BoolSet</a><li>BufferIsReady()
: <a class="el" href="classuserrec.html#BufferIsReady_28_29">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x63.html b/docs/module-doc/functions_func_0x63.html
index 21a9cd1c5..dafc2bb24 100644
--- a/docs/module-doc/functions_func_0x63.html
+++ b/docs/module-doc/functions_func_0x63.html
@@ -34,8 +34,10 @@
: <a class="el" href="classConnectClass.html#ConnectClass_28_29">ConnectClass</a><li>connection()
: <a class="el" href="classconnection.html#connection_28_29">connection</a><li>CountUsers()
: <a class="el" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">Server</a><li>CreateModule()
-: <a class="el" href="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">ModuleFactory</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+: <a class="el" href="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">ModuleFactory</a><li>CullItem()
+: <a class="el" href="classCullItem.html#CullItem_28userrec_20_2Au_2C_20std_3A_3Astring_20r_29">CullItem</a><li>CullList()
+: <a class="el" href="classCullList.html#CullList_28_29">CullList</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x64.html b/docs/module-doc/functions_func_0x64.html
index a71c48fe8..354a939f7 100644
--- a/docs/module-doc/functions_func_0x64.html
+++ b/docs/module-doc/functions_func_0x64.html
@@ -37,7 +37,7 @@
: <a class="el" href="classDNS.html#dns_5Fntoa_34_5Fr_28const_20in_5Faddr_20_2Aconst_20ip_29">DNS</a><li>dns_ntoa4_s()
: <a class="el" href="classDNS.html#dns_5Fntoa_34_5Fs_28const_20in_5Faddr_20_2Aconst_20ip_2C_20char_20_2Aconst_20result_29">DNS</a><li>DumpErrors()
: <a class="el" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">ConfigReader</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x65.html b/docs/module-doc/functions_func_0x65.html
index 7282c3cf6..6d3510385 100644
--- a/docs/module-doc/functions_func_0x65.html
+++ b/docs/module-doc/functions_func_0x65.html
@@ -24,7 +24,7 @@
: <a class="el" href="classFileReader.html#Exists_28_29">FileReader</a><li>Extend()
: <a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extensible</a><li>ExtMode()
: <a class="el" href="classExtMode.html#ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29">ExtMode</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x66.html b/docs/module-doc/functions_func_0x66.html
index 7bcf2443f..fc943467c 100644
--- a/docs/module-doc/functions_func_0x66.html
+++ b/docs/module-doc/functions_func_0x66.html
@@ -23,7 +23,7 @@
: <a class="el" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">Server</a><li>FlushWriteBuf()
: <a class="el" href="classuserrec.html#FlushWriteBuf_28_29">userrec</a><li>ForwardLookup()
: <a class="el" href="classDNS.html#ForwardLookup_28std_3A_3Astring_20host_29">DNS</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x67.html b/docs/module-doc/functions_func_0x67.html
index 8fb533c89..f9d8ee6a4 100644
--- a/docs/module-doc/functions_func_0x67.html
+++ b/docs/module-doc/functions_func_0x67.html
@@ -32,19 +32,23 @@
: <a class="el" href="classFileReader.html#GetLine_28int_20x_29">FileReader</a><li>GetModeParameter()
: <a class="el" href="classchanrec.html#GetModeParameter_28char_20mode_29">chanrec</a><li>GetName()
: <a class="el" href="classSocketEngine.html#GetName_28_29">SocketEngine</a><li>GetNetworkName()
-: <a class="el" href="classServer.html#GetNetworkName_28_29">Server</a><li>GetResult()
+: <a class="el" href="classServer.html#GetNetworkName_28_29">Server</a><li>GetReason()
+: <a class="el" href="classCullItem.html#GetReason_28_29">CullItem</a><li>GetResult()
: <a class="el" href="classDNS.html#GetResult_28_29">DNS</a><li>GetResultIP()
-: <a class="el" href="classDNS.html#GetResultIP_28_29">DNS</a><li>GetServerDescription()
+: <a class="el" href="classDNS.html#GetResultIP_28_29">DNS</a><li>GetRevision()
+: <a class="el" href="classInspIRCd.html#GetRevision_28_29">InspIRCd</a><li>GetServerDescription()
: <a class="el" href="classServer.html#GetServerDescription_28_29">Server</a><li>GetServerName()
: <a class="el" href="classServer.html#GetServerName_28_29">Server</a><li>GetSource()
: <a class="el" href="classEvent.html#GetSource_28_29">Event</a>, <a class="el" href="classRequest.html#GetSource_28_29">Request</a><li>GetState()
: <a class="el" href="classInspSocket.html#GetState_28_29">InspSocket</a><li>GetType()
-: <a class="el" href="classSocketEngine.html#GetType_28int_20fd_29">SocketEngine</a><li>GetUserCounter()
+: <a class="el" href="classSocketEngine.html#GetType_28int_20fd_29">SocketEngine</a><li>GetUser()
+: <a class="el" href="classCullItem.html#GetUser_28_29">CullItem</a><li>GetUserCounter()
: <a class="el" href="classchanrec.html#GetUserCounter_28_29">chanrec</a><li>GetUsers()
: <a class="el" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">Server</a>, <a class="el" href="classchanrec.html#GetUsers_28_29">chanrec</a><li>GetVersion()
-: <a class="el" href="classModule.html#GetVersion_28_29">Module</a><li>GetWriteError()
+: <a class="el" href="classServer.html#GetVersion_28_29">Server</a>, <a class="el" href="classModule.html#GetVersion_28_29">Module</a><li>GetVersionString()
+: <a class="el" href="classInspIRCd.html#GetVersionString_28_29">InspIRCd</a><li>GetWriteError()
: <a class="el" href="classuserrec.html#GetWriteError_28_29">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x68.html b/docs/module-doc/functions_func_0x68.html
index 6f1cc82eb..d1c262528 100644
--- a/docs/module-doc/functions_func_0x68.html
+++ b/docs/module-doc/functions_func_0x68.html
@@ -16,7 +16,7 @@
: <a class="el" href="classuserrec.html#HasPermission_28char_20_2Acommand_29">userrec</a><li>HasResult()
: <a class="el" href="classDNS.html#HasResult_28int_20fd_29">DNS</a><li>HostItem()
: <a class="el" href="classHostItem.html#HostItem_28_29">HostItem</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x69.html b/docs/module-doc/functions_func_0x69.html
index 2b257cb7e..26bd00cd0 100644
--- a/docs/module-doc/functions_func_0x69.html
+++ b/docs/module-doc/functions_func_0x69.html
@@ -24,7 +24,7 @@
: <a class="el" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">Server</a><li>IsValidMask()
: <a class="el" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">Server</a><li>IsValidModuleCommand()
: <a class="el" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x6a.html b/docs/module-doc/functions_func_0x6a.html
index 151661d31..a7819edbf 100644
--- a/docs/module-doc/functions_func_0x6a.html
+++ b/docs/module-doc/functions_func_0x6a.html
@@ -14,7 +14,7 @@
<h3><a class="anchor" name="index_j">- j -</a></h3><ul>
<li>JoinUserToChannel()
: <a class="el" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x6c.html b/docs/module-doc/functions_func_0x6c.html
index d56a1dda5..972a68d09 100644
--- a/docs/module-doc/functions_func_0x6c.html
+++ b/docs/module-doc/functions_func_0x6c.html
@@ -18,7 +18,7 @@
: <a class="el" href="classInspIRCd.html#LoadModule_28const_20char_20_2Afilename_29">InspIRCd</a><li>Log()
: <a class="el" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Server</a><li>lt()
: <a class="el" href="structirc_1_1irc__char__traits.html#lt_28char_20c_31st_2C_20char_20c_32nd_29">irc::irc_char_traits</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x6d.html b/docs/module-doc/functions_func_0x6d.html
index 08e1c2bf5..423e52154 100644
--- a/docs/module-doc/functions_func_0x6d.html
+++ b/docs/module-doc/functions_func_0x6d.html
@@ -14,9 +14,10 @@
<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
<li>MatchText()
: <a class="el" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">Server</a><li>Module()
-: <a class="el" href="classModule.html#Module_28Server_20_2AMe_29">Module</a><li>ModuleFactory()
+: <a class="el" href="classModule.html#Module_28Server_20_2AMe_29">Module</a><li>ModuleError()
+: <a class="el" href="classInspIRCd.html#ModuleError_28_29">InspIRCd</a><li>ModuleFactory()
: <a class="el" href="classModuleFactory.html#ModuleFactory_28_29">ModuleFactory</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x6e.html b/docs/module-doc/functions_func_0x6e.html
index 97d22b0b7..976019c1b 100644
--- a/docs/module-doc/functions_func_0x6e.html
+++ b/docs/module-doc/functions_func_0x6e.html
@@ -14,7 +14,7 @@
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
<li>ne()
: <a class="el" href="structirc_1_1irc__char__traits.html#ne_28char_20c_31st_2C_20char_20c_32nd_29">irc::irc_char_traits</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x6f.html b/docs/module-doc/functions_func_0x6f.html
index 1427bdd71..4881460f4 100644
--- a/docs/module-doc/functions_func_0x6f.html
+++ b/docs/module-doc/functions_func_0x6f.html
@@ -100,7 +100,7 @@
: <a class="el" href="classBoolSet.html#operator_3D_28BoolSet_20other_29">BoolSet</a><li>operator==()
: <a class="el" href="classBoolSet.html#operator_3D_3D_28BoolSet_20other_29">BoolSet</a><li>operator|()
: <a class="el" href="classBoolSet.html#operator_7C_28BoolSet_20other_29">BoolSet</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x70.html b/docs/module-doc/functions_func_0x70.html
index 73ea2e205..f641d4978 100644
--- a/docs/module-doc/functions_func_0x70.html
+++ b/docs/module-doc/functions_func_0x70.html
@@ -18,7 +18,7 @@
: <a class="el" href="classModule.html#ProtoSendMetaData_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">Module</a><li>ProtoSendMode()
: <a class="el" href="classModule.html#ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29">Module</a><li>PseudoToUser()
: <a class="el" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x71.html b/docs/module-doc/functions_func_0x71.html
index 588486972..611969743 100644
--- a/docs/module-doc/functions_func_0x71.html
+++ b/docs/module-doc/functions_func_0x71.html
@@ -14,7 +14,7 @@
<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
<li>QuitUser()
: <a class="el" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x72.html b/docs/module-doc/functions_func_0x72.html
index 4848fb78e..2ba0aa884 100644
--- a/docs/module-doc/functions_func_0x72.html
+++ b/docs/module-doc/functions_func_0x72.html
@@ -24,7 +24,7 @@
: <a class="el" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request</a><li>ReverseLookup()
: <a class="el" href="classDNS.html#ReverseLookup_28std_3A_3Astring_20ip_29">DNS</a><li>Run()
: <a class="el" href="classInspIRCd.html#Run_28_29">InspIRCd</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x73.html b/docs/module-doc/functions_func_0x73.html
index ec0102ccc..09cac519e 100644
--- a/docs/module-doc/functions_func_0x73.html
+++ b/docs/module-doc/functions_func_0x73.html
@@ -35,7 +35,7 @@
: <a class="el" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">userrec</a><li>Shrink()
: <a class="el" href="classExtensible.html#Shrink_28std_3A_3Astring_20key_29">Extensible</a><li>SocketEngine()
: <a class="el" href="classSocketEngine.html#SocketEngine_28_29">SocketEngine</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x74.html b/docs/module-doc/functions_func_0x74.html
index 57a8aa985..141a71d81 100644
--- a/docs/module-doc/functions_func_0x74.html
+++ b/docs/module-doc/functions_func_0x74.html
@@ -14,7 +14,7 @@
<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
<li>Timeout()
: <a class="el" href="classInspSocket.html#Timeout_28time_5Ft_20current_29">InspSocket</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x75.html b/docs/module-doc/functions_func_0x75.html
index 95ecf9741..20c0bba3c 100644
--- a/docs/module-doc/functions_func_0x75.html
+++ b/docs/module-doc/functions_func_0x75.html
@@ -18,7 +18,7 @@
: <a class="el" href="classBoolSet.html#Unset_28int_20number_29">BoolSet</a><li>userrec()
: <a class="el" href="classuserrec.html#userrec_28_29">userrec</a><li>UserToPseudo()
: <a class="el" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">Server</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x76.html b/docs/module-doc/functions_func_0x76.html
index f4a21a6d3..4095d1e0a 100644
--- a/docs/module-doc/functions_func_0x76.html
+++ b/docs/module-doc/functions_func_0x76.html
@@ -15,7 +15,7 @@
<li>Verify()
: <a class="el" href="classConfigReader.html#Verify_28_29">ConfigReader</a><li>Version()
: <a class="el" href="classVersion.html#Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29">Version</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x77.html b/docs/module-doc/functions_func_0x77.html
index bfcf49fc0..8b01a4dd6 100644
--- a/docs/module-doc/functions_func_0x77.html
+++ b/docs/module-doc/functions_func_0x77.html
@@ -15,7 +15,7 @@
<li>Wait()
: <a class="el" href="classSocketEngine.html#Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29">SocketEngine</a><li>Write()
: <a class="el" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">InspSocket</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_func_0x7e.html b/docs/module-doc/functions_func_0x7e.html
index 8ffc4fe13..69bd5df59 100644
--- a/docs/module-doc/functions_func_0x7e.html
+++ b/docs/module-doc/functions_func_0x7e.html
@@ -27,7 +27,7 @@
: <a class="el" href="classSocketEngine.html#_7ESocketEngine_28_29">SocketEngine</a><li>~ucrec()
: <a class="el" href="classucrec.html#_7Eucrec_28_29">ucrec</a><li>~userrec()
: <a class="el" href="classuserrec.html#_7Euserrec_28_29">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/functions_vars.html b/docs/module-doc/functions_vars.html
index 3653e468e..c4ef6f30a 100644
--- a/docs/module-doc/functions_vars.html
+++ b/docs/module-doc/functions_vars.html
@@ -63,7 +63,8 @@
: <a class="el" href="classAdmin.html#Email">Admin</a><li>EngineHandle
: <a class="el" href="classSocketEngine.html#EngineHandle">SocketEngine</a><li>error
: <a class="el" href="classConfigReader.html#error">ConfigReader</a><li>errorlog
-: <a class="el" href="classConfigReader.html#errorlog">ConfigReader</a><li>Extension_Items
+: <a class="el" href="classConfigReader.html#errorlog">ConfigReader</a><li>exempt
+: <a class="el" href="classCullList.html#exempt">CullList</a><li>Extension_Items
: <a class="el" href="classExtensible.html#Extension_5FItems">Extensible</a></ul>
<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
<li>fc
@@ -88,9 +89,9 @@
: <a class="el" href="classconnection.html#idle_5Flastmsg">connection</a><li>include_stack
: <a class="el" href="classServerConfig.html#include_5Fstack">ServerConfig</a><li>internal_userlist
: <a class="el" href="classchanrec.html#internal_5Fuserlist">chanrec</a><li>invites
-: <a class="el" href="classuserrec.html#invites">userrec</a><li>ip
-: <a class="el" href="structdns__ip4list.html#ip">dns_ip4list</a>, <a class="el" href="classconnection.html#ip_5B_31_36_5D">connection</a><li>IP
-: <a class="el" href="classInspSocket.html#IP">InspSocket</a><li>ipaddr
+: <a class="el" href="classuserrec.html#invites">userrec</a><li>IP
+: <a class="el" href="classInspSocket.html#IP">InspSocket</a><li>ip
+: <a class="el" href="structdns__ip4list.html#ip">dns_ip4list</a>, <a class="el" href="classconnection.html#ip_5B_31_36_5D">connection</a><li>ipaddr
: <a class="el" href="classZLine.html#ipaddr_5B_34_30_5D">ZLine</a><li>is_global
: <a class="el" href="classQLine.html#is_5Fglobal">QLine</a>, <a class="el" href="classZLine.html#is_5Fglobal">ZLine</a></ul>
<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
@@ -103,7 +104,7 @@
: <a class="el" href="classInspSocket.html#length">InspSocket</a><li>limit
: <a class="el" href="classchanrec.html#limit">chanrec</a><li>lines_in
: <a class="el" href="classuserrec.html#lines_5Fin">userrec</a><li>list
-: <a class="el" href="classExtMode.html#list">ExtMode</a><li>localbuf
+: <a class="el" href="classExtMode.html#list">ExtMode</a>, <a class="el" href="classCullList.html#list">CullList</a><li>localbuf
: <a class="el" href="classDNS.html#localbuf_5B_31_30_32_34_5D">DNS</a><li>log_file
: <a class="el" href="classServerConfig.html#log_5Ffile">ServerConfig</a><li>LogLevel
: <a class="el" href="classServerConfig.html#LogLevel">ServerConfig</a></ul>
@@ -115,7 +116,8 @@
: <a class="el" href="classcommand__t.html#min_5Fparams">command_t</a><li>Minor
: <a class="el" href="classVersion.html#Minor">Version</a><li>mode
: <a class="el" href="classModeParameter.html#mode">ModeParameter</a><li>modechar
-: <a class="el" href="classExtMode.html#modechar">ExtMode</a><li>modes
+: <a class="el" href="classExtMode.html#modechar">ExtMode</a><li>MODERR
+: <a class="el" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">InspIRCd</a><li>modes
: <a class="el" href="classuserrec.html#modes_5B_35_34_5D">userrec</a><li>ModPath
: <a class="el" href="classServerConfig.html#ModPath_5B_31_30_32_34_5D">ServerConfig</a><li>module_names
: <a class="el" href="classServerConfig.html#module_5Fnames">ServerConfig</a><li>motd
@@ -155,7 +157,7 @@
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>readerror
: <a class="el" href="classConfigReader.html#readerror">ConfigReader</a><li>reason
-: <a class="el" href="classXLine.html#reason_5BMAXBUF_5D">XLine</a><li>recvq
+: <a class="el" href="classXLine.html#reason_5BMAXBUF_5D">XLine</a>, <a class="el" href="classCullItem.html#reason">CullItem</a><li>recvq
: <a class="el" href="classuserrec.html#recvq">userrec</a><li>recvqmax
: <a class="el" href="classuserrec.html#recvqmax">userrec</a>, <a class="el" href="classConnectClass.html#recvqmax">ConnectClass</a><li>registered
: <a class="el" href="classconnection.html#registered">connection</a><li>registration_timeout
@@ -206,11 +208,12 @@
<li>uc_modes
: <a class="el" href="classucrec.html#uc_5Fmodes">ucrec</a><li>unlimitcore
: <a class="el" href="classServerConfig.html#unlimitcore">ServerConfig</a><li>use_count
-: <a class="el" href="classcommand__t.html#use_5Fcount">command_t</a></ul>
+: <a class="el" href="classcommand__t.html#use_5Fcount">command_t</a><li>user
+: <a class="el" href="classCullItem.html#user">CullItem</a></ul>
<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
<li>WriteError
: <a class="el" href="classuserrec.html#WriteError">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals.html b/docs/module-doc/globals.html
index 33f9ae873..9625909b5 100644
--- a/docs/module-doc/globals.html
+++ b/docs/module-doc/globals.html
@@ -43,7 +43,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="xline_8h.html#apply_5Flines_28const_20int_20What_29">xline.h</a><li>APPLY_QLINES
: <a class="el" href="xline_8h.html#APPLY_5FQLINES">xline.h</a><li>APPLY_ZLINES
: <a class="el" href="xline_8h.html#APPLY_5FZLINES">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x62.html b/docs/module-doc/globals_0x62.html
index a56e64a1c..919c02294 100644
--- a/docs/module-doc/globals_0x62.html
+++ b/docs/module-doc/globals_0x62.html
@@ -18,7 +18,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="inspircd__io_8h.html#BindSocket_28int_20sockfd_2C_20struct_20sockaddr_5Fin_20client_2C_20struct_20sockaddr_5Fin_20server_2C_20int_20port_2C_20char_20_2Aaddr_29">inspircd_io.h</a><li>Blocking()
: <a class="el" href="message_8h.html#Blocking_28int_20s_29">message.h</a><li>boundPortCount
: <a class="el" href="socket_8cpp.html#boundPortCount">socket.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x63.html b/docs/module-doc/globals_0x63.html
index d851231a9..765d32c91 100644
--- a/docs/module-doc/globals_0x63.html
+++ b/docs/module-doc/globals_0x63.html
@@ -49,7 +49,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="modules_8h.html#createcommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">modules.h</a><li>cstatus()
: <a class="el" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">message.h</a><li>custom_mode_params
: <a class="el" href="channels_8cpp.html#custom_5Fmode_5Fparams">channels.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x64.html b/docs/module-doc/globals_0x64.html
index 94c26ce47..c1cbda21e 100644
--- a/docs/module-doc/globals_0x64.html
+++ b/docs/module-doc/globals_0x64.html
@@ -28,7 +28,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">modules.cpp</a><li>DoBackgroundUserStuff()
: <a class="el" href="userprocess_8h.html#DoBackgroundUserStuff_28time_5Ft_20TIME_29">userprocess.h</a><li>duration()
: <a class="el" href="commands_8h.html#duration_28const_20char_20_2Astr_29">commands.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x65.html b/docs/module-doc/globals_0x65.html
index 4dab69d96..d68d6edc3 100644
--- a/docs/module-doc/globals_0x65.html
+++ b/docs/module-doc/globals_0x65.html
@@ -21,7 +21,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="xline_8h.html#expire_5Flines_28_29">xline.h</a><li>ExtModeList
: <a class="el" href="typedefs_8h.html#ExtModeList">typedefs.h</a><li>ExtModeListIter
: <a class="el" href="typedefs_8h.html#ExtModeListIter">typedefs.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x66.html b/docs/module-doc/globals_0x66.html
index 9ead8ab03..d6190c77c 100644
--- a/docs/module-doc/globals_0x66.html
+++ b/docs/module-doc/globals_0x66.html
@@ -27,7 +27,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="modules_8h.html#FOREACH_5FMOD">modules.h</a><li>FOREACH_RESULT
: <a class="el" href="modules_8h.html#FOREACH_5FRESULT_28x_29">modules.h</a><li>FullConnectUser()
: <a class="el" href="inspircd_8h.html#FullConnectUser_28userrec_20_2Auser_29">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x67.html b/docs/module-doc/globals_0x67.html
index b2c8ae5af..248d9abe6 100644
--- a/docs/module-doc/globals_0x67.html
+++ b/docs/module-doc/globals_0x67.html
@@ -16,15 +16,13 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="globals_8h.html#getadminemail_28_29">globals.h</a><li>getadminname()
: <a class="el" href="globals_8h.html#getadminname_28_29">globals.h</a><li>getadminnick()
: <a class="el" href="globals_8h.html#getadminnick_28_29">globals.h</a><li>getnetworkname()
-: <a class="el" href="globals_8h.html#getnetworkname_28_29">globals.h</a><li>GetRevision()
-: <a class="el" href="inspircd_8h.html#GetRevision_28_29">inspircd.h</a><li>getservername()
-: <a class="el" href="globals_8h.html#getservername_28_29">globals.h</a><li>GetVersionString()
-: <a class="el" href="inspircd_8h.html#GetVersionString_28_29">inspircd.h</a><li>give_hops()
+: <a class="el" href="globals_8h.html#getnetworkname_28_29">globals.h</a><li>getservername()
+: <a class="el" href="globals_8h.html#getservername_28_29">globals.h</a><li>give_hops()
: <a class="el" href="mode_8h.html#give_5Fhops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">mode.h</a><li>give_ops()
: <a class="el" href="mode_8h.html#give_5Fops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">mode.h</a><li>give_voice()
: <a class="el" href="mode_8h.html#give_5Fvoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">mode.h</a><li>gline_set_creation_time()
: <a class="el" href="xline_8h.html#gline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x68.html b/docs/module-doc/globals_0x68.html
index 94bf4b511..9cc8414fd 100644
--- a/docs/module-doc/globals_0x68.html
+++ b/docs/module-doc/globals_0x68.html
@@ -69,7 +69,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">inspircd.h</a><li>has_channel()
: <a class="el" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">message.h</a><li>hasumode()
: <a class="el" href="message_8h.html#hasumode_28userrec_20_2Auser_2C_20char_20mode_29">message.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x69.html b/docs/module-doc/globals_0x69.html
index 9c4b08d77..61d3cd1f7 100644
--- a/docs/module-doc/globals_0x69.html
+++ b/docs/module-doc/globals_0x69.html
@@ -34,7 +34,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">inspircd.h</a><li>isident()
: <a class="el" href="message_8h.html#isident_28const_20char_20_2An_29">message.h</a><li>isnick()
: <a class="el" href="message_8h.html#isnick_28const_20char_20_2An_29">message.h</a>, <a class="el" href="globals_8h.html#isnick_28const_20char_20_2An_29">globals.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x6b.html b/docs/module-doc/globals_0x6b.html
index 160d3a57e..cf552cda4 100644
--- a/docs/module-doc/globals_0x6b.html
+++ b/docs/module-doc/globals_0x6b.html
@@ -16,7 +16,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="channels_8h.html#kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29">channels.h</a>, <a class="el" href="channels_8cpp.html#kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29">channels.cpp</a><li>kill_link()
: <a class="el" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">inspircd.h</a><li>kill_link_silent()
: <a class="el" href="inspircd_8h.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x6c.html b/docs/module-doc/globals_0x6c.html
index 8c79f3b26..36dbdfa08 100644
--- a/docs/module-doc/globals_0x6c.html
+++ b/docs/module-doc/globals_0x6c.html
@@ -16,7 +16,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="userprocess_8h.html#LoadAllModules_28_29">userprocess.h</a><li>log()
: <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>loop_call()
: <a class="el" href="inspircd_8h.html#loop_5Fcall_28handlerfunc_20fn_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Au_2C_20int_20start_2C_20int_20end_2C_20int_20joins_29">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x6d.html b/docs/module-doc/globals_0x6d.html
index 4b35b22c7..83b5c4e48 100644
--- a/docs/module-doc/globals_0x6d.html
+++ b/docs/module-doc/globals_0x6d.html
@@ -30,13 +30,12 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="modules_8h.html#ModeDefinedOper_28char_20c_2C_20int_20i_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeDefinedOper_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeIsListMode()
: <a class="el" href="modules_8h.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeMakeList()
: <a class="el" href="modules_8h.html#ModeMakeList_28char_20modechar_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">modules.cpp</a><li>module_sockets
-: <a class="el" href="modules_8cpp.html#module_5Fsockets">modules.cpp</a><li>ModuleError()
-: <a class="el" href="inspircd_8h.html#ModuleError_28_29">inspircd.h</a><li>modules
+: <a class="el" href="modules_8cpp.html#module_5Fsockets">modules.cpp</a><li>modules
: <a class="el" href="modules_8cpp.html#modules_28_32_35_35_29">modules.cpp</a>, <a class="el" href="channels_8cpp.html#modules">channels.cpp</a><li>MT_CHANNEL
: <a class="el" href="modules_8h.html#MT_5FCHANNEL">modules.h</a><li>MT_CLIENT
: <a class="el" href="modules_8h.html#MT_5FCLIENT">modules.h</a><li>MT_SERVER
: <a class="el" href="modules_8h.html#MT_5FSERVER">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x6e.html b/docs/module-doc/globals_0x6e.html
index d1b67b301..62214b413 100644
--- a/docs/module-doc/globals_0x6e.html
+++ b/docs/module-doc/globals_0x6e.html
@@ -16,7 +16,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="message_8h.html#NonBlocking_28int_20s_29">message.h</a><li>NONE
: <a class="el" href="modules_8h.html#NONE">modules.h</a>, <a class="el" href="inspircd__io_8h.html#NONE">inspircd_io.h</a><li>nspace
: <a class="el" href="hashcomp_8h.html#nspace">hashcomp.h</a>, <a class="el" href="channels_8cpp.html#nspace">channels.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x6f.html b/docs/module-doc/globals_0x6f.html
index a0551d719..3b76cd4e4 100644
--- a/docs/module-doc/globals_0x6f.html
+++ b/docs/module-doc/globals_0x6f.html
@@ -16,7 +16,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="userprocess_8h.html#OpenLog_28char_20_2A_2Aargv_2C_20int_20argc_29">userprocess.h</a><li>openSockfd
: <a class="el" href="socket_8cpp.html#openSockfd_5BMAXSOCKS_5D">socket.cpp</a><li>OpenTCPSocket()
: <a class="el" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">inspircd_io.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x70.html b/docs/module-doc/globals_0x70.html
index 3dc89323a..659e2ca40 100644
--- a/docs/module-doc/globals_0x70.html
+++ b/docs/module-doc/globals_0x70.html
@@ -17,7 +17,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="mode_8h.html#process_5Fmodes_28char_20_2A_2Aparameters_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20int_20status_2C_20int_20pcnt_2C_20bool_20servermode_2C_20bool_20silent_2C_20bool_20local_29">mode.h</a><li>process_module_umode()
: <a class="el" href="mode_8h.html#process_5Fmodule_5Fumode_28char_20umode_2C_20userrec_20_2Asource_2C_20void_20_2Adest_2C_20bool_20adding_29">mode.h</a><li>ProcessUser()
: <a class="el" href="userprocess_8h.html#ProcessUser_28userrec_20_2Acu_29">userprocess.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x71.html b/docs/module-doc/globals_0x71.html
index 27a9241b1..6722d9540 100644
--- a/docs/module-doc/globals_0x71.html
+++ b/docs/module-doc/globals_0x71.html
@@ -15,7 +15,7 @@ Here is a list of all file members with links to the files they belong to:
<li>qline_make_global()
: <a class="el" href="xline_8h.html#qline_5Fmake_5Fglobal_28const_20char_20_2Anickname_29">xline.h</a><li>qline_set_creation_time()
: <a class="el" href="xline_8h.html#qline_5Fset_5Fcreation_5Ftime_28char_20_2Anick_2C_20time_5Ft_20create_5Ftime_29">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x72.html b/docs/module-doc/globals_0x72.html
index 6a979f60c..cf0b43fe5 100644
--- a/docs/module-doc/globals_0x72.html
+++ b/docs/module-doc/globals_0x72.html
@@ -17,7 +17,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">globals.h</a><li>ref
: <a class="el" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">socketengine.cpp</a><li>ReHashNick()
: <a class="el" href="inspircd_8h.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x73.html b/docs/module-doc/globals_0x73.html
index c53d96d81..95a4f0391 100644
--- a/docs/module-doc/globals_0x73.html
+++ b/docs/module-doc/globals_0x73.html
@@ -32,7 +32,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="users_8h.html#STATUS_5FVOICE">users.h</a><li>string
: <a class="el" href="namespaceirc.html#string">hashcomp.h</a><li>string_list
: <a class="el" href="modules_8h.html#string_5Flist">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x74.html b/docs/module-doc/globals_0x74.html
index d0593dbef..fa72e66fd 100644
--- a/docs/module-doc/globals_0x74.html
+++ b/docs/module-doc/globals_0x74.html
@@ -24,7 +24,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="inspircd_8h.html#TYPE_5FCHANNEL">inspircd.h</a><li>TYPE_SERVER
: <a class="el" href="inspircd_8h.html#TYPE_5FSERVER">inspircd.h</a><li>TYPE_USER
: <a class="el" href="inspircd_8h.html#TYPE_5FUSER">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x75.html b/docs/module-doc/globals_0x75.html
index c87eb3f88..ba86fe49f 100644
--- a/docs/module-doc/globals_0x75.html
+++ b/docs/module-doc/globals_0x75.html
@@ -19,7 +19,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="channels_8h.html#UCMODE_5FPROTECT">channels.h</a><li>UCMODE_VOICE
: <a class="el" href="channels_8h.html#UCMODE_5FVOICE">channels.h</a><li>user_hash
: <a class="el" href="typedefs_8h.html#user_5Fhash">typedefs.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x76.html b/docs/module-doc/globals_0x76.html
index adbdd7ce1..d9a685da7 100644
--- a/docs/module-doc/globals_0x76.html
+++ b/docs/module-doc/globals_0x76.html
@@ -19,7 +19,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="modules_8h.html#VF_5FSTATIC">modules.h</a><li>VF_VENDOR
: <a class="el" href="modules_8h.html#VF_5FVENDOR">modules.h</a><li>VoidPointer
: <a class="el" href="base_8h.html#VoidPointer">base.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x77.html b/docs/module-doc/globals_0x77.html
index 58fe706b9..03c173705 100644
--- a/docs/module-doc/globals_0x77.html
+++ b/docs/module-doc/globals_0x77.html
@@ -28,7 +28,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteTo()
: <a class="el" href="globals_8h.html#WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29">globals.h</a><li>WriteWallOps()
: <a class="el" href="globals_8h.html#WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x78.html b/docs/module-doc/globals_0x78.html
index 7efd8b19e..0da0ab53f 100644
--- a/docs/module-doc/globals_0x78.html
+++ b/docs/module-doc/globals_0x78.html
@@ -19,7 +19,7 @@ Here is a list of all file members with links to the files they belong to:
: <a class="el" href="socketengine_8h.html#X_5FESTAB_5FMODULE">socketengine.h</a><li>X_LISTEN
: <a class="el" href="socketengine_8h.html#X_5FLISTEN">socketengine.h</a><li>X_READBIT
: <a class="el" href="socketengine_8h.html#X_5FREADBIT">socketengine.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_0x7a.html b/docs/module-doc/globals_0x7a.html
index d3f040a98..04da69501 100644
--- a/docs/module-doc/globals_0x7a.html
+++ b/docs/module-doc/globals_0x7a.html
@@ -15,7 +15,7 @@ Here is a list of all file members with links to the files they belong to:
<li>zline_make_global()
: <a class="el" href="xline_8h.html#zline_5Fmake_5Fglobal_28const_20char_20_2Aipaddr_29">xline.h</a><li>zline_set_creation_time()
: <a class="el" href="xline_8h.html#zline_5Fset_5Fcreation_5Ftime_28char_20_2Aip_2C_20time_5Ft_20create_5Ftime_29">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_8h-source.html b/docs/module-doc/globals_8h-source.html
index 94e9e52e7..6ebac3264 100644
--- a/docs/module-doc/globals_8h-source.html
+++ b/docs/module-doc/globals_8h-source.html
@@ -62,7 +62,7 @@
<a name="l00053"></a>00053 <span class="keywordtype">int</span> <a class="code" href="globals_8h.html#ModeDefiend_28char_20c_2C_20int_20i_29">ModeDefiend</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_8h.html b/docs/module-doc/globals_8h.html
index b23503e78..f84f545f2 100644
--- a/docs/module-doc/globals_8h.html
+++ b/docs/module-doc/globals_8h.html
@@ -162,7 +162,7 @@ Definition at line <a class="el" href="globals_8h-source.html#l00029">29</a> of
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00455">Server::SendChannel()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00460">Server::SendChannel()</a>. </td>
</tr>
</table>
<a class="anchor" name="cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><!-- doxytag: member="globals.h::cmode" ref="cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29" args="(userrec *user, chanrec *chan)" --><p>
@@ -201,7 +201,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00455">Server::SendC
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00519">Server::ChanMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00524">Server::ChanMode()</a>. </td>
</tr>
</table>
<a class="anchor" name="common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29"></a><!-- doxytag: member="globals.h::common_channels" ref="common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29" args="(userrec *u, userrec *u2)" --><p>
@@ -240,7 +240,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00519">Server::ChanM
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00467">Server::CommonChannels()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00472">Server::CommonChannels()</a>. </td>
</tr>
</table>
<a class="anchor" name="Find_28std_3A_3Astring_20nick_29"></a><!-- doxytag: member="globals.h::Find" ref="Find_28std_3A_3Astring_20nick_29" args="(std::string nick)" --><p>
@@ -270,7 +270,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00467">Server::Commo
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00504">Server::FindNick()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00509">Server::FindNick()</a>. </td>
</tr>
</table>
<a class="anchor" name="FindChan_28const_20char_20_2Achan_29"></a><!-- doxytag: member="globals.h::FindChan" ref="FindChan_28const_20char_20_2Achan_29" args="(const char *chan)" --><p>
@@ -300,7 +300,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00504">Server::FindN
<p>
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00514">Server::FindChannel()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00519">Server::FindChannel()</a>. </td>
</tr>
</table>
<a class="anchor" name="getadminemail_28_29"></a><!-- doxytag: member="globals.h::getadminemail" ref="getadminemail_28_29" args="()" --><p>
@@ -465,7 +465,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel(
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00499">Server::IsNick()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00504">Server::IsNick()</a>. </td>
</tr>
</table>
<a class="anchor" name="log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::log" ref="log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(int level, char *text,...)" --><p>
@@ -510,7 +510,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00499">Server::IsNic
<p>
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00551">Server::AddExtendedMode()</a>, <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="channels_8cpp-source.html#l00167">chanrec::AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="channels_8cpp-source.html#l00173">chanrec::DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="socket_8cpp-source.html#l00062">InspSocket::InspSocket()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00406">Server::Log()</a>, <a class="el" href="socket_8cpp-source.html#l00158">InspSocket::Read()</a>, <a class="el" href="users_8cpp-source.html#l00122">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00086">chanrec::SetCustomMode()</a>, <a class="el" href="channels_8cpp-source.html#l00111">chanrec::SetCustomModeParam()</a>, <a class="el" href="socket_8cpp-source.html#l00248">InspSocket::SetState()</a>, <a class="el" href="users_8cpp-source.html#l00292">userrec::SetWriteError()</a>, <a class="el" href="socketengine_8cpp-source.html#l00035">SocketEngine::SocketEngine()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00046">SocketEngine::~SocketEngine()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00556">Server::AddExtendedMode()</a>, <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="channels_8cpp-source.html#l00167">chanrec::AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="channels_8cpp-source.html#l00173">chanrec::DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="socket_8cpp-source.html#l00062">InspSocket::InspSocket()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00411">Server::Log()</a>, <a class="el" href="socket_8cpp-source.html#l00158">InspSocket::Read()</a>, <a class="el" href="users_8cpp-source.html#l00122">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00086">chanrec::SetCustomMode()</a>, <a class="el" href="channels_8cpp-source.html#l00111">chanrec::SetCustomModeParam()</a>, <a class="el" href="socket_8cpp-source.html#l00248">InspSocket::SetState()</a>, <a class="el" href="users_8cpp-source.html#l00292">userrec::SetWriteError()</a>, <a class="el" href="socketengine_8cpp-source.html#l00035">SocketEngine::SocketEngine()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00046">SocketEngine::~SocketEngine()</a>. </td>
</tr>
</table>
<a class="anchor" name="ModeDefiend_28char_20c_2C_20int_20i_29"></a><!-- doxytag: member="globals.h::ModeDefiend" ref="ModeDefiend_28char_20c_2C_20int_20i_29" args="(char c, int i)" --><p>
@@ -586,7 +586,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel(
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00879">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00890">FileReader::LoadFile()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00884">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00895">FileReader::LoadFile()</a>. </td>
</tr>
</table>
<a class="anchor" name="Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::Write" ref="Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(int sock, char *text,...)" --><p>
@@ -631,7 +631,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00879">FileReader::F
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, <a class="el" href="modules_8cpp-source.html#l00421">Server::Send()</a>, <a class="el" href="modules_8cpp-source.html#l00436">Server::SendTo()</a>, and <a class="el" href="modules_8cpp-source.html#l00593">Server::UserToPseudo()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, <a class="el" href="modules_8cpp-source.html#l00426">Server::Send()</a>, <a class="el" href="modules_8cpp-source.html#l00441">Server::SendTo()</a>, and <a class="el" href="modules_8cpp-source.html#l00598">Server::UserToPseudo()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteChannel" ref="WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(chanrec *Ptr, userrec *user, char *text,...)" --><p>
@@ -682,7 +682,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::Pseud
<p>
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00455">Server::SendChannel()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00460">Server::SendChannel()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteCommon" ref="WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(userrec *u, char *text,...)" --><p>
@@ -727,7 +727,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00401">del_channel(
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00472">Server::SendCommon()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00477">Server::SendCommon()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteCommonExcept" ref="WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(userrec *u, char *text,...)" --><p>
@@ -772,7 +772,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00472">Server::SendC
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00472">Server::SendCommon()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00477">Server::SendCommon()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteFrom" ref="WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(int sock, userrec *user, char *text,...)" --><p>
@@ -823,7 +823,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00472">Server::SendC
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00431">Server::SendFrom()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00436">Server::SendFrom()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteOpers" ref="WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29" args="(char *text,...)" --><p>
@@ -862,7 +862,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::Pseud
<p>
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00198">userrec::AddBuffer()</a>, <a class="el" href="users_8cpp-source.html#l00254">userrec::AddWriteBuf()</a>, <a class="el" href="modules_8cpp-source.html#l00830">ConfigReader::DumpErrors()</a>, <a class="el" href="modules_8cpp-source.html#l00318">Server::RehashServer()</a>, and <a class="el" href="modules_8cpp-source.html#l00341">Server::SendOpers()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00198">userrec::AddBuffer()</a>, <a class="el" href="users_8cpp-source.html#l00254">userrec::AddWriteBuf()</a>, <a class="el" href="modules_8cpp-source.html#l00835">ConfigReader::DumpErrors()</a>, <a class="el" href="modules_8cpp-source.html#l00318">Server::RehashServer()</a>, and <a class="el" href="modules_8cpp-source.html#l00346">Server::SendOpers()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteServ" ref="WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(int sock, char *text,...)" --><p>
@@ -907,7 +907,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00198">userrec::AddBuf
<p>
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00830">ConfigReader::DumpErrors()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00426">Server::SendServ()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00835">ConfigReader::DumpErrors()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00431">Server::SendServ()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteTo" ref="WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29" args="(userrec *source, userrec *dest, char *data,...)" --><p>
@@ -958,7 +958,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel(
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00436">Server::SendTo()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00441">Server::SendTo()</a>. </td>
</tr>
</table>
<a class="anchor" name="WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::WriteWallOps" ref="WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(userrec *source, bool local_only, char *text,...)" --><p>
@@ -1009,10 +1009,10 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00436">Server::SendT
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00484">Server::SendWallops()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00489">Server::SendWallops()</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:17 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_defs.html b/docs/module-doc/globals_defs.html
index cc3703257..64b135653 100644
--- a/docs/module-doc/globals_defs.html
+++ b/docs/module-doc/globals_defs.html
@@ -99,7 +99,7 @@
<li>WM_AND
: <a class="el" href="inspircd_8h.html#WM_5FAND">inspircd.h</a><li>WM_OR
: <a class="el" href="inspircd_8h.html#WM_5FOR">inspircd.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_enum.html b/docs/module-doc/globals_enum.html
index 1a4942c18..ee4b21e4d 100644
--- a/docs/module-doc/globals_enum.html
+++ b/docs/module-doc/globals_enum.html
@@ -12,7 +12,7 @@
<li>InspSocketError
: <a class="el" href="socket_8h.html#InspSocketError">socket.h</a><li>InspSocketState
: <a class="el" href="socket_8h.html#InspSocketState">socket.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_eval.html b/docs/module-doc/globals_eval.html
index 4f3574670..10f36b756 100644
--- a/docs/module-doc/globals_eval.html
+++ b/docs/module-doc/globals_eval.html
@@ -19,7 +19,7 @@
: <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">socket.h</a><li>I_ERROR
: <a class="el" href="socket_8h.html#InspSocketStateI_5FERROR">socket.h</a><li>I_LISTENING
: <a class="el" href="socket_8h.html#InspSocketStateI_5FLISTENING">socket.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_func.html b/docs/module-doc/globals_func.html
index 09e6fe2ae..309c0dc67 100644
--- a/docs/module-doc/globals_func.html
+++ b/docs/module-doc/globals_func.html
@@ -82,10 +82,8 @@
: <a class="el" href="globals_8h.html#getadminemail_28_29">globals.h</a><li>getadminname()
: <a class="el" href="globals_8h.html#getadminname_28_29">globals.h</a><li>getadminnick()
: <a class="el" href="globals_8h.html#getadminnick_28_29">globals.h</a><li>getnetworkname()
-: <a class="el" href="globals_8h.html#getnetworkname_28_29">globals.h</a><li>GetRevision()
-: <a class="el" href="inspircd_8h.html#GetRevision_28_29">inspircd.h</a><li>getservername()
-: <a class="el" href="globals_8h.html#getservername_28_29">globals.h</a><li>GetVersionString()
-: <a class="el" href="inspircd_8h.html#GetVersionString_28_29">inspircd.h</a><li>give_hops()
+: <a class="el" href="globals_8h.html#getnetworkname_28_29">globals.h</a><li>getservername()
+: <a class="el" href="globals_8h.html#getservername_28_29">globals.h</a><li>give_hops()
: <a class="el" href="mode_8h.html#give_5Fhops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">mode.h</a><li>give_ops()
: <a class="el" href="mode_8h.html#give_5Fops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">mode.h</a><li>give_voice()
: <a class="el" href="mode_8h.html#give_5Fvoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">mode.h</a><li>gline_set_creation_time()
@@ -178,8 +176,7 @@
: <a class="el" href="modules_8h.html#ModeDefinedOn_28char_20c_2C_20int_20i_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeDefinedOn_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeDefinedOper()
: <a class="el" href="modules_8h.html#ModeDefinedOper_28char_20c_2C_20int_20i_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeDefinedOper_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeIsListMode()
: <a class="el" href="modules_8h.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeMakeList()
-: <a class="el" href="modules_8h.html#ModeMakeList_28char_20modechar_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">modules.cpp</a><li>ModuleError()
-: <a class="el" href="inspircd_8h.html#ModuleError_28_29">inspircd.h</a><li>modules()
+: <a class="el" href="modules_8h.html#ModeMakeList_28char_20modechar_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">modules.cpp</a><li>modules()
: <a class="el" href="modules_8cpp.html#modules_28_32_35_35_29">modules.cpp</a>, <a class="el" href="channels_8cpp.html#modules">channels.cpp</a></ul>
<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
<li>NonBlocking()
@@ -237,7 +234,7 @@
<li>zline_make_global()
: <a class="el" href="xline_8h.html#zline_5Fmake_5Fglobal_28const_20char_20_2Aipaddr_29">xline.h</a><li>zline_set_creation_time()
: <a class="el" href="xline_8h.html#zline_5Fset_5Fcreation_5Ftime_28char_20_2Aip_2C_20time_5Ft_20create_5Ftime_29">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_type.html b/docs/module-doc/globals_type.html
index 55904231a..6f465a8e4 100644
--- a/docs/module-doc/globals_type.html
+++ b/docs/module-doc/globals_type.html
@@ -30,7 +30,7 @@
: <a class="el" href="typedefs_8h.html#user_5Fhash">typedefs.h</a><li>VoidPointer
: <a class="el" href="base_8h.html#VoidPointer">base.h</a><li>whowas_hash
: <a class="el" href="typedefs_8h.html#whowas_5Fhash">typedefs.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/globals_vars.html b/docs/module-doc/globals_vars.html
index aaa6166b9..5d938142c 100644
--- a/docs/module-doc/globals_vars.html
+++ b/docs/module-doc/globals_vars.html
@@ -66,7 +66,7 @@
: <a class="el" href="socketengine_8h.html#X_5FESTAB_5FMODULE">socketengine.h</a><li>X_LISTEN
: <a class="el" href="socketengine_8h.html#X_5FLISTEN">socketengine.h</a><li>X_READBIT
: <a class="el" href="socketengine_8h.html#X_5FREADBIT">socketengine.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/graph_legend.html b/docs/module-doc/graph_legend.html
index b311a390d..706afb308 100644
--- a/docs/module-doc/graph_legend.html
+++ b/docs/module-doc/graph_legend.html
@@ -67,7 +67,7 @@ A purple dashed arrow is used if a class is contained or used by another class.
<li>
A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance. </li>
</ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/hashcomp_8h-source.html b/docs/module-doc/hashcomp_8h-source.html
index 59008b12a..08d0abcc0 100644
--- a/docs/module-doc/hashcomp_8h-source.html
+++ b/docs/module-doc/hashcomp_8h-source.html
@@ -109,7 +109,7 @@
<a name="l00130"></a>00130 }
<a name="l00131"></a>00131
<a name="l00132"></a>00132 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/hashcomp_8h.html b/docs/module-doc/hashcomp_8h.html
index c0e831778..d9399a264 100644
--- a/docs/module-doc/hashcomp_8h.html
+++ b/docs/module-doc/hashcomp_8h.html
@@ -79,7 +79,7 @@ This graph shows which files directly or indirectly include this file:<p><center
Definition at line <a class="el" href="hashcomp_8h-source.html#l00044">44</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:17 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/hierarchy.html b/docs/module-doc/hierarchy.html
index 6d67cb6ba..c65994f69 100644
--- a/docs/module-doc/hierarchy.html
+++ b/docs/module-doc/hierarchy.html
@@ -57,6 +57,8 @@ This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
<li><a class="el" href="classZLine.html">ZLine</a>
</ul>
</ul>
+<li><a class="el" href="classCullItem.html">CullItem</a>
+<li><a class="el" href="classCullList.html">CullList</a>
<li><a class="el" href="classDNS.html">DNS</a>
<li><a class="el" href="structdns__ip4list.html">dns_ip4list</a>
<li><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a>
@@ -69,7 +71,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
<li><a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>
<li><a class="el" href="classWhoWasUser.html">WhoWasUser</a>
</ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/inherit__graph__10.gif b/docs/module-doc/inherit__graph__10.gif
index ead171060..b68f09f13 100644
--- a/docs/module-doc/inherit__graph__10.gif
+++ b/docs/module-doc/inherit__graph__10.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__10.map b/docs/module-doc/inherit__graph__10.map
index cf6c39bc6..8c67f4a72 100644
--- a/docs/module-doc/inherit__graph__10.map
+++ b/docs/module-doc/inherit__graph__10.map
@@ -1,2 +1,2 @@
base referer
-rect $structnspace_1_1hash_3_01string_01_4.html 7,7 164,33
+rect $structirc_1_1StrHashComp.html 7,7 135,33
diff --git a/docs/module-doc/inherit__graph__10.md5 b/docs/module-doc/inherit__graph__10.md5
index 354478843..b62920d1d 100644
--- a/docs/module-doc/inherit__graph__10.md5
+++ b/docs/module-doc/inherit__graph__10.md5
@@ -1 +1 @@
-317e8030ba500855ca30d38cc6449d34 \ No newline at end of file
+d94ccc9245ee31c76282e2c8ed0c0bb2 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__11.gif b/docs/module-doc/inherit__graph__11.gif
index 8c35d516a..2c759987a 100644
--- a/docs/module-doc/inherit__graph__11.gif
+++ b/docs/module-doc/inherit__graph__11.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__11.map b/docs/module-doc/inherit__graph__11.map
index 8390fc618..e91564620 100644
--- a/docs/module-doc/inherit__graph__11.map
+++ b/docs/module-doc/inherit__graph__11.map
@@ -1,2 +1,2 @@
base referer
-rect $classserverstats.html 7,7 95,33
+rect $structnspace_1_1hash_3_01in__addr_01_4.html 8,7 176,33
diff --git a/docs/module-doc/inherit__graph__11.md5 b/docs/module-doc/inherit__graph__11.md5
index 2d37de06b..9c5f939fc 100644
--- a/docs/module-doc/inherit__graph__11.md5
+++ b/docs/module-doc/inherit__graph__11.md5
@@ -1 +1 @@
-cf48882e944fddb7efa2fe6a320e8c63 \ No newline at end of file
+40e92872c26375b92021bb12d46d2211 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__12.gif b/docs/module-doc/inherit__graph__12.gif
index dfb0c4c56..ead171060 100644
--- a/docs/module-doc/inherit__graph__12.gif
+++ b/docs/module-doc/inherit__graph__12.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__12.map b/docs/module-doc/inherit__graph__12.map
index cb5e68503..cf6c39bc6 100644
--- a/docs/module-doc/inherit__graph__12.map
+++ b/docs/module-doc/inherit__graph__12.map
@@ -1,2 +1,2 @@
base referer
-rect $classSocketEngine.html 8,7 112,33
+rect $structnspace_1_1hash_3_01string_01_4.html 7,7 164,33
diff --git a/docs/module-doc/inherit__graph__12.md5 b/docs/module-doc/inherit__graph__12.md5
index 6349253e0..354478843 100644
--- a/docs/module-doc/inherit__graph__12.md5
+++ b/docs/module-doc/inherit__graph__12.md5
@@ -1 +1 @@
-949dcc70479b42522977703d4bb0a709 \ No newline at end of file
+317e8030ba500855ca30d38cc6449d34 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__13.gif b/docs/module-doc/inherit__graph__13.gif
index e79f9b374..8c35d516a 100644
--- a/docs/module-doc/inherit__graph__13.gif
+++ b/docs/module-doc/inherit__graph__13.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__13.map b/docs/module-doc/inherit__graph__13.map
index f4dc152fc..8390fc618 100644
--- a/docs/module-doc/inherit__graph__13.map
+++ b/docs/module-doc/inherit__graph__13.map
@@ -1,2 +1,2 @@
base referer
-rect $classWhoWasUser.html 8,7 112,33
+rect $classserverstats.html 7,7 95,33
diff --git a/docs/module-doc/inherit__graph__13.md5 b/docs/module-doc/inherit__graph__13.md5
index 49ded545f..2d37de06b 100644
--- a/docs/module-doc/inherit__graph__13.md5
+++ b/docs/module-doc/inherit__graph__13.md5
@@ -1 +1 @@
-5bff511d62c6faa81cdb63b1f78f6cd8 \ No newline at end of file
+cf48882e944fddb7efa2fe6a320e8c63 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__14.gif b/docs/module-doc/inherit__graph__14.gif
new file mode 100644
index 000000000..dfb0c4c56
--- /dev/null
+++ b/docs/module-doc/inherit__graph__14.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__14.map b/docs/module-doc/inherit__graph__14.map
new file mode 100644
index 000000000..cb5e68503
--- /dev/null
+++ b/docs/module-doc/inherit__graph__14.map
@@ -0,0 +1,2 @@
+base referer
+rect $classSocketEngine.html 8,7 112,33
diff --git a/docs/module-doc/inherit__graph__14.md5 b/docs/module-doc/inherit__graph__14.md5
new file mode 100644
index 000000000..6349253e0
--- /dev/null
+++ b/docs/module-doc/inherit__graph__14.md5
@@ -0,0 +1 @@
+949dcc70479b42522977703d4bb0a709 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__15.gif b/docs/module-doc/inherit__graph__15.gif
new file mode 100644
index 000000000..e79f9b374
--- /dev/null
+++ b/docs/module-doc/inherit__graph__15.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__15.map b/docs/module-doc/inherit__graph__15.map
new file mode 100644
index 000000000..f4dc152fc
--- /dev/null
+++ b/docs/module-doc/inherit__graph__15.map
@@ -0,0 +1,2 @@
+base referer
+rect $classWhoWasUser.html 8,7 112,33
diff --git a/docs/module-doc/inherit__graph__15.md5 b/docs/module-doc/inherit__graph__15.md5
new file mode 100644
index 000000000..49ded545f
--- /dev/null
+++ b/docs/module-doc/inherit__graph__15.md5
@@ -0,0 +1 @@
+5bff511d62c6faa81cdb63b1f78f6cd8 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__3.gif b/docs/module-doc/inherit__graph__3.gif
index 1d3c8d177..5c2a461da 100644
--- a/docs/module-doc/inherit__graph__3.gif
+++ b/docs/module-doc/inherit__graph__3.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__3.map b/docs/module-doc/inherit__graph__3.map
index 56a3b7703..286852f67 100644
--- a/docs/module-doc/inherit__graph__3.map
+++ b/docs/module-doc/inherit__graph__3.map
@@ -1,2 +1,2 @@
base referer
-rect $classDNS.html 7,7 57,33
+rect $classCullItem.html 7,7 79,33
diff --git a/docs/module-doc/inherit__graph__3.md5 b/docs/module-doc/inherit__graph__3.md5
index 3644e817a..c6ff1cc7d 100644
--- a/docs/module-doc/inherit__graph__3.md5
+++ b/docs/module-doc/inherit__graph__3.md5
@@ -1 +1 @@
-d39d1604b95cefdfc240566a784bc1e0 \ No newline at end of file
+04d1a5175492509e76bb27f8c708e6ac \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__4.gif b/docs/module-doc/inherit__graph__4.gif
index 8c7af2d72..57fb274d5 100644
--- a/docs/module-doc/inherit__graph__4.gif
+++ b/docs/module-doc/inherit__graph__4.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__4.map b/docs/module-doc/inherit__graph__4.map
index 37bcc6048..1b2802457 100644
--- a/docs/module-doc/inherit__graph__4.map
+++ b/docs/module-doc/inherit__graph__4.map
@@ -1,2 +1,2 @@
base referer
-rect $structdns__ip4list.html 7,7 92,33
+rect $classCullList.html 7,7 73,33
diff --git a/docs/module-doc/inherit__graph__4.md5 b/docs/module-doc/inherit__graph__4.md5
index a570a57e1..df7340bb1 100644
--- a/docs/module-doc/inherit__graph__4.md5
+++ b/docs/module-doc/inherit__graph__4.md5
@@ -1 +1 @@
-f91f9b746cbe9764b077e0f96e3d53c0 \ No newline at end of file
+fc7a10efd1ef64cd67f77b97165cd78b \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__5.gif b/docs/module-doc/inherit__graph__5.gif
index b55141572..1d3c8d177 100644
--- a/docs/module-doc/inherit__graph__5.gif
+++ b/docs/module-doc/inherit__graph__5.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__5.map b/docs/module-doc/inherit__graph__5.map
index ac2c9ebe9..56a3b7703 100644
--- a/docs/module-doc/inherit__graph__5.map
+++ b/docs/module-doc/inherit__graph__5.map
@@ -1,2 +1,2 @@
base referer
-rect $classInspIRCd.html 7,7 84,33
+rect $classDNS.html 7,7 57,33
diff --git a/docs/module-doc/inherit__graph__5.md5 b/docs/module-doc/inherit__graph__5.md5
index d6b0d6c87..3644e817a 100644
--- a/docs/module-doc/inherit__graph__5.md5
+++ b/docs/module-doc/inherit__graph__5.md5
@@ -1 +1 @@
-027440a4e7d81cbfbc813d6bda090a43 \ No newline at end of file
+d39d1604b95cefdfc240566a784bc1e0 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__6.gif b/docs/module-doc/inherit__graph__6.gif
index f657b86ad..8c7af2d72 100644
--- a/docs/module-doc/inherit__graph__6.gif
+++ b/docs/module-doc/inherit__graph__6.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__6.map b/docs/module-doc/inherit__graph__6.map
index 9f8c7b021..37bcc6048 100644
--- a/docs/module-doc/inherit__graph__6.map
+++ b/docs/module-doc/inherit__graph__6.map
@@ -1,2 +1,2 @@
base referer
-rect $classInspSocket.html 7,7 95,33
+rect $structdns__ip4list.html 7,7 92,33
diff --git a/docs/module-doc/inherit__graph__6.md5 b/docs/module-doc/inherit__graph__6.md5
index d2ac3e742..a570a57e1 100644
--- a/docs/module-doc/inherit__graph__6.md5
+++ b/docs/module-doc/inherit__graph__6.md5
@@ -1 +1 @@
-866431d87448beeff03effa477cb0785 \ No newline at end of file
+f91f9b746cbe9764b077e0f96e3d53c0 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__7.gif b/docs/module-doc/inherit__graph__7.gif
index 0f004ad81..b55141572 100644
--- a/docs/module-doc/inherit__graph__7.gif
+++ b/docs/module-doc/inherit__graph__7.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__7.map b/docs/module-doc/inherit__graph__7.map
index dad9d9fcd..ac2c9ebe9 100644
--- a/docs/module-doc/inherit__graph__7.map
+++ b/docs/module-doc/inherit__graph__7.map
@@ -1,2 +1,2 @@
base referer
-rect $structirc_1_1InAddr__HashComp.html 7,7 164,33
+rect $classInspIRCd.html 7,7 84,33
diff --git a/docs/module-doc/inherit__graph__7.md5 b/docs/module-doc/inherit__graph__7.md5
index 9496775c7..d6b0d6c87 100644
--- a/docs/module-doc/inherit__graph__7.md5
+++ b/docs/module-doc/inherit__graph__7.md5
@@ -1 +1 @@
-3c2c67e0c9a15d3aaf7860ffcd39768e \ No newline at end of file
+027440a4e7d81cbfbc813d6bda090a43 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__8.gif b/docs/module-doc/inherit__graph__8.gif
index b68f09f13..f657b86ad 100644
--- a/docs/module-doc/inherit__graph__8.gif
+++ b/docs/module-doc/inherit__graph__8.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__8.map b/docs/module-doc/inherit__graph__8.map
index 8c67f4a72..9f8c7b021 100644
--- a/docs/module-doc/inherit__graph__8.map
+++ b/docs/module-doc/inherit__graph__8.map
@@ -1,2 +1,2 @@
base referer
-rect $structirc_1_1StrHashComp.html 7,7 135,33
+rect $classInspSocket.html 7,7 95,33
diff --git a/docs/module-doc/inherit__graph__8.md5 b/docs/module-doc/inherit__graph__8.md5
index b62920d1d..d2ac3e742 100644
--- a/docs/module-doc/inherit__graph__8.md5
+++ b/docs/module-doc/inherit__graph__8.md5
@@ -1 +1 @@
-d94ccc9245ee31c76282e2c8ed0c0bb2 \ No newline at end of file
+866431d87448beeff03effa477cb0785 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__9.gif b/docs/module-doc/inherit__graph__9.gif
index 2c759987a..0f004ad81 100644
--- a/docs/module-doc/inherit__graph__9.gif
+++ b/docs/module-doc/inherit__graph__9.gif
Binary files differ
diff --git a/docs/module-doc/inherit__graph__9.map b/docs/module-doc/inherit__graph__9.map
index e91564620..dad9d9fcd 100644
--- a/docs/module-doc/inherit__graph__9.map
+++ b/docs/module-doc/inherit__graph__9.map
@@ -1,2 +1,2 @@
base referer
-rect $structnspace_1_1hash_3_01in__addr_01_4.html 8,7 176,33
+rect $structirc_1_1InAddr__HashComp.html 7,7 164,33
diff --git a/docs/module-doc/inherit__graph__9.md5 b/docs/module-doc/inherit__graph__9.md5
index 9c5f939fc..9496775c7 100644
--- a/docs/module-doc/inherit__graph__9.md5
+++ b/docs/module-doc/inherit__graph__9.md5
@@ -1 +1 @@
-40e92872c26375b92021bb12d46d2211 \ No newline at end of file
+3c2c67e0c9a15d3aaf7860ffcd39768e \ No newline at end of file
diff --git a/docs/module-doc/inherits.html b/docs/module-doc/inherits.html
index 514c47665..6a21e9c14 100644
--- a/docs/module-doc/inherits.html
+++ b/docs/module-doc/inherits.html
@@ -52,52 +52,60 @@
<area href="classQLine.html" shape="rect" coords="324,868,383,895" alt="">
<area href="classZLine.html" shape="rect" coords="326,919,382,945" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__3.gif" border="0" alt="" usemap="#DNS_map">
+<tr><td><img src="inherit__graph__3.gif" border="0" alt="" usemap="#CullItem_map">
+<map name="CullItem_map">
+<area href="classCullItem.html" shape="rect" coords="7,7,79,33" alt="">
+</map></td></tr>
+<tr><td><img src="inherit__graph__4.gif" border="0" alt="" usemap="#CullList_map">
+<map name="CullList_map">
+<area href="classCullList.html" shape="rect" coords="7,7,73,33" alt="">
+</map></td></tr>
+<tr><td><img src="inherit__graph__5.gif" border="0" alt="" usemap="#DNS_map">
<map name="DNS_map">
<area href="classDNS.html" shape="rect" coords="7,7,57,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__4.gif" border="0" alt="" usemap="#dns__ip4list_map">
+<tr><td><img src="inherit__graph__6.gif" border="0" alt="" usemap="#dns__ip4list_map">
<map name="dns__ip4list_map">
<area href="structdns__ip4list.html" shape="rect" coords="7,7,92,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__5.gif" border="0" alt="" usemap="#InspIRCd_map">
+<tr><td><img src="inherit__graph__7.gif" border="0" alt="" usemap="#InspIRCd_map">
<map name="InspIRCd_map">
<area href="classInspIRCd.html" shape="rect" coords="7,7,84,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__6.gif" border="0" alt="" usemap="#InspSocket_map">
+<tr><td><img src="inherit__graph__8.gif" border="0" alt="" usemap="#InspSocket_map">
<map name="InspSocket_map">
<area href="classInspSocket.html" shape="rect" coords="7,7,95,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__7.gif" border="0" alt="" usemap="#irc_1_1InAddr__HashComp_map">
+<tr><td><img src="inherit__graph__9.gif" border="0" alt="" usemap="#irc_1_1InAddr__HashComp_map">
<map name="irc_1_1InAddr__HashComp_map">
<area href="structirc_1_1InAddr__HashComp.html" shape="rect" coords="7,7,164,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__8.gif" border="0" alt="" usemap="#irc_1_1StrHashComp_map">
+<tr><td><img src="inherit__graph__10.gif" border="0" alt="" usemap="#irc_1_1StrHashComp_map">
<map name="irc_1_1StrHashComp_map">
<area href="structirc_1_1StrHashComp.html" shape="rect" coords="7,7,135,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__9.gif" border="0" alt="" usemap="#nspace_1_1hash_3_01in__addr_01_4_map">
+<tr><td><img src="inherit__graph__11.gif" border="0" alt="" usemap="#nspace_1_1hash_3_01in__addr_01_4_map">
<map name="nspace_1_1hash_3_01in__addr_01_4_map">
<area href="structnspace_1_1hash_3_01in__addr_01_4.html" shape="rect" coords="8,7,176,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__10.gif" border="0" alt="" usemap="#nspace_1_1hash_3_01string_01_4_map">
+<tr><td><img src="inherit__graph__12.gif" border="0" alt="" usemap="#nspace_1_1hash_3_01string_01_4_map">
<map name="nspace_1_1hash_3_01string_01_4_map">
<area href="structnspace_1_1hash_3_01string_01_4.html" shape="rect" coords="7,7,164,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__11.gif" border="0" alt="" usemap="#serverstats_map">
+<tr><td><img src="inherit__graph__13.gif" border="0" alt="" usemap="#serverstats_map">
<map name="serverstats_map">
<area href="classserverstats.html" shape="rect" coords="7,7,95,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__12.gif" border="0" alt="" usemap="#SocketEngine_map">
+<tr><td><img src="inherit__graph__14.gif" border="0" alt="" usemap="#SocketEngine_map">
<map name="SocketEngine_map">
<area href="classSocketEngine.html" shape="rect" coords="8,7,112,33" alt="">
</map></td></tr>
-<tr><td><img src="inherit__graph__13.gif" border="0" alt="" usemap="#WhoWasUser_map">
+<tr><td><img src="inherit__graph__15.gif" border="0" alt="" usemap="#WhoWasUser_map">
<map name="WhoWasUser_map">
<area href="classWhoWasUser.html" shape="rect" coords="8,7,112,33" alt="">
</map></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:30 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:21 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/inspircd_8h-source.html b/docs/module-doc/inspircd_8h-source.html
index e9f0d62f6..b2c1f49a8 100644
--- a/docs/module-doc/inspircd_8h-source.html
+++ b/docs/module-doc/inspircd_8h-source.html
@@ -105,45 +105,46 @@
<a name="l00096"></a>00096 {
<a name="l00097"></a>00097
<a name="l00098"></a>00098 <span class="keyword">private</span>:
-<a name="l00099"></a>00099 <span class="keywordtype">void</span> <a class="code" href="classInspIRCd.html#erase_5Ffactory_28int_20j_29">erase_factory</a>(<span class="keywordtype">int</span> j);
-<a name="l00100"></a>00100 <span class="keywordtype">void</span> <a class="code" href="classInspIRCd.html#erase_5Fmodule_28int_20j_29">erase_module</a>(<span class="keywordtype">int</span> j);
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">public</span>:
-<a name="l00103"></a><a class="code" href="classInspIRCd.html#startup_5Ftime">00103</a> time_t <a class="code" href="classInspIRCd.html#startup_5Ftime">startup_time</a>;
-<a name="l00104"></a>00104
-<a name="l00105"></a>00105 <span class="keywordtype">bool</span> <a class="code" href="classInspIRCd.html#LoadModule_28const_20char_20_2Afilename_29">LoadModule</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
-<a name="l00106"></a>00106 <span class="keywordtype">bool</span> <a class="code" href="classInspIRCd.html#UnloadModule_28const_20char_20_2Afilename_29">UnloadModule</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
-<a name="l00107"></a>00107 <a class="code" href="classInspIRCd.html#InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29">InspIRCd</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv);
-<a name="l00108"></a>00108 <span class="keywordtype">int</span> <a class="code" href="classInspIRCd.html#Run_28_29">Run</a>();
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 };
-<a name="l00111"></a>00111
-<a name="l00112"></a>00112 <span class="comment">/* prototypes */</span>
-<a name="l00113"></a>00113 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keyword">const</span> <span class="keywordtype">char</span>* newnick);
-<a name="l00114"></a>00114 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keyword">const</span> <span class="keywordtype">char</span>* r);
-<a name="l00115"></a>00115 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keyword">const</span> <span class="keywordtype">char</span>* r);
-<a name="l00116"></a>00116 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* commandname,<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00117"></a>00117 <span class="keywordtype">bool</span> <a class="code" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* commandname, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> * user);
-<a name="l00118"></a>00118 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="inspircd_8h.html#GetRevision_28_29">GetRevision</a>();
-<a name="l00119"></a>00119 <span class="keywordtype">int</span> <a class="code" href="inspircd_8h.html#loop_5Fcall_28handlerfunc_20fn_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Au_2C_20int_20start_2C_20int_20end_2C_20int_20joins_29">loop_call</a>(<a class="code" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">handlerfunc</a> fn, <span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *u, <span class="keywordtype">int</span> start, <span class="keywordtype">int</span> end, <span class="keywordtype">int</span> joins);
-<a name="l00120"></a>00120 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a>(<a class="code" href="classuserrec.html">userrec</a>* u);
-<a name="l00121"></a>00121 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#ConnectUser_28userrec_20_2Auser_29">ConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00122"></a>00122 <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="inspircd_8h.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">ReHashNick</a>(<span class="keywordtype">char</span>* Old, <span class="keywordtype">char</span>* New);
-<a name="l00123"></a>00123 <span class="keywordtype">char</span>* <a class="code" href="inspircd_8h.html#ModuleError_28_29">ModuleError</a>();
-<a name="l00124"></a>00124 <span class="comment">/* optimization tricks to save us walking the user hash */</span>
-<a name="l00125"></a>00125 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#AddOper_28userrec_20_2Auser_29">AddOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00126"></a>00126 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#DeleteOper_28userrec_20_2Auser_29">DeleteOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00127"></a>00127 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#handle_5Fversion_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">handle_version</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00128"></a>00128 <span class="comment">/* userrec optimization stuff */</span>
-<a name="l00129"></a>00129 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#AddServerName_28std_3A_3Astring_20servername_29">AddServerName</a>(<a class="code" href="namespaceirc.html#string">std::string</a> servername);
-<a name="l00130"></a>00130 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a>(<a class="code" href="namespaceirc.html#string">std::string</a> servername);
-<a name="l00131"></a>00131 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="inspircd_8h.html#GetVersionString_28_29">GetVersionString</a>();
-<a name="l00132"></a>00132 <span class="keywordtype">void</span>* <a class="code" href="inspircd_8h.html#dns_5Ftask_28void_20_2Aarg_29">dns_task</a>(<span class="keywordtype">void</span>* arg);
-<a name="l00133"></a>00133 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#process_5Fbuffer_28const_20char_20_2Acmdbuf_2C_20userrec_20_2Auser_29">process_buffer</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* cmdbuf,<a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00134"></a>00134 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00135"></a>00135
-<a name="l00136"></a>00136 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+<a name="l00099"></a><a class="code" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">00099</a> <span class="keywordtype">char</span> <a class="code" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">MODERR</a>[MAXBUF];
+<a name="l00100"></a>00100 <span class="keywordtype">void</span> <a class="code" href="classInspIRCd.html#erase_5Ffactory_28int_20j_29">erase_factory</a>(<span class="keywordtype">int</span> j);
+<a name="l00101"></a>00101 <span class="keywordtype">void</span> <a class="code" href="classInspIRCd.html#erase_5Fmodule_28int_20j_29">erase_module</a>(<span class="keywordtype">int</span> j);
+<a name="l00102"></a>00102
+<a name="l00103"></a>00103 <span class="keyword">public</span>:
+<a name="l00104"></a><a class="code" href="classInspIRCd.html#startup_5Ftime">00104</a> time_t <a class="code" href="classInspIRCd.html#startup_5Ftime">startup_time</a>;
+<a name="l00105"></a>00105
+<a name="l00106"></a>00106 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspIRCd.html#GetRevision_28_29">GetRevision</a>();
+<a name="l00107"></a>00107 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspIRCd.html#GetVersionString_28_29">GetVersionString</a>();
+<a name="l00108"></a>00108 <span class="keywordtype">char</span>* <a class="code" href="classInspIRCd.html#ModuleError_28_29">ModuleError</a>();
+<a name="l00109"></a>00109 <span class="keywordtype">bool</span> <a class="code" href="classInspIRCd.html#LoadModule_28const_20char_20_2Afilename_29">LoadModule</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
+<a name="l00110"></a>00110 <span class="keywordtype">bool</span> <a class="code" href="classInspIRCd.html#UnloadModule_28const_20char_20_2Afilename_29">UnloadModule</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename);
+<a name="l00111"></a>00111 <a class="code" href="classInspIRCd.html#InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29">InspIRCd</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv);
+<a name="l00112"></a>00112 <span class="keywordtype">int</span> <a class="code" href="classInspIRCd.html#Run_28_29">Run</a>();
+<a name="l00113"></a>00113
+<a name="l00114"></a>00114 };
+<a name="l00115"></a>00115
+<a name="l00116"></a>00116 <span class="comment">/* prototypes */</span>
+<a name="l00117"></a>00117 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keyword">const</span> <span class="keywordtype">char</span>* newnick);
+<a name="l00118"></a>00118 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keyword">const</span> <span class="keywordtype">char</span>* r);
+<a name="l00119"></a>00119 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keyword">const</span> <span class="keywordtype">char</span>* r);
+<a name="l00120"></a>00120 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* commandname,<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+<a name="l00121"></a>00121 <span class="keywordtype">bool</span> <a class="code" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* commandname, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> * user);
+<a name="l00122"></a>00122 <span class="keywordtype">int</span> <a class="code" href="inspircd_8h.html#loop_5Fcall_28handlerfunc_20fn_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Au_2C_20int_20start_2C_20int_20end_2C_20int_20joins_29">loop_call</a>(<a class="code" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">handlerfunc</a> fn, <span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *u, <span class="keywordtype">int</span> start, <span class="keywordtype">int</span> end, <span class="keywordtype">int</span> joins);
+<a name="l00123"></a>00123 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a>(<a class="code" href="classuserrec.html">userrec</a>* u);
+<a name="l00124"></a>00124 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#ConnectUser_28userrec_20_2Auser_29">ConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a> *user);
+<a name="l00125"></a>00125 <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="inspircd_8h.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">ReHashNick</a>(<span class="keywordtype">char</span>* Old, <span class="keywordtype">char</span>* New);
+<a name="l00126"></a>00126 <span class="comment">/* optimization tricks to save us walking the user hash */</span>
+<a name="l00127"></a>00127 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#AddOper_28userrec_20_2Auser_29">AddOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+<a name="l00128"></a>00128 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#DeleteOper_28userrec_20_2Auser_29">DeleteOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+<a name="l00129"></a>00129 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#handle_5Fversion_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">handle_version</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+<a name="l00130"></a>00130 <span class="comment">/* userrec optimization stuff */</span>
+<a name="l00131"></a>00131 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#AddServerName_28std_3A_3Astring_20servername_29">AddServerName</a>(<a class="code" href="namespaceirc.html#string">std::string</a> servername);
+<a name="l00132"></a>00132 <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a>(<a class="code" href="namespaceirc.html#string">std::string</a> servername);
+<a name="l00133"></a>00133 <span class="keywordtype">void</span>* <a class="code" href="inspircd_8h.html#dns_5Ftask_28void_20_2Aarg_29">dns_task</a>(<span class="keywordtype">void</span>* arg);
+<a name="l00134"></a>00134 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#process_5Fbuffer_28const_20char_20_2Acmdbuf_2C_20userrec_20_2Auser_29">process_buffer</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* cmdbuf,<a class="code" href="classuserrec.html">userrec</a> *user);
+<a name="l00135"></a>00135 <span class="keywordtype">void</span> <a class="code" href="inspircd_8h.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
+<a name="l00136"></a>00136
+<a name="l00137"></a>00137 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/inspircd_8h.html b/docs/module-doc/inspircd_8h.html
index 7fb7590fc..73e37bc94 100644
--- a/docs/module-doc/inspircd_8h.html
+++ b/docs/module-doc/inspircd_8h.html
@@ -100,8 +100,6 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd</a> (const char *commandname, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#GetRevision_28_29">GetRevision</a> ()</td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#loop_5Fcall_28handlerfunc_20fn_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Au_2C_20int_20start_2C_20int_20end_2C_20int_20joins_29">loop_call</a> (<a class="el" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">handlerfunc</a> fn, char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *u, int start, int end, int joins)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a> (<a class="el" href="classuserrec.html">userrec</a> *u)</td></tr>
@@ -110,8 +108,6 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">ReHashNick</a> (char *Old, char *New)</td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#ModuleError_28_29">ModuleError</a> ()</td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#AddOper_28userrec_20_2Auser_29">AddOper</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#DeleteOper_28userrec_20_2Auser_29">DeleteOper</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
@@ -122,8 +118,6 @@ This graph shows which files directly or indirectly include this file:<p><center
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a> (<a class="el" href="namespaceirc.html#string">std::string</a> servername)</td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#GetVersionString_28_29">GetVersionString</a> ()</td></tr>
-
<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#dns_5Ftask_28void_20_2Aarg_29">dns_task</a> (void *arg)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#process_5Fbuffer_28const_20char_20_2Acmdbuf_2C_20userrec_20_2Auser_29">process_buffer</a> (const char *cmdbuf, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
@@ -633,7 +627,7 @@ Definition at line <a class="el" href="inspircd_8h-source.html#l00070">70</a> of
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00396">Server::CallCommandHandler()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00401">Server::CallCommandHandler()</a>. </td>
</tr>
</table>
<a class="anchor" name="ConnectUser_28userrec_20_2Auser_29"></a><!-- doxytag: member="inspircd.h::ConnectUser" ref="ConnectUser_28userrec_20_2Auser_29" args="(userrec *user)" --><p>
@@ -786,7 +780,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00036">userrec::userre
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00381">Server::ChangeUserNick()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00386">Server::ChangeUserNick()</a>. </td>
</tr>
</table>
<a class="anchor" name="FullConnectUser_28userrec_20_2Auser_29"></a><!-- doxytag: member="inspircd.h::FullConnectUser" ref="FullConnectUser_28userrec_20_2Auser_29" args="(userrec *user)" --><p>
@@ -817,60 +811,6 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00381">Server::Chang
</td>
</tr>
</table>
-<a class="anchor" name="GetRevision_28_29"></a><!-- doxytag: member="inspircd.h::GetRevision" ref="GetRevision_28_29" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> GetRevision </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetVersionString_28_29"></a><!-- doxytag: member="inspircd.h::GetVersionString" ref="GetVersionString_28_29" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> GetVersionString </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</table>
<a class="anchor" name="handle_5Fversion_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="inspircd.h::handle_version" ref="handle_5Fversion_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29" args="(char **parameters, int pcnt, userrec *user)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -956,7 +896,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00381">Server::Chang
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00401">Server::IsValidModuleCommand()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00406">Server::IsValidModuleCommand()</a>. </td>
</tr>
</table>
<a class="anchor" name="kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29"></a><!-- doxytag: member="inspircd.h::kill_link" ref="kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29" args="(userrec *user, const char *r)" --><p>
@@ -995,7 +935,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00401">Server::IsVal
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00386">Server::QuitUser()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00391">Server::QuitUser()</a>. </td>
</tr>
</table>
<a class="anchor" name="kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29"></a><!-- doxytag: member="inspircd.h::kill_link_silent" ref="kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29" args="(userrec *user, const char *r)" --><p>
@@ -1102,33 +1042,6 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::Pseud
</td>
</tr>
</table>
-<a class="anchor" name="ModuleError_28_29"></a><!-- doxytag: member="inspircd.h::ModuleError" ref="ModuleError_28_29" args="()" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">char* ModuleError </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</table>
<a class="anchor" name="process_5Fbuffer_28const_20char_20_2Acmdbuf_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="inspircd.h::process_buffer" ref="process_5Fbuffer_28const_20char_20_2Acmdbuf_2C_20userrec_20_2Auser_29" args="(const char *cmdbuf, userrec *user)" --><p>
<table class="mdTable" cellpadding="2" cellspacing="0">
<tr>
@@ -1203,7 +1116,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::Pseud
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:18 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/inspircd__io_8h-source.html b/docs/module-doc/inspircd__io_8h-source.html
index c39058286..0ffcac95f 100644
--- a/docs/module-doc/inspircd__io_8h-source.html
+++ b/docs/module-doc/inspircd__io_8h-source.html
@@ -150,7 +150,7 @@
<a name="l00282"></a>00282 <span class="keywordtype">int</span> <a class="code" href="inspircd__io_8h.html#BindPorts_28_29">BindPorts</a>();
<a name="l00283"></a>00283
<a name="l00284"></a>00284 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/inspircd__io_8h.html b/docs/module-doc/inspircd__io_8h.html
index 7fce7a098..0a4cb293e 100644
--- a/docs/module-doc/inspircd__io_8h.html
+++ b/docs/module-doc/inspircd__io_8h.html
@@ -93,7 +93,7 @@ Flags for use with <a class="el" href="globals_8h.html#log_28int_20level_2C_20ch
<p>
Definition at line <a class="el" href="inspircd__io_8h-source.html#l00028">28</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00551">Server::AddExtendedMode()</a>, <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="channels_8cpp-source.html#l00167">chanrec::AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="channels_8cpp-source.html#l00173">chanrec::DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="socket_8cpp-source.html#l00062">InspSocket::InspSocket()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="socket_8cpp-source.html#l00158">InspSocket::Read()</a>, <a class="el" href="users_8cpp-source.html#l00122">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00086">chanrec::SetCustomMode()</a>, <a class="el" href="channels_8cpp-source.html#l00111">chanrec::SetCustomModeParam()</a>, <a class="el" href="socket_8cpp-source.html#l00248">InspSocket::SetState()</a>, <a class="el" href="users_8cpp-source.html#l00292">userrec::SetWriteError()</a>, <a class="el" href="socketengine_8cpp-source.html#l00035">SocketEngine::SocketEngine()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00046">SocketEngine::~SocketEngine()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00556">Server::AddExtendedMode()</a>, <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="channels_8cpp-source.html#l00167">chanrec::AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="channels_8cpp-source.html#l00173">chanrec::DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="socket_8cpp-source.html#l00062">InspSocket::InspSocket()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="socket_8cpp-source.html#l00158">InspSocket::Read()</a>, <a class="el" href="users_8cpp-source.html#l00122">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00086">chanrec::SetCustomMode()</a>, <a class="el" href="channels_8cpp-source.html#l00111">chanrec::SetCustomModeParam()</a>, <a class="el" href="socket_8cpp-source.html#l00248">InspSocket::SetState()</a>, <a class="el" href="users_8cpp-source.html#l00292">userrec::SetWriteError()</a>, <a class="el" href="socketengine_8cpp-source.html#l00035">SocketEngine::SocketEngine()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00046">SocketEngine::~SocketEngine()</a>. </td>
</tr>
</table>
<a class="anchor" name="DEFAULT"></a><!-- doxytag: member="inspircd_io.h::DEFAULT" ref="DEFAULT" args="" --><p>
@@ -453,7 +453,7 @@ Referenced by <a class="el" href="socket_8cpp-source.html#l00062">InspSocket::In
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:19 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/main.html b/docs/module-doc/main.html
index 1030583a1..daa5e6b36 100644
--- a/docs/module-doc/main.html
+++ b/docs/module-doc/main.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindexHL" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>InspIRCd Documentation</h1>
<p>
-<h3 align="center">1.0Betareleases </h3><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+<h3 align="center">1.0Betareleases </h3><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/message_8h-source.html b/docs/module-doc/message_8h-source.html
index 2d85dcae6..b4747be45 100644
--- a/docs/module-doc/message_8h-source.html
+++ b/docs/module-doc/message_8h-source.html
@@ -57,7 +57,7 @@
<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#send_5Fnetwork_5Fquit_28const_20char_20_2Anick_2C_20const_20char_20_2Areason_29">send_network_quit</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nick, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason);
<a name="l00049"></a>00049
<a name="l00050"></a>00050 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/message_8h.html b/docs/module-doc/message_8h.html
index 291b55ede..0faeacf22 100644
--- a/docs/module-doc/message_8h.html
+++ b/docs/module-doc/message_8h.html
@@ -165,7 +165,7 @@ This graph shows which files directly or indirectly include this file:<p><center
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00489">Server::ChangeHost()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00494">Server::ChangeHost()</a>. </td>
</tr>
</table>
<a class="anchor" name="ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29"></a><!-- doxytag: member="message.h::ChangeName" ref="ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29" args="(userrec *user, const char *gecos)" --><p>
@@ -204,7 +204,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00489">Server::Chang
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00494">Server::ChangeGECOS()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00499">Server::ChangeGECOS()</a>. </td>
</tr>
</table>
<a class="anchor" name="chlist_28userrec_20_2Auser_2C_20userrec_20_2Asource_29"></a><!-- doxytag: member="message.h::chlist" ref="chlist_28userrec_20_2Auser_2C_20userrec_20_2Asource_29" args="(userrec *user, userrec *source)" --><p>
@@ -458,7 +458,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00459">kick_channel
<p>
<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00524">Server::IsOnChannel()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
+Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00529">Server::IsOnChannel()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
</tr>
</table>
<a class="anchor" name="hasumode_28userrec_20_2Auser_2C_20char_20mode_29"></a><!-- doxytag: member="message.h::hasumode" ref="hasumode_28userrec_20_2Auser_2C_20char_20mode_29" args="(userrec *user, char mode)" --><p>
@@ -675,7 +675,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00195">add_channel(
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:19 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/mode_8h-source.html b/docs/module-doc/mode_8h-source.html
index e9840b46a..d82d7b6b3 100644
--- a/docs/module-doc/mode_8h-source.html
+++ b/docs/module-doc/mode_8h-source.html
@@ -55,7 +55,7 @@
<a name="l00046"></a>00046
<a name="l00047"></a>00047
<a name="l00048"></a>00048 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:11 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/mode_8h.html b/docs/module-doc/mode_8h.html
index fd523ca56..abfd7bab8 100644
--- a/docs/module-doc/mode_8h.html
+++ b/docs/module-doc/mode_8h.html
@@ -593,7 +593,7 @@ This graph shows which files directly or indirectly include this file:<p><center
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00416">Server::SendMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00421">Server::SendMode()</a>. </td>
</tr>
</table>
<a class="anchor" name="take_5Fban_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29"></a><!-- doxytag: member="mode.h::take_ban" ref="take_5Fban_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29" args="(userrec *user, char *dest, chanrec *chan, int status)" --><p>
@@ -792,7 +792,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00416">Server::SendM
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:19 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html
index c229ba336..a13d4ac10 100644
--- a/docs/module-doc/modules_8cpp-source.html
+++ b/docs/module-doc/modules_8cpp-source.html
@@ -335,611 +335,616 @@
<a name="l00326"></a>00326 <span class="keywordflow">return</span> Config;
<a name="l00327"></a>00327 }
<a name="l00328"></a>00328
-<a name="l00329"></a><a class="code" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">00329</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">Server::DelSocket</a>(<a class="code" href="classInspSocket.html">InspSocket</a>* sock)
+<a name="l00329"></a><a class="code" href="classServer.html#GetVersion_28_29">00329</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetVersion_28_29">Server::GetVersion</a>()
<a name="l00330"></a>00330 {
-<a name="l00331"></a>00331 <span class="keywordflow">for</span> (std::vector&lt;InspSocket*&gt;::iterator a = <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.begin(); a &lt; <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.end(); a++)
-<a name="l00332"></a>00332 {
-<a name="l00333"></a>00333 <span class="keywordflow">if</span> (*a == sock)
-<a name="l00334"></a>00334 {
-<a name="l00335"></a>00335 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.erase(a);
-<a name="l00336"></a>00336 <span class="keywordflow">return</span>;
-<a name="l00337"></a>00337 }
-<a name="l00338"></a>00338 }
-<a name="l00339"></a>00339 }
-<a name="l00340"></a>00340
-<a name="l00341"></a><a class="code" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">00341</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">Server::SendOpers</a>(<a class="code" href="namespaceirc.html#string">std::string</a> s)
-<a name="l00342"></a>00342 {
-<a name="l00343"></a>00343 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00331"></a>00331 <span class="keywordflow">return</span> ServerInstance-&gt;<a class="code" href="classInspIRCd.html#GetVersionString_28_29">GetVersionString</a>();
+<a name="l00332"></a>00332 }
+<a name="l00333"></a>00333
+<a name="l00334"></a><a class="code" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">00334</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">Server::DelSocket</a>(<a class="code" href="classInspSocket.html">InspSocket</a>* sock)
+<a name="l00335"></a>00335 {
+<a name="l00336"></a>00336 <span class="keywordflow">for</span> (std::vector&lt;InspSocket*&gt;::iterator a = <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.begin(); a &lt; <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.end(); a++)
+<a name="l00337"></a>00337 {
+<a name="l00338"></a>00338 <span class="keywordflow">if</span> (*a == sock)
+<a name="l00339"></a>00339 {
+<a name="l00340"></a>00340 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.erase(a);
+<a name="l00341"></a>00341 <span class="keywordflow">return</span>;
+<a name="l00342"></a>00342 }
+<a name="l00343"></a>00343 }
<a name="l00344"></a>00344 }
<a name="l00345"></a>00345
-<a name="l00346"></a><a class="code" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">00346</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">Server::MatchText</a>(<a class="code" href="namespaceirc.html#string">std::string</a> sliteral, <a class="code" href="namespaceirc.html#string">std::string</a> spattern)
+<a name="l00346"></a><a class="code" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">00346</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">Server::SendOpers</a>(<a class="code" href="namespaceirc.html#string">std::string</a> s)
<a name="l00347"></a>00347 {
-<a name="l00348"></a>00348 <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
-<a name="l00349"></a>00349 strlcpy(literal,sliteral.c_str(),MAXBUF);
-<a name="l00350"></a>00350 strlcpy(pattern,spattern.c_str(),MAXBUF);
-<a name="l00351"></a>00351 <span class="keywordflow">return</span> match(literal,pattern);
-<a name="l00352"></a>00352 }
-<a name="l00353"></a>00353
-<a name="l00354"></a><a class="code" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">00354</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">Server::SendToModeMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> modes, <span class="keywordtype">int</span> flags, <a class="code" href="namespaceirc.html#string">std::string</a> text)
-<a name="l00355"></a>00355 {
-<a name="l00356"></a>00356 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00348"></a>00348 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00349"></a>00349 }
+<a name="l00350"></a>00350
+<a name="l00351"></a><a class="code" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">00351</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">Server::MatchText</a>(<a class="code" href="namespaceirc.html#string">std::string</a> sliteral, <a class="code" href="namespaceirc.html#string">std::string</a> spattern)
+<a name="l00352"></a>00352 {
+<a name="l00353"></a>00353 <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
+<a name="l00354"></a>00354 strlcpy(literal,sliteral.c_str(),MAXBUF);
+<a name="l00355"></a>00355 strlcpy(pattern,spattern.c_str(),MAXBUF);
+<a name="l00356"></a>00356 <span class="keywordflow">return</span> match(literal,pattern);
<a name="l00357"></a>00357 }
<a name="l00358"></a>00358
-<a name="l00359"></a><a class="code" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">00359</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">Server::JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> key)
+<a name="l00359"></a><a class="code" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">00359</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">Server::SendToModeMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> modes, <span class="keywordtype">int</span> flags, <a class="code" href="namespaceirc.html#string">std::string</a> text)
<a name="l00360"></a>00360 {
-<a name="l00361"></a>00361 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">add_channel</a>(user,cname.c_str(),key.c_str(),<span class="keyword">false</span>);
+<a name="l00361"></a>00361 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
<a name="l00362"></a>00362 }
<a name="l00363"></a>00363
-<a name="l00364"></a><a class="code" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">00364</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">Server::PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> reason)
+<a name="l00364"></a><a class="code" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">00364</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">Server::JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> key)
<a name="l00365"></a>00365 {
-<a name="l00366"></a>00366 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">del_channel</a>(user,cname.c_str(),reason.c_str(),<span class="keyword">false</span>);
+<a name="l00366"></a>00366 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">add_channel</a>(user,cname.c_str(),key.c_str(),<span class="keyword">false</span>);
<a name="l00367"></a>00367 }
<a name="l00368"></a>00368
-<a name="l00369"></a><a class="code" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">00369</a> <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> <a class="code" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">Server::GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan)
+<a name="l00369"></a><a class="code" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">00369</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">Server::PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> reason)
<a name="l00370"></a>00370 {
-<a name="l00371"></a>00371 <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> userl;
-<a name="l00372"></a>00372 userl.clear();
-<a name="l00373"></a>00373 std::vector&lt;char*&gt; *list = chan-&gt;<a class="code" href="classchanrec.html#GetUsers_28_29">GetUsers</a>();
-<a name="l00374"></a>00374 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator i = list-&gt;begin(); i != list-&gt;end(); i++)
-<a name="l00375"></a>00375 {
-<a name="l00376"></a>00376 <span class="keywordtype">char</span>* o = *i;
-<a name="l00377"></a>00377 userl.push_back((<a class="code" href="classuserrec.html">userrec</a>*)o);
-<a name="l00378"></a>00378 }
-<a name="l00379"></a>00379 <span class="keywordflow">return</span> userl;
-<a name="l00380"></a>00380 }
-<a name="l00381"></a><a class="code" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">00381</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">Server::ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> nickname)
-<a name="l00382"></a>00382 {
-<a name="l00383"></a>00383 <a class="code" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(user,nickname.c_str());
-<a name="l00384"></a>00384 }
-<a name="l00385"></a>00385
-<a name="l00386"></a><a class="code" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">00386</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">Server::QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> reason)
+<a name="l00371"></a>00371 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">del_channel</a>(user,cname.c_str(),reason.c_str(),<span class="keyword">false</span>);
+<a name="l00372"></a>00372 }
+<a name="l00373"></a>00373
+<a name="l00374"></a><a class="code" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">00374</a> <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> <a class="code" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">Server::GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan)
+<a name="l00375"></a>00375 {
+<a name="l00376"></a>00376 <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> userl;
+<a name="l00377"></a>00377 userl.clear();
+<a name="l00378"></a>00378 std::vector&lt;char*&gt; *list = chan-&gt;<a class="code" href="classchanrec.html#GetUsers_28_29">GetUsers</a>();
+<a name="l00379"></a>00379 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator i = list-&gt;begin(); i != list-&gt;end(); i++)
+<a name="l00380"></a>00380 {
+<a name="l00381"></a>00381 <span class="keywordtype">char</span>* o = *i;
+<a name="l00382"></a>00382 userl.push_back((<a class="code" href="classuserrec.html">userrec</a>*)o);
+<a name="l00383"></a>00383 }
+<a name="l00384"></a>00384 <span class="keywordflow">return</span> userl;
+<a name="l00385"></a>00385 }
+<a name="l00386"></a><a class="code" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">00386</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">Server::ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> nickname)
<a name="l00387"></a>00387 {
-<a name="l00388"></a>00388 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,reason.c_str());
+<a name="l00388"></a>00388 <a class="code" href="inspircd_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(user,nickname.c_str());
<a name="l00389"></a>00389 }
<a name="l00390"></a>00390
-<a name="l00391"></a><a class="code" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">00391</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">Server::IsUlined</a>(<a class="code" href="namespaceirc.html#string">std::string</a> server)
+<a name="l00391"></a><a class="code" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">00391</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">Server::QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> reason)
<a name="l00392"></a>00392 {
-<a name="l00393"></a>00393 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(server.c_str());
+<a name="l00393"></a>00393 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,reason.c_str());
<a name="l00394"></a>00394 }
<a name="l00395"></a>00395
-<a name="l00396"></a><a class="code" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00396</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server::CallCommandHandler</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">char</span>** parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user)
+<a name="l00396"></a><a class="code" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">00396</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">Server::IsUlined</a>(<a class="code" href="namespaceirc.html#string">std::string</a> server)
<a name="l00397"></a>00397 {
-<a name="l00398"></a>00398 <a class="code" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler</a>(commandname.c_str(),parameters,pcnt,user);
+<a name="l00398"></a>00398 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(server.c_str());
<a name="l00399"></a>00399 }
<a name="l00400"></a>00400
-<a name="l00401"></a><a class="code" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00401</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server::IsValidModuleCommand</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user)
+<a name="l00401"></a><a class="code" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00401</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server::CallCommandHandler</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">char</span>** parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user)
<a name="l00402"></a>00402 {
-<a name="l00403"></a>00403 <span class="keywordflow">return</span> <a class="code" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd</a>(commandname.c_str(), pcnt, user);
+<a name="l00403"></a>00403 <a class="code" href="inspircd_8h.html#call_5Fhandler_28const_20char_20_2Acommandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">call_handler</a>(commandname.c_str(),parameters,pcnt,user);
<a name="l00404"></a>00404 }
<a name="l00405"></a>00405
-<a name="l00406"></a><a class="code" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">00406</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Server::Log</a>(<span class="keywordtype">int</span> level, <a class="code" href="namespaceirc.html#string">std::string</a> s)
+<a name="l00406"></a><a class="code" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00406</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server::IsValidModuleCommand</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user)
<a name="l00407"></a>00407 {
-<a name="l00408"></a>00408 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(level,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00408"></a>00408 <span class="keywordflow">return</span> <a class="code" href="inspircd_8h.html#is_5Fvalid_5Fcmd_28const_20char_20_2Acommandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">is_valid_cmd</a>(commandname.c_str(), pcnt, user);
<a name="l00409"></a>00409 }
<a name="l00410"></a>00410
-<a name="l00411"></a><a class="code" href="classServer.html#AddCommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">00411</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddCommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, <a class="code" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">handlerfunc</a> f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams, <span class="keywordtype">char</span>* source)
+<a name="l00411"></a><a class="code" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">00411</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Server::Log</a>(<span class="keywordtype">int</span> level, <a class="code" href="namespaceirc.html#string">std::string</a> s)
<a name="l00412"></a>00412 {
-<a name="l00413"></a>00413 <a class="code" href="modules_8h.html#createcommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">createcommand</a>(cmd,f,flags,minparams,source);
+<a name="l00413"></a>00413 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(level,<span class="stringliteral">"%s"</span>,s.c_str());
<a name="l00414"></a>00414 }
<a name="l00415"></a>00415
-<a name="l00416"></a><a class="code" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00416</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
+<a name="l00416"></a><a class="code" href="classServer.html#AddCommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">00416</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddCommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">Server::AddCommand</a>(<span class="keywordtype">char</span>* cmd, <a class="code" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">handlerfunc</a> f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams, <span class="keywordtype">char</span>* source)
<a name="l00417"></a>00417 {
-<a name="l00418"></a>00418 <a class="code" href="mode_8h.html#server_5Fmode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">server_mode</a>(parameters,pcnt,user);
+<a name="l00418"></a>00418 <a class="code" href="modules_8h.html#createcommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">createcommand</a>(cmd,f,flags,minparams,source);
<a name="l00419"></a>00419 }
<a name="l00420"></a>00420
-<a name="l00421"></a><a class="code" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">00421</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server::Send</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s)
+<a name="l00421"></a><a class="code" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00421</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server::SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user)
<a name="l00422"></a>00422 {
-<a name="l00423"></a>00423 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00423"></a>00423 <a class="code" href="mode_8h.html#server_5Fmode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">server_mode</a>(parameters,pcnt,user);
<a name="l00424"></a>00424 }
<a name="l00425"></a>00425
-<a name="l00426"></a><a class="code" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">00426</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server::SendServ</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s)
+<a name="l00426"></a><a class="code" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">00426</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server::Send</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s)
<a name="l00427"></a>00427 {
-<a name="l00428"></a>00428 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00428"></a>00428 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
<a name="l00429"></a>00429 }
<a name="l00430"></a>00430
-<a name="l00431"></a><a class="code" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">00431</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">Server::SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> s)
+<a name="l00431"></a><a class="code" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">00431</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server::SendServ</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s)
<a name="l00432"></a>00432 {
-<a name="l00433"></a>00433 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00433"></a>00433 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(Socket,<span class="stringliteral">"%s"</span>,s.c_str());
<a name="l00434"></a>00434 }
<a name="l00435"></a>00435
-<a name="l00436"></a><a class="code" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">00436</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">Server::SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, <a class="code" href="namespaceirc.html#string">std::string</a> s)
+<a name="l00436"></a><a class="code" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">00436</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">Server::SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> s)
<a name="l00437"></a>00437 {
-<a name="l00438"></a>00438 <span class="keywordflow">if</span> (!Source)
-<a name="l00439"></a>00439 {
-<a name="l00440"></a>00440 <span class="comment">// if source is NULL, then the message originates from the local server</span>
-<a name="l00441"></a>00441 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Dest-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s %s"</span>,this-&gt;GetServerName().c_str(),s.c_str());
-<a name="l00442"></a>00442 }
-<a name="l00443"></a>00443 <span class="keywordflow">else</span>
+<a name="l00438"></a>00438 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(Socket,User,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00439"></a>00439 }
+<a name="l00440"></a>00440
+<a name="l00441"></a><a class="code" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">00441</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">Server::SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, <a class="code" href="namespaceirc.html#string">std::string</a> s)
+<a name="l00442"></a>00442 {
+<a name="l00443"></a>00443 <span class="keywordflow">if</span> (!Source)
<a name="l00444"></a>00444 {
-<a name="l00445"></a>00445 <span class="comment">// otherwise it comes from the user specified</span>
-<a name="l00446"></a>00446 <a class="code" href="globals_8h.html#WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29">WriteTo</a>(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00445"></a>00445 <span class="comment">// if source is NULL, then the message originates from the local server</span>
+<a name="l00446"></a>00446 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(Dest-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s %s"</span>,this-&gt;GetServerName().c_str(),s.c_str());
<a name="l00447"></a>00447 }
-<a name="l00448"></a>00448 }
-<a name="l00449"></a>00449
-<a name="l00450"></a><a class="code" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">00450</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">Server::SendChannelServerNotice</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ServName, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> text)
-<a name="l00451"></a>00451 {
-<a name="l00452"></a>00452 WriteChannelWithServ((<span class="keywordtype">char</span>*)ServName.c_str(), Channel, <span class="stringliteral">"%s"</span>, text.c_str());
+<a name="l00448"></a>00448 <span class="keywordflow">else</span>
+<a name="l00449"></a>00449 {
+<a name="l00450"></a>00450 <span class="comment">// otherwise it comes from the user specified</span>
+<a name="l00451"></a>00451 <a class="code" href="globals_8h.html#WriteTo_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20char_20_2Adata_2C_2E_2E_2E_29">WriteTo</a>(Source,Dest,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00452"></a>00452 }
<a name="l00453"></a>00453 }
<a name="l00454"></a>00454
-<a name="l00455"></a><a class="code" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">00455</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">Server::SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> s,<span class="keywordtype">bool</span> IncludeSender)
+<a name="l00455"></a><a class="code" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">00455</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">Server::SendChannelServerNotice</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ServName, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> text)
<a name="l00456"></a>00456 {
-<a name="l00457"></a>00457 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00458"></a>00458 {
-<a name="l00459"></a>00459 <a class="code" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00460"></a>00460 }
-<a name="l00461"></a>00461 <span class="keywordflow">else</span>
-<a name="l00462"></a>00462 {
-<a name="l00463"></a>00463 <a class="code" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">ChanExceptSender</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
-<a name="l00464"></a>00464 }
-<a name="l00465"></a>00465 }
-<a name="l00466"></a>00466
-<a name="l00467"></a><a class="code" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">00467</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">Server::CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2)
-<a name="l00468"></a>00468 {
-<a name="l00469"></a>00469 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a>(u1,u2) != 0);
+<a name="l00457"></a>00457 WriteChannelWithServ((<span class="keywordtype">char</span>*)ServName.c_str(), Channel, <span class="stringliteral">"%s"</span>, text.c_str());
+<a name="l00458"></a>00458 }
+<a name="l00459"></a>00459
+<a name="l00460"></a><a class="code" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">00460</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">Server::SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> s,<span class="keywordtype">bool</span> IncludeSender)
+<a name="l00461"></a>00461 {
+<a name="l00462"></a>00462 <span class="keywordflow">if</span> (IncludeSender)
+<a name="l00463"></a>00463 {
+<a name="l00464"></a>00464 <a class="code" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteChannel</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00465"></a>00465 }
+<a name="l00466"></a>00466 <span class="keywordflow">else</span>
+<a name="l00467"></a>00467 {
+<a name="l00468"></a>00468 <a class="code" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">ChanExceptSender</a>(Channel,User,<span class="stringliteral">"%s"</span>,s.c_str());
+<a name="l00469"></a>00469 }
<a name="l00470"></a>00470 }
<a name="l00471"></a>00471
-<a name="l00472"></a><a class="code" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">00472</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">Server::SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text,<span class="keywordtype">bool</span> IncludeSender)
+<a name="l00472"></a><a class="code" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">00472</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">Server::CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2)
<a name="l00473"></a>00473 {
-<a name="l00474"></a>00474 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00475"></a>00475 {
-<a name="l00476"></a>00476 <a class="code" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00477"></a>00477 }
-<a name="l00478"></a>00478 <span class="keywordflow">else</span>
-<a name="l00479"></a>00479 {
-<a name="l00480"></a>00480 <a class="code" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00481"></a>00481 }
-<a name="l00482"></a>00482 }
-<a name="l00483"></a>00483
-<a name="l00484"></a><a class="code" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">00484</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">Server::SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text)
-<a name="l00485"></a>00485 {
-<a name="l00486"></a>00486 <a class="code" href="globals_8h.html#WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteWallOps</a>(User,<span class="keyword">false</span>,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00474"></a>00474 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a>(u1,u2) != 0);
+<a name="l00475"></a>00475 }
+<a name="l00476"></a>00476
+<a name="l00477"></a><a class="code" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">00477</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">Server::SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text,<span class="keywordtype">bool</span> IncludeSender)
+<a name="l00478"></a>00478 {
+<a name="l00479"></a>00479 <span class="keywordflow">if</span> (IncludeSender)
+<a name="l00480"></a>00480 {
+<a name="l00481"></a>00481 <a class="code" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00482"></a>00482 }
+<a name="l00483"></a>00483 <span class="keywordflow">else</span>
+<a name="l00484"></a>00484 {
+<a name="l00485"></a>00485 <a class="code" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept</a>(User,<span class="stringliteral">"%s"</span>,text.c_str());
+<a name="l00486"></a>00486 }
<a name="l00487"></a>00487 }
<a name="l00488"></a>00488
-<a name="l00489"></a><a class="code" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">00489</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">Server::ChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> host)
+<a name="l00489"></a><a class="code" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">00489</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">Server::SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text)
<a name="l00490"></a>00490 {
-<a name="l00491"></a>00491 <a class="code" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost</a>(user,host.c_str());
+<a name="l00491"></a>00491 <a class="code" href="globals_8h.html#WriteWallOps_28userrec_20_2Asource_2C_20bool_20local_5Fonly_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteWallOps</a>(User,<span class="keyword">false</span>,<span class="stringliteral">"%s"</span>,text.c_str());
<a name="l00492"></a>00492 }
<a name="l00493"></a>00493
-<a name="l00494"></a><a class="code" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">00494</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">Server::ChangeGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> gecos)
+<a name="l00494"></a><a class="code" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">00494</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">Server::ChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> host)
<a name="l00495"></a>00495 {
-<a name="l00496"></a>00496 <a class="code" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName</a>(user,gecos.c_str());
+<a name="l00496"></a>00496 <a class="code" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost</a>(user,host.c_str());
<a name="l00497"></a>00497 }
<a name="l00498"></a>00498
-<a name="l00499"></a><a class="code" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">00499</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">Server::IsNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick)
+<a name="l00499"></a><a class="code" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">00499</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">Server::ChangeGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> gecos)
<a name="l00500"></a>00500 {
-<a name="l00501"></a>00501 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick</a>(nick.c_str()) != 0);
+<a name="l00501"></a>00501 <a class="code" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName</a>(user,gecos.c_str());
<a name="l00502"></a>00502 }
<a name="l00503"></a>00503
-<a name="l00504"></a><a class="code" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">00504</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">Server::FindNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick)
+<a name="l00504"></a><a class="code" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">00504</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">Server::IsNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick)
<a name="l00505"></a>00505 {
-<a name="l00506"></a>00506 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a>(nick);
+<a name="l00506"></a>00506 <span class="keywordflow">return</span> (<a class="code" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick</a>(nick.c_str()) != 0);
<a name="l00507"></a>00507 }
<a name="l00508"></a>00508
-<a name="l00509"></a><a class="code" href="classServer.html#FindDescriptor_28int_20socket_29">00509</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindDescriptor_28int_20socket_29">Server::FindDescriptor</a>(<span class="keywordtype">int</span> socket)
+<a name="l00509"></a><a class="code" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">00509</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">Server::FindNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick)
<a name="l00510"></a>00510 {
-<a name="l00511"></a>00511 <span class="keywordflow">return</span> (socket &lt; 65536 ? fd_ref_table[socket] : NULL);
+<a name="l00511"></a>00511 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a>(nick);
<a name="l00512"></a>00512 }
<a name="l00513"></a>00513
-<a name="l00514"></a><a class="code" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">00514</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">Server::FindChannel</a>(<a class="code" href="namespaceirc.html#string">std::string</a> channel)
+<a name="l00514"></a><a class="code" href="classServer.html#FindDescriptor_28int_20socket_29">00514</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindDescriptor_28int_20socket_29">Server::FindDescriptor</a>(<span class="keywordtype">int</span> socket)
<a name="l00515"></a>00515 {
-<a name="l00516"></a>00516 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(channel.c_str());
+<a name="l00516"></a>00516 <span class="keywordflow">return</span> (socket &lt; 65536 ? fd_ref_table[socket] : NULL);
<a name="l00517"></a>00517 }
<a name="l00518"></a>00518
-<a name="l00519"></a><a class="code" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">00519</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
+<a name="l00519"></a><a class="code" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">00519</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">Server::FindChannel</a>(<a class="code" href="namespaceirc.html#string">std::string</a> channel)
<a name="l00520"></a>00520 {
-<a name="l00521"></a>00521 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a>(User,Chan);
+<a name="l00521"></a>00521 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(channel.c_str());
<a name="l00522"></a>00522 }
<a name="l00523"></a>00523
-<a name="l00524"></a><a class="code" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">00524</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server::IsOnChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
+<a name="l00524"></a><a class="code" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">00524</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server::ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
<a name="l00525"></a>00525 {
-<a name="l00526"></a>00526 <span class="keywordflow">return</span> <a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(User,Chan);
+<a name="l00526"></a>00526 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a>(User,Chan);
<a name="l00527"></a>00527 }
<a name="l00528"></a>00528
-<a name="l00529"></a><a class="code" href="classServer.html#GetServerName_28_29">00529</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerName_28_29">Server::GetServerName</a>()
+<a name="l00529"></a><a class="code" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">00529</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server::IsOnChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan)
<a name="l00530"></a>00530 {
-<a name="l00531"></a>00531 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>;
+<a name="l00531"></a>00531 <span class="keywordflow">return</span> <a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(User,Chan);
<a name="l00532"></a>00532 }
<a name="l00533"></a>00533
-<a name="l00534"></a><a class="code" href="classServer.html#GetNetworkName_28_29">00534</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetNetworkName_28_29">Server::GetNetworkName</a>()
+<a name="l00534"></a><a class="code" href="classServer.html#GetServerName_28_29">00534</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerName_28_29">Server::GetServerName</a>()
<a name="l00535"></a>00535 {
-<a name="l00536"></a>00536 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
+<a name="l00536"></a>00536 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>;
<a name="l00537"></a>00537 }
<a name="l00538"></a>00538
-<a name="l00539"></a><a class="code" href="classServer.html#GetServerDescription_28_29">00539</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerDescription_28_29">Server::GetServerDescription</a>()
+<a name="l00539"></a><a class="code" href="classServer.html#GetNetworkName_28_29">00539</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetNetworkName_28_29">Server::GetNetworkName</a>()
<a name="l00540"></a>00540 {
-<a name="l00541"></a>00541 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a>;
+<a name="l00541"></a>00541 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
<a name="l00542"></a>00542 }
<a name="l00543"></a>00543
-<a name="l00544"></a><a class="code" href="classServer.html#GetAdmin_28_29">00544</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#GetAdmin_28_29">Server::GetAdmin</a>()
+<a name="l00544"></a><a class="code" href="classServer.html#GetServerDescription_28_29">00544</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerDescription_28_29">Server::GetServerDescription</a>()
<a name="l00545"></a>00545 {
-<a name="l00546"></a>00546 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(Config-&gt;<a class="code" href="classServerConfig.html#AdminName_5BMAXBUF_5D">AdminName</a>,Config-&gt;<a class="code" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">AdminEmail</a>,Config-&gt;<a class="code" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">AdminNick</a>);
+<a name="l00546"></a>00546 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a>;
<a name="l00547"></a>00547 }
<a name="l00548"></a>00548
-<a name="l00549"></a>00549
-<a name="l00550"></a>00550
-<a name="l00551"></a><a class="code" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">00551</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">Server::AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> requires_oper, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off)
-<a name="l00552"></a>00552 {
-<a name="l00553"></a>00553 <span class="keywordflow">if</span> (((modechar &gt;= <span class="charliteral">'A'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'Z'</span>)) || ((modechar &gt;= <span class="charliteral">'a'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'z'</span>)))
-<a name="l00554"></a>00554 {
-<a name="l00555"></a>00555 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#MT_5FSERVER">MT_SERVER</a>)
-<a name="l00556"></a>00556 {
-<a name="l00557"></a>00557 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
-<a name="l00558"></a>00558 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00559"></a>00559 }
-<a name="l00560"></a>00560 <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#MT_5FCLIENT">MT_CLIENT</a>))
+<a name="l00549"></a><a class="code" href="classServer.html#GetAdmin_28_29">00549</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#GetAdmin_28_29">Server::GetAdmin</a>()
+<a name="l00550"></a>00550 {
+<a name="l00551"></a>00551 <span class="keywordflow">return</span> <a class="code" href="classAdmin.html">Admin</a>(Config-&gt;<a class="code" href="classServerConfig.html#AdminName_5BMAXBUF_5D">AdminName</a>,Config-&gt;<a class="code" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">AdminEmail</a>,Config-&gt;<a class="code" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">AdminNick</a>);
+<a name="l00552"></a>00552 }
+<a name="l00553"></a>00553
+<a name="l00554"></a>00554
+<a name="l00555"></a>00555
+<a name="l00556"></a><a class="code" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">00556</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">Server::AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> requires_oper, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off)
+<a name="l00557"></a>00557 {
+<a name="l00558"></a>00558 <span class="keywordflow">if</span> (((modechar &gt;= <span class="charliteral">'A'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'Z'</span>)) || ((modechar &gt;= <span class="charliteral">'a'</span>) &amp;&amp; (modechar &lt;= <span class="charliteral">'z'</span>)))
+<a name="l00559"></a>00559 {
+<a name="l00560"></a>00560 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#MT_5FSERVER">MT_SERVER</a>)
<a name="l00561"></a>00561 {
-<a name="l00562"></a>00562 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
+<a name="l00562"></a>00562 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Modes of type MT_SERVER are reserved for future expansion"</span>);
<a name="l00563"></a>00563 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00564"></a>00564 }
-<a name="l00565"></a>00565 <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
+<a name="l00565"></a>00565 <span class="keywordflow">if</span> (((params_when_on&gt;0) || (params_when_off&gt;0)) &amp;&amp; (type == <a class="code" href="modules_8h.html#MT_5FCLIENT">MT_CLIENT</a>))
<a name="l00566"></a>00566 {
-<a name="l00567"></a>00567 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+<a name="l00567"></a>00567 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Parameters on MT_CLIENT modes are not supported"</span>);
<a name="l00568"></a>00568 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00569"></a>00569 }
-<a name="l00570"></a>00570 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,type,requires_oper,params_when_on,params_when_off);
-<a name="l00571"></a>00571 }
-<a name="l00572"></a>00572 <span class="keywordflow">else</span>
-<a name="l00573"></a>00573 {
-<a name="l00574"></a>00574 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Muppet modechar detected."</span>);
-<a name="l00575"></a>00575 }
-<a name="l00576"></a>00576 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00577"></a>00577 }
-<a name="l00578"></a>00578
-<a name="l00579"></a><a class="code" href="classServer.html#AddExtendedListMode_28char_20modechar_29">00579</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedListMode_28char_20modechar_29">Server::AddExtendedListMode</a>(<span class="keywordtype">char</span> modechar)
-<a name="l00580"></a>00580 {
-<a name="l00581"></a>00581 <span class="keywordtype">bool</span> res = <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,<a class="code" href="modules_8h.html#MT_5FCHANNEL">MT_CHANNEL</a>,<span class="keyword">false</span>,1,1);
-<a name="l00582"></a>00582 <span class="keywordflow">if</span> (res)
-<a name="l00583"></a>00583 <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(modechar);
-<a name="l00584"></a>00584 <span class="keywordflow">return</span> res;
-<a name="l00585"></a>00585 }
-<a name="l00586"></a>00586
-<a name="l00587"></a><a class="code" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">00587</a> <span class="keywordtype">int</span> <a class="code" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">Server::CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c)
-<a name="l00588"></a>00588 {
-<a name="l00589"></a>00589 <span class="keywordflow">return</span> usercount(c);
+<a name="l00570"></a>00570 <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
+<a name="l00571"></a>00571 {
+<a name="l00572"></a>00572 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** More than one parameter for an MT_CHANNEL mode is not yet supported"</span>);
+<a name="l00573"></a>00573 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00574"></a>00574 }
+<a name="l00575"></a>00575 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,type,requires_oper,params_when_on,params_when_off);
+<a name="l00576"></a>00576 }
+<a name="l00577"></a>00577 <span class="keywordflow">else</span>
+<a name="l00578"></a>00578 {
+<a name="l00579"></a>00579 <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<a class="code" href="inspircd__io_8h.html#DEBUG">DEBUG</a>,<span class="stringliteral">"*** API ERROR *** Muppet modechar detected."</span>);
+<a name="l00580"></a>00580 }
+<a name="l00581"></a>00581 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00582"></a>00582 }
+<a name="l00583"></a>00583
+<a name="l00584"></a><a class="code" href="classServer.html#AddExtendedListMode_28char_20modechar_29">00584</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedListMode_28char_20modechar_29">Server::AddExtendedListMode</a>(<span class="keywordtype">char</span> modechar)
+<a name="l00585"></a>00585 {
+<a name="l00586"></a>00586 <span class="keywordtype">bool</span> res = <a class="code" href="modules_8cpp.html#DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29">DoAddExtendedMode</a>(modechar,<a class="code" href="modules_8h.html#MT_5FCHANNEL">MT_CHANNEL</a>,<span class="keyword">false</span>,1,1);
+<a name="l00587"></a>00587 <span class="keywordflow">if</span> (res)
+<a name="l00588"></a>00588 <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(modechar);
+<a name="l00589"></a>00589 <span class="keywordflow">return</span> res;
<a name="l00590"></a>00590 }
<a name="l00591"></a>00591
-<a name="l00592"></a>00592
-<a name="l00593"></a><a class="code" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">00593</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">Server::UserToPseudo</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<a class="code" href="namespaceirc.html#string">std::string</a> message)
-<a name="l00594"></a>00594 {
-<a name="l00595"></a>00595 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> old_fd = user-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
-<a name="l00596"></a>00596 user-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
-<a name="l00597"></a>00597 user-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00598"></a>00598 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(old_fd,<span class="stringliteral">"ERROR :Closing link (%s@%s) [%s]"</span>,user-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,user-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,message.c_str());
-<a name="l00599"></a>00599 SE-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(old_fd);
-<a name="l00600"></a>00600 shutdown(old_fd,2);
-<a name="l00601"></a>00601 close(old_fd);
-<a name="l00602"></a>00602 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00603"></a>00603 }
-<a name="l00604"></a>00604
-<a name="l00605"></a><a class="code" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">00605</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">Server::PseudoToUser</a>(<a class="code" href="classuserrec.html">userrec</a>* alive,<a class="code" href="classuserrec.html">userrec</a>* zombie,<a class="code" href="namespaceirc.html#string">std::string</a> message)
-<a name="l00606"></a>00606 {
-<a name="l00607"></a>00607 zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a> = alive-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
-<a name="l00608"></a>00608 alive-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
-<a name="l00609"></a>00609 alive-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00610"></a>00610 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s!%s@%s NICK %s"</span>,alive-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,alive-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,alive-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00611"></a>00611 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(alive,message.c_str());
-<a name="l00612"></a>00612 fd_ref_table[zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = zombie;
-<a name="l00613"></a>00613 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; zombie-&gt;chans.size(); i++)
-<a name="l00614"></a>00614 {
-<a name="l00615"></a>00615 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel != NULL)
-<a name="l00616"></a>00616 {
-<a name="l00617"></a>00617 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name)
-<a name="l00618"></a>00618 {
-<a name="l00619"></a>00619 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel;
-<a name="l00620"></a>00620 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,zombie,<span class="stringliteral">"JOIN %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00621"></a>00621 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
-<a name="l00622"></a>00622 {
-<a name="l00623"></a>00623 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"332 %s %s :%s"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>);
-<a name="l00624"></a>00624 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"333 %s %s %s %d"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>);
-<a name="l00625"></a>00625 }
-<a name="l00626"></a>00626 userlist(zombie,Ptr);
-<a name="l00627"></a>00627 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"366 %s %s :End of /NAMES list."</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00628"></a>00628
-<a name="l00629"></a>00629 }
-<a name="l00630"></a>00630 }
-<a name="l00631"></a>00631 }
-<a name="l00632"></a>00632 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00633"></a>00633 }
-<a name="l00634"></a>00634
-<a name="l00635"></a><a class="code" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00635</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server::AddGLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
-<a name="l00636"></a>00636 {
-<a name="l00637"></a>00637 <a class="code" href="xline_8h.html#add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_gline</a>(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+<a name="l00592"></a><a class="code" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">00592</a> <span class="keywordtype">int</span> <a class="code" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">Server::CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c)
+<a name="l00593"></a>00593 {
+<a name="l00594"></a>00594 <span class="keywordflow">return</span> usercount(c);
+<a name="l00595"></a>00595 }
+<a name="l00596"></a>00596
+<a name="l00597"></a>00597
+<a name="l00598"></a><a class="code" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">00598</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">Server::UserToPseudo</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<a class="code" href="namespaceirc.html#string">std::string</a> message)
+<a name="l00599"></a>00599 {
+<a name="l00600"></a>00600 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> old_fd = user-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
+<a name="l00601"></a>00601 user-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
+<a name="l00602"></a>00602 user-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
+<a name="l00603"></a>00603 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(old_fd,<span class="stringliteral">"ERROR :Closing link (%s@%s) [%s]"</span>,user-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,user-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,message.c_str());
+<a name="l00604"></a>00604 SE-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(old_fd);
+<a name="l00605"></a>00605 shutdown(old_fd,2);
+<a name="l00606"></a>00606 close(old_fd);
+<a name="l00607"></a>00607 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00608"></a>00608 }
+<a name="l00609"></a>00609
+<a name="l00610"></a><a class="code" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">00610</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">Server::PseudoToUser</a>(<a class="code" href="classuserrec.html">userrec</a>* alive,<a class="code" href="classuserrec.html">userrec</a>* zombie,<a class="code" href="namespaceirc.html#string">std::string</a> message)
+<a name="l00611"></a>00611 {
+<a name="l00612"></a>00612 zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a> = alive-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
+<a name="l00613"></a>00613 alive-&gt;<a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>;
+<a name="l00614"></a>00614 alive-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
+<a name="l00615"></a>00615 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">":%s!%s@%s NICK %s"</span>,alive-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,alive-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,alive-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
+<a name="l00616"></a>00616 <a class="code" href="inspircd_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(alive,message.c_str());
+<a name="l00617"></a>00617 fd_ref_table[zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = zombie;
+<a name="l00618"></a>00618 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; zombie-&gt;chans.size(); i++)
+<a name="l00619"></a>00619 {
+<a name="l00620"></a>00620 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel != NULL)
+<a name="l00621"></a>00621 {
+<a name="l00622"></a>00622 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name)
+<a name="l00623"></a>00623 {
+<a name="l00624"></a>00624 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel;
+<a name="l00625"></a>00625 <a class="code" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteFrom</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,zombie,<span class="stringliteral">"JOIN %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
+<a name="l00626"></a>00626 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
+<a name="l00627"></a>00627 {
+<a name="l00628"></a>00628 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"332 %s %s :%s"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>);
+<a name="l00629"></a>00629 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"333 %s %s %s %d"</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, Ptr-&gt;<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>, Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>);
+<a name="l00630"></a>00630 }
+<a name="l00631"></a>00631 userlist(zombie,Ptr);
+<a name="l00632"></a>00632 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"366 %s %s :End of /NAMES list."</span>, zombie-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
+<a name="l00633"></a>00633
+<a name="l00634"></a>00634 }
+<a name="l00635"></a>00635 }
+<a name="l00636"></a>00636 }
+<a name="l00637"></a>00637 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00638"></a>00638 }
<a name="l00639"></a>00639
-<a name="l00640"></a><a class="code" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">00640</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">Server::AddQLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> nickname)
+<a name="l00640"></a><a class="code" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00640</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server::AddGLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
<a name="l00641"></a>00641 {
-<a name="l00642"></a>00642 <a class="code" href="xline_8h.html#add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29">add_qline</a>(duration, source.c_str(), reason.c_str(), nickname.c_str());
+<a name="l00642"></a>00642 <a class="code" href="xline_8h.html#add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_gline</a>(duration, source.c_str(), reason.c_str(), hostmask.c_str());
<a name="l00643"></a>00643 }
<a name="l00644"></a>00644
-<a name="l00645"></a><a class="code" href="classServer.html#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">00645</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">Server::AddZLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> ipaddr)
+<a name="l00645"></a><a class="code" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">00645</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">Server::AddQLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> nickname)
<a name="l00646"></a>00646 {
-<a name="l00647"></a>00647 <a class="code" href="xline_8h.html#add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29">add_zline</a>(duration, source.c_str(), reason.c_str(), ipaddr.c_str());
+<a name="l00647"></a>00647 <a class="code" href="xline_8h.html#add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29">add_qline</a>(duration, source.c_str(), reason.c_str(), nickname.c_str());
<a name="l00648"></a>00648 }
<a name="l00649"></a>00649
-<a name="l00650"></a><a class="code" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00650</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server::AddKLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
+<a name="l00650"></a><a class="code" href="classServer.html#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">00650</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">Server::AddZLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> ipaddr)
<a name="l00651"></a>00651 {
-<a name="l00652"></a>00652 <a class="code" href="xline_8h.html#add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_kline</a>(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+<a name="l00652"></a>00652 <a class="code" href="xline_8h.html#add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29">add_zline</a>(duration, source.c_str(), reason.c_str(), ipaddr.c_str());
<a name="l00653"></a>00653 }
<a name="l00654"></a>00654
-<a name="l00655"></a><a class="code" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00655</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server::AddELine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
+<a name="l00655"></a><a class="code" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00655</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server::AddKLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
<a name="l00656"></a>00656 {
-<a name="l00657"></a>00657 <a class="code" href="xline_8h.html#add_5Feline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_eline</a>(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+<a name="l00657"></a>00657 <a class="code" href="xline_8h.html#add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_kline</a>(duration, source.c_str(), reason.c_str(), hostmask.c_str());
<a name="l00658"></a>00658 }
<a name="l00659"></a>00659
-<a name="l00660"></a><a class="code" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">00660</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">Server::DelGLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
+<a name="l00660"></a><a class="code" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00660</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server::AddELine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
<a name="l00661"></a>00661 {
-<a name="l00662"></a>00662 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline</a>(hostmask.c_str());
+<a name="l00662"></a>00662 <a class="code" href="xline_8h.html#add_5Feline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29">add_eline</a>(duration, source.c_str(), reason.c_str(), hostmask.c_str());
<a name="l00663"></a>00663 }
<a name="l00664"></a>00664
-<a name="l00665"></a><a class="code" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">00665</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">Server::DelQLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nickname)
+<a name="l00665"></a><a class="code" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">00665</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">Server::DelGLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
<a name="l00666"></a>00666 {
-<a name="l00667"></a>00667 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline</a>(nickname.c_str());
+<a name="l00667"></a>00667 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline</a>(hostmask.c_str());
<a name="l00668"></a>00668 }
<a name="l00669"></a>00669
-<a name="l00670"></a><a class="code" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">00670</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">Server::DelZLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ipaddr)
+<a name="l00670"></a><a class="code" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">00670</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">Server::DelQLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nickname)
<a name="l00671"></a>00671 {
-<a name="l00672"></a>00672 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline</a>(ipaddr.c_str());
+<a name="l00672"></a>00672 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline</a>(nickname.c_str());
<a name="l00673"></a>00673 }
<a name="l00674"></a>00674
-<a name="l00675"></a><a class="code" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">00675</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">Server::DelKLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
+<a name="l00675"></a><a class="code" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">00675</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">Server::DelZLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ipaddr)
<a name="l00676"></a>00676 {
-<a name="l00677"></a>00677 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline</a>(hostmask.c_str());
+<a name="l00677"></a>00677 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline</a>(ipaddr.c_str());
<a name="l00678"></a>00678 }
<a name="l00679"></a>00679
-<a name="l00680"></a><a class="code" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">00680</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">Server::DelELine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
+<a name="l00680"></a><a class="code" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">00680</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">Server::DelKLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
<a name="l00681"></a>00681 {
-<a name="l00682"></a>00682 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline</a>(hostmask.c_str());
+<a name="l00682"></a>00682 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline</a>(hostmask.c_str());
<a name="l00683"></a>00683 }
<a name="l00684"></a>00684
-<a name="l00685"></a><a class="code" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">00685</a> <span class="keywordtype">long</span> <a class="code" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server::CalcDuration</a>(<a class="code" href="namespaceirc.html#string">std::string</a> delta)
+<a name="l00685"></a><a class="code" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">00685</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">Server::DelELine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask)
<a name="l00686"></a>00686 {
-<a name="l00687"></a>00687 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>(delta.c_str());
+<a name="l00687"></a>00687 <span class="keywordflow">return</span> <a class="code" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline</a>(hostmask.c_str());
<a name="l00688"></a>00688 }
<a name="l00689"></a>00689
-<a name="l00690"></a><a class="code" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">00690</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">Server::IsValidMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> mask)
+<a name="l00690"></a><a class="code" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">00690</a> <span class="keywordtype">long</span> <a class="code" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server::CalcDuration</a>(<a class="code" href="namespaceirc.html#string">std::string</a> delta)
<a name="l00691"></a>00691 {
-<a name="l00692"></a>00692 <span class="keyword">const</span> <span class="keywordtype">char</span>* dest = mask.c_str();
-<a name="l00693"></a>00693 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'!'</span>)==0)
-<a name="l00694"></a>00694 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00695"></a>00695 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'@'</span>)==0)
-<a name="l00696"></a>00696 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00697"></a>00697 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00698"></a>00698 <span class="keywordflow">if</span> (dest[i] &lt; 32)
-<a name="l00699"></a>00699 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00700"></a>00700 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00701"></a>00701 <span class="keywordflow">if</span> (dest[i] &gt; 126)
-<a name="l00702"></a>00702 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00703"></a>00703 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c = 0;
-<a name="l00704"></a>00704 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00705"></a>00705 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'!'</span>)
-<a name="l00706"></a>00706 c++;
-<a name="l00707"></a>00707 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00708"></a>00708 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00709"></a>00709 c = 0;
-<a name="l00710"></a>00710 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00711"></a>00711 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'@'</span>)
-<a name="l00712"></a>00712 c++;
-<a name="l00713"></a>00713 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00714"></a>00714 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00715"></a>00715
-<a name="l00716"></a>00716 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00717"></a>00717 }
-<a name="l00718"></a>00718
-<a name="l00719"></a><a class="code" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">00719</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">Server::FindModule</a>(<a class="code" href="namespaceirc.html#string">std::string</a> name)
-<a name="l00720"></a>00720 {
-<a name="l00721"></a>00721 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a>; i++)
-<a name="l00722"></a>00722 {
-<a name="l00723"></a>00723 <span class="keywordflow">if</span> (Config-&gt;<a class="code" href="classServerConfig.html#module_5Fnames">module_names</a>[i] == name)
-<a name="l00724"></a>00724 {
-<a name="l00725"></a>00725 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#modules">modules</a>[i];
-<a name="l00726"></a>00726 }
-<a name="l00727"></a>00727 }
-<a name="l00728"></a>00728 <span class="keywordflow">return</span> NULL;
-<a name="l00729"></a>00729 }
-<a name="l00730"></a>00730
-<a name="l00731"></a><a class="code" href="classConfigReader.html#ConfigReader_28_29">00731</a> <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader::ConfigReader</a>()
-<a name="l00732"></a>00732 {
-<a name="l00733"></a>00733 Config-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00734"></a>00734 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00735"></a>00735 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00736"></a>00736 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = Config-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(CONFIG_FILE,this-&gt;cache,this-&gt;errorlog);
-<a name="l00737"></a>00737 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00738"></a>00738 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
-<a name="l00739"></a>00739 }
-<a name="l00740"></a>00740
-<a name="l00741"></a>00741
-<a name="l00742"></a><a class="code" href="classConfigReader.html#_7EConfigReader_28_29">00742</a> <a class="code" href="classConfigReader.html#_7EConfigReader_28_29">ConfigReader::~ConfigReader</a>()
-<a name="l00743"></a>00743 {
-<a name="l00744"></a>00744 <span class="keywordflow">if</span> (this-&gt;cache)
-<a name="l00745"></a>00745 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>;
-<a name="l00746"></a>00746 <span class="keywordflow">if</span> (this-&gt;errorlog)
-<a name="l00747"></a>00747 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
-<a name="l00748"></a>00748 }
-<a name="l00749"></a>00749
-<a name="l00750"></a>00750
-<a name="l00751"></a><a class="code" href="classConfigReader.html#ConfigReader_28std_3A_3Astring_20filename_29">00751</a> <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader::ConfigReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename)
-<a name="l00752"></a>00752 {
-<a name="l00753"></a>00753 Config-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00754"></a>00754 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00755"></a>00755 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
-<a name="l00756"></a>00756 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = Config-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(filename.c_str(),this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>,this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>);
-<a name="l00757"></a>00757 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00758"></a>00758 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
-<a name="l00759"></a>00759 };
-<a name="l00760"></a>00760
-<a name="l00761"></a><a class="code" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">00761</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ConfigReader::ReadValue</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index)
-<a name="l00762"></a>00762 {
-<a name="l00763"></a>00763 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00764"></a>00764 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00765"></a>00765 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00766"></a>00766 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00767"></a>00767 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00768"></a>00768 <span class="keywordtype">int</span> res = Config-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
-<a name="l00769"></a>00769 <span class="keywordflow">if</span> (!res)
-<a name="l00770"></a>00770 {
-<a name="l00771"></a>00771 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
-<a name="l00772"></a>00772 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00773"></a>00773 }
-<a name="l00774"></a>00774 <span class="keywordflow">return</span> val;
-<a name="l00775"></a>00775 }
-<a name="l00776"></a>00776
-<a name="l00777"></a><a class="code" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">00777</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ConfigReader::ReadFlag</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index)
-<a name="l00778"></a>00778 {
-<a name="l00779"></a>00779 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00780"></a>00780 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00781"></a>00781 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00782"></a>00782 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00783"></a>00783 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00784"></a>00784 <span class="keywordtype">int</span> res = Config-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
-<a name="l00785"></a>00785 <span class="keywordflow">if</span> (!res)
-<a name="l00786"></a>00786 {
-<a name="l00787"></a>00787 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
-<a name="l00788"></a>00788 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00789"></a>00789 }
-<a name="l00790"></a>00790 <a class="code" href="namespaceirc.html#string">std::string</a> s = val;
-<a name="l00791"></a>00791 <span class="keywordflow">return</span> ((s == <span class="stringliteral">"yes"</span>) || (s == <span class="stringliteral">"YES"</span>) || (s == <span class="stringliteral">"true"</span>) || (s == <span class="stringliteral">"TRUE"</span>) || (s == <span class="stringliteral">"1"</span>));
-<a name="l00792"></a>00792 }
-<a name="l00793"></a>00793
-<a name="l00794"></a><a class="code" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">00794</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">ConfigReader::ReadInteger</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> needs_unsigned)
-<a name="l00795"></a>00795 {
-<a name="l00796"></a>00796 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00797"></a>00797 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00798"></a>00798 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00799"></a>00799 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00800"></a>00800 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00801"></a>00801 <span class="keywordtype">int</span> res = Config-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
-<a name="l00802"></a>00802 <span class="keywordflow">if</span> (!res)
-<a name="l00803"></a>00803 {
-<a name="l00804"></a>00804 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
-<a name="l00805"></a>00805 <span class="keywordflow">return</span> 0;
-<a name="l00806"></a>00806 }
-<a name="l00807"></a>00807 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(val); i++)
+<a name="l00692"></a>00692 <span class="keywordflow">return</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>(delta.c_str());
+<a name="l00693"></a>00693 }
+<a name="l00694"></a>00694
+<a name="l00695"></a><a class="code" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">00695</a> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">Server::IsValidMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> mask)
+<a name="l00696"></a>00696 {
+<a name="l00697"></a>00697 <span class="keyword">const</span> <span class="keywordtype">char</span>* dest = mask.c_str();
+<a name="l00698"></a>00698 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'!'</span>)==0)
+<a name="l00699"></a>00699 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00700"></a>00700 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'@'</span>)==0)
+<a name="l00701"></a>00701 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00702"></a>00702 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00703"></a>00703 <span class="keywordflow">if</span> (dest[i] &lt; 32)
+<a name="l00704"></a>00704 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00705"></a>00705 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00706"></a>00706 <span class="keywordflow">if</span> (dest[i] &gt; 126)
+<a name="l00707"></a>00707 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00708"></a>00708 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c = 0;
+<a name="l00709"></a>00709 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00710"></a>00710 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'!'</span>)
+<a name="l00711"></a>00711 c++;
+<a name="l00712"></a>00712 <span class="keywordflow">if</span> (c&gt;1)
+<a name="l00713"></a>00713 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00714"></a>00714 c = 0;
+<a name="l00715"></a>00715 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
+<a name="l00716"></a>00716 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'@'</span>)
+<a name="l00717"></a>00717 c++;
+<a name="l00718"></a>00718 <span class="keywordflow">if</span> (c&gt;1)
+<a name="l00719"></a>00719 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00720"></a>00720
+<a name="l00721"></a>00721 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00722"></a>00722 }
+<a name="l00723"></a>00723
+<a name="l00724"></a><a class="code" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">00724</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">Server::FindModule</a>(<a class="code" href="namespaceirc.html#string">std::string</a> name)
+<a name="l00725"></a>00725 {
+<a name="l00726"></a>00726 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a>; i++)
+<a name="l00727"></a>00727 {
+<a name="l00728"></a>00728 <span class="keywordflow">if</span> (Config-&gt;<a class="code" href="classServerConfig.html#module_5Fnames">module_names</a>[i] == name)
+<a name="l00729"></a>00729 {
+<a name="l00730"></a>00730 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#modules">modules</a>[i];
+<a name="l00731"></a>00731 }
+<a name="l00732"></a>00732 }
+<a name="l00733"></a>00733 <span class="keywordflow">return</span> NULL;
+<a name="l00734"></a>00734 }
+<a name="l00735"></a>00735
+<a name="l00736"></a><a class="code" href="classConfigReader.html#ConfigReader_28_29">00736</a> <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader::ConfigReader</a>()
+<a name="l00737"></a>00737 {
+<a name="l00738"></a>00738 Config-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
+<a name="l00739"></a>00739 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00740"></a>00740 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00741"></a>00741 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = Config-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(CONFIG_FILE,this-&gt;cache,this-&gt;errorlog);
+<a name="l00742"></a>00742 <span class="keywordflow">if</span> (!this-&gt;readerror)
+<a name="l00743"></a>00743 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
+<a name="l00744"></a>00744 }
+<a name="l00745"></a>00745
+<a name="l00746"></a>00746
+<a name="l00747"></a><a class="code" href="classConfigReader.html#_7EConfigReader_28_29">00747</a> <a class="code" href="classConfigReader.html#_7EConfigReader_28_29">ConfigReader::~ConfigReader</a>()
+<a name="l00748"></a>00748 {
+<a name="l00749"></a>00749 <span class="keywordflow">if</span> (this-&gt;cache)
+<a name="l00750"></a>00750 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>;
+<a name="l00751"></a>00751 <span class="keywordflow">if</span> (this-&gt;errorlog)
+<a name="l00752"></a>00752 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
+<a name="l00753"></a>00753 }
+<a name="l00754"></a>00754
+<a name="l00755"></a>00755
+<a name="l00756"></a><a class="code" href="classConfigReader.html#ConfigReader_28std_3A_3Astring_20filename_29">00756</a> <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader::ConfigReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename)
+<a name="l00757"></a>00757 {
+<a name="l00758"></a>00758 Config-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
+<a name="l00759"></a>00759 this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00760"></a>00760 this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a> = <span class="keyword">new</span> std::stringstream(std::stringstream::in | std::stringstream::out);
+<a name="l00761"></a>00761 this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a> = Config-&gt;<a class="code" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(filename.c_str(),this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>,this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>);
+<a name="l00762"></a>00762 <span class="keywordflow">if</span> (!this-&gt;readerror)
+<a name="l00763"></a>00763 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>;
+<a name="l00764"></a>00764 };
+<a name="l00765"></a>00765
+<a name="l00766"></a><a class="code" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">00766</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ConfigReader::ReadValue</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index)
+<a name="l00767"></a>00767 {
+<a name="l00768"></a>00768 <span class="keywordtype">char</span> val[MAXBUF];
+<a name="l00769"></a>00769 <span class="keywordtype">char</span> t[MAXBUF];
+<a name="l00770"></a>00770 <span class="keywordtype">char</span> n[MAXBUF];
+<a name="l00771"></a>00771 strlcpy(t,tag.c_str(),MAXBUF);
+<a name="l00772"></a>00772 strlcpy(n,name.c_str(),MAXBUF);
+<a name="l00773"></a>00773 <span class="keywordtype">int</span> res = Config-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
+<a name="l00774"></a>00774 <span class="keywordflow">if</span> (!res)
+<a name="l00775"></a>00775 {
+<a name="l00776"></a>00776 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
+<a name="l00777"></a>00777 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+<a name="l00778"></a>00778 }
+<a name="l00779"></a>00779 <span class="keywordflow">return</span> val;
+<a name="l00780"></a>00780 }
+<a name="l00781"></a>00781
+<a name="l00782"></a><a class="code" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">00782</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ConfigReader::ReadFlag</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index)
+<a name="l00783"></a>00783 {
+<a name="l00784"></a>00784 <span class="keywordtype">char</span> val[MAXBUF];
+<a name="l00785"></a>00785 <span class="keywordtype">char</span> t[MAXBUF];
+<a name="l00786"></a>00786 <span class="keywordtype">char</span> n[MAXBUF];
+<a name="l00787"></a>00787 strlcpy(t,tag.c_str(),MAXBUF);
+<a name="l00788"></a>00788 strlcpy(n,name.c_str(),MAXBUF);
+<a name="l00789"></a>00789 <span class="keywordtype">int</span> res = Config-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
+<a name="l00790"></a>00790 <span class="keywordflow">if</span> (!res)
+<a name="l00791"></a>00791 {
+<a name="l00792"></a>00792 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
+<a name="l00793"></a>00793 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00794"></a>00794 }
+<a name="l00795"></a>00795 <a class="code" href="namespaceirc.html#string">std::string</a> s = val;
+<a name="l00796"></a>00796 <span class="keywordflow">return</span> ((s == <span class="stringliteral">"yes"</span>) || (s == <span class="stringliteral">"YES"</span>) || (s == <span class="stringliteral">"true"</span>) || (s == <span class="stringliteral">"TRUE"</span>) || (s == <span class="stringliteral">"1"</span>));
+<a name="l00797"></a>00797 }
+<a name="l00798"></a>00798
+<a name="l00799"></a><a class="code" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">00799</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">ConfigReader::ReadInteger</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> needs_unsigned)
+<a name="l00800"></a>00800 {
+<a name="l00801"></a>00801 <span class="keywordtype">char</span> val[MAXBUF];
+<a name="l00802"></a>00802 <span class="keywordtype">char</span> t[MAXBUF];
+<a name="l00803"></a>00803 <span class="keywordtype">char</span> n[MAXBUF];
+<a name="l00804"></a>00804 strlcpy(t,tag.c_str(),MAXBUF);
+<a name="l00805"></a>00805 strlcpy(n,name.c_str(),MAXBUF);
+<a name="l00806"></a>00806 <span class="keywordtype">int</span> res = Config-&gt;<a class="code" href="classServerConfig.html#ReadConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_2C_20const_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_29">ReadConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,t,n,index,val);
+<a name="l00807"></a>00807 <span class="keywordflow">if</span> (!res)
<a name="l00808"></a>00808 {
-<a name="l00809"></a>00809 <span class="keywordflow">if</span> (!isdigit(val[i]))
-<a name="l00810"></a>00810 {
-<a name="l00811"></a>00811 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">CONF_NOT_A_NUMBER</a>;
-<a name="l00812"></a>00812 <span class="keywordflow">return</span> 0;
-<a name="l00813"></a>00813 }
-<a name="l00814"></a>00814 }
-<a name="l00815"></a>00815 <span class="keywordflow">if</span> ((needs_unsigned) &amp;&amp; (atoi(val)&lt;0))
-<a name="l00816"></a>00816 {
-<a name="l00817"></a>00817 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">CONF_NOT_UNSIGNED</a>;
-<a name="l00818"></a>00818 <span class="keywordflow">return</span> 0;
+<a name="l00809"></a>00809 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>;
+<a name="l00810"></a>00810 <span class="keywordflow">return</span> 0;
+<a name="l00811"></a>00811 }
+<a name="l00812"></a>00812 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(val); i++)
+<a name="l00813"></a>00813 {
+<a name="l00814"></a>00814 <span class="keywordflow">if</span> (!isdigit(val[i]))
+<a name="l00815"></a>00815 {
+<a name="l00816"></a>00816 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">CONF_NOT_A_NUMBER</a>;
+<a name="l00817"></a>00817 <span class="keywordflow">return</span> 0;
+<a name="l00818"></a>00818 }
<a name="l00819"></a>00819 }
-<a name="l00820"></a>00820 <span class="keywordflow">return</span> atoi(val);
-<a name="l00821"></a>00821 }
-<a name="l00822"></a>00822
-<a name="l00823"></a><a class="code" href="classConfigReader.html#GetError_28_29">00823</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#GetError_28_29">ConfigReader::GetError</a>()
-<a name="l00824"></a>00824 {
-<a name="l00825"></a>00825 <span class="keywordtype">long</span> olderr = this-&gt;<a class="code" href="classConfigReader.html#error">error</a>;
-<a name="l00826"></a>00826 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = 0;
-<a name="l00827"></a>00827 <span class="keywordflow">return</span> olderr;
-<a name="l00828"></a>00828 }
-<a name="l00829"></a>00829
-<a name="l00830"></a><a class="code" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">00830</a> <span class="keywordtype">void</span> <a class="code" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">ConfigReader::DumpErrors</a>(<span class="keywordtype">bool</span> bail, <a class="code" href="classuserrec.html">userrec</a>* user)
-<a name="l00831"></a>00831 {
-<a name="l00832"></a>00832 <span class="keywordflow">if</span> (bail)
-<a name="l00833"></a>00833 {
-<a name="l00834"></a>00834 printf(<span class="stringliteral">"There were errors in your configuration:\n%s"</span>,<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;str().c_str());
-<a name="l00835"></a>00835 exit(0);
-<a name="l00836"></a>00836 }
-<a name="l00837"></a>00837 <span class="keywordflow">else</span>
+<a name="l00820"></a>00820 <span class="keywordflow">if</span> ((needs_unsigned) &amp;&amp; (atoi(val)&lt;0))
+<a name="l00821"></a>00821 {
+<a name="l00822"></a>00822 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = <a class="code" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">CONF_NOT_UNSIGNED</a>;
+<a name="l00823"></a>00823 <span class="keywordflow">return</span> 0;
+<a name="l00824"></a>00824 }
+<a name="l00825"></a>00825 <span class="keywordflow">return</span> atoi(val);
+<a name="l00826"></a>00826 }
+<a name="l00827"></a>00827
+<a name="l00828"></a><a class="code" href="classConfigReader.html#GetError_28_29">00828</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#GetError_28_29">ConfigReader::GetError</a>()
+<a name="l00829"></a>00829 {
+<a name="l00830"></a>00830 <span class="keywordtype">long</span> olderr = this-&gt;<a class="code" href="classConfigReader.html#error">error</a>;
+<a name="l00831"></a>00831 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = 0;
+<a name="l00832"></a>00832 <span class="keywordflow">return</span> olderr;
+<a name="l00833"></a>00833 }
+<a name="l00834"></a>00834
+<a name="l00835"></a><a class="code" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">00835</a> <span class="keywordtype">void</span> <a class="code" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">ConfigReader::DumpErrors</a>(<span class="keywordtype">bool</span> bail, <a class="code" href="classuserrec.html">userrec</a>* user)
+<a name="l00836"></a>00836 {
+<a name="l00837"></a>00837 <span class="keywordflow">if</span> (bail)
<a name="l00838"></a>00838 {
-<a name="l00839"></a>00839 <span class="keywordtype">char</span> dataline[1024];
-<a name="l00840"></a>00840 <span class="keywordflow">if</span> (user)
-<a name="l00841"></a>00841 {
-<a name="l00842"></a>00842 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00843"></a>00843 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00844"></a>00844 {
-<a name="l00845"></a>00845 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00846"></a>00846 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :%s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,dataline);
-<a name="l00847"></a>00847 }
-<a name="l00848"></a>00848 }
-<a name="l00849"></a>00849 <span class="keywordflow">else</span>
-<a name="l00850"></a>00850 {
-<a name="l00851"></a>00851 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00852"></a>00852 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00853"></a>00853 {
-<a name="l00854"></a>00854 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00855"></a>00855 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(dataline);
-<a name="l00856"></a>00856 }
-<a name="l00857"></a>00857 }
-<a name="l00858"></a>00858 <span class="keywordflow">return</span>;
-<a name="l00859"></a>00859 }
-<a name="l00860"></a>00860 }
-<a name="l00861"></a>00861
-<a name="l00862"></a>00862
-<a name="l00863"></a><a class="code" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">00863</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">ConfigReader::Enumerate</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag)
-<a name="l00864"></a>00864 {
-<a name="l00865"></a>00865 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">EnumConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,tag.c_str());
-<a name="l00866"></a>00866 }
+<a name="l00839"></a>00839 printf(<span class="stringliteral">"There were errors in your configuration:\n%s"</span>,<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;str().c_str());
+<a name="l00840"></a>00840 exit(0);
+<a name="l00841"></a>00841 }
+<a name="l00842"></a>00842 <span class="keywordflow">else</span>
+<a name="l00843"></a>00843 {
+<a name="l00844"></a>00844 <span class="keywordtype">char</span> dataline[1024];
+<a name="l00845"></a>00845 <span class="keywordflow">if</span> (user)
+<a name="l00846"></a>00846 {
+<a name="l00847"></a>00847 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
+<a name="l00848"></a>00848 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
+<a name="l00849"></a>00849 {
+<a name="l00850"></a>00850 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
+<a name="l00851"></a>00851 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"NOTICE %s :%s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,dataline);
+<a name="l00852"></a>00852 }
+<a name="l00853"></a>00853 }
+<a name="l00854"></a>00854 <span class="keywordflow">else</span>
+<a name="l00855"></a>00855 {
+<a name="l00856"></a>00856 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
+<a name="l00857"></a>00857 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
+<a name="l00858"></a>00858 {
+<a name="l00859"></a>00859 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
+<a name="l00860"></a>00860 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(dataline);
+<a name="l00861"></a>00861 }
+<a name="l00862"></a>00862 }
+<a name="l00863"></a>00863 <span class="keywordflow">return</span>;
+<a name="l00864"></a>00864 }
+<a name="l00865"></a>00865 }
+<a name="l00866"></a>00866
<a name="l00867"></a>00867
-<a name="l00868"></a><a class="code" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">00868</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">ConfigReader::EnumerateValues</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <span class="keywordtype">int</span> index)
+<a name="l00868"></a><a class="code" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">00868</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">ConfigReader::Enumerate</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag)
<a name="l00869"></a>00869 {
-<a name="l00870"></a>00870 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a>(<a class="code" href="classConfigReader.html#cache">cache</a>, tag.c_str(), index);
+<a name="l00870"></a>00870 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">EnumConf</a>(<a class="code" href="classConfigReader.html#cache">cache</a>,tag.c_str());
<a name="l00871"></a>00871 }
<a name="l00872"></a>00872
-<a name="l00873"></a><a class="code" href="classConfigReader.html#Verify_28_29">00873</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#Verify_28_29">ConfigReader::Verify</a>()
+<a name="l00873"></a><a class="code" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">00873</a> <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">ConfigReader::EnumerateValues</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <span class="keywordtype">int</span> index)
<a name="l00874"></a>00874 {
-<a name="l00875"></a>00875 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a>;
+<a name="l00875"></a>00875 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a>(<a class="code" href="classConfigReader.html#cache">cache</a>, tag.c_str(), index);
<a name="l00876"></a>00876 }
<a name="l00877"></a>00877
-<a name="l00878"></a>00878
-<a name="l00879"></a><a class="code" href="classFileReader.html#FileReader_28std_3A_3Astring_20filename_29">00879</a> <a class="code" href="classFileReader.html#FileReader_28_29">FileReader::FileReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename)
-<a name="l00880"></a>00880 {
-<a name="l00881"></a>00881 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00882"></a>00882 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
-<a name="l00883"></a>00883 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00884"></a>00884 }
-<a name="l00885"></a>00885
-<a name="l00886"></a><a class="code" href="classFileReader.html#FileReader_28_29">00886</a> <a class="code" href="classFileReader.html#FileReader_28_29">FileReader::FileReader</a>()
-<a name="l00887"></a>00887 {
-<a name="l00888"></a>00888 }
-<a name="l00889"></a>00889
-<a name="l00890"></a><a class="code" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">00890</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">FileReader::LoadFile</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename)
-<a name="l00891"></a>00891 {
-<a name="l00892"></a>00892 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00893"></a>00893 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
-<a name="l00894"></a>00894 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00895"></a>00895 }
-<a name="l00896"></a>00896
-<a name="l00897"></a>00897
-<a name="l00898"></a><a class="code" href="classFileReader.html#_7EFileReader_28_29">00898</a> <a class="code" href="classFileReader.html#_7EFileReader_28_29">FileReader::~FileReader</a>()
-<a name="l00899"></a>00899 {
+<a name="l00878"></a><a class="code" href="classConfigReader.html#Verify_28_29">00878</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#Verify_28_29">ConfigReader::Verify</a>()
+<a name="l00879"></a>00879 {
+<a name="l00880"></a>00880 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a>;
+<a name="l00881"></a>00881 }
+<a name="l00882"></a>00882
+<a name="l00883"></a>00883
+<a name="l00884"></a><a class="code" href="classFileReader.html#FileReader_28std_3A_3Astring_20filename_29">00884</a> <a class="code" href="classFileReader.html#FileReader_28_29">FileReader::FileReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename)
+<a name="l00885"></a>00885 {
+<a name="l00886"></a>00886 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
+<a name="l00887"></a>00887 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
+<a name="l00888"></a>00888 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
+<a name="l00889"></a>00889 }
+<a name="l00890"></a>00890
+<a name="l00891"></a><a class="code" href="classFileReader.html#FileReader_28_29">00891</a> <a class="code" href="classFileReader.html#FileReader_28_29">FileReader::FileReader</a>()
+<a name="l00892"></a>00892 {
+<a name="l00893"></a>00893 }
+<a name="l00894"></a>00894
+<a name="l00895"></a><a class="code" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">00895</a> <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">FileReader::LoadFile</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename)
+<a name="l00896"></a>00896 {
+<a name="l00897"></a>00897 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
+<a name="l00898"></a>00898 <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(c,filename.c_str());
+<a name="l00899"></a>00899 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
<a name="l00900"></a>00900 }
<a name="l00901"></a>00901
-<a name="l00902"></a><a class="code" href="classFileReader.html#Exists_28_29">00902</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#Exists_28_29">FileReader::Exists</a>()
-<a name="l00903"></a>00903 {
-<a name="l00904"></a>00904 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#fc">fc</a>.size() == 0)
-<a name="l00905"></a>00905 {
-<a name="l00906"></a>00906 <span class="keywordflow">return</span>(<span class="keyword">false</span>);
-<a name="l00907"></a>00907 }
-<a name="l00908"></a>00908 <span class="keywordflow">else</span>
-<a name="l00909"></a>00909 {
-<a name="l00910"></a>00910 <span class="keywordflow">return</span>(<span class="keyword">true</span>);
-<a name="l00911"></a>00911 }
-<a name="l00912"></a>00912 }
-<a name="l00913"></a>00913
-<a name="l00914"></a><a class="code" href="classFileReader.html#GetLine_28int_20x_29">00914</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classFileReader.html#GetLine_28int_20x_29">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
-<a name="l00915"></a>00915 {
-<a name="l00916"></a>00916 <span class="keywordflow">if</span> ((x&lt;0) || ((<span class="keywordtype">unsigned</span>)x&gt;<a class="code" href="classFileReader.html#fc">fc</a>.size()))
-<a name="l00917"></a>00917 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00918"></a>00918 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>[x];
-<a name="l00919"></a>00919 }
-<a name="l00920"></a>00920
-<a name="l00921"></a><a class="code" href="classFileReader.html#FileSize_28_29">00921</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#FileSize_28_29">FileReader::FileSize</a>()
-<a name="l00922"></a>00922 {
-<a name="l00923"></a>00923 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>.size();
+<a name="l00902"></a>00902
+<a name="l00903"></a><a class="code" href="classFileReader.html#_7EFileReader_28_29">00903</a> <a class="code" href="classFileReader.html#_7EFileReader_28_29">FileReader::~FileReader</a>()
+<a name="l00904"></a>00904 {
+<a name="l00905"></a>00905 }
+<a name="l00906"></a>00906
+<a name="l00907"></a><a class="code" href="classFileReader.html#Exists_28_29">00907</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#Exists_28_29">FileReader::Exists</a>()
+<a name="l00908"></a>00908 {
+<a name="l00909"></a>00909 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#fc">fc</a>.size() == 0)
+<a name="l00910"></a>00910 {
+<a name="l00911"></a>00911 <span class="keywordflow">return</span>(<span class="keyword">false</span>);
+<a name="l00912"></a>00912 }
+<a name="l00913"></a>00913 <span class="keywordflow">else</span>
+<a name="l00914"></a>00914 {
+<a name="l00915"></a>00915 <span class="keywordflow">return</span>(<span class="keyword">true</span>);
+<a name="l00916"></a>00916 }
+<a name="l00917"></a>00917 }
+<a name="l00918"></a>00918
+<a name="l00919"></a><a class="code" href="classFileReader.html#GetLine_28int_20x_29">00919</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classFileReader.html#GetLine_28int_20x_29">FileReader::GetLine</a>(<span class="keywordtype">int</span> x)
+<a name="l00920"></a>00920 {
+<a name="l00921"></a>00921 <span class="keywordflow">if</span> ((x&lt;0) || ((<span class="keywordtype">unsigned</span>)x&gt;<a class="code" href="classFileReader.html#fc">fc</a>.size()))
+<a name="l00922"></a>00922 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+<a name="l00923"></a>00923 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>[x];
<a name="l00924"></a>00924 }
<a name="l00925"></a>00925
-<a name="l00926"></a>00926
-<a name="l00927"></a>00927 std::vector&lt;Module*&gt; <a class="code" href="channels_8cpp.html#modules">modules</a>(255);
-<a name="l00928"></a>00928 std::vector&lt;ircd_module*&gt; <a class="code" href="channels_8cpp.html#factory">factory</a>(255);
-<a name="l00929"></a>00929
-<a name="l00930"></a><a class="code" href="modules_8cpp.html#MODCOUNT">00930</a> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a> = -1;
+<a name="l00926"></a><a class="code" href="classFileReader.html#FileSize_28_29">00926</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#FileSize_28_29">FileReader::FileSize</a>()
+<a name="l00927"></a>00927 {
+<a name="l00928"></a>00928 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>.size();
+<a name="l00929"></a>00929 }
+<a name="l00930"></a>00930
<a name="l00931"></a>00931
-<a name="l00932"></a>00932
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+<a name="l00932"></a>00932 std::vector&lt;Module*&gt; <a class="code" href="channels_8cpp.html#modules">modules</a>(255);
+<a name="l00933"></a>00933 std::vector&lt;ircd_module*&gt; <a class="code" href="channels_8cpp.html#factory">factory</a>(255);
+<a name="l00934"></a>00934
+<a name="l00935"></a><a class="code" href="modules_8cpp.html#MODCOUNT">00935</a> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a> = -1;
+<a name="l00936"></a>00936
+<a name="l00937"></a>00937
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/modules_8cpp.html b/docs/module-doc/modules_8cpp.html
index 9a3fee018..33b829252 100644
--- a/docs/module-doc/modules_8cpp.html
+++ b/docs/module-doc/modules_8cpp.html
@@ -165,7 +165,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00134">134</a>
<p>
References <a class="el" href="modules_8cpp-source.html#l00068">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00071">ModeDefined()</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00579">Server::AddExtendedListMode()</a>, and <a class="el" href="modules_8cpp-source.html#l00551">Server::AddExtendedMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00135"></a>00135 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00584">Server::AddExtendedListMode()</a>, and <a class="el" href="modules_8cpp-source.html#l00556">Server::AddExtendedMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00135"></a>00135 {
<a name="l00136"></a>00136 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#ModeDefined_28char_20modechar_2C_20int_20type_29">ModeDefined</a>(modechar,type)) {
<a name="l00137"></a>00137 <span class="keywordflow">return</span> <span class="keyword">false</span>;
<a name="l00138"></a>00138 }
@@ -503,7 +503,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00144">144</a>
<p>
References <a class="el" href="modules_8cpp-source.html#l00068">EMode</a>, and <a class="el" href="modules_8h-source.html#l00031">MT_CHANNEL</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00579">Server::AddExtendedListMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00145"></a>00145 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00584">Server::AddExtendedListMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00145"></a>00145 {
<a name="l00146"></a>00146 <span class="keywordflow">for</span> (<a class="code" href="typedefs_8h.html#ExtModeListIter">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#EMode">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#EMode">EMode</a>.end(); i++)
<a name="l00147"></a>00147 {
<a name="l00148"></a>00148 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == <a class="code" href="modules_8h.html#MT_5FCHANNEL">MT_CHANNEL</a>))
@@ -735,7 +735,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00134">DoAddExtended
<p>
<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00930">930</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
+Definition at line <a class="el" href="modules_8cpp-source.html#l00935">935</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
<a class="anchor" name="module_5Fsockets"></a><!-- doxytag: member="modules.cpp::module_sockets" ref="module_5Fsockets" args="" --><p>
@@ -760,7 +760,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00930">930</a>
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00313">Server::AddSocket()</a>, and <a class="el" href="modules_8cpp-source.html#l00329">Server::DelSocket()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00313">Server::AddSocket()</a>, and <a class="el" href="modules_8cpp-source.html#l00334">Server::DelSocket()</a>. </td>
</tr>
</table>
<a class="anchor" name="modules"></a><!-- doxytag: member="modules.cpp::modules" ref="modules" args="" --><p>
@@ -855,7 +855,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00313">Server::AddSo
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:21 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html
index 006dfe5b9..a156711a2 100644
--- a/docs/module-doc/modules_8h-source.html
+++ b/docs/module-doc/modules_8h-source.html
@@ -368,169 +368,170 @@
<a name="l01106"></a>01106 <span class="keyword">virtual</span> <a class="code" href="classServer.html#_7EServer_28_29">~Server</a>();
<a name="l01111"></a>01111 <a class="code" href="classServerConfig.html">ServerConfig</a>* <a class="code" href="classServer.html#GetConfig_28_29">GetConfig</a>();
<a name="l01115"></a>01115 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">SendOpers</a>(<a class="code" href="namespaceirc.html#string">std::string</a> s);
-<a name="l01120"></a>01120 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Log</a>(<span class="keywordtype">int</span> level, <a class="code" href="namespaceirc.html#string">std::string</a> s);
-<a name="l01125"></a>01125 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Send</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s);
-<a name="l01130"></a>01130 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">SendServ</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s);
-<a name="l01134"></a>01134 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">SendChannelServerNotice</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ServName, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> text);
-<a name="l01139"></a>01139 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> s);
-<a name="l01154"></a>01154 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, <a class="code" href="namespaceirc.html#string">std::string</a> s);
-<a name="l01161"></a>01161 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> s,<span class="keywordtype">bool</span> IncludeSender);
-<a name="l01166"></a>01166 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
-<a name="l01174"></a>01174 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text,<span class="keywordtype">bool</span> IncludeSender);
-<a name="l01179"></a>01179 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text);
-<a name="l01180"></a>01180
-<a name="l01184"></a>01184 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">IsNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick);
-<a name="l01188"></a>01188 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c);
-<a name="l01192"></a>01192 <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">FindNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick);
-<a name="l01196"></a>01196 <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindDescriptor_28int_20socket_29">FindDescriptor</a>(<span class="keywordtype">int</span> socket);
-<a name="l01200"></a>01200 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">FindChannel</a>(<a class="code" href="namespaceirc.html#string">std::string</a> channel);
-<a name="l01205"></a>01205 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
-<a name="l01209"></a>01209 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">IsOnChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
-<a name="l01212"></a>01212 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerName_28_29">GetServerName</a>();
-<a name="l01215"></a>01215 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetNetworkName_28_29">GetNetworkName</a>();
-<a name="l01218"></a>01218 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerDescription_28_29">GetServerDescription</a>();
-<a name="l01224"></a>01224 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#GetAdmin_28_29">GetAdmin</a>();
-<a name="l01243"></a>01243 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> requires_oper, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
-<a name="l01244"></a>01244
-<a name="l01266"></a>01266 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedListMode_28char_20modechar_29">AddExtendedListMode</a>(<span class="keywordtype">char</span> modechar);
-<a name="l01267"></a>01267
-<a name="l01285"></a>01285 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddCommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">AddCommand</a>(<span class="keywordtype">char</span>* cmd, <a class="code" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">handlerfunc</a> f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams, <span class="keywordtype">char</span>* source);
-<a name="l01286"></a>01286
-<a name="l01308"></a>01308 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l01309"></a>01309
-<a name="l01322"></a>01322 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">SendToModeMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> modes, <span class="keywordtype">int</span> flags, <a class="code" href="namespaceirc.html#string">std::string</a> text);
-<a name="l01323"></a>01323
-<a name="l01329"></a>01329 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> key);
-<a name="l01330"></a>01330
-<a name="l01336"></a>01336 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> reason);
-<a name="l01337"></a>01337
-<a name="l01343"></a>01343 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> nickname);
-<a name="l01344"></a>01344
-<a name="l01355"></a>01355 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> reason);
-<a name="l01356"></a>01356
-<a name="l01361"></a>01361 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">MatchText</a>(<a class="code" href="namespaceirc.html#string">std::string</a> sliteral, <a class="code" href="namespaceirc.html#string">std::string</a> spattern);
-<a name="l01362"></a>01362
-<a name="l01374"></a>01374 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">CallCommandHandler</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">char</span>** parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l01375"></a>01375
-<a name="l01376"></a>01376 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">IsValidModuleCommand</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l01377"></a>01377
-<a name="l01383"></a>01383 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">ChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> host);
-<a name="l01384"></a>01384
-<a name="l01390"></a>01390 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">ChangeGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> gecos);
-<a name="l01391"></a>01391
-<a name="l01400"></a>01400 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">IsUlined</a>(<a class="code" href="namespaceirc.html#string">std::string</a> server);
-<a name="l01401"></a>01401
-<a name="l01405"></a>01405 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> <a class="code" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan);
-<a name="l01406"></a>01406
-<a name="l01413"></a>01413 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">UserToPseudo</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<a class="code" href="namespaceirc.html#string">std::string</a> message);
-<a name="l01414"></a>01414
-<a name="l01421"></a>01421 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">PseudoToUser</a>(<a class="code" href="classuserrec.html">userrec</a>* alive,<a class="code" href="classuserrec.html">userrec</a>* zombie,<a class="code" href="namespaceirc.html#string">std::string</a> message);
-<a name="l01422"></a>01422
-<a name="l01430"></a>01430 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddGLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l01431"></a>01431
-<a name="l01439"></a>01439 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">AddQLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> nickname);
-<a name="l01440"></a>01440
-<a name="l01448"></a>01448 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">AddZLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> ipaddr);
-<a name="l01449"></a>01449
-<a name="l01457"></a>01457 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddKLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l01458"></a>01458
-<a name="l01466"></a>01466 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddELine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l01467"></a>01467
-<a name="l01470"></a>01470 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">DelGLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l01471"></a>01471
-<a name="l01474"></a>01474 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">DelQLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nickname);
-<a name="l01475"></a>01475
-<a name="l01478"></a>01478 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">DelZLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ipaddr);
-<a name="l01479"></a>01479
-<a name="l01482"></a>01482 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">DelKLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l01483"></a>01483
-<a name="l01486"></a>01486 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">DelELine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l01487"></a>01487
-<a name="l01493"></a>01493 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">CalcDuration</a>(<a class="code" href="namespaceirc.html#string">std::string</a> duration);
-<a name="l01494"></a>01494
-<a name="l01497"></a>01497 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">IsValidMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> mask);
-<a name="l01498"></a>01498
-<a name="l01503"></a>01503 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">FindModule</a>(<a class="code" href="namespaceirc.html#string">std::string</a> name);
-<a name="l01504"></a>01504
-<a name="l01507"></a>01507 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddSocket_28InspSocket_20_2Asock_29">AddSocket</a>(<a class="code" href="classInspSocket.html">InspSocket</a>* sock);
-<a name="l01508"></a>01508
-<a name="l01511"></a>01511 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">DelSocket</a>(<a class="code" href="classInspSocket.html">InspSocket</a>* sock);
-<a name="l01512"></a>01512
-<a name="l01513"></a>01513 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#RehashServer_28_29">RehashServer</a>();
-<a name="l01514"></a>01514 };
+<a name="l01118"></a>01118 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetVersion_28_29">GetVersion</a>();
+<a name="l01123"></a>01123 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Log</a>(<span class="keywordtype">int</span> level, <a class="code" href="namespaceirc.html#string">std::string</a> s);
+<a name="l01128"></a>01128 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Send</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s);
+<a name="l01133"></a>01133 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">SendServ</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="namespaceirc.html#string">std::string</a> s);
+<a name="l01137"></a>01137 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">SendChannelServerNotice</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ServName, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> text);
+<a name="l01142"></a>01142 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">SendFrom</a>(<span class="keywordtype">int</span> Socket, <a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> s);
+<a name="l01157"></a>01157 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">SendTo</a>(<a class="code" href="classuserrec.html">userrec</a>* Source, <a class="code" href="classuserrec.html">userrec</a>* Dest, <a class="code" href="namespaceirc.html#string">std::string</a> s);
+<a name="l01164"></a>01164 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">SendChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Channel, <a class="code" href="namespaceirc.html#string">std::string</a> s,<span class="keywordtype">bool</span> IncludeSender);
+<a name="l01169"></a>01169 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">CommonChannels</a>(<a class="code" href="classuserrec.html">userrec</a>* u1, <a class="code" href="classuserrec.html">userrec</a>* u2);
+<a name="l01177"></a>01177 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">SendCommon</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text,<span class="keywordtype">bool</span> IncludeSender);
+<a name="l01182"></a>01182 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">SendWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="namespaceirc.html#string">std::string</a> text);
+<a name="l01183"></a>01183
+<a name="l01187"></a>01187 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">IsNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick);
+<a name="l01191"></a>01191 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">CountUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* c);
+<a name="l01195"></a>01195 <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">FindNick</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick);
+<a name="l01199"></a>01199 <span class="keyword">virtual</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="classServer.html#FindDescriptor_28int_20socket_29">FindDescriptor</a>(<span class="keywordtype">int</span> socket);
+<a name="l01203"></a>01203 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">FindChannel</a>(<a class="code" href="namespaceirc.html#string">std::string</a> channel);
+<a name="l01208"></a>01208 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">ChanMode</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
+<a name="l01212"></a>01212 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">IsOnChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* User, <a class="code" href="classchanrec.html">chanrec</a>* Chan);
+<a name="l01215"></a>01215 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerName_28_29">GetServerName</a>();
+<a name="l01218"></a>01218 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetNetworkName_28_29">GetNetworkName</a>();
+<a name="l01221"></a>01221 <span class="keyword">virtual</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetServerDescription_28_29">GetServerDescription</a>();
+<a name="l01227"></a>01227 <span class="keyword">virtual</span> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#GetAdmin_28_29">GetAdmin</a>();
+<a name="l01246"></a>01246 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">AddExtendedMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> requires_oper, <span class="keywordtype">int</span> params_when_on, <span class="keywordtype">int</span> params_when_off);
+<a name="l01247"></a>01247
+<a name="l01269"></a>01269 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#AddExtendedListMode_28char_20modechar_29">AddExtendedListMode</a>(<span class="keywordtype">char</span> modechar);
+<a name="l01270"></a>01270
+<a name="l01288"></a>01288 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddCommand_28char_20_2Acmd_2C_20handlerfunc_20f_2C_20char_20flags_2C_20int_20minparams_2C_20char_20_2Asource_29">AddCommand</a>(<span class="keywordtype">char</span>* cmd, <a class="code" href="inspircd_8h.html#handlerfunc_29_28char_20_2A_2A_2C_20int_2C_20userrec_20_2A_29">handlerfunc</a> f, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minparams, <span class="keywordtype">char</span>* source);
+<a name="l01289"></a>01289
+<a name="l01311"></a>01311 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">SendMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
+<a name="l01312"></a>01312
+<a name="l01325"></a>01325 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">SendToModeMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> modes, <span class="keywordtype">int</span> flags, <a class="code" href="namespaceirc.html#string">std::string</a> text);
+<a name="l01326"></a>01326
+<a name="l01332"></a>01332 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">JoinUserToChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> key);
+<a name="l01333"></a>01333
+<a name="l01339"></a>01339 <span class="keyword">virtual</span> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">PartUserFromChannel</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> cname, <a class="code" href="namespaceirc.html#string">std::string</a> reason);
+<a name="l01340"></a>01340
+<a name="l01346"></a>01346 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">ChangeUserNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> nickname);
+<a name="l01347"></a>01347
+<a name="l01358"></a>01358 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">QuitUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> reason);
+<a name="l01359"></a>01359
+<a name="l01364"></a>01364 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">MatchText</a>(<a class="code" href="namespaceirc.html#string">std::string</a> sliteral, <a class="code" href="namespaceirc.html#string">std::string</a> spattern);
+<a name="l01365"></a>01365
+<a name="l01377"></a>01377 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">CallCommandHandler</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">char</span>** parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user);
+<a name="l01378"></a>01378
+<a name="l01379"></a>01379 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">IsValidModuleCommand</a>(<a class="code" href="namespaceirc.html#string">std::string</a> commandname, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user);
+<a name="l01380"></a>01380
+<a name="l01386"></a>01386 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">ChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> host);
+<a name="l01387"></a>01387
+<a name="l01393"></a>01393 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">ChangeGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> gecos);
+<a name="l01394"></a>01394
+<a name="l01403"></a>01403 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">IsUlined</a>(<a class="code" href="namespaceirc.html#string">std::string</a> server);
+<a name="l01404"></a>01404
+<a name="l01408"></a>01408 <span class="keyword">virtual</span> <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> <a class="code" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">GetUsers</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan);
+<a name="l01409"></a>01409
+<a name="l01416"></a>01416 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">UserToPseudo</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<a class="code" href="namespaceirc.html#string">std::string</a> message);
+<a name="l01417"></a>01417
+<a name="l01424"></a>01424 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">PseudoToUser</a>(<a class="code" href="classuserrec.html">userrec</a>* alive,<a class="code" href="classuserrec.html">userrec</a>* zombie,<a class="code" href="namespaceirc.html#string">std::string</a> message);
+<a name="l01425"></a>01425
+<a name="l01433"></a>01433 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddGLine</a>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
+<a name="l01434"></a>01434
+<a name="l01442"></a>01442 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">AddQLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> nickname);
+<a name="l01443"></a>01443
+<a name="l01451"></a>01451 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">AddZLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> ipaddr);
+<a name="l01452"></a>01452
+<a name="l01460"></a>01460 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddKLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
+<a name="l01461"></a>01461
+<a name="l01469"></a>01469 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddELine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="namespaceirc.html#string">std::string</a> source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
+<a name="l01470"></a>01470
+<a name="l01473"></a>01473 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">DelGLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
+<a name="l01474"></a>01474
+<a name="l01477"></a>01477 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">DelQLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nickname);
+<a name="l01478"></a>01478
+<a name="l01481"></a>01481 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">DelZLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ipaddr);
+<a name="l01482"></a>01482
+<a name="l01485"></a>01485 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">DelKLine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
+<a name="l01486"></a>01486
+<a name="l01489"></a>01489 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">DelELine</a>(<a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
+<a name="l01490"></a>01490
+<a name="l01496"></a>01496 <span class="keyword">virtual</span> <span class="keywordtype">long</span> <a class="code" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">CalcDuration</a>(<a class="code" href="namespaceirc.html#string">std::string</a> duration);
+<a name="l01497"></a>01497
+<a name="l01500"></a>01500 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">IsValidMask</a>(<a class="code" href="namespaceirc.html#string">std::string</a> mask);
+<a name="l01501"></a>01501
+<a name="l01506"></a>01506 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">FindModule</a>(<a class="code" href="namespaceirc.html#string">std::string</a> name);
+<a name="l01507"></a>01507
+<a name="l01510"></a>01510 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddSocket_28InspSocket_20_2Asock_29">AddSocket</a>(<a class="code" href="classInspSocket.html">InspSocket</a>* sock);
+<a name="l01511"></a>01511
+<a name="l01514"></a>01514 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">DelSocket</a>(<a class="code" href="classInspSocket.html">InspSocket</a>* sock);
<a name="l01515"></a>01515
-<a name="l01516"></a>01516
-<a name="l01517"></a><a class="code" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">01517</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER 0x000010</span>
-<a name="l01518"></a><a class="code" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">01518</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED 0x000080</span>
-<a name="l01519"></a><a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">01519</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND 0x000100</span>
-<a name="l01520"></a><a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">01520</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND 0x000200</span>
-<a name="l01521"></a>01521 <span class="preprocessor"></span>
-<a name="l01522"></a>01522
-<a name="l01529"></a><a class="code" href="classConfigReader.html">01529</a> <span class="keyword">class </span><a class="code" href="classConfigReader.html">ConfigReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l01530"></a>01530 {
-<a name="l01531"></a>01531 <span class="keyword">protected</span>:
-<a name="l01537"></a><a class="code" href="classConfigReader.html#cache">01537</a> std::stringstream *<a class="code" href="classConfigReader.html#cache">cache</a>;
-<a name="l01538"></a><a class="code" href="classConfigReader.html#errorlog">01538</a> std::stringstream *<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
-<a name="l01541"></a><a class="code" href="classConfigReader.html#readerror">01541</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#readerror">readerror</a>;
-<a name="l01542"></a><a class="code" href="classConfigReader.html#error">01542</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#error">error</a>;
-<a name="l01543"></a>01543
-<a name="l01544"></a>01544 <span class="keyword">public</span>:
-<a name="l01549"></a>01549 <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
-<a name="l01553"></a>01553 <span class="comment"></span> <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename); <span class="comment">// read a module-specific config</span>
-<a name="l01557"></a>01557 <span class="comment"></span> <a class="code" href="classConfigReader.html#_7EConfigReader_28_29">~ConfigReader</a>();
-<a name="l01562"></a>01562 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadValue</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index);
-<a name="l01568"></a>01568 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadFlag</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index);
-<a name="l01577"></a>01577 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">ReadInteger</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> needs_unsigned);
-<a name="l01582"></a>01582 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#GetError_28_29">GetError</a>();
-<a name="l01589"></a>01589 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">Enumerate</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag);
-<a name="l01594"></a>01594 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#Verify_28_29">Verify</a>();
-<a name="l01601"></a>01601 <span class="keywordtype">void</span> <a class="code" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">DumpErrors</a>(<span class="keywordtype">bool</span> bail,<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l01602"></a>01602
-<a name="l01608"></a>01608 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">EnumerateValues</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <span class="keywordtype">int</span> index);
-<a name="l01609"></a>01609 };
-<a name="l01610"></a>01610
-<a name="l01611"></a>01611
-<a name="l01612"></a>01612
-<a name="l01618"></a><a class="code" href="classFileReader.html">01618</a> <span class="keyword">class </span><a class="code" href="classFileReader.html">FileReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l01619"></a>01619 {
-<a name="l01620"></a><a class="code" href="classFileReader.html#fc">01620</a> <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> <a class="code" href="classFileReader.html#fc">fc</a>;
-<a name="l01621"></a>01621 <span class="keyword">public</span>:
-<a name="l01626"></a>01626 <a class="code" href="classFileReader.html#FileReader_28_29">FileReader</a>();
-<a name="l01627"></a>01627
-<a name="l01633"></a>01633 <a class="code" href="classFileReader.html#FileReader_28_29">FileReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename);
-<a name="l01634"></a>01634
-<a name="l01638"></a>01638 <a class="code" href="classFileReader.html#_7EFileReader_28_29">~FileReader</a>();
-<a name="l01639"></a>01639
-<a name="l01645"></a>01645 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">LoadFile</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename);
-<a name="l01646"></a>01646
-<a name="l01650"></a>01650 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#Exists_28_29">Exists</a>();
-<a name="l01651"></a>01651
-<a name="l01656"></a>01656 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classFileReader.html#GetLine_28int_20x_29">GetLine</a>(<span class="keywordtype">int</span> x);
-<a name="l01657"></a>01657
-<a name="l01663"></a>01663 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#FileSize_28_29">FileSize</a>();
-<a name="l01664"></a>01664 };
-<a name="l01665"></a>01665
-<a name="l01666"></a>01666
-<a name="l01673"></a><a class="code" href="classModuleFactory.html">01673</a> <span class="keyword">class </span><a class="code" href="classModuleFactory.html">ModuleFactory</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l01674"></a>01674 {
-<a name="l01675"></a>01675 <span class="keyword">public</span>:
-<a name="l01676"></a><a class="code" href="classModuleFactory.html#ModuleFactory_28_29">01676</a> <a class="code" href="classModuleFactory.html#ModuleFactory_28_29">ModuleFactory</a>() { }
-<a name="l01677"></a><a class="code" href="classModuleFactory.html#_7EModuleFactory_28_29">01677</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#_7EModuleFactory_28_29">~ModuleFactory</a>() { }
-<a name="l01682"></a>01682 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">CreateModule</a>(<a class="code" href="classServer.html">Server</a>* Me) = 0;
-<a name="l01683"></a>01683 };
-<a name="l01684"></a>01684
-<a name="l01685"></a>01685
-<a name="l01686"></a><a class="code" href="modules_8h.html#ircd_5Fmodule">01686</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#ircd_5Fmodule">ircd_module</a>;
+<a name="l01516"></a>01516 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#RehashServer_28_29">RehashServer</a>();
+<a name="l01517"></a>01517 };
+<a name="l01518"></a>01518
+<a name="l01519"></a>01519
+<a name="l01520"></a><a class="code" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">01520</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER 0x000010</span>
+<a name="l01521"></a><a class="code" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">01521</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED 0x000080</span>
+<a name="l01522"></a><a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">01522</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND 0x000100</span>
+<a name="l01523"></a><a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">01523</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND 0x000200</span>
+<a name="l01524"></a>01524 <span class="preprocessor"></span>
+<a name="l01525"></a>01525
+<a name="l01532"></a><a class="code" href="classConfigReader.html">01532</a> <span class="keyword">class </span><a class="code" href="classConfigReader.html">ConfigReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+<a name="l01533"></a>01533 {
+<a name="l01534"></a>01534 <span class="keyword">protected</span>:
+<a name="l01540"></a><a class="code" href="classConfigReader.html#cache">01540</a> std::stringstream *<a class="code" href="classConfigReader.html#cache">cache</a>;
+<a name="l01541"></a><a class="code" href="classConfigReader.html#errorlog">01541</a> std::stringstream *<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
+<a name="l01544"></a><a class="code" href="classConfigReader.html#readerror">01544</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#readerror">readerror</a>;
+<a name="l01545"></a><a class="code" href="classConfigReader.html#error">01545</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#error">error</a>;
+<a name="l01546"></a>01546
+<a name="l01547"></a>01547 <span class="keyword">public</span>:
+<a name="l01552"></a>01552 <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
+<a name="l01556"></a>01556 <span class="comment"></span> <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename); <span class="comment">// read a module-specific config</span>
+<a name="l01560"></a>01560 <span class="comment"></span> <a class="code" href="classConfigReader.html#_7EConfigReader_28_29">~ConfigReader</a>();
+<a name="l01565"></a>01565 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadValue</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index);
+<a name="l01571"></a>01571 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadFlag</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index);
+<a name="l01580"></a>01580 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">ReadInteger</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <a class="code" href="namespaceirc.html#string">std::string</a> name, <span class="keywordtype">int</span> index, <span class="keywordtype">bool</span> needs_unsigned);
+<a name="l01585"></a>01585 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#GetError_28_29">GetError</a>();
+<a name="l01592"></a>01592 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">Enumerate</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag);
+<a name="l01597"></a>01597 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#Verify_28_29">Verify</a>();
+<a name="l01604"></a>01604 <span class="keywordtype">void</span> <a class="code" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">DumpErrors</a>(<span class="keywordtype">bool</span> bail,<a class="code" href="classuserrec.html">userrec</a>* user);
+<a name="l01605"></a>01605
+<a name="l01611"></a>01611 <span class="keywordtype">int</span> <a class="code" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">EnumerateValues</a>(<a class="code" href="namespaceirc.html#string">std::string</a> tag, <span class="keywordtype">int</span> index);
+<a name="l01612"></a>01612 };
+<a name="l01613"></a>01613
+<a name="l01614"></a>01614
+<a name="l01615"></a>01615
+<a name="l01621"></a><a class="code" href="classFileReader.html">01621</a> <span class="keyword">class </span><a class="code" href="classFileReader.html">FileReader</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+<a name="l01622"></a>01622 {
+<a name="l01623"></a><a class="code" href="classFileReader.html#fc">01623</a> <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> <a class="code" href="classFileReader.html#fc">fc</a>;
+<a name="l01624"></a>01624 <span class="keyword">public</span>:
+<a name="l01629"></a>01629 <a class="code" href="classFileReader.html#FileReader_28_29">FileReader</a>();
+<a name="l01630"></a>01630
+<a name="l01636"></a>01636 <a class="code" href="classFileReader.html#FileReader_28_29">FileReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename);
+<a name="l01637"></a>01637
+<a name="l01641"></a>01641 <a class="code" href="classFileReader.html#_7EFileReader_28_29">~FileReader</a>();
+<a name="l01642"></a>01642
+<a name="l01648"></a>01648 <span class="keywordtype">void</span> <a class="code" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">LoadFile</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename);
+<a name="l01649"></a>01649
+<a name="l01653"></a>01653 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#Exists_28_29">Exists</a>();
+<a name="l01654"></a>01654
+<a name="l01659"></a>01659 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classFileReader.html#GetLine_28int_20x_29">GetLine</a>(<span class="keywordtype">int</span> x);
+<a name="l01660"></a>01660
+<a name="l01666"></a>01666 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#FileSize_28_29">FileSize</a>();
+<a name="l01667"></a>01667 };
+<a name="l01668"></a>01668
+<a name="l01669"></a>01669
+<a name="l01676"></a><a class="code" href="classModuleFactory.html">01676</a> <span class="keyword">class </span><a class="code" href="classModuleFactory.html">ModuleFactory</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
+<a name="l01677"></a>01677 {
+<a name="l01678"></a>01678 <span class="keyword">public</span>:
+<a name="l01679"></a><a class="code" href="classModuleFactory.html#ModuleFactory_28_29">01679</a> <a class="code" href="classModuleFactory.html#ModuleFactory_28_29">ModuleFactory</a>() { }
+<a name="l01680"></a><a class="code" href="classModuleFactory.html#_7EModuleFactory_28_29">01680</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#_7EModuleFactory_28_29">~ModuleFactory</a>() { }
+<a name="l01685"></a>01685 <span class="keyword">virtual</span> <a class="code" href="classModule.html">Module</a> * <a class="code" href="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">CreateModule</a>(<a class="code" href="classServer.html">Server</a>* Me) = 0;
+<a name="l01686"></a>01686 };
<a name="l01687"></a>01687
-<a name="l01688"></a>01688 <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#ModeDefined_28char_20modechar_2C_20int_20type_29">ModeDefined</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
-<a name="l01689"></a>01689 <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#ModeDefinedOper_28char_20modechar_2C_20int_20type_29">ModeDefinedOper</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
-<a name="l01690"></a>01690 <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#ModeDefinedOn_28char_20modechar_2C_20int_20type_29">ModeDefinedOn</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
-<a name="l01691"></a>01691 <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#ModeDefinedOff_28char_20modechar_2C_20int_20type_29">ModeDefinedOff</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
-<a name="l01692"></a>01692 <span class="keywordtype">void</span> <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(<span class="keywordtype">char</span> modechar);
-<a name="l01693"></a>01693 <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">ModeIsListMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type);
-<a name="l01694"></a>01694
-<a name="l01695"></a>01695 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+<a name="l01688"></a>01688
+<a name="l01689"></a><a class="code" href="modules_8h.html#ircd_5Fmodule">01689</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#ircd_5Fmodule">ircd_module</a>;
+<a name="l01690"></a>01690
+<a name="l01691"></a>01691 <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#ModeDefined_28char_20modechar_2C_20int_20type_29">ModeDefined</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
+<a name="l01692"></a>01692 <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#ModeDefinedOper_28char_20modechar_2C_20int_20type_29">ModeDefinedOper</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
+<a name="l01693"></a>01693 <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#ModeDefinedOn_28char_20modechar_2C_20int_20type_29">ModeDefinedOn</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
+<a name="l01694"></a>01694 <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#ModeDefinedOff_28char_20modechar_2C_20int_20type_29">ModeDefinedOff</a>(<span class="keywordtype">char</span> c, <span class="keywordtype">int</span> i);
+<a name="l01695"></a>01695 <span class="keywordtype">void</span> <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(<span class="keywordtype">char</span> modechar);
+<a name="l01696"></a>01696 <span class="keywordtype">bool</span> <a class="code" href="modules_8cpp.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">ModeIsListMode</a>(<span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type);
+<a name="l01697"></a>01697
+<a name="l01698"></a>01698 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/modules_8h.html b/docs/module-doc/modules_8h.html
index 4fd576a85..9ccdc3d84 100644
--- a/docs/module-doc/modules_8h.html
+++ b/docs/module-doc/modules_8h.html
@@ -496,9 +496,9 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00459">kick_channel
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01520">1520</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01523">1523</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader::ConfigReader()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00736">ConfigReader::ConfigReader()</a>. </td>
</tr>
</table>
<a class="anchor" name="CONF_5FNOT_5FA_5FNUMBER"></a><!-- doxytag: member="modules.h::CONF_NOT_A_NUMBER" ref="CONF_5FNOT_5FA_5FNUMBER" args="" --><p>
@@ -523,9 +523,9 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00731">ConfigReader:
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01517">1517</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01520">1520</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00794">ConfigReader::ReadInteger()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00799">ConfigReader::ReadInteger()</a>. </td>
</tr>
</table>
<a class="anchor" name="CONF_5FNOT_5FUNSIGNED"></a><!-- doxytag: member="modules.h::CONF_NOT_UNSIGNED" ref="CONF_5FNOT_5FUNSIGNED" args="" --><p>
@@ -550,9 +550,9 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00794">ConfigReader:
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01518">1518</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01521">1521</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00794">ConfigReader::ReadInteger()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00799">ConfigReader::ReadInteger()</a>. </td>
</tr>
</table>
<a class="anchor" name="CONF_5FVALUE_5FNOT_5FFOUND"></a><!-- doxytag: member="modules.h::CONF_VALUE_NOT_FOUND" ref="CONF_5FVALUE_5FNOT_5FFOUND" args="" --><p>
@@ -577,9 +577,9 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00794">ConfigReader:
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01519">1519</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
+Definition at line <a class="el" href="modules_8h-source.html#l01522">1522</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00777">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00794">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00761">ConfigReader::ReadValue()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00782">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00799">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00766">ConfigReader::ReadValue()</a>. </td>
</tr>
</table>
<a class="anchor" name="DEBUG"></a><!-- doxytag: member="modules.h::DEBUG" ref="DEBUG" args="" --><p>
@@ -658,7 +658,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00025">25</a> of
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00101">101</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00605">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00593">Server::UserToPseudo()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00610">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00598">Server::UserToPseudo()</a>. </td>
</tr>
</table>
<a class="anchor" name="FOREACH_5FMOD"></a><!-- doxytag: member="modules.h::FOREACH_MOD" ref="FOREACH_5FMOD" args="" --><p>
@@ -755,7 +755,7 @@ Used with OnExtendedMode() method of modules.
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00031">31</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00579">Server::AddExtendedListMode()</a>, and <a class="el" href="modules_8cpp-source.html#l00144">ModeMakeList()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00584">Server::AddExtendedListMode()</a>, and <a class="el" href="modules_8cpp-source.html#l00144">ModeMakeList()</a>. </td>
</tr>
</table>
<a class="anchor" name="MT_5FCLIENT"></a><!-- doxytag: member="modules.h::MT_CLIENT" ref="MT_5FCLIENT" args="" --><p>
@@ -782,7 +782,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00579">Server::AddEx
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00032">32</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00551">Server::AddExtendedMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00556">Server::AddExtendedMode()</a>. </td>
</tr>
</table>
<a class="anchor" name="MT_5FSERVER"></a><!-- doxytag: member="modules.h::MT_SERVER" ref="MT_5FSERVER" args="" --><p>
@@ -809,7 +809,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00551">Server::AddEx
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00033">33</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00551">Server::AddExtendedMode()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00556">Server::AddExtendedMode()</a>. </td>
</tr>
</table>
<a class="anchor" name="NONE"></a><!-- doxytag: member="modules.h::NONE" ref="NONE" args="" --><p>
@@ -1068,7 +1068,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00065">65</a> of
<p>
<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01686">1686</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
+Definition at line <a class="el" href="modules_8h-source.html#l01689">1689</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
</tr>
</table>
<a class="anchor" name="string_5Flist"></a><!-- doxytag: member="modules.h::string_list" ref="string_5Flist" args="" --><p>
@@ -1151,7 +1151,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00070">70</a> of
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00411">Server::AddCommand()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00416">Server::AddCommand()</a>. </td>
</tr>
</table>
<a class="anchor" name="ModeDefined_28char_20c_2C_20int_20i_29"></a><!-- doxytag: member="modules.h::ModeDefined" ref="ModeDefined_28char_20c_2C_20int_20i_29" args="(char c, int i)" --><p>
@@ -1452,7 +1452,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00144">144</a>
<p>
References <a class="el" href="modules_8cpp-source.html#l00068">EMode</a>, and <a class="el" href="modules_8h-source.html#l00031">MT_CHANNEL</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00579">Server::AddExtendedListMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00145"></a>00145 {
+Referenced by <a class="el" href="modules_8cpp-source.html#l00584">Server::AddExtendedListMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00145"></a>00145 {
<a name="l00146"></a>00146 <span class="keywordflow">for</span> (<a class="code" href="typedefs_8h.html#ExtModeListIter">ExtModeListIter</a> i = <a class="code" href="modules_8cpp.html#EMode">EMode</a>.begin(); i &lt; <a class="code" href="modules_8cpp.html#EMode">EMode</a>.end(); i++)
<a name="l00147"></a>00147 {
<a name="l00148"></a>00148 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == <a class="code" href="modules_8h.html#MT_5FCHANNEL">MT_CHANNEL</a>))
@@ -1511,7 +1511,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00579">Server::AddEx
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:21 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/namespaceirc.html b/docs/module-doc/namespaceirc.html
index b5bf542b5..7a3116ffc 100644
--- a/docs/module-doc/namespaceirc.html
+++ b/docs/module-doc/namespaceirc.html
@@ -56,7 +56,7 @@ This typedef declares <a class="el" href="namespaceirc.html#string">irc::string<
Definition at line <a class="el" href="hashcomp_8h-source.html#l00129">129</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/namespacemembers.html b/docs/module-doc/namespacemembers.html
index 69f09aa43..739166549 100644
--- a/docs/module-doc/namespacemembers.html
+++ b/docs/module-doc/namespacemembers.html
@@ -11,7 +11,7 @@ Here is a list of all namespace members with links to the namespace documentatio
<ul>
<li>string
: <a class="el" href="namespaceirc.html#string">irc</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/namespacemembers_type.html b/docs/module-doc/namespacemembers_type.html
index b08d6e314..99d94cbd5 100644
--- a/docs/module-doc/namespacemembers_type.html
+++ b/docs/module-doc/namespacemembers_type.html
@@ -11,7 +11,7 @@
<ul>
<li>string
: <a class="el" href="namespaceirc.html#string">irc</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/namespacenspace.html b/docs/module-doc/namespacenspace.html
index 76db5f60d..3558dad6a 100644
--- a/docs/module-doc/namespacenspace.html
+++ b/docs/module-doc/namespacenspace.html
@@ -15,7 +15,7 @@
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnspace_1_1hash_3_01string_01_4.html">hash&lt; string &gt;</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/namespaces.html b/docs/module-doc/namespaces.html
index 6158d6a1b..a9b9a4154 100644
--- a/docs/module-doc/namespaces.html
+++ b/docs/module-doc/namespaces.html
@@ -10,7 +10,7 @@
<tr><td class="indexkey"><a class="el" href="namespacenspace.html">nspace</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/namespacestd.html b/docs/module-doc/namespacestd.html
index 08b4beccd..51eb1a3f9 100644
--- a/docs/module-doc/namespacestd.html
+++ b/docs/module-doc/namespacestd.html
@@ -10,7 +10,7 @@
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socket_8cpp-source.html b/docs/module-doc/socket_8cpp-source.html
index abe739680..933d1eae5 100644
--- a/docs/module-doc/socket_8cpp-source.html
+++ b/docs/module-doc/socket_8cpp-source.html
@@ -287,7 +287,7 @@
<a name="l00278"></a>00278 <span class="comment">int BindSocket (int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char* addr)</span>
<a name="l00279"></a>00279 <span class="comment">int OpenTCPSocket (void)</span>
<a name="l00280"></a>00280 <span class="comment">*/</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socket_8cpp.html b/docs/module-doc/socket_8cpp.html
index 181c5639e..fda9e1ce7 100644
--- a/docs/module-doc/socket_8cpp.html
+++ b/docs/module-doc/socket_8cpp.html
@@ -170,7 +170,7 @@ Definition at line <a class="el" href="socket_8cpp-source.html#l00046">46</a> of
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:22 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socket_8h-source.html b/docs/module-doc/socket_8h-source.html
index 6d0f485de..4001154a5 100644
--- a/docs/module-doc/socket_8h-source.html
+++ b/docs/module-doc/socket_8h-source.html
@@ -110,7 +110,7 @@
<a name="l00302"></a>00302 };
<a name="l00303"></a>00303
<a name="l00304"></a>00304 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socket_8h.html b/docs/module-doc/socket_8h.html
index 628f6c42d..6a07f6829 100644
--- a/docs/module-doc/socket_8h.html
+++ b/docs/module-doc/socket_8h.html
@@ -139,7 +139,7 @@ Definition at line <a class="el" href="socket_8h-source.html#l00029">29</a> of f
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:22 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socketengine_8cpp-source.html b/docs/module-doc/socketengine_8cpp-source.html
index 82fb7dcfe..9811eef6b 100644
--- a/docs/module-doc/socketengine_8cpp-source.html
+++ b/docs/module-doc/socketengine_8cpp-source.html
@@ -212,7 +212,7 @@
<a name="l00203"></a>00203 <span class="preprocessor">#endif</span>
<a name="l00204"></a>00204 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="stringliteral">"misconfigured"</span>;
<a name="l00205"></a>00205 }
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socketengine_8cpp.html b/docs/module-doc/socketengine_8cpp.html
index 6ae53100f..35ea9bd95 100644
--- a/docs/module-doc/socketengine_8cpp.html
+++ b/docs/module-doc/socketengine_8cpp.html
@@ -57,7 +57,7 @@ Definition at line <a class="el" href="socketengine_8cpp-source.html#l00033">33<
Referenced by <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="socketengine_8cpp-source.html#l00057">SocketEngine::GetType()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00146">SocketEngine::Wait()</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:23 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socketengine_8h-source.html b/docs/module-doc/socketengine_8h-source.html
index 781e08ce9..ceb54ee8c 100644
--- a/docs/module-doc/socketengine_8h-source.html
+++ b/docs/module-doc/socketengine_8h-source.html
@@ -82,7 +82,7 @@
<a name="l00142"></a>00142 };
<a name="l00143"></a>00143
<a name="l00144"></a>00144 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/socketengine_8h.html b/docs/module-doc/socketengine_8h.html
index 827330333..c6ee617a3 100644
--- a/docs/module-doc/socketengine_8h.html
+++ b/docs/module-doc/socketengine_8h.html
@@ -215,7 +215,7 @@ Definition at line <a class="el" href="socketengine_8h-source.html#l00055">55</a
Referenced by <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00146">SocketEngine::Wait()</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:24 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structdns__ip4list-members.html b/docs/module-doc/structdns__ip4list-members.html
index 0a88d3b41..fa02814fa 100644
--- a/docs/module-doc/structdns__ip4list-members.html
+++ b/docs/module-doc/structdns__ip4list-members.html
@@ -8,7 +8,7 @@
<h1>dns_ip4list Member List</h1>This is the complete list of members for <a class="el" href="structdns__ip4list.html">dns_ip4list</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structdns__ip4list.html#ip">ip</a></td><td><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="structdns__ip4list.html#next">next</a></td><td><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structdns__ip4list.html b/docs/module-doc/structdns__ip4list.html
index 2332edf25..cf1bd3068 100644
--- a/docs/module-doc/structdns__ip4list.html
+++ b/docs/module-doc/structdns__ip4list.html
@@ -74,7 +74,7 @@ Definition at line <a class="el" href="dns_8h-source.html#l00028">28</a> of file
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="dns_8h-source.html">dns.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:26 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:18 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structirc_1_1InAddr__HashComp-members.html b/docs/module-doc/structirc_1_1InAddr__HashComp-members.html
index 7c6896792..249b293ef 100644
--- a/docs/module-doc/structirc_1_1InAddr__HashComp-members.html
+++ b/docs/module-doc/structirc_1_1InAddr__HashComp-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>irc::InAddr_HashComp Member List</h1>This is the complete list of members for <a class="el" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structirc_1_1InAddr__HashComp.html#operator_28_29_28const_20in_5Faddr_20_26s_31_2C_20const_20in_5Faddr_20_26s_32_29_20const_20">operator()</a>(const in_addr &amp;s1, const in_addr &amp;s2) const </td><td><a class="el" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structirc_1_1InAddr__HashComp.html b/docs/module-doc/structirc_1_1InAddr__HashComp.html
index ff8d46267..49a97d2d1 100644
--- a/docs/module-doc/structirc_1_1InAddr__HashComp.html
+++ b/docs/module-doc/structirc_1_1InAddr__HashComp.html
@@ -68,7 +68,7 @@ The operator () does the actual comparison in hash_map.
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="hashcomp_8h-source.html">hashcomp.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structirc_1_1StrHashComp-members.html b/docs/module-doc/structirc_1_1StrHashComp-members.html
index 0895f7aa9..dd9da58d0 100644
--- a/docs/module-doc/structirc_1_1StrHashComp-members.html
+++ b/docs/module-doc/structirc_1_1StrHashComp-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>irc::StrHashComp Member List</h1>This is the complete list of members for <a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structirc_1_1StrHashComp.html#operator_28_29_28const_20std_3A_3Astring_20_26s_31_2C_20const_20std_3A_3Astring_20_26s_32_29_20const_20">operator()</a>(const std::string &amp;s1, const std::string &amp;s2) const </td><td><a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structirc_1_1StrHashComp.html b/docs/module-doc/structirc_1_1StrHashComp.html
index e75a78fc7..74ece1118 100644
--- a/docs/module-doc/structirc_1_1StrHashComp.html
+++ b/docs/module-doc/structirc_1_1StrHashComp.html
@@ -68,7 +68,7 @@ The operator () does the actual comparison in hash_map.
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="hashcomp_8h-source.html">hashcomp.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structirc_1_1irc__char__traits-members.html b/docs/module-doc/structirc_1_1irc__char__traits-members.html
index f7a4822cf..596ff8900 100644
--- a/docs/module-doc/structirc_1_1irc__char__traits-members.html
+++ b/docs/module-doc/structirc_1_1irc__char__traits-members.html
@@ -11,7 +11,7 @@
<tr class="memlist"><td><a class="el" href="structirc_1_1irc__char__traits.html#find_28const_20char_20_2As_31_2C_20int_20n_2C_20char_20c_29">find</a>(const char *s1, int n, char c)</td><td><a class="el" href="structirc_1_1irc__char__traits.html">irc::irc_char_traits</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="structirc_1_1irc__char__traits.html#lt_28char_20c_31st_2C_20char_20c_32nd_29">lt</a>(char c1st, char c2nd)</td><td><a class="el" href="structirc_1_1irc__char__traits.html">irc::irc_char_traits</a></td><td><code> [static]</code></td></tr>
<tr class="memlist"><td><a class="el" href="structirc_1_1irc__char__traits.html#ne_28char_20c_31st_2C_20char_20c_32nd_29">ne</a>(char c1st, char c2nd)</td><td><a class="el" href="structirc_1_1irc__char__traits.html">irc::irc_char_traits</a></td><td><code> [static]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structirc_1_1irc__char__traits.html b/docs/module-doc/structirc_1_1irc__char__traits.html
index 6a68cf5ec..ea99c41a1 100644
--- a/docs/module-doc/structirc_1_1irc__char__traits.html
+++ b/docs/module-doc/structirc_1_1irc__char__traits.html
@@ -256,7 +256,7 @@ Check if two chars do NOT match.
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="hashcomp_8h-source.html">hashcomp.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html b/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html
index b80d90f29..ee61dcf3d 100644
--- a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html
+++ b/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>nspace::hash&lt; in_addr &gt; Member List</h1>This is the complete list of members for <a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html#operator_28_29_28const_20struct_20in_5Faddr_20_26a_29_20const_20">operator()</a>(const struct in_addr &amp;a) const </td><td><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html b/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html
index c9784131d..b6f8cbff5 100644
--- a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html
+++ b/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html
@@ -54,7 +54,7 @@ Definition at line <a class="el" href="hashcomp_8h-source.html#l00054">54</a> of
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="hashcomp_8h-source.html">hashcomp.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html b/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html
index 3b560f053..9fab76b65 100644
--- a/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html
+++ b/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>nspace::hash&lt; string &gt; Member List</h1>This is the complete list of members for <a class="el" href="structnspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a>, including all inherited members.<p><table>
<tr class="memlist"><td><a class="el" href="structnspace_1_1hash_3_01string_01_4.html#operator_28_29_28const_20string_20_26s_29_20const_20">operator()</a>(const string &amp;s) const </td><td><a class="el" href="structnspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+</table><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html b/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html
index 6b99de245..73e23d188 100644
--- a/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html
+++ b/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html
@@ -54,7 +54,7 @@ Definition at line <a class="el" href="hashcomp_8h-source.html#l00062">62</a> of
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="hashcomp_8h-source.html">hashcomp.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:29 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:20 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/tree.html b/docs/module-doc/tree.html
index 93b89b3a8..c109a1b8f 100644
--- a/docs/module-doc/tree.html
+++ b/docs/module-doc/tree.html
@@ -80,6 +80,7 @@
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="commands_8h.html" target="basefrm">commands.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="connection_8h.html" target="basefrm">connection.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="ctables_8h.html" target="basefrm">ctables.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="cull__list_8h.html" target="basefrm">cull_list.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="dns_8h.html" target="basefrm">dns.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="globals_8h.html" target="basefrm">globals.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="hashcomp_8h.html" target="basefrm">hashcomp.h</a></p>
@@ -111,6 +112,8 @@
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classConfigReader.html" target="basefrm">ConfigReader</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classConnectClass.html" target="basefrm">ConnectClass</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classconnection.html" target="basefrm">connection</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classCullItem.html" target="basefrm">CullItem</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classCullList.html" target="basefrm">CullList</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classDNS.html" target="basefrm">DNS</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structdns__ip4list.html" target="basefrm">dns_ip4list</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classELine.html" target="basefrm">ELine</a></p>
@@ -199,6 +202,8 @@
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classZLine.html" target="basefrm">ZLine</a></p>
</div>
</div>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classCullItem.html" target="basefrm">CullItem</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classCullList.html" target="basefrm">CullList</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classDNS.html" target="basefrm">DNS</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structdns__ip4list.html" target="basefrm">dns_ip4list</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html" target="basefrm">nspace::hash< in_addr ></a></p>
diff --git a/docs/module-doc/typedefs_8h-source.html b/docs/module-doc/typedefs_8h-source.html
index b22da8103..a907e32fc 100644
--- a/docs/module-doc/typedefs_8h-source.html
+++ b/docs/module-doc/typedefs_8h-source.html
@@ -37,7 +37,7 @@
<a name="l00028"></a><a class="code" href="typedefs_8h.html#file_5Fcache">00028</a> <span class="keyword">typedef</span> std::deque&lt;std::string&gt; <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a>;
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/typedefs_8h.html b/docs/module-doc/typedefs_8h.html
index cd9bbc04a..2db725325 100644
--- a/docs/module-doc/typedefs_8h.html
+++ b/docs/module-doc/typedefs_8h.html
@@ -295,7 +295,7 @@ Definition at line <a class="el" href="typedefs_8h-source.html#l00020">20</a> of
Definition at line <a class="el" href="typedefs_8h-source.html#l00023">23</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:24 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/userprocess_8h-source.html b/docs/module-doc/userprocess_8h-source.html
index 6b70a7635..7d8502961 100644
--- a/docs/module-doc/userprocess_8h-source.html
+++ b/docs/module-doc/userprocess_8h-source.html
@@ -20,7 +20,7 @@
<a name="l00011"></a>00011 <span class="keywordtype">void</span> <a class="code" href="userprocess_8h.html#ProcessUser_28userrec_20_2Acu_29">ProcessUser</a>(<a class="code" href="classuserrec.html">userrec</a>* cu);
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/userprocess_8h.html b/docs/module-doc/userprocess_8h.html
index ad7540c5f..2e6f0e710 100644
--- a/docs/module-doc/userprocess_8h.html
+++ b/docs/module-doc/userprocess_8h.html
@@ -209,7 +209,7 @@ Include dependency graph for userprocess.h:<p><center><img src="userprocess_8h__
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:24 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html
index c8a6138b9..5cc9b05f2 100644
--- a/docs/module-doc/users_8cpp-source.html
+++ b/docs/module-doc/users_8cpp-source.html
@@ -310,7 +310,7 @@
<a name="l00301"></a>00301 {
<a name="l00302"></a>00302 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classuserrec.html#WriteError">WriteError</a>;
<a name="l00303"></a>00303 }
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/users_8cpp.html b/docs/module-doc/users_8cpp.html
index fadb9bd2f..46ef13e2c 100644
--- a/docs/module-doc/users_8cpp.html
+++ b/docs/module-doc/users_8cpp.html
@@ -83,7 +83,7 @@ Include dependency graph for users.cpp:<p><center><img src="users_8cpp__incl.gif
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:16 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/users_8h-source.html b/docs/module-doc/users_8h-source.html
index 5fda18768..909efa35b 100644
--- a/docs/module-doc/users_8h-source.html
+++ b/docs/module-doc/users_8h-source.html
@@ -192,7 +192,7 @@
<a name="l00342"></a>00342 };
<a name="l00343"></a>00343
<a name="l00344"></a>00344 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/users_8h.html b/docs/module-doc/users_8h.html
index 7a9a08a0f..62402d7cb 100644
--- a/docs/module-doc/users_8h.html
+++ b/docs/module-doc/users_8h.html
@@ -23,17 +23,18 @@ Include dependency graph for users.h:<p><center><img src="users_8h__incl.gif" bo
<p>
This graph shows which files directly or indirectly include this file:<p><center><img src="users_8h__dep__incl.gif" border="0" usemap="#users.hdep_map" alt=""></center>
<map name="users.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="413,235,512,262" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="413,387,512,414" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="280,362,360,388" alt="">
-<area href="commands_8h-source.html" shape="rect" coords="125,412,224,439" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="137,184,212,211" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="277,210,363,236" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="135,311,215,338" alt="">
-<area href="message_8h-source.html" shape="rect" coords="277,58,363,84" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="287,463,353,490" alt="">
-<area href="userprocess_8h-source.html" shape="rect" coords="123,666,227,692" alt="">
-<area href="xline_8h-source.html" shape="rect" coords="289,514,351,540" alt="">
+<area href="channels_8cpp-source.html" shape="rect" coords="413,412,512,439" alt="">
+<area href="modules_8cpp-source.html" shape="rect" coords="413,311,512,337" alt="">
+<area href="users_8cpp-source.html" shape="rect" coords="280,159,360,185" alt="">
+<area href="commands_8h-source.html" shape="rect" coords="125,108,224,135" alt="">
+<area href="globals_8h-source.html" shape="rect" coords="137,361,212,388" alt="">
+<area href="typedefs_8h-source.html" shape="rect" coords="277,361,363,388" alt="">
+<area href="inspircd_8h-source.html" shape="rect" coords="135,209,215,236" alt="">
+<area href="cull__list_8h-source.html" shape="rect" coords="136,412,213,439" alt="">
+<area href="message_8h-source.html" shape="rect" coords="277,564,363,591" alt="">
+<area href="mode_8h-source.html" shape="rect" coords="287,260,353,287" alt="">
+<area href="userprocess_8h-source.html" shape="rect" coords="123,564,227,591" alt="">
+<area href="xline_8h-source.html" shape="rect" coords="289,463,351,489" alt="">
</map>
<p>
@@ -281,7 +282,7 @@ Holds a complete list of all channels to which a user has been invited and has n
Definition at line <a class="el" href="users_8h-source.html#l00097">97</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/users_8h__dep__incl.gif b/docs/module-doc/users_8h__dep__incl.gif
index e3890d199..989f855cd 100644
--- a/docs/module-doc/users_8h__dep__incl.gif
+++ b/docs/module-doc/users_8h__dep__incl.gif
Binary files differ
diff --git a/docs/module-doc/users_8h__dep__incl.map b/docs/module-doc/users_8h__dep__incl.map
index 9323b24c7..26ba17778 100644
--- a/docs/module-doc/users_8h__dep__incl.map
+++ b/docs/module-doc/users_8h__dep__incl.map
@@ -1,12 +1,13 @@
base referer
-rect $channels_8cpp-source.html 413,235 512,262
-rect $modules_8cpp-source.html 413,387 512,414
-rect $users_8cpp-source.html 280,362 360,388
-rect $commands_8h-source.html 125,412 224,439
-rect $globals_8h-source.html 137,184 212,211
-rect $typedefs_8h-source.html 277,210 363,236
-rect $inspircd_8h-source.html 135,311 215,338
-rect $message_8h-source.html 277,58 363,84
-rect $mode_8h-source.html 287,463 353,490
-rect $userprocess_8h-source.html 123,666 227,692
-rect $xline_8h-source.html 289,514 351,540
+rect $channels_8cpp-source.html 413,412 512,439
+rect $modules_8cpp-source.html 413,311 512,337
+rect $users_8cpp-source.html 280,159 360,185
+rect $commands_8h-source.html 125,108 224,135
+rect $globals_8h-source.html 137,361 212,388
+rect $typedefs_8h-source.html 277,361 363,388
+rect $inspircd_8h-source.html 135,209 215,236
+rect $cull__list_8h-source.html 136,412 213,439
+rect $message_8h-source.html 277,564 363,591
+rect $mode_8h-source.html 287,260 353,287
+rect $userprocess_8h-source.html 123,564 227,591
+rect $xline_8h-source.html 289,463 351,489
diff --git a/docs/module-doc/users_8h__dep__incl.md5 b/docs/module-doc/users_8h__dep__incl.md5
index 76da854d5..77a2c3cd3 100644
--- a/docs/module-doc/users_8h__dep__incl.md5
+++ b/docs/module-doc/users_8h__dep__incl.md5
@@ -1 +1 @@
-f25dbe6c6683cb78df35ea31b4525d24 \ No newline at end of file
+c6314acd91a09c69378b916056cacc46 \ No newline at end of file
diff --git a/docs/module-doc/xline_8h-source.html b/docs/module-doc/xline_8h-source.html
index f59cf1d1b..9d4e52ad3 100644
--- a/docs/module-doc/xline_8h-source.html
+++ b/docs/module-doc/xline_8h-source.html
@@ -129,7 +129,7 @@
<a name="l00161"></a>00161 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#qline_5Fmake_5Fglobal_28const_20char_20_2Anickname_29">qline_make_global</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nickname);
<a name="l00162"></a>00162
<a name="l00163"></a>00163 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:12 2005 for InspIRCd by&nbsp;
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:14 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>
diff --git a/docs/module-doc/xline_8h.html b/docs/module-doc/xline_8h.html
index 84306949d..7f39624d3 100644
--- a/docs/module-doc/xline_8h.html
+++ b/docs/module-doc/xline_8h.html
@@ -172,7 +172,7 @@ This graph shows which files directly or indirectly include this file:<p><center
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00655">Server::AddELine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00660">Server::AddELine()</a>. </td>
</tr>
</table>
<a class="anchor" name="add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29"></a><!-- doxytag: member="xline.h::add_gline" ref="add_5Fgline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29" args="(long duration, const char *source, const char *reason, const char *hostmask)" --><p>
@@ -223,7 +223,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00655">Server::AddEL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00635">Server::AddGLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00640">Server::AddGLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29"></a><!-- doxytag: member="xline.h::add_kline" ref="add_5Fkline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29" args="(long duration, const char *source, const char *reason, const char *hostmask)" --><p>
@@ -274,7 +274,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00635">Server::AddGL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00650">Server::AddKLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00655">Server::AddKLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29"></a><!-- doxytag: member="xline.h::add_qline" ref="add_5Fqline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Anickname_29" args="(long duration, const char *source, const char *reason, const char *nickname)" --><p>
@@ -325,7 +325,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00650">Server::AddKL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00640">Server::AddQLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00645">Server::AddQLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29"></a><!-- doxytag: member="xline.h::add_zline" ref="add_5Fzline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Aipaddr_29" args="(long duration, const char *source, const char *reason, const char *ipaddr)" --><p>
@@ -376,7 +376,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00640">Server::AddQL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00645">Server::AddZLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00650">Server::AddZLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="apply_5Flines_28const_20int_20What_29"></a><!-- doxytag: member="xline.h::apply_lines" ref="apply_5Flines_28const_20int_20What_29" args="(const int What)" --><p>
@@ -434,7 +434,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00645">Server::AddZL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00680">Server::DelELine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00685">Server::DelELine()</a>. </td>
</tr>
</table>
<a class="anchor" name="del_5Fgline_28const_20char_20_2Ahostmask_29"></a><!-- doxytag: member="xline.h::del_gline" ref="del_5Fgline_28const_20char_20_2Ahostmask_29" args="(const char *hostmask)" --><p>
@@ -464,7 +464,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00680">Server::DelEL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00660">Server::DelGLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00665">Server::DelGLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="del_5Fkline_28const_20char_20_2Ahostmask_29"></a><!-- doxytag: member="xline.h::del_kline" ref="del_5Fkline_28const_20char_20_2Ahostmask_29" args="(const char *hostmask)" --><p>
@@ -494,7 +494,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00660">Server::DelGL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00675">Server::DelKLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00680">Server::DelKLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="del_5Fqline_28const_20char_20_2Anickname_29"></a><!-- doxytag: member="xline.h::del_qline" ref="del_5Fqline_28const_20char_20_2Anickname_29" args="(const char *nickname)" --><p>
@@ -524,7 +524,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00675">Server::DelKL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00665">Server::DelQLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00670">Server::DelQLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="del_5Fzline_28const_20char_20_2Aipaddr_29"></a><!-- doxytag: member="xline.h::del_zline" ref="del_5Fzline_28const_20char_20_2Aipaddr_29" args="(const char *ipaddr)" --><p>
@@ -554,7 +554,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00665">Server::DelQL
<p>
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00670">Server::DelZLine()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00675">Server::DelZLine()</a>. </td>
</tr>
</table>
<a class="anchor" name="eline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29"></a><!-- doxytag: member="xline.h::eline_set_creation_time" ref="eline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29" args="(char *host, time_t create_time)" --><p>
@@ -1221,7 +1221,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00033">33</a> of fi
Definition at line <a class="el" href="xline_8h-source.html#l00034">34</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Wed Dec 14 19:16:25 2005 for InspIRCd by&nbsp;
+<hr size="1"><address style="align: right;"><small>Generated on Thu Dec 15 11:14:17 2005 for InspIRCd by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.4-20050815 </small></address>
</body>