summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-19 18:32:09 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-19 18:32:09 +0000
commitf62de63955ff77e800360eb140f108b5d2c6c075 (patch)
treeba335bc50edfd4ec40d8c1588d1547ec36a12025 /docs
parentbee19556f653e8cf609eb07ec63aeab46d92ca79 (diff)
Design flaw my ass.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2580 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'docs')
-rw-r--r--docs/module-doc/aes_8h-source.html142
-rw-r--r--docs/module-doc/aes_8h.html133
-rw-r--r--docs/module-doc/aes_8h__incl.map1
-rw-r--r--docs/module-doc/aes_8h__incl.md51
-rw-r--r--docs/module-doc/annotated.html65
-rw-r--r--docs/module-doc/base_8h-source.html95
-rw-r--r--docs/module-doc/base_8h.html74
-rw-r--r--docs/module-doc/base_8h__dep__incl.gifbin2057 -> 0 bytes
-rw-r--r--docs/module-doc/base_8h__dep__incl.map4
-rw-r--r--docs/module-doc/base_8h__dep__incl.md51
-rw-r--r--docs/module-doc/base_8h__incl.gifbin2133 -> 0 bytes
-rw-r--r--docs/module-doc/base_8h__incl.map1
-rw-r--r--docs/module-doc/base_8h__incl.md51
-rw-r--r--docs/module-doc/channels_8cpp-source.html559
-rw-r--r--docs/module-doc/channels_8cpp.html914
-rw-r--r--docs/module-doc/channels_8cpp__incl.gifbin46683 -> 0 bytes
-rw-r--r--docs/module-doc/channels_8cpp__incl.map12
-rw-r--r--docs/module-doc/channels_8cpp__incl.md51
-rw-r--r--docs/module-doc/channels_8h-source.html161
-rw-r--r--docs/module-doc/channels_8h.html958
-rw-r--r--docs/module-doc/channels_8h__dep__incl.gifbin7842 -> 0 bytes
-rw-r--r--docs/module-doc/channels_8h__dep__incl.map11
-rw-r--r--docs/module-doc/channels_8h__dep__incl.md51
-rw-r--r--docs/module-doc/channels_8h__incl.gifbin3207 -> 0 bytes
-rw-r--r--docs/module-doc/channels_8h__incl.map2
-rw-r--r--docs/module-doc/channels_8h__incl.md51
-rw-r--r--docs/module-doc/classAdmin-members.html20
-rw-r--r--docs/module-doc/classAdmin.html172
-rw-r--r--docs/module-doc/classAdmin__coll__graph.gifbin2022 -> 0 bytes
-rw-r--r--docs/module-doc/classAdmin__coll__graph.map2
-rw-r--r--docs/module-doc/classAdmin__coll__graph.md51
-rw-r--r--docs/module-doc/classAdmin__inherit__graph.gifbin766 -> 0 bytes
-rw-r--r--docs/module-doc/classAdmin__inherit__graph.map2
-rw-r--r--docs/module-doc/classAdmin__inherit__graph.md51
-rw-r--r--docs/module-doc/classBanItem-members.html21
-rw-r--r--docs/module-doc/classBanItem.html37
-rw-r--r--docs/module-doc/classBanItem__coll__graph.gifbin2871 -> 0 bytes
-rw-r--r--docs/module-doc/classBanItem__coll__graph.map3
-rw-r--r--docs/module-doc/classBanItem__coll__graph.md51
-rw-r--r--docs/module-doc/classBanItem__inherit__graph.gifbin1125 -> 0 bytes
-rw-r--r--docs/module-doc/classBanItem__inherit__graph.map3
-rw-r--r--docs/module-doc/classBanItem__inherit__graph.md51
-rw-r--r--docs/module-doc/classBoolSet-members.html24
-rw-r--r--docs/module-doc/classBoolSet.html412
-rw-r--r--docs/module-doc/classBoolSet__coll__graph.gifbin815 -> 0 bytes
-rw-r--r--docs/module-doc/classBoolSet__coll__graph.map1
-rw-r--r--docs/module-doc/classBoolSet__coll__graph.md51
-rw-r--r--docs/module-doc/classConfigReader-members.html31
-rw-r--r--docs/module-doc/classConfigReader.html780
-rw-r--r--docs/module-doc/classConfigReader__coll__graph.gifbin3200 -> 0 bytes
-rw-r--r--docs/module-doc/classConfigReader__coll__graph.map2
-rw-r--r--docs/module-doc/classConfigReader__coll__graph.md51
-rw-r--r--docs/module-doc/classConfigReader__inherit__graph.gifbin950 -> 0 bytes
-rw-r--r--docs/module-doc/classConfigReader__inherit__graph.map2
-rw-r--r--docs/module-doc/classConfigReader__inherit__graph.md51
-rw-r--r--docs/module-doc/classConnectClass-members.html26
-rw-r--r--docs/module-doc/classConnectClass.html370
-rw-r--r--docs/module-doc/classConnectClass__coll__graph.gifbin4037 -> 0 bytes
-rw-r--r--docs/module-doc/classConnectClass__coll__graph.map2
-rw-r--r--docs/module-doc/classConnectClass__coll__graph.md51
-rw-r--r--docs/module-doc/classConnectClass__inherit__graph.gifbin941 -> 0 bytes
-rw-r--r--docs/module-doc/classConnectClass__inherit__graph.map2
-rw-r--r--docs/module-doc/classConnectClass__inherit__graph.md51
-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.gifbin2126 -> 0 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.gifbin1767 -> 0 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.html43
-rw-r--r--docs/module-doc/classDNS.html968
-rw-r--r--docs/module-doc/classDNS__coll__graph.gifbin2216 -> 0 bytes
-rw-r--r--docs/module-doc/classDNS__coll__graph.map1
-rw-r--r--docs/module-doc/classDNS__coll__graph.md51
-rw-r--r--docs/module-doc/classELine-members.html22
-rw-r--r--docs/module-doc/classELine.html66
-rw-r--r--docs/module-doc/classELine__coll__graph.gifbin3915 -> 0 bytes
-rw-r--r--docs/module-doc/classELine__coll__graph.map3
-rw-r--r--docs/module-doc/classELine__coll__graph.md51
-rw-r--r--docs/module-doc/classELine__inherit__graph.gifbin1022 -> 0 bytes
-rw-r--r--docs/module-doc/classELine__inherit__graph.map3
-rw-r--r--docs/module-doc/classELine__inherit__graph.md51
-rw-r--r--docs/module-doc/classEvent-members.html25
-rw-r--r--docs/module-doc/classEvent.html361
-rw-r--r--docs/module-doc/classEvent__coll__graph.gifbin3362 -> 0 bytes
-rw-r--r--docs/module-doc/classEvent__coll__graph.map4
-rw-r--r--docs/module-doc/classEvent__coll__graph.md51
-rw-r--r--docs/module-doc/classEvent__inherit__graph.gifbin1310 -> 0 bytes
-rw-r--r--docs/module-doc/classEvent__inherit__graph.map3
-rw-r--r--docs/module-doc/classEvent__inherit__graph.md51
-rw-r--r--docs/module-doc/classExemptItem-members.html21
-rw-r--r--docs/module-doc/classExemptItem.html37
-rw-r--r--docs/module-doc/classExemptItem__coll__graph.gifbin2936 -> 0 bytes
-rw-r--r--docs/module-doc/classExemptItem__coll__graph.map3
-rw-r--r--docs/module-doc/classExemptItem__coll__graph.md51
-rw-r--r--docs/module-doc/classExemptItem__inherit__graph.gifbin1211 -> 0 bytes
-rw-r--r--docs/module-doc/classExemptItem__inherit__graph.map3
-rw-r--r--docs/module-doc/classExemptItem__inherit__graph.md51
-rw-r--r--docs/module-doc/classExtMode-members.html23
-rw-r--r--docs/module-doc/classExtMode.html265
-rw-r--r--docs/module-doc/classExtMode__coll__graph.gifbin3634 -> 0 bytes
-rw-r--r--docs/module-doc/classExtMode__coll__graph.map2
-rw-r--r--docs/module-doc/classExtMode__coll__graph.md51
-rw-r--r--docs/module-doc/classExtMode__inherit__graph.gifbin826 -> 0 bytes
-rw-r--r--docs/module-doc/classExtMode__inherit__graph.map2
-rw-r--r--docs/module-doc/classExtMode__inherit__graph.md51
-rw-r--r--docs/module-doc/classExtensible-members.html21
-rw-r--r--docs/module-doc/classExtensible.html242
-rw-r--r--docs/module-doc/classExtensible__coll__graph.gifbin2331 -> 0 bytes
-rw-r--r--docs/module-doc/classExtensible__coll__graph.map2
-rw-r--r--docs/module-doc/classExtensible__coll__graph.md51
-rw-r--r--docs/module-doc/classExtensible__inherit__graph.gifbin2359 -> 0 bytes
-rw-r--r--docs/module-doc/classExtensible__inherit__graph.map5
-rw-r--r--docs/module-doc/classExtensible__inherit__graph.md51
-rw-r--r--docs/module-doc/classFileReader-members.html24
-rw-r--r--docs/module-doc/classFileReader.html368
-rw-r--r--docs/module-doc/classFileReader__coll__graph.gifbin1817 -> 0 bytes
-rw-r--r--docs/module-doc/classFileReader__coll__graph.map2
-rw-r--r--docs/module-doc/classFileReader__coll__graph.md51
-rw-r--r--docs/module-doc/classFileReader__inherit__graph.gifbin855 -> 0 bytes
-rw-r--r--docs/module-doc/classFileReader__inherit__graph.map2
-rw-r--r--docs/module-doc/classFileReader__inherit__graph.md51
-rw-r--r--docs/module-doc/classGLine-members.html22
-rw-r--r--docs/module-doc/classGLine.html69
-rw-r--r--docs/module-doc/classGLine__coll__graph.gifbin3945 -> 0 bytes
-rw-r--r--docs/module-doc/classGLine__coll__graph.map3
-rw-r--r--docs/module-doc/classGLine__coll__graph.md51
-rw-r--r--docs/module-doc/classGLine__inherit__graph.gifbin1047 -> 0 bytes
-rw-r--r--docs/module-doc/classGLine__inherit__graph.map3
-rw-r--r--docs/module-doc/classGLine__inherit__graph.md51
-rw-r--r--docs/module-doc/classHostItem-members.html21
-rw-r--r--docs/module-doc/classHostItem.html193
-rw-r--r--docs/module-doc/classHostItem__coll__graph.gifbin2469 -> 0 bytes
-rw-r--r--docs/module-doc/classHostItem__coll__graph.map2
-rw-r--r--docs/module-doc/classHostItem__coll__graph.md51
-rw-r--r--docs/module-doc/classHostItem__inherit__graph.gifbin2030 -> 0 bytes
-rw-r--r--docs/module-doc/classHostItem__inherit__graph.map5
-rw-r--r--docs/module-doc/classHostItem__inherit__graph.md51
-rw-r--r--docs/module-doc/classInspIRCd-members.html29
-rw-r--r--docs/module-doc/classInspIRCd.html513
-rw-r--r--docs/module-doc/classInspIRCd__coll__graph.gifbin1553 -> 0 bytes
-rw-r--r--docs/module-doc/classInspIRCd__coll__graph.map4
-rw-r--r--docs/module-doc/classInspIRCd__coll__graph.md51
-rw-r--r--docs/module-doc/classInspSocket-members.html48
-rw-r--r--docs/module-doc/classInspSocket.html1547
-rw-r--r--docs/module-doc/classInspSocket__coll__graph.gifbin6092 -> 0 bytes
-rw-r--r--docs/module-doc/classInspSocket__coll__graph.map1
-rw-r--r--docs/module-doc/classInspSocket__coll__graph.md51
-rw-r--r--docs/module-doc/classInviteItem-members.html21
-rw-r--r--docs/module-doc/classInviteItem.html37
-rw-r--r--docs/module-doc/classInviteItem__coll__graph.gifbin2893 -> 0 bytes
-rw-r--r--docs/module-doc/classInviteItem__coll__graph.map3
-rw-r--r--docs/module-doc/classInviteItem__coll__graph.md51
-rw-r--r--docs/module-doc/classInviteItem__inherit__graph.gifbin1138 -> 0 bytes
-rw-r--r--docs/module-doc/classInviteItem__inherit__graph.map3
-rw-r--r--docs/module-doc/classInviteItem__inherit__graph.md51
-rw-r--r--docs/module-doc/classInvited-members.html17
-rw-r--r--docs/module-doc/classInvited.html66
-rw-r--r--docs/module-doc/classInvited__coll__graph.gifbin1752 -> 0 bytes
-rw-r--r--docs/module-doc/classInvited__coll__graph.map2
-rw-r--r--docs/module-doc/classInvited__coll__graph.md51
-rw-r--r--docs/module-doc/classInvited__inherit__graph.gifbin775 -> 0 bytes
-rw-r--r--docs/module-doc/classInvited__inherit__graph.map2
-rw-r--r--docs/module-doc/classInvited__inherit__graph.md51
-rw-r--r--docs/module-doc/classKLine-members.html22
-rw-r--r--docs/module-doc/classKLine.html69
-rw-r--r--docs/module-doc/classKLine__coll__graph.gifbin3938 -> 0 bytes
-rw-r--r--docs/module-doc/classKLine__coll__graph.map3
-rw-r--r--docs/module-doc/classKLine__coll__graph.md51
-rw-r--r--docs/module-doc/classKLine__inherit__graph.gifbin1049 -> 0 bytes
-rw-r--r--docs/module-doc/classKLine__inherit__graph.map3
-rw-r--r--docs/module-doc/classKLine__inherit__graph.md51
-rw-r--r--docs/module-doc/classModeParameter-members.html19
-rw-r--r--docs/module-doc/classModeParameter.html126
-rw-r--r--docs/module-doc/classModeParameter__coll__graph.gifbin2309 -> 0 bytes
-rw-r--r--docs/module-doc/classModeParameter__coll__graph.map2
-rw-r--r--docs/module-doc/classModeParameter__coll__graph.md51
-rw-r--r--docs/module-doc/classModeParameter__inherit__graph.gifbin1000 -> 0 bytes
-rw-r--r--docs/module-doc/classModeParameter__inherit__graph.map2
-rw-r--r--docs/module-doc/classModeParameter__inherit__graph.md51
-rw-r--r--docs/module-doc/classModule-members.html96
-rw-r--r--docs/module-doc/classModule.html4579
-rw-r--r--docs/module-doc/classModuleFactory-members.html19
-rw-r--r--docs/module-doc/classModuleFactory.html141
-rw-r--r--docs/module-doc/classModuleFactory__coll__graph.gifbin1439 -> 0 bytes
-rw-r--r--docs/module-doc/classModuleFactory__coll__graph.map2
-rw-r--r--docs/module-doc/classModuleFactory__coll__graph.md51
-rw-r--r--docs/module-doc/classModuleFactory__inherit__graph.gifbin980 -> 0 bytes
-rw-r--r--docs/module-doc/classModuleFactory__inherit__graph.map2
-rw-r--r--docs/module-doc/classModuleFactory__inherit__graph.md51
-rw-r--r--docs/module-doc/classModuleMessage-members.html18
-rw-r--r--docs/module-doc/classModuleMessage.html108
-rw-r--r--docs/module-doc/classModuleMessage__coll__graph.gifbin1512 -> 0 bytes
-rw-r--r--docs/module-doc/classModuleMessage__coll__graph.map2
-rw-r--r--docs/module-doc/classModuleMessage__coll__graph.md51
-rw-r--r--docs/module-doc/classModuleMessage__inherit__graph.gifbin1660 -> 0 bytes
-rw-r--r--docs/module-doc/classModuleMessage__inherit__graph.map4
-rw-r--r--docs/module-doc/classModuleMessage__inherit__graph.md51
-rw-r--r--docs/module-doc/classModule__coll__graph.gifbin1226 -> 0 bytes
-rw-r--r--docs/module-doc/classModule__coll__graph.map2
-rw-r--r--docs/module-doc/classModule__coll__graph.md51
-rw-r--r--docs/module-doc/classModule__inherit__graph.gifbin795 -> 0 bytes
-rw-r--r--docs/module-doc/classModule__inherit__graph.map2
-rw-r--r--docs/module-doc/classModule__inherit__graph.md51
-rw-r--r--docs/module-doc/classQLine-members.html23
-rw-r--r--docs/module-doc/classQLine.html99
-rw-r--r--docs/module-doc/classQLine__coll__graph.gifbin4165 -> 0 bytes
-rw-r--r--docs/module-doc/classQLine__coll__graph.map3
-rw-r--r--docs/module-doc/classQLine__coll__graph.md51
-rw-r--r--docs/module-doc/classQLine__inherit__graph.gifbin1062 -> 0 bytes
-rw-r--r--docs/module-doc/classQLine__inherit__graph.map3
-rw-r--r--docs/module-doc/classQLine__inherit__graph.md51
-rw-r--r--docs/module-doc/classRequest-members.html25
-rw-r--r--docs/module-doc/classRequest.html367
-rw-r--r--docs/module-doc/classRequest__coll__graph.gifbin3124 -> 0 bytes
-rw-r--r--docs/module-doc/classRequest__coll__graph.map4
-rw-r--r--docs/module-doc/classRequest__coll__graph.md51
-rw-r--r--docs/module-doc/classRequest__inherit__graph.gifbin1372 -> 0 bytes
-rw-r--r--docs/module-doc/classRequest__inherit__graph.map3
-rw-r--r--docs/module-doc/classRequest__inherit__graph.md51
-rw-r--r--docs/module-doc/classServer-members.html76
-rw-r--r--docs/module-doc/classServer.html3120
-rw-r--r--docs/module-doc/classServerConfig-members.html68
-rw-r--r--docs/module-doc/classServerConfig.html1811
-rw-r--r--docs/module-doc/classServerConfig__coll__graph.gifbin14299 -> 0 bytes
-rw-r--r--docs/module-doc/classServerConfig__coll__graph.map2
-rw-r--r--docs/module-doc/classServerConfig__coll__graph.md51
-rw-r--r--docs/module-doc/classServerConfig__inherit__graph.gifbin931 -> 0 bytes
-rw-r--r--docs/module-doc/classServerConfig__inherit__graph.map2
-rw-r--r--docs/module-doc/classServerConfig__inherit__graph.md51
-rw-r--r--docs/module-doc/classServer__coll__graph.gifbin1208 -> 0 bytes
-rw-r--r--docs/module-doc/classServer__coll__graph.map2
-rw-r--r--docs/module-doc/classServer__coll__graph.md51
-rw-r--r--docs/module-doc/classServer__inherit__graph.gifbin783 -> 0 bytes
-rw-r--r--docs/module-doc/classServer__inherit__graph.map2
-rw-r--r--docs/module-doc/classServer__inherit__graph.md51
-rw-r--r--docs/module-doc/classSocketEngine-members.html24
-rw-r--r--docs/module-doc/classSocketEngine.html596
-rw-r--r--docs/module-doc/classSocketEngine__coll__graph.gifbin2498 -> 0 bytes
-rw-r--r--docs/module-doc/classSocketEngine__coll__graph.map1
-rw-r--r--docs/module-doc/classSocketEngine__coll__graph.md51
-rw-r--r--docs/module-doc/classVersion-members.html22
-rw-r--r--docs/module-doc/classVersion.html238
-rw-r--r--docs/module-doc/classVersion__coll__graph.gifbin2448 -> 0 bytes
-rw-r--r--docs/module-doc/classVersion__coll__graph.map2
-rw-r--r--docs/module-doc/classVersion__coll__graph.md51
-rw-r--r--docs/module-doc/classVersion__inherit__graph.gifbin785 -> 0 bytes
-rw-r--r--docs/module-doc/classVersion__inherit__graph.map2
-rw-r--r--docs/module-doc/classVersion__inherit__graph.md51
-rw-r--r--docs/module-doc/classWhoWasUser-members.html20
-rw-r--r--docs/module-doc/classWhoWasUser.html233
-rw-r--r--docs/module-doc/classWhoWasUser__coll__graph.gifbin2150 -> 0 bytes
-rw-r--r--docs/module-doc/classWhoWasUser__coll__graph.map1
-rw-r--r--docs/module-doc/classWhoWasUser__coll__graph.md51
-rw-r--r--docs/module-doc/classXLine-members.html21
-rw-r--r--docs/module-doc/classXLine.html192
-rw-r--r--docs/module-doc/classXLine__coll__graph.gifbin3056 -> 0 bytes
-rw-r--r--docs/module-doc/classXLine__coll__graph.map2
-rw-r--r--docs/module-doc/classXLine__coll__graph.md51
-rw-r--r--docs/module-doc/classXLine__inherit__graph.gifbin2315 -> 0 bytes
-rw-r--r--docs/module-doc/classXLine__inherit__graph.map7
-rw-r--r--docs/module-doc/classXLine__inherit__graph.md51
-rw-r--r--docs/module-doc/classZLine-members.html23
-rw-r--r--docs/module-doc/classZLine.html99
-rw-r--r--docs/module-doc/classZLine__coll__graph.gifbin4184 -> 0 bytes
-rw-r--r--docs/module-doc/classZLine__coll__graph.map3
-rw-r--r--docs/module-doc/classZLine__coll__graph.md51
-rw-r--r--docs/module-doc/classZLine__inherit__graph.gifbin1037 -> 0 bytes
-rw-r--r--docs/module-doc/classZLine__inherit__graph.map3
-rw-r--r--docs/module-doc/classZLine__inherit__graph.md51
-rw-r--r--docs/module-doc/classchanrec-members.html41
-rw-r--r--docs/module-doc/classchanrec.html944
-rw-r--r--docs/module-doc/classchanrec__coll__graph.gifbin7302 -> 0 bytes
-rw-r--r--docs/module-doc/classchanrec__coll__graph.map3
-rw-r--r--docs/module-doc/classchanrec__coll__graph.md51
-rw-r--r--docs/module-doc/classchanrec__inherit__graph.gifbin1148 -> 0 bytes
-rw-r--r--docs/module-doc/classchanrec__inherit__graph.map3
-rw-r--r--docs/module-doc/classchanrec__inherit__graph.md51
-rw-r--r--docs/module-doc/classclassbase-members.html16
-rw-r--r--docs/module-doc/classclassbase.html157
-rw-r--r--docs/module-doc/classclassbase__coll__graph.gifbin875 -> 0 bytes
-rw-r--r--docs/module-doc/classclassbase__coll__graph.map1
-rw-r--r--docs/module-doc/classclassbase__coll__graph.md51
-rw-r--r--docs/module-doc/classclassbase__inherit__graph.gifbin9295 -> 0 bytes
-rw-r--r--docs/module-doc/classclassbase__inherit__graph.map18
-rw-r--r--docs/module-doc/classclassbase__inherit__graph.md51
-rw-r--r--docs/module-doc/classcommand__t-members.html22
-rw-r--r--docs/module-doc/classcommand__t.html360
-rw-r--r--docs/module-doc/classcommand__t__coll__graph.gifbin5231 -> 0 bytes
-rw-r--r--docs/module-doc/classcommand__t__coll__graph.map1
-rw-r--r--docs/module-doc/classcommand__t__coll__graph.md51
-rw-r--r--docs/module-doc/classcommand__t__inherit__graph.gifbin1222 -> 0 bytes
-rw-r--r--docs/module-doc/classcommand__t__inherit__graph.map2
-rw-r--r--docs/module-doc/classcommand__t__inherit__graph.md51
-rw-r--r--docs/module-doc/classconnection-members.html35
-rw-r--r--docs/module-doc/classconnection.html531
-rw-r--r--docs/module-doc/classconnection__coll__graph.gifbin6625 -> 0 bytes
-rw-r--r--docs/module-doc/classconnection__coll__graph.map3
-rw-r--r--docs/module-doc/classconnection__coll__graph.md51
-rw-r--r--docs/module-doc/classconnection__inherit__graph.gifbin1467 -> 0 bytes
-rw-r--r--docs/module-doc/classconnection__inherit__graph.map4
-rw-r--r--docs/module-doc/classconnection__inherit__graph.md51
-rw-r--r--docs/module-doc/classes.html34
-rw-r--r--docs/module-doc/classserverstats-members.html25
-rw-r--r--docs/module-doc/classserverstats.html389
-rw-r--r--docs/module-doc/classserverstats__coll__graph.gifbin2894 -> 0 bytes
-rw-r--r--docs/module-doc/classserverstats__coll__graph.map1
-rw-r--r--docs/module-doc/classserverstats__coll__graph.md51
-rw-r--r--docs/module-doc/classstd_1_1char__traits.html21
-rw-r--r--docs/module-doc/classstd_1_1char__traits__inherit__graph.gifbin1056 -> 0 bytes
-rw-r--r--docs/module-doc/classstd_1_1char__traits__inherit__graph.map2
-rw-r--r--docs/module-doc/classstd_1_1char__traits__inherit__graph.md51
-rw-r--r--docs/module-doc/classucrec-members.html20
-rw-r--r--docs/module-doc/classucrec.html174
-rw-r--r--docs/module-doc/classucrec__coll__graph.gifbin3333 -> 0 bytes
-rw-r--r--docs/module-doc/classucrec__coll__graph.map3
-rw-r--r--docs/module-doc/classucrec__coll__graph.md51
-rw-r--r--docs/module-doc/classucrec__inherit__graph.gifbin726 -> 0 bytes
-rw-r--r--docs/module-doc/classucrec__inherit__graph.map2
-rw-r--r--docs/module-doc/classucrec__inherit__graph.md51
-rw-r--r--docs/module-doc/classuserrec-members.html77
-rw-r--r--docs/module-doc/classuserrec.html1730
-rw-r--r--docs/module-doc/classuserrec__coll__graph.gifbin13035 -> 0 bytes
-rw-r--r--docs/module-doc/classuserrec__coll__graph.map2
-rw-r--r--docs/module-doc/classuserrec__coll__graph.md51
-rw-r--r--docs/module-doc/classuserrec__inherit__graph.gifbin1449 -> 0 bytes
-rw-r--r--docs/module-doc/classuserrec__inherit__graph.map4
-rw-r--r--docs/module-doc/classuserrec__inherit__graph.md51
-rw-r--r--docs/module-doc/commands_8h-source.html116
-rw-r--r--docs/module-doc/commands_8h.html403
-rw-r--r--docs/module-doc/commands_8h__dep__incl.gifbin1604 -> 0 bytes
-rw-r--r--docs/module-doc/commands_8h__dep__incl.map4
-rw-r--r--docs/module-doc/commands_8h__dep__incl.md51
-rw-r--r--docs/module-doc/commands_8h__incl.gifbin7547 -> 0 bytes
-rw-r--r--docs/module-doc/commands_8h__incl.map3
-rw-r--r--docs/module-doc/commands_8h__incl.md51
-rw-r--r--docs/module-doc/connection_8h-source.html89
-rw-r--r--docs/module-doc/connection_8h.html50
-rw-r--r--docs/module-doc/connection_8h__dep__incl.gifbin1193 -> 0 bytes
-rw-r--r--docs/module-doc/connection_8h__dep__incl.map3
-rw-r--r--docs/module-doc/connection_8h__dep__incl.md51
-rw-r--r--docs/module-doc/connection_8h__incl.gifbin8400 -> 0 bytes
-rw-r--r--docs/module-doc/connection_8h__incl.map2
-rw-r--r--docs/module-doc/connection_8h__incl.md51
-rw-r--r--docs/module-doc/ctables_8h-source.html65
-rw-r--r--docs/module-doc/ctables_8h.html67
-rw-r--r--docs/module-doc/ctables_8h__dep__incl.gifbin2805 -> 0 bytes
-rw-r--r--docs/module-doc/ctables_8h__dep__incl.map6
-rw-r--r--docs/module-doc/ctables_8h__dep__incl.md51
-rw-r--r--docs/module-doc/ctables_8h__incl.gifbin1827 -> 0 bytes
-rw-r--r--docs/module-doc/ctables_8h__incl.map1
-rw-r--r--docs/module-doc/ctables_8h__incl.md51
-rw-r--r--docs/module-doc/cull__list_8h-source.html67
-rw-r--r--docs/module-doc/cull__list_8h.html43
-rw-r--r--docs/module-doc/cull__list_8h__incl.gifbin7389 -> 0 bytes
-rw-r--r--docs/module-doc/cull__list_8h__incl.map5
-rw-r--r--docs/module-doc/cull__list_8h__incl.md51
-rw-r--r--docs/module-doc/dir_000000.html27
-rw-r--r--docs/module-doc/dir_000000_dep.gifbin826 -> 0 bytes
-rw-r--r--docs/module-doc/dir_000000_dep.map3
-rw-r--r--docs/module-doc/dir_000001.html28
-rw-r--r--docs/module-doc/dir_000001_dep.gifbin1434 -> 0 bytes
-rw-r--r--docs/module-doc/dir_000001_dep.map4
-rw-r--r--docs/module-doc/dir_000002.html28
-rw-r--r--docs/module-doc/dir_000002_dep.gifbin1461 -> 0 bytes
-rw-r--r--docs/module-doc/dir_000002_dep.map4
-rw-r--r--docs/module-doc/dir_000003.html33
-rw-r--r--docs/module-doc/dir_000003_dep.gifbin2118 -> 0 bytes
-rw-r--r--docs/module-doc/dir_000003_dep.map7
-rw-r--r--docs/module-doc/dir_000004.html67
-rw-r--r--docs/module-doc/dir_000004_dep.gifbin1024 -> 0 bytes
-rw-r--r--docs/module-doc/dir_000004_dep.map3
-rw-r--r--docs/module-doc/dir_000005.html38
-rw-r--r--docs/module-doc/dir_000005_000004.html14
-rw-r--r--docs/module-doc/dir_000005_dep.gifbin1342 -> 0 bytes
-rw-r--r--docs/module-doc/dir_000005_dep.map6
-rw-r--r--docs/module-doc/dirs.html28
-rw-r--r--docs/module-doc/dns_8h-source.html84
-rw-r--r--docs/module-doc/dns_8h.html67
-rw-r--r--docs/module-doc/dns_8h__incl.gifbin1873 -> 0 bytes
-rw-r--r--docs/module-doc/dns_8h__incl.map1
-rw-r--r--docs/module-doc/dns_8h__incl.md51
-rw-r--r--docs/module-doc/doxygen.pngbin1280 -> 0 bytes
-rw-r--r--docs/module-doc/files.html40
-rw-r--r--docs/module-doc/ftv2blank.pngbin173 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2doc.pngbin254 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2folderclosed.pngbin258 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2folderopen.pngbin260 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2lastnode.pngbin232 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2link.pngbin357 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2mlastnode.pngbin159 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2mnode.pngbin193 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2node.pngbin234 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2plastnode.pngbin164 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2pnode.pngbin199 -> 0 bytes
-rw-r--r--docs/module-doc/ftv2vertline.pngbin228 -> 0 bytes
-rw-r--r--docs/module-doc/functions.html50
-rw-r--r--docs/module-doc/functions_0x62.html31
-rw-r--r--docs/module-doc/functions_0x63.html60
-rw-r--r--docs/module-doc/functions_0x64.html62
-rw-r--r--docs/module-doc/functions_0x65.html40
-rw-r--r--docs/module-doc/functions_0x66.html38
-rw-r--r--docs/module-doc/functions_0x67.html62
-rw-r--r--docs/module-doc/functions_0x68.html27
-rw-r--r--docs/module-doc/functions_0x69.html43
-rw-r--r--docs/module-doc/functions_0x6a.html21
-rw-r--r--docs/module-doc/functions_0x6b.html22
-rw-r--r--docs/module-doc/functions_0x6c.html33
-rw-r--r--docs/module-doc/functions_0x6d.html56
-rw-r--r--docs/module-doc/functions_0x6e.html32
-rw-r--r--docs/module-doc/functions_0x6f.html108
-rw-r--r--docs/module-doc/functions_0x70.html39
-rw-r--r--docs/module-doc/functions_0x71.html21
-rw-r--r--docs/module-doc/functions_0x72.html44
-rw-r--r--docs/module-doc/functions_0x73.html87
-rw-r--r--docs/module-doc/functions_0x74.html35
-rw-r--r--docs/module-doc/functions_0x75.html29
-rw-r--r--docs/module-doc/functions_0x76.html22
-rw-r--r--docs/module-doc/functions_0x77.html23
-rw-r--r--docs/module-doc/functions_0x7e.html36
-rw-r--r--docs/module-doc/functions_func.html40
-rw-r--r--docs/module-doc/functions_func_0x62.html22
-rw-r--r--docs/module-doc/functions_func_0x63.html47
-rw-r--r--docs/module-doc/functions_func_0x64.html49
-rw-r--r--docs/module-doc/functions_func_0x65.html33
-rw-r--r--docs/module-doc/functions_func_0x66.html31
-rw-r--r--docs/module-doc/functions_func_0x67.html62
-rw-r--r--docs/module-doc/functions_func_0x68.html24
-rw-r--r--docs/module-doc/functions_func_0x69.html31
-rw-r--r--docs/module-doc/functions_func_0x6a.html21
-rw-r--r--docs/module-doc/functions_func_0x6c.html25
-rw-r--r--docs/module-doc/functions_func_0x6d.html28
-rw-r--r--docs/module-doc/functions_func_0x6e.html21
-rw-r--r--docs/module-doc/functions_func_0x6f.html107
-rw-r--r--docs/module-doc/functions_func_0x70.html27
-rw-r--r--docs/module-doc/functions_func_0x71.html21
-rw-r--r--docs/module-doc/functions_func_0x72.html32
-rw-r--r--docs/module-doc/functions_func_0x73.html43
-rw-r--r--docs/module-doc/functions_func_0x74.html25
-rw-r--r--docs/module-doc/functions_func_0x75.html25
-rw-r--r--docs/module-doc/functions_func_0x76.html22
-rw-r--r--docs/module-doc/functions_func_0x77.html22
-rw-r--r--docs/module-doc/functions_func_0x7e.html36
-rw-r--r--docs/module-doc/functions_vars.html255
-rw-r--r--docs/module-doc/globals.html50
-rw-r--r--docs/module-doc/globals_0x62.html24
-rw-r--r--docs/module-doc/globals_0x63.html56
-rw-r--r--docs/module-doc/globals_0x64.html35
-rw-r--r--docs/module-doc/globals_0x65.html28
-rw-r--r--docs/module-doc/globals_0x66.html35
-rw-r--r--docs/module-doc/globals_0x67.html26
-rw-r--r--docs/module-doc/globals_0x68.html23
-rw-r--r--docs/module-doc/globals_0x69.html41
-rw-r--r--docs/module-doc/globals_0x6b.html23
-rw-r--r--docs/module-doc/globals_0x6c.html23
-rw-r--r--docs/module-doc/globals_0x6d.html40
-rw-r--r--docs/module-doc/globals_0x6e.html24
-rw-r--r--docs/module-doc/globals_0x6f.html23
-rw-r--r--docs/module-doc/globals_0x70.html21
-rw-r--r--docs/module-doc/globals_0x71.html22
-rw-r--r--docs/module-doc/globals_0x72.html24
-rw-r--r--docs/module-doc/globals_0x73.html37
-rw-r--r--docs/module-doc/globals_0x74.html28
-rw-r--r--docs/module-doc/globals_0x75.html26
-rw-r--r--docs/module-doc/globals_0x76.html26
-rw-r--r--docs/module-doc/globals_0x77.html36
-rw-r--r--docs/module-doc/globals_0x78.html26
-rw-r--r--docs/module-doc/globals_0x7a.html22
-rw-r--r--docs/module-doc/globals_8h-source.html69
-rw-r--r--docs/module-doc/globals_8h.html1020
-rw-r--r--docs/module-doc/globals_8h__dep__incl.gifbin3839 -> 0 bytes
-rw-r--r--docs/module-doc/globals_8h__dep__incl.map7
-rw-r--r--docs/module-doc/globals_8h__dep__incl.md51
-rw-r--r--docs/module-doc/globals_8h__incl.gifbin5496 -> 0 bytes
-rw-r--r--docs/module-doc/globals_8h__incl.map5
-rw-r--r--docs/module-doc/globals_8h__incl.md51
-rw-r--r--docs/module-doc/globals_defs.html106
-rw-r--r--docs/module-doc/globals_enum.html19
-rw-r--r--docs/module-doc/globals_eval.html26
-rw-r--r--docs/module-doc/globals_func.html178
-rw-r--r--docs/module-doc/globals_type.html36
-rw-r--r--docs/module-doc/globals_vars.html71
-rw-r--r--docs/module-doc/graph_legend.dot22
-rw-r--r--docs/module-doc/graph_legend.gifbin4705 -> 0 bytes
-rw-r--r--docs/module-doc/graph_legend.html74
-rw-r--r--docs/module-doc/hashcomp_8h-source.html116
-rw-r--r--docs/module-doc/hashcomp_8h.html87
-rw-r--r--docs/module-doc/hashcomp_8h__dep__incl.gifbin1634 -> 0 bytes
-rw-r--r--docs/module-doc/hashcomp_8h__dep__incl.map5
-rw-r--r--docs/module-doc/hashcomp_8h__dep__incl.md51
-rw-r--r--docs/module-doc/hashcomp_8h__incl.gifbin1375 -> 0 bytes
-rw-r--r--docs/module-doc/hashcomp_8h__incl.map1
-rw-r--r--docs/module-doc/hashcomp_8h__incl.md51
-rw-r--r--docs/module-doc/hierarchy.html83
-rw-r--r--docs/module-doc/index.html8
-rw-r--r--docs/module-doc/inherit__graph__0.gifbin360 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__0.map2
-rw-r--r--docs/module-doc/inherit__graph__0.md51
-rw-r--r--docs/module-doc/inherit__graph__1.gifbin759 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__1.map2
-rw-r--r--docs/module-doc/inherit__graph__1.md51
-rw-r--r--docs/module-doc/inherit__graph__10.gifbin526 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__10.map2
-rw-r--r--docs/module-doc/inherit__graph__10.md51
-rw-r--r--docs/module-doc/inherit__graph__11.gifbin608 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__11.map2
-rw-r--r--docs/module-doc/inherit__graph__11.md51
-rw-r--r--docs/module-doc/inherit__graph__12.gifbin587 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__12.map2
-rw-r--r--docs/module-doc/inherit__graph__12.md51
-rw-r--r--docs/module-doc/inherit__graph__13.gifbin423 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__13.map2
-rw-r--r--docs/module-doc/inherit__graph__13.md51
-rw-r--r--docs/module-doc/inherit__graph__14.gifbin460 -> 0 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.gifbin508 -> 0 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__2.gifbin13638 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__2.map3
-rw-r--r--docs/module-doc/inherit__graph__2.md51
-rw-r--r--docs/module-doc/inherit__graph__3.gifbin346 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__3.map32
-rw-r--r--docs/module-doc/inherit__graph__3.md51
-rw-r--r--docs/module-doc/inherit__graph__4.gifbin332 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__4.map3
-rw-r--r--docs/module-doc/inherit__graph__4.md51
-rw-r--r--docs/module-doc/inherit__graph__5.gifbin304 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__5.map2
-rw-r--r--docs/module-doc/inherit__graph__5.md51
-rw-r--r--docs/module-doc/inherit__graph__6.gifbin395 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__6.map2
-rw-r--r--docs/module-doc/inherit__graph__6.md51
-rw-r--r--docs/module-doc/inherit__graph__7.gifbin396 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__7.map2
-rw-r--r--docs/module-doc/inherit__graph__7.md51
-rw-r--r--docs/module-doc/inherit__graph__8.gifbin434 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__8.map2
-rw-r--r--docs/module-doc/inherit__graph__8.md51
-rw-r--r--docs/module-doc/inherit__graph__9.gifbin600 -> 0 bytes
-rw-r--r--docs/module-doc/inherit__graph__9.map2
-rw-r--r--docs/module-doc/inherit__graph__9.md51
-rw-r--r--docs/module-doc/inherits.html124
-rw-r--r--docs/module-doc/inspircd.doxygen.css315
-rw-r--r--docs/module-doc/inspircd_8h-source.html143
-rw-r--r--docs/module-doc/inspircd_8h.html274
-rw-r--r--docs/module-doc/inspircd_8h__dep__incl.gifbin7341 -> 0 bytes
-rw-r--r--docs/module-doc/inspircd_8h__dep__incl.map10
-rw-r--r--docs/module-doc/inspircd_8h__dep__incl.md51
-rw-r--r--docs/module-doc/inspircd_8h__incl.gifbin15655 -> 0 bytes
-rw-r--r--docs/module-doc/inspircd_8h__incl.map7
-rw-r--r--docs/module-doc/inspircd_8h__incl.md51
-rw-r--r--docs/module-doc/inspircd__io_8h-source.html163
-rw-r--r--docs/module-doc/inspircd__io_8h.html467
-rw-r--r--docs/module-doc/inspircd__io_8h__dep__incl.gifbin2443 -> 0 bytes
-rw-r--r--docs/module-doc/inspircd__io_8h__dep__incl.map10
-rw-r--r--docs/module-doc/inspircd__io_8h__dep__incl.md51
-rw-r--r--docs/module-doc/inspircd__io_8h__incl.gifbin2701 -> 0 bytes
-rw-r--r--docs/module-doc/inspircd__io_8h__incl.map4
-rw-r--r--docs/module-doc/inspircd__io_8h__incl.md51
-rw-r--r--docs/module-doc/main.html14
-rw-r--r--docs/module-doc/message_8h-source.html64
-rw-r--r--docs/module-doc/message_8h.html684
-rw-r--r--docs/module-doc/message_8h__dep__incl.gifbin1203 -> 0 bytes
-rw-r--r--docs/module-doc/message_8h__dep__incl.map4
-rw-r--r--docs/module-doc/message_8h__dep__incl.md51
-rw-r--r--docs/module-doc/message_8h__incl.gifbin7493 -> 0 bytes
-rw-r--r--docs/module-doc/message_8h__incl.map5
-rw-r--r--docs/module-doc/message_8h__incl.md51
-rw-r--r--docs/module-doc/mode_8h-source.html72
-rw-r--r--docs/module-doc/mode_8h.html56
-rw-r--r--docs/module-doc/mode_8h__dep__incl.gifbin1122 -> 0 bytes
-rw-r--r--docs/module-doc/mode_8h__dep__incl.map11
-rw-r--r--docs/module-doc/mode_8h__dep__incl.md51
-rw-r--r--docs/module-doc/mode_8h__incl.gifbin7366 -> 0 bytes
-rw-r--r--docs/module-doc/mode_8h__incl.map4
-rw-r--r--docs/module-doc/mode_8h__incl.md51
-rw-r--r--docs/module-doc/modules_8cpp-source.html950
-rw-r--r--docs/module-doc/modules_8cpp.html839
-rw-r--r--docs/module-doc/modules_8cpp__incl.gifbin57401 -> 0 bytes
-rw-r--r--docs/module-doc/modules_8cpp__incl.map15
-rw-r--r--docs/module-doc/modules_8cpp__incl.md51
-rw-r--r--docs/module-doc/modules_8h-source.html556
-rw-r--r--docs/module-doc/modules_8h.html1645
-rw-r--r--docs/module-doc/modules_8h__dep__incl.gifbin1743 -> 0 bytes
-rw-r--r--docs/module-doc/modules_8h__dep__incl.map5
-rw-r--r--docs/module-doc/modules_8h__dep__incl.md51
-rw-r--r--docs/module-doc/modules_8h__incl.gifbin6845 -> 0 bytes
-rw-r--r--docs/module-doc/modules_8h__incl.map4
-rw-r--r--docs/module-doc/modules_8h__incl.md51
-rw-r--r--docs/module-doc/namespaceirc.html63
-rw-r--r--docs/module-doc/namespacemembers.html18
-rw-r--r--docs/module-doc/namespacemembers_type.html18
-rw-r--r--docs/module-doc/namespacenspace.html22
-rw-r--r--docs/module-doc/namespaces.html17
-rw-r--r--docs/module-doc/namespacestd.html17
-rw-r--r--docs/module-doc/socket_8cpp-source.html293
-rw-r--r--docs/module-doc/socket_8cpp.html126
-rw-r--r--docs/module-doc/socket_8cpp__incl.gifbin20018 -> 0 bytes
-rw-r--r--docs/module-doc/socket_8cpp__incl.map5
-rw-r--r--docs/module-doc/socket_8cpp__incl.md51
-rw-r--r--docs/module-doc/socket_8h-source.html121
-rw-r--r--docs/module-doc/socket_8h.html146
-rw-r--r--docs/module-doc/socket_8h__dep__incl.gifbin2237 -> 0 bytes
-rw-r--r--docs/module-doc/socket_8h__dep__incl.map5
-rw-r--r--docs/module-doc/socket_8h__dep__incl.md51
-rw-r--r--docs/module-doc/socket_8h__incl.gifbin2318 -> 0 bytes
-rw-r--r--docs/module-doc/socket_8h__incl.map1
-rw-r--r--docs/module-doc/socket_8h__incl.md51
-rw-r--r--docs/module-doc/socketengine_8cpp-source.html219
-rw-r--r--docs/module-doc/socketengine_8cpp.html64
-rw-r--r--docs/module-doc/socketengine_8cpp__incl.gifbin4854 -> 0 bytes
-rw-r--r--docs/module-doc/socketengine_8cpp__incl.map4
-rw-r--r--docs/module-doc/socketengine_8cpp__incl.md51
-rw-r--r--docs/module-doc/socketengine_8h-source.html89
-rw-r--r--docs/module-doc/socketengine_8h.html230
-rw-r--r--docs/module-doc/socketengine_8h__dep__incl.gifbin1762 -> 0 bytes
-rw-r--r--docs/module-doc/socketengine_8h__dep__incl.map10
-rw-r--r--docs/module-doc/socketengine_8h__dep__incl.md51
-rw-r--r--docs/module-doc/socketengine_8h__incl.gifbin4616 -> 0 bytes
-rw-r--r--docs/module-doc/socketengine_8h__incl.map3
-rw-r--r--docs/module-doc/socketengine_8h__incl.md51
-rw-r--r--docs/module-doc/structInAddr__HashComp-members.html15
-rw-r--r--docs/module-doc/structInAddr__HashComp.html75
-rw-r--r--docs/module-doc/structStrHashComp-members.html15
-rw-r--r--docs/module-doc/structStrHashComp.html75
-rw-r--r--docs/module-doc/structdns__ip4list-members.html15
-rw-r--r--docs/module-doc/structdns__ip4list.html81
-rw-r--r--docs/module-doc/structdns__ip4list__coll__graph.gifbin1121 -> 0 bytes
-rw-r--r--docs/module-doc/structdns__ip4list__coll__graph.map1
-rw-r--r--docs/module-doc/structdns__ip4list__coll__graph.md51
-rw-r--r--docs/module-doc/structirc_1_1InAddr__HashComp-members.html14
-rw-r--r--docs/module-doc/structirc_1_1InAddr__HashComp.html75
-rw-r--r--docs/module-doc/structirc_1_1StrHashComp-members.html14
-rw-r--r--docs/module-doc/structirc_1_1StrHashComp.html75
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits-members.html18
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits.html263
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits__coll__graph.gifbin1107 -> 0 bytes
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits__coll__graph.map2
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits__coll__graph.md51
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.gifbin1107 -> 0 bytes
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.map2
-rw-r--r--docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.md51
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html14
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html61
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html14
-rw-r--r--docs/module-doc/structnspace_1_1hash_3_01string_01_4.html61
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html15
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html56
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html15
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html56
-rw-r--r--docs/module-doc/tree.html262
-rw-r--r--docs/module-doc/tree.js1
-rw-r--r--docs/module-doc/treeview.js500
-rw-r--r--docs/module-doc/typedefs_8h-source.html43
-rw-r--r--docs/module-doc/typedefs_8h.html276
-rw-r--r--docs/module-doc/typedefs_8h__dep__incl.gifbin1217 -> 0 bytes
-rw-r--r--docs/module-doc/typedefs_8h__dep__incl.map4
-rw-r--r--docs/module-doc/typedefs_8h__dep__incl.md51
-rw-r--r--docs/module-doc/typedefs_8h__incl.gifbin12028 -> 0 bytes
-rw-r--r--docs/module-doc/typedefs_8h__incl.map8
-rw-r--r--docs/module-doc/typedefs_8h__incl.md51
-rw-r--r--docs/module-doc/userprocess_8h-source.html28
-rw-r--r--docs/module-doc/userprocess_8h.html217
-rw-r--r--docs/module-doc/userprocess_8h__incl.gifbin3356 -> 0 bytes
-rw-r--r--docs/module-doc/userprocess_8h__incl.map3
-rw-r--r--docs/module-doc/userprocess_8h__incl.md51
-rw-r--r--docs/module-doc/users_8cpp-source.html818
-rw-r--r--docs/module-doc/users_8cpp.html1366
-rw-r--r--docs/module-doc/users_8cpp__incl.gifbin7197 -> 0 bytes
-rw-r--r--docs/module-doc/users_8cpp__incl.map11
-rw-r--r--docs/module-doc/users_8cpp__incl.md51
-rw-r--r--docs/module-doc/users_8h-source.html214
-rw-r--r--docs/module-doc/users_8h.html1221
-rw-r--r--docs/module-doc/users_8h__dep__incl.gifbin10591 -> 0 bytes
-rw-r--r--docs/module-doc/users_8h__dep__incl.map13
-rw-r--r--docs/module-doc/users_8h__dep__incl.md51
-rw-r--r--docs/module-doc/users_8h__incl.gifbin2835 -> 0 bytes
-rw-r--r--docs/module-doc/users_8h__incl.map4
-rw-r--r--docs/module-doc/users_8h__incl.md51
-rw-r--r--docs/module-doc/xline_8h-source.html136
-rw-r--r--docs/module-doc/xline_8h.html1240
-rw-r--r--docs/module-doc/xline_8h__dep__incl.gifbin1100 -> 0 bytes
-rw-r--r--docs/module-doc/xline_8h__dep__incl.map4
-rw-r--r--docs/module-doc/xline_8h__dep__incl.md51
-rw-r--r--docs/module-doc/xline_8h__incl.gifbin7348 -> 0 bytes
-rw-r--r--docs/module-doc/xline_8h__incl.map5
-rw-r--r--docs/module-doc/xline_8h__incl.md51
693 files changed, 0 insertions, 49226 deletions
diff --git a/docs/module-doc/aes_8h-source.html b/docs/module-doc/aes_8h-source.html
deleted file mode 100644
index df4455eef..000000000
--- a/docs/module-doc/aes_8h-source.html
+++ /dev/null
@@ -1,142 +0,0 @@
-<!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: aes.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>aes.h</h1><a href="aes_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __AES_H__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __AES_H__</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span>
-<a name="l00004"></a>00004 <span class="preprocessor">#include &lt;cstring&gt;</span>
-<a name="l00005"></a>00005
-<a name="l00006"></a>00006 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
-<a name="l00007"></a>00007
-<a name="l00010"></a><a class="code" href="classAES.html">00010</a> <span class="keyword">class </span><a class="code" href="classAES.html">AES</a>
-<a name="l00011"></a>00011 {
-<a name="l00012"></a>00012 <span class="keyword">public</span>:
-<a name="l00013"></a>00013 <span class="keyword">enum</span> { <a class="code" href="classAES.html#_40_30ECB">ECB</a>=0, <a class="code" href="classAES.html#_40_30CBC">CBC</a>=1, <a class="code" href="classAES.html#_40_30CFB">CFB</a>=2 };
-<a name="l00014"></a>00014
-<a name="l00015"></a>00015 <span class="keyword">private</span>:
-<a name="l00016"></a>00016 <span class="keyword">enum</span> { <a class="code" href="classAES.html#_40_31DEFAULT_5FBLOCK_5FSIZE">DEFAULT_BLOCK_SIZE</a>=16 };
-<a name="l00017"></a>00017 <span class="keyword">enum</span> { <a class="code" href="classAES.html#_40_32MAX_5FBLOCK_5FSIZE">MAX_BLOCK_SIZE</a>=32, <a class="code" href="classAES.html#_40_32MAX_5FROUNDS">MAX_ROUNDS</a>=14, <a class="code" href="classAES.html#_40_32MAX_5FKC">MAX_KC</a>=8, <a class="code" href="classAES.html#_40_32MAX_5FBC">MAX_BC</a>=8 };
-<a name="l00018"></a>00018
-<a name="l00019"></a><a class="code" href="classAES.html#Mul_28int_20a_2C_20int_20b_29">00019</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#Mul_28int_20a_2C_20int_20b_29">Mul</a>(<span class="keywordtype">int</span> <a class="code" href="classAES.html#a_5BMAX_5FBC_5D">a</a>, <span class="keywordtype">int</span> b)
-<a name="l00020"></a>00020 {
-<a name="l00021"></a>00021 <span class="keywordflow">return</span> (a != 0 &amp;&amp; b != 0) ? <a class="code" href="classAES.html#sm_5Falog_5B_32_35_36_5D">sm_alog</a>[(<a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[a &amp; 0xFF] + <a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[b &amp; 0xFF]) % 255] : 0;
-<a name="l00022"></a>00022 }
-<a name="l00023"></a>00023
-<a name="l00026"></a><a class="code" href="classAES.html#Mul_34_28int_20a_2C_20char_20b_5B_5D_29">00026</a> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#Mul_34_28int_20a_2C_20char_20b_5B_5D_29">Mul4</a>(<span class="keywordtype">int</span> <a class="code" href="classAES.html#a_5BMAX_5FBC_5D">a</a>, <span class="keywordtype">char</span> b[])
-<a name="l00027"></a>00027 {
-<a name="l00028"></a>00028 <span class="keywordflow">if</span>(a == 0)
-<a name="l00029"></a>00029 <span class="keywordflow">return</span> 0;
-<a name="l00030"></a>00030 a = <a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[a &amp; 0xFF];
-<a name="l00031"></a>00031 <span class="keywordtype">int</span> a0 = (b[0] != 0) ? <a class="code" href="classAES.html#sm_5Falog_5B_32_35_36_5D">sm_alog</a>[(a + <a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[b[0] &amp; 0xFF]) % 255] &amp; 0xFF : 0;
-<a name="l00032"></a>00032 <span class="keywordtype">int</span> a1 = (b[1] != 0) ? <a class="code" href="classAES.html#sm_5Falog_5B_32_35_36_5D">sm_alog</a>[(a + <a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[b[1] &amp; 0xFF]) % 255] &amp; 0xFF : 0;
-<a name="l00033"></a>00033 <span class="keywordtype">int</span> a2 = (b[2] != 0) ? <a class="code" href="classAES.html#sm_5Falog_5B_32_35_36_5D">sm_alog</a>[(a + <a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[b[2] &amp; 0xFF]) % 255] &amp; 0xFF : 0;
-<a name="l00034"></a>00034 <span class="keywordtype">int</span> a3 = (b[3] != 0) ? <a class="code" href="classAES.html#sm_5Falog_5B_32_35_36_5D">sm_alog</a>[(a + <a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[b[3] &amp; 0xFF]) % 255] &amp; 0xFF : 0;
-<a name="l00035"></a>00035 <span class="keywordflow">return</span> a0 &lt;&lt; 24 | a1 &lt;&lt; 16 | a2 &lt;&lt; 8 | a3;
-<a name="l00036"></a>00036 }
-<a name="l00037"></a>00037
-<a name="l00038"></a>00038 <span class="keyword">public</span>:
-<a name="l00039"></a>00039 <a class="code" href="classAES.html#AES_28_29">AES</a>();
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="keyword">virtual</span> <a class="code" href="classAES.html#_7EAES_28_29">~AES</a>();
-<a name="l00042"></a>00042
-<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="classAES.html#MakeKey_28char_20const_20_2Akey_2C_20char_20const_20_2Achain_2C_20int_20keylength_3DDEFAULT_5FBLOCK_5FSIZE_2C_20int_20blockSize_3DDEFAULT_5FBLOCK_5FSIZE_29">MakeKey</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* key, <span class="keywordtype">char</span> <span class="keyword">const</span>* chain, <span class="keywordtype">int</span> keylength=<a class="code" href="classAES.html#_40_31DEFAULT_5FBLOCK_5FSIZE">DEFAULT_BLOCK_SIZE</a>, <span class="keywordtype">int</span> blockSize=<a class="code" href="classAES.html#_40_31DEFAULT_5FBLOCK_5FSIZE">DEFAULT_BLOCK_SIZE</a>);
-<a name="l00051"></a>00051
-<a name="l00052"></a>00052 <span class="keyword">private</span>:
-<a name="l00055"></a><a class="code" href="classAES.html#Xor_28char_20_2Abuff_2C_20char_20const_20_2Achain_29">00055</a> <span class="keywordtype">void</span> <a class="code" href="classAES.html#Xor_28char_20_2Abuff_2C_20char_20const_20_2Achain_29">Xor</a>(<span class="keywordtype">char</span>* buff, <span class="keywordtype">char</span> <span class="keyword">const</span>* chain)
-<a name="l00056"></a>00056 {
-<a name="l00057"></a>00057 <span class="keywordflow">if</span>(<span class="keyword">false</span>==<a class="code" href="classAES.html#m_5FbKeyInit">m_bKeyInit</a>)
-<a name="l00058"></a>00058 <span class="keywordflow">return</span>;
-<a name="l00059"></a>00059 <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i=0; i&lt;<a class="code" href="classAES.html#m_5FblockSize">m_blockSize</a>; i++)
-<a name="l00060"></a>00060 *(buff++) ^= *(chain++);
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062
-<a name="l00067"></a>00067 <span class="keywordtype">void</span> <a class="code" href="classAES.html#DefEncryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">DefEncryptBlock</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* in, <span class="keywordtype">char</span>* result);
-<a name="l00068"></a>00068
-<a name="l00073"></a>00073 <span class="keywordtype">void</span> <a class="code" href="classAES.html#DefDecryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">DefDecryptBlock</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* in, <span class="keywordtype">char</span>* result);
-<a name="l00074"></a>00074
-<a name="l00075"></a>00075 <span class="keyword">public</span>:
-<a name="l00080"></a>00080 <span class="keywordtype">void</span> <a class="code" href="classAES.html#EncryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">EncryptBlock</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* in, <span class="keywordtype">char</span>* result);
-<a name="l00081"></a>00081
-<a name="l00086"></a>00086 <span class="keywordtype">void</span> <a class="code" href="classAES.html#DecryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">DecryptBlock</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* in, <span class="keywordtype">char</span>* result);
-<a name="l00087"></a>00087
-<a name="l00094"></a>00094 <span class="keywordtype">void</span> <a class="code" href="classAES.html#Encrypt_28char_20const_20_2Ain_2C_20char_20_2Aresult_2C_20size_5Ft_20n_2C_20int_20iMode_3DECB_29">Encrypt</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* in, <span class="keywordtype">char</span>* result, size_t n, <span class="keywordtype">int</span> iMode=<a class="code" href="classAES.html#_40_30ECB">ECB</a>);
-<a name="l00095"></a>00095
-<a name="l00102"></a>00102 <span class="keywordtype">void</span> <a class="code" href="classAES.html#Decrypt_28char_20const_20_2Ain_2C_20char_20_2Aresult_2C_20size_5Ft_20n_2C_20int_20iMode_3DECB_29">Decrypt</a>(<span class="keywordtype">char</span> <span class="keyword">const</span>* in, <span class="keywordtype">char</span>* result, size_t n, <span class="keywordtype">int</span> iMode=<a class="code" href="classAES.html#_40_30ECB">ECB</a>);
-<a name="l00103"></a>00103
-<a name="l00106"></a><a class="code" href="classAES.html#GetKeyLength_28_29">00106</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#GetKeyLength_28_29">GetKeyLength</a>()
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 <span class="keywordflow">if</span>(<span class="keyword">false</span>==<a class="code" href="classAES.html#m_5FbKeyInit">m_bKeyInit</a>)
-<a name="l00109"></a>00109 <span class="keywordflow">return</span> 0;
-<a name="l00110"></a>00110 <span class="keywordflow">return</span> <a class="code" href="classAES.html#m_5Fkeylength">m_keylength</a>;
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112
-<a name="l00115"></a><a class="code" href="classAES.html#GetBlockSize_28_29">00115</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#GetBlockSize_28_29">GetBlockSize</a>()
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 <span class="keywordflow">if</span>(<span class="keyword">false</span>==<a class="code" href="classAES.html#m_5FbKeyInit">m_bKeyInit</a>)
-<a name="l00118"></a>00118 <span class="keywordflow">return</span> 0;
-<a name="l00119"></a>00119 <span class="keywordflow">return</span> <a class="code" href="classAES.html#m_5FblockSize">m_blockSize</a>;
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121
-<a name="l00124"></a><a class="code" href="classAES.html#GetRounds_28_29">00124</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#GetRounds_28_29">GetRounds</a>()
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 <span class="keywordflow">if</span>(<span class="keyword">false</span>==<a class="code" href="classAES.html#m_5FbKeyInit">m_bKeyInit</a>)
-<a name="l00127"></a>00127 <span class="keywordflow">return</span> 0;
-<a name="l00128"></a>00128 <span class="keywordflow">return</span> <a class="code" href="classAES.html#m_5FiROUNDS">m_iROUNDS</a>;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130
-<a name="l00133"></a><a class="code" href="classAES.html#ResetChain_28_29">00133</a> <span class="keywordtype">void</span> <a class="code" href="classAES.html#ResetChain_28_29">ResetChain</a>()
-<a name="l00134"></a>00134 {
-<a name="l00135"></a>00135 memcpy(<a class="code" href="classAES.html#m_5Fchain_5BMAX_5FBLOCK_5FSIZE_5D">m_chain</a>, <a class="code" href="classAES.html#m_5Fchain_30_5BMAX_5FBLOCK_5FSIZE_5D">m_chain0</a>, <a class="code" href="classAES.html#m_5FblockSize">m_blockSize</a>);
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137
-<a name="l00138"></a>00138 <span class="keyword">public</span>:
-<a name="l00141"></a><a class="code" href="classAES.html#sm_5Fchain_30">00141</a> <span class="keyword">static</span> <span class="keywordtype">char</span> <span class="keyword">const</span>* <a class="code" href="classAES.html#sm_5Fchain_30">sm_chain0</a>;
-<a name="l00142"></a>00142
-<a name="l00143"></a>00143 <span class="keyword">private</span>:
-<a name="l00144"></a><a class="code" href="classAES.html#sm_5Falog_5B_32_35_36_5D">00144</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5Falog_5B_32_35_36_5D">sm_alog</a>[256];
-<a name="l00145"></a><a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">00145</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5Flog_5B_32_35_36_5D">sm_log</a>[256];
-<a name="l00146"></a><a class="code" href="classAES.html#sm_5FS_5B_32_35_36_5D">00146</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classAES.html#sm_5FS_5B_32_35_36_5D">sm_S</a>[256];
-<a name="l00147"></a><a class="code" href="classAES.html#sm_5FSi_5B_32_35_36_5D">00147</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classAES.html#sm_5FSi_5B_32_35_36_5D">sm_Si</a>[256];
-<a name="l00148"></a><a class="code" href="classAES.html#sm_5FT_31_5B_32_35_36_5D">00148</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_31_5B_32_35_36_5D">sm_T1</a>[256];
-<a name="l00149"></a><a class="code" href="classAES.html#sm_5FT_32_5B_32_35_36_5D">00149</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_32_5B_32_35_36_5D">sm_T2</a>[256];
-<a name="l00150"></a><a class="code" href="classAES.html#sm_5FT_33_5B_32_35_36_5D">00150</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_33_5B_32_35_36_5D">sm_T3</a>[256];
-<a name="l00151"></a><a class="code" href="classAES.html#sm_5FT_34_5B_32_35_36_5D">00151</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_34_5B_32_35_36_5D">sm_T4</a>[256];
-<a name="l00152"></a><a class="code" href="classAES.html#sm_5FT_35_5B_32_35_36_5D">00152</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_35_5B_32_35_36_5D">sm_T5</a>[256];
-<a name="l00153"></a><a class="code" href="classAES.html#sm_5FT_36_5B_32_35_36_5D">00153</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_36_5B_32_35_36_5D">sm_T6</a>[256];
-<a name="l00154"></a><a class="code" href="classAES.html#sm_5FT_37_5B_32_35_36_5D">00154</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_37_5B_32_35_36_5D">sm_T7</a>[256];
-<a name="l00155"></a><a class="code" href="classAES.html#sm_5FT_38_5B_32_35_36_5D">00155</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FT_38_5B_32_35_36_5D">sm_T8</a>[256];
-<a name="l00156"></a><a class="code" href="classAES.html#sm_5FU_31_5B_32_35_36_5D">00156</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FU_31_5B_32_35_36_5D">sm_U1</a>[256];
-<a name="l00157"></a><a class="code" href="classAES.html#sm_5FU_32_5B_32_35_36_5D">00157</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FU_32_5B_32_35_36_5D">sm_U2</a>[256];
-<a name="l00158"></a><a class="code" href="classAES.html#sm_5FU_33_5B_32_35_36_5D">00158</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FU_33_5B_32_35_36_5D">sm_U3</a>[256];
-<a name="l00159"></a><a class="code" href="classAES.html#sm_5FU_34_5B_32_35_36_5D">00159</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5FU_34_5B_32_35_36_5D">sm_U4</a>[256];
-<a name="l00160"></a><a class="code" href="classAES.html#sm_5Frcon_5B_33_30_5D">00160</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="classAES.html#sm_5Frcon_5B_33_30_5D">sm_rcon</a>[30];
-<a name="l00161"></a><a class="code" href="classAES.html#sm_5Fshifts_5B_33_5D_5B_34_5D_5B_32_5D">00161</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classAES.html#sm_5Fshifts_5B_33_5D_5B_34_5D_5B_32_5D">sm_shifts</a>[3][4][2];
-<a name="l00164"></a><a class="code" href="classAES.html#m_5FbKeyInit">00164</a> <span class="keywordtype">bool</span> <a class="code" href="classAES.html#m_5FbKeyInit">m_bKeyInit</a>;
-<a name="l00167"></a><a class="code" href="classAES.html#m_5FKe_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">00167</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#m_5FKe_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">m_Ke</a>[<a class="code" href="classAES.html#_40_32MAX_5FROUNDS">MAX_ROUNDS</a>+1][<a class="code" href="classAES.html#_40_32MAX_5FBC">MAX_BC</a>];
-<a name="l00170"></a><a class="code" href="classAES.html#m_5FKd_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">00170</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#m_5FKd_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">m_Kd</a>[<a class="code" href="classAES.html#_40_32MAX_5FROUNDS">MAX_ROUNDS</a>+1][<a class="code" href="classAES.html#_40_32MAX_5FBC">MAX_BC</a>];
-<a name="l00173"></a><a class="code" href="classAES.html#m_5Fkeylength">00173</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#m_5Fkeylength">m_keylength</a>;
-<a name="l00176"></a><a class="code" href="classAES.html#m_5FblockSize">00176</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#m_5FblockSize">m_blockSize</a>;
-<a name="l00179"></a><a class="code" href="classAES.html#m_5FiROUNDS">00179</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#m_5FiROUNDS">m_iROUNDS</a>;
-<a name="l00182"></a><a class="code" href="classAES.html#m_5Fchain_30_5BMAX_5FBLOCK_5FSIZE_5D">00182</a> <span class="keywordtype">char</span> <a class="code" href="classAES.html#m_5Fchain_30_5BMAX_5FBLOCK_5FSIZE_5D">m_chain0</a>[<a class="code" href="classAES.html#_40_32MAX_5FBLOCK_5FSIZE">MAX_BLOCK_SIZE</a>];
-<a name="l00183"></a><a class="code" href="classAES.html#m_5Fchain_5BMAX_5FBLOCK_5FSIZE_5D">00183</a> <span class="keywordtype">char</span> <a class="code" href="classAES.html#m_5Fchain_5BMAX_5FBLOCK_5FSIZE_5D">m_chain</a>[<a class="code" href="classAES.html#_40_32MAX_5FBLOCK_5FSIZE">MAX_BLOCK_SIZE</a>];
-<a name="l00186"></a><a class="code" href="classAES.html#tk_5BMAX_5FKC_5D">00186</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#tk_5BMAX_5FKC_5D">tk</a>[<a class="code" href="classAES.html#_40_32MAX_5FKC">MAX_KC</a>];
-<a name="l00187"></a><a class="code" href="classAES.html#a_5BMAX_5FBC_5D">00187</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#a_5BMAX_5FBC_5D">a</a>[<a class="code" href="classAES.html#_40_32MAX_5FBC">MAX_BC</a>];
-<a name="l00188"></a><a class="code" href="classAES.html#t_5BMAX_5FBC_5D">00188</a> <span class="keywordtype">int</span> <a class="code" href="classAES.html#t_5BMAX_5FBC_5D">t</a>[<a class="code" href="classAES.html#_40_32MAX_5FBC">MAX_BC</a>];
-<a name="l00189"></a>00189 };
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="preprocessor">#endif</span>
-<a name="l00192"></a>00192 <span class="preprocessor"></span>
-<a name="l00199"></a>00199 <span class="keywordtype">void</span> <a class="code" href="aes_8h.html#to_36_34frombits_28unsigned_20char_20_2Aout_2C_20const_20unsigned_20char_20_2Ain_2C_20int_20inlen_29">to64frombits</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *out, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *in, <span class="keywordtype">int</span> inlen);
-<a name="l00206"></a>00206 <span class="keywordtype">int</span> <a class="code" href="aes_8h.html#from_36_34tobits_28char_20_2Aout_2C_20const_20char_20_2Ain_2C_20int_20maxlen_29">from64tobits</a>(<span class="keywordtype">char</span> *out, <span class="keyword">const</span> <span class="keywordtype">char</span> *in, <span class="keywordtype">int</span> maxlen);
-<a name="l00207"></a>00207
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/aes_8h.html b/docs/module-doc/aes_8h.html
deleted file mode 100644
index 4bf1fc7ea..000000000
--- a/docs/module-doc/aes_8h.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!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: aes.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>aes.h File Reference</h1><code>#include &lt;cstring&gt;</code><br>
-
-<p>
-Include dependency graph for aes.h:<p><center><img src="aes_8h__incl.gif" border="0" usemap="#aes.h_map" alt=""></center>
-
-<p>
-<a href="aes_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="classAES.html">AES</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The AES class is a utility class for use in modules and the core for encryption of data. <a href="classAES.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html#to_36_34frombits_28unsigned_20char_20_2Aout_2C_20const_20unsigned_20char_20_2Ain_2C_20int_20inlen_29">to64frombits</a> (unsigned char *out, const unsigned char *in, int inlen)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert from binary to base64. <a href="#to_36_34frombits_28unsigned_20char_20_2Aout_2C_20const_20unsigned_20char_20_2Ain_2C_20int_20inlen_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="aes_8h.html#from_36_34tobits_28char_20_2Aout_2C_20const_20char_20_2Ain_2C_20int_20maxlen_29">from64tobits</a> (char *out, const char *in, int maxlen)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert from base64 to binary Output Input Size of output buffer. <a href="#from_36_34tobits_28char_20_2Aout_2C_20const_20char_20_2Ain_2C_20int_20maxlen_29"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="from_36_34tobits_28char_20_2Aout_2C_20const_20char_20_2Ain_2C_20int_20maxlen_29"></a><!-- doxytag: member="aes.h::from64tobits" ref="from_36_34tobits_28char_20_2Aout_2C_20const_20char_20_2Ain_2C_20int_20maxlen_29" args="(char *out, const char *in, int maxlen)" --><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 from64tobits </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>out</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>in</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>maxlen</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>
-Convert from base64 to binary Output Input Size of output buffer.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>Number of bytes actually converted</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="to_36_34frombits_28unsigned_20char_20_2Aout_2C_20const_20unsigned_20char_20_2Ain_2C_20int_20inlen_29"></a><!-- doxytag: member="aes.h::to64frombits" ref="to_36_34frombits_28unsigned_20char_20_2Aout_2C_20const_20unsigned_20char_20_2Ain_2C_20int_20inlen_29" args="(unsigned char *out, const unsigned char *in, int inlen)" --><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 to64frombits </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">unsigned char *&nbsp;</td>
- <td class="mdname" nowrap> <em>out</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const unsigned char *&nbsp;</td>
- <td class="mdname" nowrap> <em>in</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>inlen</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>
-Convert from binary to base64.
-<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>out</em>&nbsp;</td><td>Output </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>in</em>&nbsp;</td><td>Input </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>inlen</em>&nbsp;</td><td>Number of bytes in input buffer</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/aes_8h__incl.map b/docs/module-doc/aes_8h__incl.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/aes_8h__incl.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/aes_8h__incl.md5 b/docs/module-doc/aes_8h__incl.md5
deleted file mode 100644
index 763f9a789..000000000
--- a/docs/module-doc/aes_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-757d940097e33843502a3704b6517705 \ No newline at end of file
diff --git a/docs/module-doc/annotated.html b/docs/module-doc/annotated.html
deleted file mode 100644
index bbafcd5b2..000000000
--- a/docs/module-doc/annotated.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!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: Class 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="qindexHL" 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 Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="classAdmin.html">Admin</a></td><td class="indexvalue">Holds /ADMIN data This class contains the admin details of the local server </td></tr>
- <tr><td class="indexkey"><a class="el" href="classAES.html">AES</a></td><td class="indexvalue">Utility class for use in modules and the core for encryption of data </td></tr>
- <tr><td class="indexkey"><a class="el" href="classBanItem.html">BanItem</a></td><td class="indexvalue">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel bans (+b) </td></tr>
- <tr><td class="indexkey"><a class="el" href="classBoolSet.html">BoolSet</a></td><td class="indexvalue">BoolSet is a utility class designed to hold eight bools in a bitmask </td></tr>
- <tr><td class="indexkey"><a class="el" href="classchanrec.html">chanrec</a></td><td class="indexvalue">Holds all relevent information for a channel </td></tr>
- <tr><td class="indexkey"><a class="el" href="classstd_1_1char__traits.html">char_traits</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classclassbase.html">classbase</a></td><td class="indexvalue">The base class for all inspircd classes </td></tr>
- <tr><td class="indexkey"><a class="el" href="classcmd__mode.html">cmd_mode</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classcommand__t.html">command_t</a></td><td class="indexvalue">A structure that defines a command </td></tr>
- <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>
- <tr><td class="indexkey"><a class="el" href="classEvent.html">Event</a></td><td class="indexvalue">Unicast message directed at all modules </td></tr>
- <tr><td class="indexkey"><a class="el" href="classExemptItem.html">ExemptItem</a></td><td class="indexvalue">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel exempts (+e) </td></tr>
- <tr><td class="indexkey"><a class="el" href="classExtensible.html">Extensible</a></td><td class="indexvalue">Class Extensible is the parent class of many classes such as userrec and chanrec </td></tr>
- <tr><td class="indexkey"><a class="el" href="classExtMode.html">ExtMode</a></td><td class="indexvalue">Holds an extended mode's details </td></tr>
- <tr><td class="indexkey"><a class="el" href="classFileReader.html">FileReader</a></td><td class="indexvalue">Caches a text file into memory and can be used to retrieve lines from it </td></tr>
- <tr><td class="indexkey"><a class="el" href="classGLine.html">GLine</a></td><td class="indexvalue">GLine class </td></tr>
- <tr><td class="indexkey"><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="structnspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classHostItem.html">HostItem</a></td><td class="indexvalue">Holds an entry for a ban list, exemption list, or invite list </td></tr>
- <tr><td class="indexkey"><a class="el" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a></td><td class="indexvalue">This class returns true if two in_addr structs match </td></tr>
- <tr><td class="indexkey"><a class="el" href="classInspIRCd.html">InspIRCd</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classInspSocket.html">InspSocket</a></td><td class="indexvalue">InspSocket is an extendable socket class which modules can use for TCP socket support </td></tr>
- <tr><td class="indexkey"><a class="el" href="classInvited.html">Invited</a></td><td class="indexvalue">Holds a channel name to which a user has been invited </td></tr>
- <tr><td class="indexkey"><a class="el" href="classInviteItem.html">InviteItem</a></td><td class="indexvalue">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel invites (+I) </td></tr>
- <tr><td class="indexkey"><a class="el" href="structirc_1_1irc__char__traits.html">irc::irc_char_traits</a></td><td class="indexvalue">The <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> class is used for RFC-style comparison of strings </td></tr>
- <tr><td class="indexkey"><a class="el" href="classKLine.html">KLine</a></td><td class="indexvalue">KLine class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classModeParameter.html">ModeParameter</a></td><td class="indexvalue">Holds a custom parameter to a module-defined channel mode e.g </td></tr>
- <tr><td class="indexkey"><a class="el" href="classModeParser.html">ModeParser</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classModule.html">Module</a></td><td class="indexvalue">Base class for all <a class="el" href="classInspIRCd.html">InspIRCd</a> modules This class is the base class for <a class="el" href="classInspIRCd.html">InspIRCd</a> modules </td></tr>
- <tr><td class="indexkey"><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td class="indexvalue">Instantiates classes inherited from <a class="el" href="classModule.html">Module</a> This class creates a class inherited from type <a class="el" href="classModule.html">Module</a>, using new </td></tr>
- <tr><td class="indexkey"><a class="el" href="classModuleMessage.html">ModuleMessage</a></td><td class="indexvalue">Base class of <a class="el" href="classRequest.html">Request</a> and <a class="el" href="classEvent.html">Event</a> This class is used to represent a basic data structure which is passed between modules for safe inter-module communications </td></tr>
- <tr><td class="indexkey"><a class="el" href="classQLine.html">QLine</a></td><td class="indexvalue">QLine class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classRequest.html">Request</a></td><td class="indexvalue">Unicast message directed at a given module </td></tr>
- <tr><td class="indexkey"><a class="el" href="classServer.html">Server</a></td><td class="indexvalue">Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers </td></tr>
- <tr><td class="indexkey"><a class="el" href="classServerConfig.html">ServerConfig</a></td><td class="indexvalue">This class holds the bulk of the runtime configuration for the ircd </td></tr>
- <tr><td class="indexkey"><a class="el" href="classserverstats.html">serverstats</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td class="indexvalue">The actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin </td></tr>
- <tr><td class="indexkey"><a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a></td><td class="indexvalue">This class returns true if two strings match </td></tr>
- <tr><td class="indexkey"><a class="el" href="classucrec.html">ucrec</a></td><td class="indexvalue">Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class </td></tr>
- <tr><td class="indexkey"><a class="el" href="classuserrec.html">userrec</a></td><td class="indexvalue">Holds all information about a user This class stores all information about a user connected to the irc server </td></tr>
- <tr><td class="indexkey"><a class="el" href="classVersion.html">Version</a></td><td class="indexvalue">Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module </td></tr>
- <tr><td class="indexkey"><a class="el" href="classWhoWasUser.html">WhoWasUser</a></td><td class="indexvalue">A lightweight userrec used by WHOWAS </td></tr>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/base_8h-source.html b/docs/module-doc/base_8h-source.html
deleted file mode 100644
index 36081deda..000000000
--- a/docs/module-doc/base_8h-source.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!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: base.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>base.h</h1><a href="base_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-2004 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 __BASE_H__ </span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __BASE_H__ </span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;time.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;map&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;deque&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00025"></a>00025
-<a name="l00026"></a><a class="code" href="base_8h.html#VoidPointer">00026</a> <span class="keyword">typedef</span> <span class="keywordtype">void</span>* <a class="code" href="base_8h.html#VoidPointer">VoidPointer</a>;
-<a name="l00027"></a>00027
-<a name="l00030"></a><a class="code" href="classclassbase.html">00030</a> <span class="keyword">class </span><a class="code" href="classclassbase.html">classbase</a>
-<a name="l00031"></a>00031 {
-<a name="l00032"></a>00032 <span class="keyword">public</span>:
-<a name="l00035"></a><a class="code" href="classclassbase.html#age">00035</a> time_t <a class="code" href="classclassbase.html#age">age</a>;
-<a name="l00036"></a>00036
-<a name="l00040"></a><a class="code" href="classclassbase.html#classbase_28_29">00040</a> <a class="code" href="classclassbase.html#classbase_28_29">classbase</a>() { <a class="code" href="classclassbase.html#age">age</a> = time(NULL); }
-<a name="l00041"></a><a class="code" href="classclassbase.html#_7Eclassbase_28_29">00041</a> <a class="code" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a>() { }
-<a name="l00042"></a>00042 };
-<a name="l00043"></a>00043
-<a name="l00051"></a><a class="code" href="classExtensible.html">00051</a> <span class="keyword">class </span><a class="code" href="classExtensible.html">Extensible</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00052"></a>00052 {
-<a name="l00055"></a><a class="code" href="classExtensible.html#Extension_5FItems">00055</a> std::map&lt;std::string,char*&gt; <a class="code" href="classExtensible.html#Extension_5FItems">Extension_Items</a>;
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">public</span>:
-<a name="l00058"></a>00058
-<a name="l00070"></a>00070 <span class="keywordtype">bool</span> <a class="code" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extend</a>(<a class="code" href="namespaceirc.html#string">std::string</a> key, <span class="keywordtype">char</span>* p);
-<a name="l00071"></a>00071
-<a name="l00081"></a>00081 <span class="keywordtype">bool</span> <a class="code" href="classExtensible.html#Shrink_28std_3A_3Astring_20key_29">Shrink</a>(<a class="code" href="namespaceirc.html#string">std::string</a> key);
-<a name="l00082"></a>00082
-<a name="l00089"></a>00089 <span class="keywordtype">char</span>* <a class="code" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">GetExt</a>(<a class="code" href="namespaceirc.html#string">std::string</a> key);
-<a name="l00090"></a>00090
-<a name="l00097"></a>00097 <span class="keywordtype">void</span> <a class="code" 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);
-<a name="l00098"></a>00098 };
-<a name="l00099"></a>00099
-<a name="l00104"></a><a class="code" href="classBoolSet.html">00104</a> <span class="keyword">class </span><a class="code" href="classBoolSet.html">BoolSet</a>
-<a name="l00105"></a>00105 {
-<a name="l00106"></a><a class="code" href="classBoolSet.html#bits">00106</a> <span class="keywordtype">char</span> <a class="code" href="classBoolSet.html#bits">bits</a>;
-<a name="l00107"></a>00107
-<a name="l00108"></a>00108 <span class="keyword">public</span>:
-<a name="l00109"></a>00109
-<a name="l00112"></a>00112 <a class="code" href="classBoolSet.html#BoolSet_28_29">BoolSet</a>();
-<a name="l00113"></a>00113
-<a name="l00116"></a>00116 <a class="code" href="classBoolSet.html#BoolSet_28_29">BoolSet</a>(<span class="keywordtype">char</span> bitmask);
-<a name="l00117"></a>00117
-<a name="l00122"></a>00122 <span class="keywordtype">void</span> <a class="code" href="classBoolSet.html#Set_28int_20number_29">Set</a>(<span class="keywordtype">int</span> number);
-<a name="l00123"></a>00123
-<a name="l00130"></a>00130 <span class="keywordtype">bool</span> <a class="code" href="classBoolSet.html#Get_28int_20number_29">Get</a>(<span class="keywordtype">int</span> number);
-<a name="l00131"></a>00131
-<a name="l00136"></a>00136 <span class="keywordtype">void</span> <a class="code" href="classBoolSet.html#Unset_28int_20number_29">Unset</a>(<span class="keywordtype">int</span> number);
-<a name="l00137"></a>00137
-<a name="l00142"></a>00142 <span class="keywordtype">void</span> <a class="code" href="classBoolSet.html#Invert_28int_20number_29">Invert</a>(<span class="keywordtype">int</span> number);
-<a name="l00143"></a>00143
-<a name="l00146"></a>00146 <span class="keywordtype">bool</span> <a class="code" href="classBoolSet.html#operator_3D_3D_28BoolSet_20other_29">operator==</a>(<a class="code" href="classBoolSet.html">BoolSet</a> other);
-<a name="l00147"></a>00147
-<a name="l00150"></a>00150 <a class="code" href="classBoolSet.html">BoolSet</a> <a class="code" href="classBoolSet.html#operator_7C_28BoolSet_20other_29">operator|</a>(<a class="code" href="classBoolSet.html">BoolSet</a> other);
-<a name="l00151"></a>00151
-<a name="l00154"></a>00154 <a class="code" href="classBoolSet.html">BoolSet</a> <a class="code" href="classBoolSet.html#operator_20_26_28BoolSet_20other_29">operator&amp;</a>(<a class="code" href="classBoolSet.html">BoolSet</a> other);
-<a name="l00155"></a>00155
-<a name="l00158"></a>00158 <span class="keywordtype">bool</span> <a class="code" href="classBoolSet.html#operator_3D_28BoolSet_20other_29">operator=</a>(<a class="code" href="classBoolSet.html">BoolSet</a> other);
-<a name="l00159"></a>00159 };
-<a name="l00160"></a>00160
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/base_8h.html b/docs/module-doc/base_8h.html
deleted file mode 100644
index 0f9bf0013..000000000
--- a/docs/module-doc/base_8h.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!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: base.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>base.h File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &lt;time.h&gt;</code><br>
-<code>#include &lt;map&gt;</code><br>
-<code>#include &lt;deque&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-
-<p>
-Include dependency graph for base.h:<p><center><img src="base_8h__incl.gif" border="0" usemap="#base.h_map" alt=""></center>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="base_8h__dep__incl.gif" border="0" usemap="#base.hdep_map" alt=""></center>
-<map name="base.hdep_map">
-<area href="channels_8h-source.html" shape="rect" coords="123,7,208,33" alt="">
-<area href="connection_8h-source.html" shape="rect" coords="116,57,215,84" alt="">
-<area href="modules_8h-source.html" shape="rect" coords="124,108,207,135" alt="">
-</map>
-
-<p>
-<a href="base_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="classclassbase.html">classbase</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base class for all inspircd classes. <a href="classclassbase.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="classExtensible.html">Extensible</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">class Extensible is the parent class of many classes such as userrec and chanrec. <a href="classExtensible.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="classBoolSet.html">BoolSet</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">BoolSet is a utility class designed to hold eight bools in a bitmask. <a href="classBoolSet.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="base_8h.html#VoidPointer">VoidPointer</a></td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="VoidPointer"></a><!-- doxytag: member="base.h::VoidPointer" ref="VoidPointer" 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">typedef void* <a class="el" href="base_8h.html#VoidPointer">VoidPointer</a> </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="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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/base_8h__dep__incl.gif b/docs/module-doc/base_8h__dep__incl.gif
deleted file mode 100644
index b13fbb74d..000000000
--- a/docs/module-doc/base_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/base_8h__dep__incl.map b/docs/module-doc/base_8h__dep__incl.map
deleted file mode 100644
index f4ecb8aca..000000000
--- a/docs/module-doc/base_8h__dep__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $channels_8h-source.html 123,7 208,33
-rect $connection_8h-source.html 116,57 215,84
-rect $modules_8h-source.html 124,108 207,135
diff --git a/docs/module-doc/base_8h__dep__incl.md5 b/docs/module-doc/base_8h__dep__incl.md5
deleted file mode 100644
index ca5585f51..000000000
--- a/docs/module-doc/base_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-ee5adf3802b7f876813a7157861bd8af \ No newline at end of file
diff --git a/docs/module-doc/base_8h__incl.gif b/docs/module-doc/base_8h__incl.gif
deleted file mode 100644
index 3f882f006..000000000
--- a/docs/module-doc/base_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/base_8h__incl.map b/docs/module-doc/base_8h__incl.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/base_8h__incl.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/base_8h__incl.md5 b/docs/module-doc/base_8h__incl.md5
deleted file mode 100644
index 008189a10..000000000
--- a/docs/module-doc/base_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-6c8bdf0cad8e094c4c6082bc5e0b8386 \ No newline at end of file
diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html
deleted file mode 100644
index 41388ca5d..000000000
--- a/docs/module-doc/channels_8cpp-source.html
+++ /dev/null
@@ -1,559 +0,0 @@
-<!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: channels.cpp 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_000005.html">src</a></div>
-<h1>channels.cpp</h1><a href="channels_8cpp.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="keyword">using</span> <span class="keyword">namespace </span>std;
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="inspircd__io_8h.html">inspircd_io.h</a>"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;sys/errno.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;sys/ioctl.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;sys/utsname.h&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;time.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#ifdef GCC3</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ext/hash_map&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#else</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#include &lt;hash_map&gt;</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#include &lt;map&gt;</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include &lt;deque&gt;</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span>
-<a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="globals_8h.html">globals.h</a>"</span>
-<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="modules_8h.html">modules.h</a>"</span>
-<a name="l00041"></a>00041 <span class="preprocessor">#include "dynamic.h"</span>
-<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="commands_8h.html">commands.h</a>"</span>
-<a name="l00043"></a>00043 <span class="preprocessor">#include "wildcard.h"</span>
-<a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="message_8h.html">message.h</a>"</span>
-<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="mode_8h.html">mode.h</a>"</span>
-<a name="l00046"></a>00046 <span class="preprocessor">#include "<a class="code" href="xline_8h.html">xline.h</a>"</span>
-<a name="l00047"></a>00047 <span class="preprocessor">#include "inspstring.h"</span>
-<a name="l00048"></a>00048 <span class="preprocessor">#include "helperfuncs.h"</span>
-<a name="l00049"></a>00049 <span class="preprocessor">#include "<a class="code" href="typedefs_8h.html">typedefs.h</a>"</span>
-<a name="l00050"></a>00050
-<a name="l00051"></a>00051 <span class="preprocessor">#ifdef GCC3</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define nspace __gnu_cxx</span>
-<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00054"></a><a class="code" href="channels_8cpp.html#nspace">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define nspace std</span>
-<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00057"></a>00057 <span class="keyword">extern</span> <a class="code" href="classServerConfig.html">ServerConfig</a>* <a class="code" href="channels_8cpp.html#Config">Config</a>;
-<a name="l00058"></a>00058
-<a name="l00059"></a>00059 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a>;
-<a name="l00060"></a>00060 <span class="keyword">extern</span> std::vector&lt;Module*&gt; <a class="code" href="channels_8cpp.html#modules">modules</a>;
-<a name="l00061"></a>00061 <span class="keyword">extern</span> std::vector&lt;ircd_module*&gt; <a class="code" href="channels_8cpp.html#factory">factory</a>;
-<a name="l00062"></a>00062 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a>;
-<a name="l00063"></a>00063 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a>;
-<a name="l00064"></a>00064 <span class="keyword">extern</span> time_t <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00065"></a>00065 <span class="keyword">extern</span> <a class="code" href="typedefs_8h.html#chan_5Fhash">chan_hash</a> <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>;
-<a name="l00066"></a>00066
-<a name="l00067"></a>00067 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
-<a name="l00068"></a>00068
-<a name="l00069"></a><a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">00069</a> std::vector&lt;ModeParameter&gt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>;
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(<a class="code" href="classchanrec.html">chanrec</a>* Ptr,<a class="code" href="classucrec.html">ucrec</a> &amp;a,<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">int</span> created);
-<a name="l00072"></a>00072
-<a name="l00073"></a><a class="code" href="classchanrec.html#chanrec_28_29">00073</a> <a class="code" href="classchanrec.html#chanrec_28_29">chanrec::chanrec</a>()
-<a name="l00074"></a>00074 {
-<a name="l00075"></a>00075 strcpy(<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>,<span class="stringliteral">""</span>);
-<a name="l00076"></a>00076 strcpy(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,<span class="stringliteral">""</span>);
-<a name="l00077"></a>00077 strcpy(<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>,<span class="stringliteral">""</span>);
-<a name="l00078"></a>00078 strcpy(<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>,<span class="stringliteral">""</span>);
-<a name="l00079"></a>00079 strcpy(<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>,<span class="stringliteral">""</span>);
-<a name="l00080"></a>00080 <a class="code" href="classchanrec.html#created">created</a> = <a class="code" href="classchanrec.html#topicset">topicset</a> = <a class="code" href="classchanrec.html#limit">limit</a> = 0;
-<a name="l00081"></a>00081 <a class="code" href="classchanrec.html#binarymodes">binarymodes</a> = 0;
-<a name="l00082"></a>00082 <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.clear();
-<a name="l00083"></a>00083 }
-<a name="l00084"></a>00084
-<a name="l00085"></a><a class="code" href="classchanrec.html#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29">00085</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29">chanrec::SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on)
-<a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (mode_on) {
-<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
-<a name="l00089"></a>00089 m[0] = mode;
-<a name="l00090"></a>00090 m[1] = <span class="charliteral">'\0'</span>;
-<a name="l00091"></a>00091 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 strlcat(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,m,MAXMODES);
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095 <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">"Custom mode %c set"</span>,mode);
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097 <span class="keywordflow">else</span> {
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <a class="code" href="namespaceirc.html#string">std::string</a> a = this-&gt;<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>;
-<a name="l00100"></a>00100 <span class="keywordtype">int</span> pos = a.find(mode);
-<a name="l00101"></a>00101 a.erase(pos,1);
-<a name="l00102"></a>00102 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <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">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
-<a name="l00105"></a>00105 this-&gt;<a class="code" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107 }
-<a name="l00108"></a>00108
-<a name="l00109"></a>00109
-<a name="l00110"></a><a class="code" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">00110</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">chanrec::SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on)
-<a name="l00111"></a>00111 {
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <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">"SetCustomModeParam called"</span>);
-<a name="l00114"></a>00114 <a class="code" href="classModeParameter.html">ModeParameter</a> M;
-<a name="l00115"></a>00115 M.<a class="code" href="classModeParameter.html#mode">mode</a> = mode;
-<a name="l00116"></a>00116 strlcpy(M.<a class="code" href="classModeParameter.html#channel_5BCHANMAX_5D">channel</a>,this-&gt;name,CHANMAX);
-<a name="l00117"></a>00117 strlcpy(M.<a class="code" href="classModeParameter.html#parameter_5BMAXBUF_5D">parameter</a>,parameter,MAXBUF);
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (mode_on)
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 <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">"Custom mode parameter %c %s added"</span>,mode,parameter);
-<a name="l00121"></a>00121 <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.push_back(M);
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123 <span class="keywordflow">else</span>
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
-<a name="l00128"></a>00128 {
-<a name="l00129"></a>00129 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <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">"Custom mode parameter %c %s removed"</span>,mode,parameter);
-<a name="l00132"></a>00132 <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.erase(i);
-<a name="l00133"></a>00133 <span class="keywordflow">return</span>;
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137 <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">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140
-<a name="l00141"></a><a class="code" href="classchanrec.html#IsCustomModeSet_28char_20mode_29">00141</a> <span class="keywordtype">bool</span> <a class="code" href="classchanrec.html#IsCustomModeSet_28char_20mode_29">chanrec::IsCustomModeSet</a>(<span class="keywordtype">char</span> mode)
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode));
-<a name="l00144"></a>00144 }
-<a name="l00145"></a>00145
-<a name="l00146"></a><a class="code" href="classchanrec.html#GetModeParameter_28char_20mode_29">00146</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classchanrec.html#GetModeParameter_28char_20mode_29">chanrec::GetModeParameter</a>(<span class="keywordtype">char</span> mode)
-<a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
-<a name="l00149"></a>00149 {
-<a name="l00150"></a>00150 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
-<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-<a name="l00153"></a>00153 {
-<a name="l00154"></a>00154 <span class="keywordflow">return</span> i-&gt;parameter;
-<a name="l00155"></a>00155 }
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160
-<a name="l00161"></a><a class="code" href="classchanrec.html#GetUserCounter_28_29">00161</a> <span class="keywordtype">long</span> <a class="code" href="classchanrec.html#GetUserCounter_28_29">chanrec::GetUserCounter</a>()
-<a name="l00162"></a>00162 {
-<a name="l00163"></a>00163 <span class="keywordflow">return</span> (this-&gt;internal_userlist.size());
-<a name="l00164"></a>00164 }
-<a name="l00165"></a>00165
-<a name="l00166"></a><a class="code" href="classchanrec.html#AddUser_28char_20_2Acastuser_29">00166</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#AddUser_28char_20_2Acastuser_29">chanrec::AddUser</a>(<span class="keywordtype">char</span>* castuser)
-<a name="l00167"></a>00167 {
-<a name="l00168"></a>00168 <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.push_back(castuser);
-<a name="l00169"></a>00169 <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">"Added casted user to channel's internal list"</span>);
-<a name="l00170"></a>00170 }
-<a name="l00171"></a>00171
-<a name="l00172"></a><a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">00172</a> <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">chanrec::DelUser</a>(<span class="keywordtype">char</span>* castuser)
-<a name="l00173"></a>00173 {
-<a name="l00174"></a>00174 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator a = <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.begin(); a &lt; <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.end(); a++)
-<a name="l00175"></a>00175 {
-<a name="l00176"></a>00176 <span class="keywordflow">if</span> (*a == castuser)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 <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">"Removed casted user from channel's internal list"</span>);
-<a name="l00179"></a>00179 <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.erase(a);
-<a name="l00180"></a>00180 <span class="keywordflow">return</span>;
-<a name="l00181"></a>00181 }
-<a name="l00182"></a>00182 }
-<a name="l00183"></a>00183 <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">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00184"></a>00184 }
-<a name="l00185"></a>00185
-<a name="l00186"></a><a class="code" href="classchanrec.html#GetUsers_28_29">00186</a> std::vector&lt;char*&gt; *<a class="code" href="classchanrec.html#GetUsers_28_29">chanrec::GetUsers</a>()
-<a name="l00187"></a>00187 {
-<a name="l00188"></a>00188 <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>;
-<a name="l00189"></a>00189 }
-<a name="l00190"></a>00190
-<a name="l00191"></a>00191 <span class="comment">/* add a channel to a user, creating the record for it if needed and linking</span>
-<a name="l00192"></a>00192 <span class="comment"> * it to the user record */</span>
-<a name="l00193"></a>00193
-<a name="l00194"></a><a class="code" href="channels_8h.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">00194</a> <a class="code" href="classchanrec.html">chanrec</a>* <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>(<a class="code" href="classuserrec.html">userrec</a> *user, <span class="keyword">const</span> <span class="keywordtype">char</span>* cn, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keywordtype">bool</span> override)
-<a name="l00195"></a>00195 {
-<a name="l00196"></a>00196 <span class="keywordflow">if</span> ((!user) || (!cn))
-<a name="l00197"></a>00197 {
-<a name="l00198"></a>00198 <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>);
-<a name="l00199"></a>00199 <span class="keywordflow">return</span> 0;
-<a name="l00200"></a>00200 }
-<a name="l00201"></a>00201
-<a name="l00202"></a>00202 <span class="keywordtype">int</span> created = 0;
-<a name="l00203"></a>00203 <span class="keywordtype">char</span> cname[MAXBUF];
-<a name="l00204"></a>00204 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00205"></a>00205 strncpy(cname,cn,CHANMAX);
-<a name="l00206"></a>00206
-<a name="l00207"></a>00207 <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">"add_channel: %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,cname);
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(cname);
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (!Ptr)
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215 MOD_RESULT = 0;
-<a name="l00216"></a>00216 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreJoin(user,NULL,cname));
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (MOD_RESULT == 1)
-<a name="l00218"></a>00218 <span class="keywordflow">return</span> NULL;
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220 <span class="comment">/* create a new one */</span>
-<a name="l00221"></a>00221 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname] = <span class="keyword">new</span> <a class="code" href="classchanrec.html">chanrec</a>();
-<a name="l00222"></a>00222 strlcpy(<a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;name, cname,CHANMAX);
-<a name="l00223"></a>00223 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;binarymodes = <a class="code" href="channels_8h.html#CM_5FTOPICLOCK">CM_TOPICLOCK</a> | <a class="code" href="channels_8h.html#CM_5FNOEXTERNAL">CM_NOEXTERNAL</a>;
-<a name="l00224"></a>00224 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;created = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00225"></a>00225 strcpy(<a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;topic, <span class="stringliteral">""</span>);
-<a name="l00226"></a>00226 strncpy(<a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;setby, user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,NICKMAX);
-<a name="l00227"></a>00227 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;topicset = 0;
-<a name="l00228"></a>00228 Ptr = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname];
-<a name="l00229"></a>00229 <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">"add_channel: created: %s"</span>,cname);
-<a name="l00230"></a>00230 <span class="comment">/* set created to 2 to indicate user</span>
-<a name="l00231"></a>00231 <span class="comment"> * is the first in the channel</span>
-<a name="l00232"></a>00232 <span class="comment"> * and should be given ops */</span>
-<a name="l00233"></a>00233 created = 2;
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 <span class="keywordflow">else</span>
-<a name="l00236"></a>00236 {
-<a name="l00237"></a>00237 <span class="comment">/* Already on the channel */</span>
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (<a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(user,Ptr))
-<a name="l00239"></a>00239 <span class="keywordflow">return</span> NULL;
-<a name="l00240"></a>00240
-<a name="l00241"></a>00241 <span class="comment">// remote users are allowed us to bypass channel modes</span>
-<a name="l00242"></a>00242 <span class="comment">// and bans (used by servers)</span>
-<a name="l00243"></a>00243 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 MOD_RESULT = 0;
-<a name="l00246"></a>00246 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreJoin(user,Ptr,cname));
-<a name="l00247"></a>00247 <span class="keywordflow">if</span> (MOD_RESULT == 1)
-<a name="l00248"></a>00248 {
-<a name="l00249"></a>00249 <span class="keywordflow">return</span> NULL;
-<a name="l00250"></a>00250 }
-<a name="l00251"></a>00251 <span class="keywordflow">else</span>
-<a name="l00252"></a>00252 {
-<a name="l00253"></a>00253 <span class="keywordflow">if</span> (*Ptr-&gt;<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>)
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 MOD_RESULT = 0;
-<a name="l00256"></a>00256 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckKey(user, Ptr, key ? key : <span class="stringliteral">""</span>));
-<a name="l00257"></a>00257 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00258"></a>00258 {
-<a name="l00259"></a>00259 <span class="keywordflow">if</span> (!key)
-<a name="l00260"></a>00260 {
-<a name="l00261"></a>00261 <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">"add_channel: no key given in JOIN"</span>);
-<a name="l00262"></a>00262 <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">"475 %s %s :Cannot join channel (Requires key)"</span>,user-&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="l00263"></a>00263 <span class="keywordflow">return</span> NULL;
-<a name="l00264"></a>00264 }
-<a name="l00265"></a>00265 <span class="keywordflow">else</span>
-<a name="l00266"></a>00266 {
-<a name="l00267"></a>00267 <span class="keywordflow">if</span> (strcasecmp(key,Ptr-&gt;<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>))
-<a name="l00268"></a>00268 {
-<a name="l00269"></a>00269 <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">"add_channel: bad key given in JOIN"</span>);
-<a name="l00270"></a>00270 <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">"475 %s %s :Cannot join channel (Incorrect key)"</span>,user-&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="l00271"></a>00271 <span class="keywordflow">return</span> NULL;
-<a name="l00272"></a>00272 }
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274 }
-<a name="l00275"></a>00275 }
-<a name="l00276"></a>00276 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#binarymodes">binarymodes</a> &amp; <a class="code" href="channels_8h.html#CM_5FINVITEONLY">CM_INVITEONLY</a>)
-<a name="l00277"></a>00277 {
-<a name="l00278"></a>00278 MOD_RESULT = 0;
-<a name="l00279"></a>00279 <a class="code" href="namespaceirc.html#string">irc::string</a> xname(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00280"></a>00280 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckInvite(user, Ptr));
-<a name="l00281"></a>00281 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00282"></a>00282 {
-<a name="l00283"></a>00283 <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">"add_channel: channel is +i"</span>);
-<a name="l00284"></a>00284 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">IsInvited</a>(xname))
-<a name="l00285"></a>00285 {
-<a name="l00286"></a>00286 <span class="comment">/* user was invited to channel */</span>
-<a name="l00287"></a>00287 <span class="comment">/* there may be an optional channel NOTICE here */</span>
-<a name="l00288"></a>00288 }
-<a name="l00289"></a>00289 <span class="keywordflow">else</span>
-<a name="l00290"></a>00290 {
-<a name="l00291"></a>00291 <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">"473 %s %s :Cannot join channel (Invite only)"</span>,user-&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="l00292"></a>00292 <span class="keywordflow">return</span> NULL;
-<a name="l00293"></a>00293 }
-<a name="l00294"></a>00294 }
-<a name="l00295"></a>00295 user-&gt;<a class="code" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">RemoveInvite</a>(xname);
-<a name="l00296"></a>00296 }
-<a name="l00297"></a>00297 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#limit">limit</a>)
-<a name="l00298"></a>00298 {
-<a name="l00299"></a>00299 MOD_RESULT = 0;
-<a name="l00300"></a>00300 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckLimit(user, Ptr));
-<a name="l00301"></a>00301 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00302"></a>00302 {
-<a name="l00303"></a>00303 <span class="keywordflow">if</span> (usercount(Ptr) &gt;= Ptr-&gt;limit)
-<a name="l00304"></a>00304 {
-<a name="l00305"></a>00305 <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">"471 %s %s :Cannot join channel (Channel is full)"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;name);
-<a name="l00306"></a>00306 <span class="keywordflow">return</span> NULL;
-<a name="l00307"></a>00307 }
-<a name="l00308"></a>00308 }
-<a name="l00309"></a>00309 }
-<a name="l00310"></a>00310 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.size())
-<a name="l00311"></a>00311 {
-<a name="l00312"></a>00312 <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">"add_channel: about to walk banlist"</span>);
-<a name="l00313"></a>00313 MOD_RESULT = 0;
-<a name="l00314"></a>00314 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckBan(user, Ptr));
-<a name="l00315"></a>00315 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00316"></a>00316 {
-<a name="l00317"></a>00317 <span class="keywordflow">for</span> (BanList::iterator i = Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.begin(); i != Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.end(); i++)
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <span class="keywordflow">if</span> (match(user-&gt;<a class="code" href="classuserrec.html#GetFullHost_28_29">GetFullHost</a>(),i-&gt;data))
-<a name="l00320"></a>00320 {
-<a name="l00321"></a>00321 <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">"474 %s %s :Cannot join channel (You're banned)"</span>,user-&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="l00322"></a>00322 <span class="keywordflow">return</span> NULL;
-<a name="l00323"></a>00323 }
-<a name="l00324"></a>00324 }
-<a name="l00325"></a>00325 }
-<a name="l00326"></a>00326 }
-<a name="l00327"></a>00327 }
-<a name="l00328"></a>00328 }
-<a name="l00329"></a>00329 <span class="keywordflow">else</span>
-<a name="l00330"></a>00330 {
-<a name="l00331"></a>00331 <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">"Overridden checks"</span>);
-<a name="l00332"></a>00332 }
-<a name="l00333"></a>00333 created = 1;
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335
-<a name="l00336"></a>00336 <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">"Passed channel checks"</span>);
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index =0; index &lt; user-&gt;chans.size(); index++)
-<a name="l00339"></a>00339 {
-<a name="l00340"></a>00340 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[index].channel == NULL)
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[index],user,created);
-<a name="l00343"></a>00343 }
-<a name="l00344"></a>00344 }
-<a name="l00345"></a>00345 <span class="comment">/* XXX: If the user is an oper here, we can just extend their user-&gt;chans vector by one</span>
-<a name="l00346"></a>00346 <span class="comment"> * and put the channel in here. Same for remote users which are not bound by</span>
-<a name="l00347"></a>00347 <span class="comment"> * the channel limits. Otherwise, nope, youre boned.</span>
-<a name="l00348"></a>00348 <span class="comment"> */</span>
-<a name="l00349"></a>00349 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &lt; 0)
-<a name="l00350"></a>00350 {
-<a name="l00351"></a>00351 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00352"></a>00352 <a class="code" href="classchanrec.html">chanrec</a>* c = <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,a,user,created);
-<a name="l00353"></a>00353 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.push_back(a);
-<a name="l00354"></a>00354 <span class="keywordflow">return</span> c;
-<a name="l00355"></a>00355 }
-<a name="l00356"></a>00356 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strchr(user-&gt;<a class="code" href="classuserrec.html#modes_5B_35_34_5D">modes</a>,<span class="charliteral">'o'</span>))
-<a name="l00357"></a>00357 {
-<a name="l00358"></a>00358 <span class="comment">/* Oper allows extension up to the OPERMAXCHANS value */</span>
-<a name="l00359"></a>00359 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.size() &lt; OPERMAXCHANS)
-<a name="l00360"></a>00360 {
-<a name="l00361"></a>00361 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00362"></a>00362 <a class="code" href="classchanrec.html">chanrec</a>* c = <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,a,user,created);
-<a name="l00363"></a>00363 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.push_back(a);
-<a name="l00364"></a>00364 <span class="keywordflow">return</span> c;
-<a name="l00365"></a>00365 }
-<a name="l00366"></a>00366 }
-<a name="l00367"></a>00367 <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">"add_channel: user channel max exceeded: %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,cname);
-<a name="l00368"></a>00368 <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">"405 %s %s :You are on too many channels"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, cname);
-<a name="l00369"></a>00369 <span class="keywordflow">return</span> NULL;
-<a name="l00370"></a>00370 }
-<a name="l00371"></a>00371
-<a name="l00372"></a><a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">00372</a> <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(<a class="code" href="classchanrec.html">chanrec</a>* Ptr,<a class="code" href="classucrec.html">ucrec</a> &amp;a,<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">int</span> created)
-<a name="l00373"></a>00373 {
-<a name="l00374"></a>00374 <span class="keywordflow">if</span> (created == 2)
-<a name="l00375"></a>00375 {
-<a name="l00376"></a>00376 <span class="comment">/* first user in is given ops */</span>
-<a name="l00377"></a>00377 a.<a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a> = <a class="code" href="channels_8h.html#UCMODE_5FOP">UCMODE_OP</a>;
-<a name="l00378"></a>00378 }
-<a name="l00379"></a>00379 <span class="keywordflow">else</span>
-<a name="l00380"></a>00380 {
-<a name="l00381"></a>00381 a.<a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a> = 0;
-<a name="l00382"></a>00382 }
-<a name="l00383"></a>00383 a.<a class="code" href="classucrec.html#channel">channel</a> = Ptr;
-<a name="l00384"></a>00384 Ptr-&gt;<a class="code" href="classchanrec.html#AddUser_28char_20_2Acastuser_29">AddUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00385"></a>00385 <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>(Ptr,user,<span class="stringliteral">"JOIN :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00386"></a>00386 <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">"Sent JOIN to client"</span>);
-<a name="l00387"></a>00387 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
-<a name="l00388"></a>00388 {
-<a name="l00389"></a>00389 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;fd,<span class="stringliteral">"332 %s %s :%s"</span>, user-&gt;nick, 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="l00390"></a>00390 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;fd,<span class="stringliteral">"333 %s %s %s %lu"</span>, user-&gt;nick, 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>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>);
-<a name="l00391"></a>00391 }
-<a name="l00392"></a>00392 userlist(user,Ptr);
-<a name="l00393"></a>00393 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;fd,<span class="stringliteral">"366 %s %s :End of /NAMES list."</span>, user-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00394"></a>00394 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserJoin(user,Ptr);
-<a name="l00395"></a>00395 <span class="keywordflow">return</span> Ptr;
-<a name="l00396"></a>00396 }
-<a name="l00397"></a>00397
-<a name="l00398"></a>00398 <span class="comment">/* remove a channel from a users record, and remove the record from memory</span>
-<a name="l00399"></a>00399 <span class="comment"> * if the channel has become empty */</span>
-<a name="l00400"></a>00400
-<a name="l00401"></a><a class="code" href="channels_8h.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">00401</a> <a class="code" href="classchanrec.html">chanrec</a>* <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>(<a class="code" href="classuserrec.html">userrec</a> *user, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keywordtype">bool</span> local)
-<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>);
-<a name="l00406"></a>00406 <span class="keywordflow">return</span> NULL;
-<a name="l00407"></a>00407 }
-<a name="l00408"></a>00408
-<a name="l00409"></a>00409 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(cname);
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411 <span class="keywordflow">if</span> (!Ptr)
-<a name="l00412"></a>00412 <span class="keywordflow">return</span> NULL;
-<a name="l00413"></a>00413
-<a name="l00414"></a>00414 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserPart(user,Ptr);
-<a name="l00415"></a>00415 <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">"del_channel: removing: %s %s"</span>,user-&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="l00416"></a>00416
-<a name="l00417"></a>00417 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i =0; i &lt; user-&gt;chans.size(); i++)
-<a name="l00418"></a>00418 {
-<a name="l00419"></a>00419 <span class="comment">/* zap it from the channel list of the user */</span>
-<a name="l00420"></a>00420 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel == Ptr)
-<a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 <span class="keywordflow">if</span> (reason)
-<a name="l00423"></a>00423 {
-<a name="l00424"></a>00424 <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>(Ptr,user,<span class="stringliteral">"PART %s :%s"</span>,Ptr-&gt;name, reason);
-<a name="l00425"></a>00425 }
-<a name="l00426"></a>00426 <span class="keywordflow">else</span>
-<a name="l00427"></a>00427 {
-<a name="l00428"></a>00428 <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>(Ptr,user,<span class="stringliteral">"PART :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00429"></a>00429 }
-<a name="l00430"></a>00430 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].uc_modes = 0;
-<a name="l00431"></a>00431 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel = NULL;
-<a name="l00432"></a>00432 <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">"del_channel: unlinked: %s %s"</span>,user-&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="l00433"></a>00433 <span class="keywordflow">break</span>;
-<a name="l00434"></a>00434 }
-<a name="l00435"></a>00435 }
-<a name="l00436"></a>00436
-<a name="l00437"></a>00437 Ptr-&gt;<a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00438"></a>00438
-<a name="l00439"></a>00439 <span class="comment">/* if there are no users left on the channel */</span>
-<a name="l00440"></a>00440 <span class="keywordflow">if</span> (!usercount(Ptr))
-<a name="l00441"></a>00441 {
-<a name="l00442"></a>00442 chan_hash::iterator iter = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.find(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00443"></a>00443
-<a name="l00444"></a>00444 <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">"del_channel: destroying channel: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00445"></a>00445
-<a name="l00446"></a>00446 <span class="comment">/* kill the record */</span>
-<a name="l00447"></a>00447 <span class="keywordflow">if</span> (iter != <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.end())
-<a name="l00448"></a>00448 {
-<a name="l00449"></a>00449 <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">"del_channel: destroyed: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00450"></a>00450 <span class="keyword">delete</span> Ptr;
-<a name="l00451"></a>00451 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.erase(iter);
-<a name="l00452"></a>00452 }
-<a name="l00453"></a>00453 }
-<a name="l00454"></a>00454
-<a name="l00455"></a>00455 <span class="keywordflow">return</span> NULL;
-<a name="l00456"></a>00456 }
-<a name="l00457"></a>00457
-<a name="l00458"></a>00458
-<a name="l00459"></a><a class="code" href="channels_8h.html#kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29">00459</a> <span class="keywordtype">void</span> <a class="code" href="channels_8cpp.html#kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29">kick_channel</a>(<a class="code" href="classuserrec.html">userrec</a> *src,<a class="code" href="classuserrec.html">userrec</a> *user, <a class="code" href="classchanrec.html">chanrec</a> *Ptr, <span class="keywordtype">char</span>* reason)
-<a name="l00460"></a>00460 {
-<a name="l00461"></a>00461 <span class="keywordflow">if</span> ((!src) || (!user) || (!Ptr) || (!reason))
-<a name="l00462"></a>00462 {
-<a name="l00463"></a>00463 <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 *** kick_channel was given an invalid parameter"</span>);
-<a name="l00464"></a>00464 <span class="keywordflow">return</span>;
-<a name="l00465"></a>00465 }
-<a name="l00466"></a>00466
-<a name="l00467"></a>00467 <span class="keywordflow">if</span> ((!Ptr) || (!user) || (!src))
-<a name="l00468"></a>00468 {
-<a name="l00469"></a>00469 <span class="keywordflow">return</span>;
-<a name="l00470"></a>00470 }
-<a name="l00471"></a>00471
-<a name="l00472"></a>00472 <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">"kick_channel: removing: %s %s %s"</span>,user-&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>,src-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00473"></a>00473
-<a name="l00474"></a>00474 <span class="keywordflow">if</span> (!<a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(user,Ptr))
-<a name="l00475"></a>00475 {
-<a name="l00476"></a>00476 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"441 %s %s %s :They are not on that channel"</span>,src-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, user-&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="l00477"></a>00477 <span class="keywordflow">return</span>;
-<a name="l00478"></a>00478 }
-<a name="l00479"></a>00479
-<a name="l00480"></a>00480 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00481"></a>00481 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnAccessCheck(src,user,Ptr,<a class="code" href="modules_8h.html#AC_5FKICK">AC_KICK</a>));
-<a name="l00482"></a>00482 <span class="keywordflow">if</span> ((MOD_RESULT == <a class="code" href="modules_8h.html#ACR_5FDENY">ACR_DENY</a>) &amp;&amp; (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>)))
-<a name="l00483"></a>00483 <span class="keywordflow">return</span>;
-<a name="l00484"></a>00484
-<a name="l00485"></a>00485 <span class="keywordflow">if</span> ((MOD_RESULT == <a class="code" href="modules_8h.html#ACR_5FDEFAULT">ACR_DEFAULT</a>) || (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>)))
-<a name="l00486"></a>00486 {
-<a name="l00487"></a>00487 <span class="keywordflow">if</span> ((<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) &lt; <a class="code" href="users_8h.html#STATUS_5FHOP">STATUS_HOP</a>) || (<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) &lt; <a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(user,Ptr)))
-<a name="l00488"></a>00488 {
-<a name="l00489"></a>00489 <span class="keywordflow">if</span> (<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) == <a class="code" href="users_8h.html#STATUS_5FHOP">STATUS_HOP</a>)
-<a name="l00490"></a>00490 {
-<a name="l00491"></a>00491 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;fd,<span class="stringliteral">"482 %s %s :You must be a channel operator"</span>,src-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00492"></a>00492 }
-<a name="l00493"></a>00493 <span class="keywordflow">else</span>
-<a name="l00494"></a>00494 {
-<a name="l00495"></a>00495 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;fd,<span class="stringliteral">"482 %s %s :You must be at least a half-operator to change modes on this channel"</span>,src-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00496"></a>00496 }
-<a name="l00497"></a>00497
-<a name="l00498"></a>00498 <span class="keywordflow">return</span>;
-<a name="l00499"></a>00499 }
-<a name="l00500"></a>00500 }
-<a name="l00501"></a>00501
-<a name="l00502"></a>00502 <span class="keywordflow">if</span> (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>))
-<a name="l00503"></a>00503 {
-<a name="l00504"></a>00504 MOD_RESULT = 0;
-<a name="l00505"></a>00505 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreKick(src,user,Ptr,reason));
-<a name="l00506"></a>00506 <span class="keywordflow">if</span> (MOD_RESULT)
-<a name="l00507"></a>00507 <span class="keywordflow">return</span>;
-<a name="l00508"></a>00508 }
-<a name="l00509"></a>00509
-<a name="l00510"></a>00510 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserKick(src,user,Ptr,reason);
-<a name="l00511"></a>00511
-<a name="l00512"></a>00512 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i =0; i &lt; user-&gt;chans.size(); i++)
-<a name="l00513"></a>00513 {
-<a name="l00514"></a>00514 <span class="comment">/* zap it from the channel list of the user */</span>
-<a name="l00515"></a>00515 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel)
-<a name="l00516"></a>00516 <span class="keywordflow">if</span> (!strcasecmp(user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>))
-<a name="l00517"></a>00517 {
-<a name="l00518"></a>00518 <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>(Ptr,src,<span class="stringliteral">"KICK %s %s :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, reason);
-<a name="l00519"></a>00519 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].uc_modes = 0;
-<a name="l00520"></a>00520 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel = NULL;
-<a name="l00521"></a>00521 <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">"del_channel: unlinked: %s %s"</span>,user-&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="l00522"></a>00522 <span class="keywordflow">break</span>;
-<a name="l00523"></a>00523 }
-<a name="l00524"></a>00524 }
-<a name="l00525"></a>00525
-<a name="l00526"></a>00526 Ptr-&gt;<a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00527"></a>00527
-<a name="l00528"></a>00528 <span class="comment">/* if there are no users left on the channel */</span>
-<a name="l00529"></a>00529 <span class="keywordflow">if</span> (!usercount(Ptr))
-<a name="l00530"></a>00530 {
-<a name="l00531"></a>00531 chan_hash::iterator iter = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.find(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00532"></a>00532
-<a name="l00533"></a>00533 <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">"del_channel: destroying channel: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="comment">/* kill the record */</span>
-<a name="l00536"></a>00536 <span class="keywordflow">if</span> (iter != <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.end())
-<a name="l00537"></a>00537 {
-<a name="l00538"></a>00538 <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">"del_channel: destroyed: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00539"></a>00539 <span class="keyword">delete</span> Ptr;
-<a name="l00540"></a>00540 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.erase(iter);
-<a name="l00541"></a>00541 }
-<a name="l00542"></a>00542 }
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/channels_8cpp.html b/docs/module-doc/channels_8cpp.html
deleted file mode 100644
index 07bcaf0e7..000000000
--- a/docs/module-doc/channels_8cpp.html
+++ /dev/null
@@ -1,914 +0,0 @@
-<!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: channels.cpp 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_000005.html">src</a></div>
-<h1>channels.cpp File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>&quot;</code><br>
-<code>#include &lt;unistd.h&gt;</code><br>
-<code>#include &lt;sys/errno.h&gt;</code><br>
-<code>#include &lt;sys/ioctl.h&gt;</code><br>
-<code>#include &lt;sys/utsname.h&gt;</code><br>
-<code>#include &lt;time.h&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;hash_map&gt;</code><br>
-<code>#include &lt;map&gt;</code><br>
-<code>#include &lt;sstream&gt;</code><br>
-<code>#include &lt;vector&gt;</code><br>
-<code>#include &lt;deque&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="ctables_8h-source.html">ctables.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="globals_8h-source.html">globals.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="modules_8h-source.html">modules.h</a>&quot;</code><br>
-<code>#include &quot;dynamic.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="commands_8h-source.html">commands.h</a>&quot;</code><br>
-<code>#include &quot;wildcard.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="message_8h-source.html">message.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="mode_8h-source.html">mode.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="xline_8h-source.html">xline.h</a>&quot;</code><br>
-<code>#include &quot;inspstring.h&quot;</code><br>
-<code>#include &quot;helperfuncs.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="typedefs_8h-source.html">typedefs.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for channels.cpp:<p><center><img src="channels_8cpp__incl.gif" border="0" usemap="#channels.cpp_map" alt=""></center>
-<map name="channels.cpp_map">
-<area href="inspircd_8h-source.html" shape="rect" coords="313,817,393,844" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="443,919,539,945" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="600,615,675,641" alt="">
-<area href="users_8h-source.html" shape="rect" coords="745,817,809,844" alt="">
-<area href="modules_8h-source.html" shape="rect" coords="596,437,679,464" alt="">
-<area href="ctables_8h-source.html" shape="rect" coords="740,412,815,439" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="604,919,671,945" alt="">
-<area href="commands_8h-source.html" shape="rect" coords="588,1223,687,1249" alt="">
-<area href="message_8h-source.html" shape="rect" coords="595,1273,680,1300" alt="">
-<area href="xline_8h-source.html" shape="rect" coords="607,1172,668,1199" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="168,463,253,489" alt="">
-</map>
-
-<p>
-<a href="channels_8cpp-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>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacestd.html">std</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#nspace">nspace</a>&nbsp;&nbsp;&nbsp;std</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a> (<a class="el" href="classchanrec.html">chanrec</a> *Ptr, <a class="el" href="classucrec.html">ucrec</a> &amp;a, <a class="el" href="classuserrec.html">userrec</a> *user, int created)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" 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> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *cn, const char *key, bool override)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" 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> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *cname, const char *reason, bool local)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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">kick_channel</a> (<a class="el" href="classuserrec.html">userrec</a> *src, <a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *Ptr, char *reason)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classServerConfig.html">ServerConfig</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#Config">Config</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a> = -1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classModule.html">Module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#modules">modules</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="modules_8h.html#ircd_5Fmodule">ircd_module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#factory">factory</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#TIME">TIME</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#chan_5Fhash">chan_hash</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#chanlist">chanlist</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classModeParameter.html">ModeParameter</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a></td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="nspace"></a><!-- doxytag: member="channels.cpp::nspace" ref="nspace" 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">#define nspace&nbsp;&nbsp;&nbsp;std </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="channels_8cpp-source.html#l00054">54</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29"></a><!-- doxytag: member="channels.cpp::add_channel" ref="add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29" args="(userrec *user, const char *cn, const char *key, bool override)" --><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="classchanrec.html">chanrec</a>* add_channel </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>cn</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>key</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>override</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>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00194">194</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</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#l00153">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#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00031">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#l00090">FOREACH_RESULT</a>, <a class="el" href="users_8cpp-source.html#l00099">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#l00123">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#l00151">userrec::modes</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00128">userrec::nick</a>, <a class="el" href="users_8cpp-source.html#l00148">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#l00363">Server::JoinUserToChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00195"></a>00195 {
-<a name="l00196"></a>00196 <span class="keywordflow">if</span> ((!user) || (!cn))
-<a name="l00197"></a>00197 {
-<a name="l00198"></a>00198 <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>);
-<a name="l00199"></a>00199 <span class="keywordflow">return</span> 0;
-<a name="l00200"></a>00200 }
-<a name="l00201"></a>00201
-<a name="l00202"></a>00202 <span class="keywordtype">int</span> created = 0;
-<a name="l00203"></a>00203 <span class="keywordtype">char</span> cname[MAXBUF];
-<a name="l00204"></a>00204 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00205"></a>00205 strncpy(cname,cn,CHANMAX);
-<a name="l00206"></a>00206
-<a name="l00207"></a>00207 <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">"add_channel: %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,cname);
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(cname);
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (!Ptr)
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215 MOD_RESULT = 0;
-<a name="l00216"></a>00216 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreJoin(user,NULL,cname));
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (MOD_RESULT == 1)
-<a name="l00218"></a>00218 <span class="keywordflow">return</span> NULL;
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220 <span class="comment">/* create a new one */</span>
-<a name="l00221"></a>00221 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname] = <span class="keyword">new</span> <a class="code" href="classchanrec.html">chanrec</a>();
-<a name="l00222"></a>00222 strlcpy(chanlist[cname]-&gt;name, cname,CHANMAX);
-<a name="l00223"></a>00223 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;binarymodes = <a class="code" href="channels_8h.html#CM_5FTOPICLOCK">CM_TOPICLOCK</a> | <a class="code" href="channels_8h.html#CM_5FNOEXTERNAL">CM_NOEXTERNAL</a>;
-<a name="l00224"></a>00224 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;created = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00225"></a>00225 strcpy(chanlist[cname]-&gt;topic, <span class="stringliteral">""</span>);
-<a name="l00226"></a>00226 strncpy(chanlist[cname]-&gt;setby, user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,NICKMAX);
-<a name="l00227"></a>00227 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;topicset = 0;
-<a name="l00228"></a>00228 Ptr = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname];
-<a name="l00229"></a>00229 <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">"add_channel: created: %s"</span>,cname);
-<a name="l00230"></a>00230 <span class="comment">/* set created to 2 to indicate user</span>
-<a name="l00231"></a>00231 <span class="comment"> * is the first in the channel</span>
-<a name="l00232"></a>00232 <span class="comment"> * and should be given ops */</span>
-<a name="l00233"></a>00233 created = 2;
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 <span class="keywordflow">else</span>
-<a name="l00236"></a>00236 {
-<a name="l00237"></a>00237 <span class="comment">/* Already on the channel */</span>
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (<a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(user,Ptr))
-<a name="l00239"></a>00239 <span class="keywordflow">return</span> NULL;
-<a name="l00240"></a>00240
-<a name="l00241"></a>00241 <span class="comment">// remote users are allowed us to bypass channel modes</span>
-<a name="l00242"></a>00242 <span class="comment">// and bans (used by servers)</span>
-<a name="l00243"></a>00243 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 MOD_RESULT = 0;
-<a name="l00246"></a>00246 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreJoin(user,Ptr,cname));
-<a name="l00247"></a>00247 <span class="keywordflow">if</span> (MOD_RESULT == 1)
-<a name="l00248"></a>00248 {
-<a name="l00249"></a>00249 <span class="keywordflow">return</span> NULL;
-<a name="l00250"></a>00250 }
-<a name="l00251"></a>00251 <span class="keywordflow">else</span>
-<a name="l00252"></a>00252 {
-<a name="l00253"></a>00253 <span class="keywordflow">if</span> (*Ptr-&gt;<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>)
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 MOD_RESULT = 0;
-<a name="l00256"></a>00256 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckKey(user, Ptr, key ? key : <span class="stringliteral">""</span>));
-<a name="l00257"></a>00257 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00258"></a>00258 {
-<a name="l00259"></a>00259 <span class="keywordflow">if</span> (!key)
-<a name="l00260"></a>00260 {
-<a name="l00261"></a>00261 <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">"add_channel: no key given in JOIN"</span>);
-<a name="l00262"></a>00262 <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">"475 %s %s :Cannot join channel (Requires key)"</span>,user-&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="l00263"></a>00263 <span class="keywordflow">return</span> NULL;
-<a name="l00264"></a>00264 }
-<a name="l00265"></a>00265 <span class="keywordflow">else</span>
-<a name="l00266"></a>00266 {
-<a name="l00267"></a>00267 <span class="keywordflow">if</span> (strcasecmp(key,Ptr-&gt;<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>))
-<a name="l00268"></a>00268 {
-<a name="l00269"></a>00269 <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">"add_channel: bad key given in JOIN"</span>);
-<a name="l00270"></a>00270 <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">"475 %s %s :Cannot join channel (Incorrect key)"</span>,user-&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="l00271"></a>00271 <span class="keywordflow">return</span> NULL;
-<a name="l00272"></a>00272 }
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274 }
-<a name="l00275"></a>00275 }
-<a name="l00276"></a>00276 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#binarymodes">binarymodes</a> &amp; <a class="code" href="channels_8h.html#CM_5FINVITEONLY">CM_INVITEONLY</a>)
-<a name="l00277"></a>00277 {
-<a name="l00278"></a>00278 MOD_RESULT = 0;
-<a name="l00279"></a>00279 <a class="code" href="namespaceirc.html#string">irc::string</a> xname(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00280"></a>00280 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckInvite(user, Ptr));
-<a name="l00281"></a>00281 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00282"></a>00282 {
-<a name="l00283"></a>00283 <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">"add_channel: channel is +i"</span>);
-<a name="l00284"></a>00284 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">IsInvited</a>(xname))
-<a name="l00285"></a>00285 {
-<a name="l00286"></a>00286 <span class="comment">/* user was invited to channel */</span>
-<a name="l00287"></a>00287 <span class="comment">/* there may be an optional channel NOTICE here */</span>
-<a name="l00288"></a>00288 }
-<a name="l00289"></a>00289 <span class="keywordflow">else</span>
-<a name="l00290"></a>00290 {
-<a name="l00291"></a>00291 <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">"473 %s %s :Cannot join channel (Invite only)"</span>,user-&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="l00292"></a>00292 <span class="keywordflow">return</span> NULL;
-<a name="l00293"></a>00293 }
-<a name="l00294"></a>00294 }
-<a name="l00295"></a>00295 user-&gt;<a class="code" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">RemoveInvite</a>(xname);
-<a name="l00296"></a>00296 }
-<a name="l00297"></a>00297 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#limit">limit</a>)
-<a name="l00298"></a>00298 {
-<a name="l00299"></a>00299 MOD_RESULT = 0;
-<a name="l00300"></a>00300 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckLimit(user, Ptr));
-<a name="l00301"></a>00301 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00302"></a>00302 {
-<a name="l00303"></a>00303 <span class="keywordflow">if</span> (usercount(Ptr) &gt;= Ptr-&gt;limit)
-<a name="l00304"></a>00304 {
-<a name="l00305"></a>00305 <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">"471 %s %s :Cannot join channel (Channel is full)"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;name);
-<a name="l00306"></a>00306 <span class="keywordflow">return</span> NULL;
-<a name="l00307"></a>00307 }
-<a name="l00308"></a>00308 }
-<a name="l00309"></a>00309 }
-<a name="l00310"></a>00310 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.size())
-<a name="l00311"></a>00311 {
-<a name="l00312"></a>00312 <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">"add_channel: about to walk banlist"</span>);
-<a name="l00313"></a>00313 MOD_RESULT = 0;
-<a name="l00314"></a>00314 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckBan(user, Ptr));
-<a name="l00315"></a>00315 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00316"></a>00316 {
-<a name="l00317"></a>00317 <span class="keywordflow">for</span> (BanList::iterator i = Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.begin(); i != Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.end(); i++)
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <span class="keywordflow">if</span> (match(user-&gt;<a class="code" href="classuserrec.html#GetFullHost_28_29">GetFullHost</a>(),i-&gt;data))
-<a name="l00320"></a>00320 {
-<a name="l00321"></a>00321 <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">"474 %s %s :Cannot join channel (You're banned)"</span>,user-&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="l00322"></a>00322 <span class="keywordflow">return</span> NULL;
-<a name="l00323"></a>00323 }
-<a name="l00324"></a>00324 }
-<a name="l00325"></a>00325 }
-<a name="l00326"></a>00326 }
-<a name="l00327"></a>00327 }
-<a name="l00328"></a>00328 }
-<a name="l00329"></a>00329 <span class="keywordflow">else</span>
-<a name="l00330"></a>00330 {
-<a name="l00331"></a>00331 <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">"Overridden checks"</span>);
-<a name="l00332"></a>00332 }
-<a name="l00333"></a>00333 created = 1;
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335
-<a name="l00336"></a>00336 <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">"Passed channel checks"</span>);
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index =0; index &lt; user-&gt;chans.size(); index++)
-<a name="l00339"></a>00339 {
-<a name="l00340"></a>00340 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[index].channel == NULL)
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[index],user,created);
-<a name="l00343"></a>00343 }
-<a name="l00344"></a>00344 }
-<a name="l00345"></a>00345 <span class="comment">/* XXX: If the user is an oper here, we can just extend their user-&gt;chans vector by one</span>
-<a name="l00346"></a>00346 <span class="comment"> * and put the channel in here. Same for remote users which are not bound by</span>
-<a name="l00347"></a>00347 <span class="comment"> * the channel limits. Otherwise, nope, youre boned.</span>
-<a name="l00348"></a>00348 <span class="comment"> */</span>
-<a name="l00349"></a>00349 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &lt; 0)
-<a name="l00350"></a>00350 {
-<a name="l00351"></a>00351 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00352"></a>00352 <a class="code" href="classchanrec.html">chanrec</a>* c = <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,a,user,created);
-<a name="l00353"></a>00353 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.push_back(a);
-<a name="l00354"></a>00354 <span class="keywordflow">return</span> c;
-<a name="l00355"></a>00355 }
-<a name="l00356"></a>00356 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strchr(user-&gt;<a class="code" href="classuserrec.html#modes_5B_35_34_5D">modes</a>,<span class="charliteral">'o'</span>))
-<a name="l00357"></a>00357 {
-<a name="l00358"></a>00358 <span class="comment">/* Oper allows extension up to the OPERMAXCHANS value */</span>
-<a name="l00359"></a>00359 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.size() &lt; OPERMAXCHANS)
-<a name="l00360"></a>00360 {
-<a name="l00361"></a>00361 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00362"></a>00362 <a class="code" href="classchanrec.html">chanrec</a>* c = <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,a,user,created);
-<a name="l00363"></a>00363 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.push_back(a);
-<a name="l00364"></a>00364 <span class="keywordflow">return</span> c;
-<a name="l00365"></a>00365 }
-<a name="l00366"></a>00366 }
-<a name="l00367"></a>00367 <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">"add_channel: user channel max exceeded: %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,cname);
-<a name="l00368"></a>00368 <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">"405 %s %s :You are on too many channels"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, cname);
-<a name="l00369"></a>00369 <span class="keywordflow">return</span> NULL;
-<a name="l00370"></a>00370 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29"></a><!-- doxytag: member="channels.cpp::del_channel" ref="del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29" args="(userrec *user, const char *cname, const char *reason, bool local)" --><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="classchanrec.html">chanrec</a>* del_channel </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>cname</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>reason</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>local</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>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00401">401</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00153">userrec::chans</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00031">DEFAULT</a>, <a class="el" href="channels_8cpp-source.html#l00172">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#l00082">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#l00128">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#l00368">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>);
-<a name="l00406"></a>00406 <span class="keywordflow">return</span> NULL;
-<a name="l00407"></a>00407 }
-<a name="l00408"></a>00408
-<a name="l00409"></a>00409 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(cname);
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411 <span class="keywordflow">if</span> (!Ptr)
-<a name="l00412"></a>00412 <span class="keywordflow">return</span> NULL;
-<a name="l00413"></a>00413
-<a name="l00414"></a>00414 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserPart(user,Ptr);
-<a name="l00415"></a>00415 <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">"del_channel: removing: %s %s"</span>,user-&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="l00416"></a>00416
-<a name="l00417"></a>00417 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i =0; i &lt; user-&gt;chans.size(); i++)
-<a name="l00418"></a>00418 {
-<a name="l00419"></a>00419 <span class="comment">/* zap it from the channel list of the user */</span>
-<a name="l00420"></a>00420 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel == Ptr)
-<a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 <span class="keywordflow">if</span> (reason)
-<a name="l00423"></a>00423 {
-<a name="l00424"></a>00424 <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>(Ptr,user,<span class="stringliteral">"PART %s :%s"</span>,Ptr-&gt;name, reason);
-<a name="l00425"></a>00425 }
-<a name="l00426"></a>00426 <span class="keywordflow">else</span>
-<a name="l00427"></a>00427 {
-<a name="l00428"></a>00428 <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>(Ptr,user,<span class="stringliteral">"PART :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00429"></a>00429 }
-<a name="l00430"></a>00430 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].uc_modes = 0;
-<a name="l00431"></a>00431 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel = NULL;
-<a name="l00432"></a>00432 <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">"del_channel: unlinked: %s %s"</span>,user-&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="l00433"></a>00433 <span class="keywordflow">break</span>;
-<a name="l00434"></a>00434 }
-<a name="l00435"></a>00435 }
-<a name="l00436"></a>00436
-<a name="l00437"></a>00437 Ptr-&gt;<a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00438"></a>00438
-<a name="l00439"></a>00439 <span class="comment">/* if there are no users left on the channel */</span>
-<a name="l00440"></a>00440 <span class="keywordflow">if</span> (!usercount(Ptr))
-<a name="l00441"></a>00441 {
-<a name="l00442"></a>00442 chan_hash::iterator iter = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.find(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00443"></a>00443
-<a name="l00444"></a>00444 <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">"del_channel: destroying channel: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00445"></a>00445
-<a name="l00446"></a>00446 <span class="comment">/* kill the record */</span>
-<a name="l00447"></a>00447 <span class="keywordflow">if</span> (iter != <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.end())
-<a name="l00448"></a>00448 {
-<a name="l00449"></a>00449 <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">"del_channel: destroyed: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00450"></a>00450 <span class="keyword">delete</span> Ptr;
-<a name="l00451"></a>00451 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.erase(iter);
-<a name="l00452"></a>00452 }
-<a name="l00453"></a>00453 }
-<a name="l00454"></a>00454
-<a name="l00455"></a>00455 <span class="keywordflow">return</span> NULL;
-<a name="l00456"></a>00456 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29"></a><!-- doxytag: member="channels.cpp::ForceChan" ref="ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29" args="(chanrec *Ptr, ucrec &amp;a, userrec *user, int created)" --><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="classchanrec.html">chanrec</a> * ForceChan </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Ptr</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classucrec.html">ucrec</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>a</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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>int&nbsp;</td>
- <td class="mdname" nowrap> <em>created</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>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00372">372</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8cpp-source.html#l00166">chanrec::AddUser()</a>, <a class="el" href="channels_8h-source.html#l00254">ucrec::channel</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="modules_8h-source.html#l00082">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="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="channels_8h-source.html#l00249">ucrec::uc_modes</a>, <a class="el" href="channels_8h-source.html#l00232">UCMODE_OP</a>, <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>, 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="channels_8cpp-source.html#l00194">add_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00373"></a>00373 {
-<a name="l00374"></a>00374 <span class="keywordflow">if</span> (created == 2)
-<a name="l00375"></a>00375 {
-<a name="l00376"></a>00376 <span class="comment">/* first user in is given ops */</span>
-<a name="l00377"></a>00377 a.<a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a> = <a class="code" href="channels_8h.html#UCMODE_5FOP">UCMODE_OP</a>;
-<a name="l00378"></a>00378 }
-<a name="l00379"></a>00379 <span class="keywordflow">else</span>
-<a name="l00380"></a>00380 {
-<a name="l00381"></a>00381 a.<a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a> = 0;
-<a name="l00382"></a>00382 }
-<a name="l00383"></a>00383 a.<a class="code" href="classucrec.html#channel">channel</a> = Ptr;
-<a name="l00384"></a>00384 Ptr-&gt;<a class="code" href="classchanrec.html#AddUser_28char_20_2Acastuser_29">AddUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00385"></a>00385 <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>(Ptr,user,<span class="stringliteral">"JOIN :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00386"></a>00386 <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">"Sent JOIN to client"</span>);
-<a name="l00387"></a>00387 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
-<a name="l00388"></a>00388 {
-<a name="l00389"></a>00389 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;fd,<span class="stringliteral">"332 %s %s :%s"</span>, user-&gt;nick, 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="l00390"></a>00390 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;fd,<span class="stringliteral">"333 %s %s %s %lu"</span>, user-&gt;nick, 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>, (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>);
-<a name="l00391"></a>00391 }
-<a name="l00392"></a>00392 userlist(user,Ptr);
-<a name="l00393"></a>00393 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(user-&gt;fd,<span class="stringliteral">"366 %s %s :End of /NAMES list."</span>, user-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00394"></a>00394 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserJoin(user,Ptr);
-<a name="l00395"></a>00395 <span class="keywordflow">return</span> Ptr;
-<a name="l00396"></a>00396 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29"></a><!-- doxytag: member="channels.cpp::kick_channel" ref="kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29" args="(userrec *src, userrec *user, chanrec *Ptr, char *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 kick_channel </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>src</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Ptr</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&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>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00459">459</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00040">AC_KICK</a>, <a class="el" href="modules_8h-source.html#l00037">ACR_DEFAULT</a>, <a class="el" href="modules_8h-source.html#l00038">ACR_DENY</a>, <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00153">userrec::chans</a>, <a class="el" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00031">DEFAULT</a>, <a class="el" href="channels_8cpp-source.html#l00172">chanrec::DelUser()</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="modules_8h-source.html#l00090">FOREACH_RESULT</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="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline()</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#l00128">userrec::nick</a>, <a class="el" href="users_8h-source.html#l00157">userrec::server</a>, <a class="el" href="users_8h-source.html#l00032">STATUS_HOP</a>, <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>, 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="l00460"></a>00460 {
-<a name="l00461"></a>00461 <span class="keywordflow">if</span> ((!src) || (!user) || (!Ptr) || (!reason))
-<a name="l00462"></a>00462 {
-<a name="l00463"></a>00463 <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 *** kick_channel was given an invalid parameter"</span>);
-<a name="l00464"></a>00464 <span class="keywordflow">return</span>;
-<a name="l00465"></a>00465 }
-<a name="l00466"></a>00466
-<a name="l00467"></a>00467 <span class="keywordflow">if</span> ((!Ptr) || (!user) || (!src))
-<a name="l00468"></a>00468 {
-<a name="l00469"></a>00469 <span class="keywordflow">return</span>;
-<a name="l00470"></a>00470 }
-<a name="l00471"></a>00471
-<a name="l00472"></a>00472 <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">"kick_channel: removing: %s %s %s"</span>,user-&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>,src-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00473"></a>00473
-<a name="l00474"></a>00474 <span class="keywordflow">if</span> (!<a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(user,Ptr))
-<a name="l00475"></a>00475 {
-<a name="l00476"></a>00476 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"441 %s %s %s :They are not on that channel"</span>,src-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, user-&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="l00477"></a>00477 <span class="keywordflow">return</span>;
-<a name="l00478"></a>00478 }
-<a name="l00479"></a>00479
-<a name="l00480"></a>00480 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00481"></a>00481 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnAccessCheck(src,user,Ptr,<a class="code" href="modules_8h.html#AC_5FKICK">AC_KICK</a>));
-<a name="l00482"></a>00482 <span class="keywordflow">if</span> ((MOD_RESULT == <a class="code" href="modules_8h.html#ACR_5FDENY">ACR_DENY</a>) &amp;&amp; (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>)))
-<a name="l00483"></a>00483 <span class="keywordflow">return</span>;
-<a name="l00484"></a>00484
-<a name="l00485"></a>00485 <span class="keywordflow">if</span> ((MOD_RESULT == <a class="code" href="modules_8h.html#ACR_5FDEFAULT">ACR_DEFAULT</a>) || (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>)))
-<a name="l00486"></a>00486 {
-<a name="l00487"></a>00487 <span class="keywordflow">if</span> ((<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) &lt; <a class="code" href="users_8h.html#STATUS_5FHOP">STATUS_HOP</a>) || (<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) &lt; <a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(user,Ptr)))
-<a name="l00488"></a>00488 {
-<a name="l00489"></a>00489 <span class="keywordflow">if</span> (<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) == <a class="code" href="users_8h.html#STATUS_5FHOP">STATUS_HOP</a>)
-<a name="l00490"></a>00490 {
-<a name="l00491"></a>00491 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;fd,<span class="stringliteral">"482 %s %s :You must be a channel operator"</span>,src-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00492"></a>00492 }
-<a name="l00493"></a>00493 <span class="keywordflow">else</span>
-<a name="l00494"></a>00494 {
-<a name="l00495"></a>00495 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;fd,<span class="stringliteral">"482 %s %s :You must be at least a half-operator to change modes on this channel"</span>,src-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00496"></a>00496 }
-<a name="l00497"></a>00497
-<a name="l00498"></a>00498 <span class="keywordflow">return</span>;
-<a name="l00499"></a>00499 }
-<a name="l00500"></a>00500 }
-<a name="l00501"></a>00501
-<a name="l00502"></a>00502 <span class="keywordflow">if</span> (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>))
-<a name="l00503"></a>00503 {
-<a name="l00504"></a>00504 MOD_RESULT = 0;
-<a name="l00505"></a>00505 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreKick(src,user,Ptr,reason));
-<a name="l00506"></a>00506 <span class="keywordflow">if</span> (MOD_RESULT)
-<a name="l00507"></a>00507 <span class="keywordflow">return</span>;
-<a name="l00508"></a>00508 }
-<a name="l00509"></a>00509
-<a name="l00510"></a>00510 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserKick(src,user,Ptr,reason);
-<a name="l00511"></a>00511
-<a name="l00512"></a>00512 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i =0; i &lt; user-&gt;chans.size(); i++)
-<a name="l00513"></a>00513 {
-<a name="l00514"></a>00514 <span class="comment">/* zap it from the channel list of the user */</span>
-<a name="l00515"></a>00515 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel)
-<a name="l00516"></a>00516 <span class="keywordflow">if</span> (!strcasecmp(user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>))
-<a name="l00517"></a>00517 {
-<a name="l00518"></a>00518 <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>(Ptr,src,<span class="stringliteral">"KICK %s %s :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, reason);
-<a name="l00519"></a>00519 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].uc_modes = 0;
-<a name="l00520"></a>00520 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel = NULL;
-<a name="l00521"></a>00521 <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">"del_channel: unlinked: %s %s"</span>,user-&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="l00522"></a>00522 <span class="keywordflow">break</span>;
-<a name="l00523"></a>00523 }
-<a name="l00524"></a>00524 }
-<a name="l00525"></a>00525
-<a name="l00526"></a>00526 Ptr-&gt;<a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00527"></a>00527
-<a name="l00528"></a>00528 <span class="comment">/* if there are no users left on the channel */</span>
-<a name="l00529"></a>00529 <span class="keywordflow">if</span> (!usercount(Ptr))
-<a name="l00530"></a>00530 {
-<a name="l00531"></a>00531 chan_hash::iterator iter = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.find(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00532"></a>00532
-<a name="l00533"></a>00533 <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">"del_channel: destroying channel: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="comment">/* kill the record */</span>
-<a name="l00536"></a>00536 <span class="keywordflow">if</span> (iter != <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.end())
-<a name="l00537"></a>00537 {
-<a name="l00538"></a>00538 <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">"del_channel: destroyed: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00539"></a>00539 <span class="keyword">delete</span> Ptr;
-<a name="l00540"></a>00540 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.erase(iter);
-<a name="l00541"></a>00541 }
-<a name="l00542"></a>00542 }
-<a name="l00543"></a>00543 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="chanlist"></a><!-- doxytag: member="channels.cpp::chanlist" ref="chanlist" 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="typedefs_8h.html#chan_5Fhash">chan_hash</a> <a class="el" href="modules_8cpp.html#chanlist">chanlist</a> </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="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Config"></a><!-- doxytag: member="channels.cpp::Config" ref="Config" 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="classServerConfig.html">ServerConfig</a>* <a class="el" href="users_8cpp.html#Config">Config</a> </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="custom_5Fmode_5Fparams"></a><!-- doxytag: member="channels.cpp::custom_mode_params" ref="custom_5Fmode_5Fparams" 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="classModeParameter.html">ModeParameter</a>&gt; <a class="el" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a> </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="channels_8cpp-source.html#l00069">69</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00146">chanrec::GetModeParameter()</a>, and <a class="el" href="channels_8cpp-source.html#l00110">chanrec::SetCustomModeParam()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="factory"></a><!-- doxytag: member="channels.cpp::factory" ref="factory" 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="modules_8h.html#ircd_5Fmodule">ircd_module</a>*&gt; factory </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="MODCOUNT"></a><!-- doxytag: member="channels.cpp::MODCOUNT" ref="MODCOUNT" 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 <a class="el" href="users_8cpp.html#MODCOUNT">MODCOUNT</a> = -1 </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="modules_8cpp-source.html#l00934">934</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#l00723">Server::FindModule()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="modules"></a><!-- doxytag: member="channels.cpp::modules" ref="modules" 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="classModule.html">Module</a>*&gt; modules </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#l00723">Server::FindModule()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="TIME"></a><!-- doxytag: member="channels.cpp::TIME" ref="TIME" 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">time_t <a class="el" href="users_8cpp.html#TIME">TIME</a> </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="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="users_8cpp-source.html#l00471">AddWhoWas()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="WHOWAS_5FMAX"></a><!-- doxytag: member="channels.cpp::WHOWAS_MAX" ref="WHOWAS_5FMAX" 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 <a class="el" href="users_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a> </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="users_8cpp-source.html#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="WHOWAS_5FSTALE"></a><!-- doxytag: member="channels.cpp::WHOWAS_STALE" ref="WHOWAS_5FSTALE" 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 <a class="el" href="users_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a> </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="users_8cpp-source.html#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/channels_8cpp__incl.gif b/docs/module-doc/channels_8cpp__incl.gif
deleted file mode 100644
index 863abc3e5..000000000
--- a/docs/module-doc/channels_8cpp__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/channels_8cpp__incl.map b/docs/module-doc/channels_8cpp__incl.map
deleted file mode 100644
index 820326c3c..000000000
--- a/docs/module-doc/channels_8cpp__incl.map
+++ /dev/null
@@ -1,12 +0,0 @@
-base referer
-rect $inspircd_8h-source.html 313,817 393,844
-rect $inspircd__io_8h-source.html 443,919 539,945
-rect $globals_8h-source.html 600,615 675,641
-rect $users_8h-source.html 745,817 809,844
-rect $modules_8h-source.html 596,437 679,464
-rect $ctables_8h-source.html 740,412 815,439
-rect $mode_8h-source.html 604,919 671,945
-rect $commands_8h-source.html 588,1223 687,1249
-rect $message_8h-source.html 595,1273 680,1300
-rect $xline_8h-source.html 607,1172 668,1199
-rect $typedefs_8h-source.html 168,463 253,489
diff --git a/docs/module-doc/channels_8cpp__incl.md5 b/docs/module-doc/channels_8cpp__incl.md5
deleted file mode 100644
index 880c16373..000000000
--- a/docs/module-doc/channels_8cpp__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-693bc7a6b868d635e208e839a3f75bab \ No newline at end of file
diff --git a/docs/module-doc/channels_8h-source.html b/docs/module-doc/channels_8h-source.html
deleted file mode 100644
index 395e22c66..000000000
--- a/docs/module-doc/channels_8h-source.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<!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: channels.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>channels.h</h1><a href="channels_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-2004 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">#include "inspircd_config.h"</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="base_8h.html">base.h</a>"</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;time.h&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="preprocessor">#ifndef __CHANNELS_H__</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#define __CHANNELS_H__</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span>
-<a name="l00026"></a><a class="code" href="channels_8h.html#CM_5FTOPICLOCK">00026</a> <span class="preprocessor">#define CM_TOPICLOCK 1</span>
-<a name="l00027"></a><a class="code" href="channels_8h.html#CM_5FNOEXTERNAL">00027</a> <span class="preprocessor"></span><span class="preprocessor">#define CM_NOEXTERNAL 2</span>
-<a name="l00028"></a><a class="code" href="channels_8h.html#CM_5FINVITEONLY">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define CM_INVITEONLY 4</span>
-<a name="l00029"></a><a class="code" href="channels_8h.html#CM_5FMODERATED">00029</a> <span class="preprocessor"></span><span class="preprocessor">#define CM_MODERATED 8</span>
-<a name="l00030"></a><a class="code" href="channels_8h.html#CM_5FSECRET">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define CM_SECRET 16</span>
-<a name="l00031"></a><a class="code" href="channels_8h.html#CM_5FPRIVATE">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define CM_PRIVATE 32</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span>
-<a name="l00033"></a>00033 <span class="keyword">class </span><a class="code" href="classuserrec.html">userrec</a>;
-<a name="l00034"></a>00034
-<a name="l00038"></a><a class="code" href="classHostItem.html">00038</a> <span class="keyword">class </span><a class="code" href="classHostItem.html">HostItem</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00039"></a>00039 {
-<a name="l00040"></a>00040 <span class="keyword">public</span>:
-<a name="l00041"></a><a class="code" href="classHostItem.html#set_5Ftime">00041</a> time_t <a class="code" href="classHostItem.html#set_5Ftime">set_time</a>;
-<a name="l00042"></a><a class="code" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">00042</a> <span class="keywordtype">char</span> <a class="code" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">set_by</a>[NICKMAX];
-<a name="l00043"></a><a class="code" href="classHostItem.html#data_5BMAXBUF_5D">00043</a> <span class="keywordtype">char</span> <a class="code" href="classHostItem.html#data_5BMAXBUF_5D">data</a>[MAXBUF];
-<a name="l00044"></a>00044
-<a name="l00045"></a><a class="code" href="classHostItem.html#HostItem_28_29">00045</a> <a class="code" href="classHostItem.html#HostItem_28_29">HostItem</a>() { <span class="comment">/* stub */</span> }
-<a name="l00046"></a><a class="code" href="classHostItem.html#_7EHostItem_28_29">00046</a> <span class="keyword">virtual</span> <a class="code" href="classHostItem.html#_7EHostItem_28_29">~HostItem</a>() { <span class="comment">/* stub */</span> }
-<a name="l00047"></a>00047 };
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="comment">// banlist is inherited from HostList mainly for readability</span>
-<a name="l00050"></a>00050 <span class="comment">// reasons only</span>
-<a name="l00051"></a>00051
-<a name="l00054"></a><a class="code" href="classBanItem.html">00054</a> <span class="keyword">class </span><a class="code" href="classBanItem.html">BanItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
-<a name="l00055"></a>00055 {
-<a name="l00056"></a>00056 };
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="comment">// same with this...</span>
-<a name="l00059"></a>00059
-<a name="l00062"></a><a class="code" href="classExemptItem.html">00062</a> <span class="keyword">class </span><a class="code" href="classExemptItem.html">ExemptItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 };
-<a name="l00065"></a>00065
-<a name="l00066"></a>00066 <span class="comment">// and this...</span>
-<a name="l00067"></a>00067
-<a name="l00070"></a><a class="code" href="classInviteItem.html">00070</a> <span class="keyword">class </span><a class="code" href="classInviteItem.html">InviteItem</a> : <span class="keyword">public</span> <a class="code" href="classHostItem.html">HostItem</a>
-<a name="l00071"></a>00071 {
-<a name="l00072"></a>00072 };
-<a name="l00073"></a>00073
-<a name="l00074"></a>00074
-<a name="l00079"></a><a class="code" href="classModeParameter.html">00079</a> <span class="keyword">class </span><a class="code" href="classModeParameter.html">ModeParameter</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00080"></a>00080 {
-<a name="l00081"></a>00081 <span class="keyword">public</span>:
-<a name="l00082"></a><a class="code" href="classModeParameter.html#mode">00082</a> <span class="keywordtype">char</span> <a class="code" href="classModeParameter.html#mode">mode</a>;
-<a name="l00083"></a><a class="code" href="classModeParameter.html#parameter_5BMAXBUF_5D">00083</a> <span class="keywordtype">char</span> <a class="code" href="classModeParameter.html#parameter_5BMAXBUF_5D">parameter</a>[MAXBUF];
-<a name="l00084"></a><a class="code" href="classModeParameter.html#channel_5BCHANMAX_5D">00084</a> <span class="keywordtype">char</span> <a class="code" href="classModeParameter.html#channel_5BCHANMAX_5D">channel</a>[CHANMAX];
-<a name="l00085"></a>00085 };
-<a name="l00086"></a>00086
-<a name="l00089"></a><a class="code" href="channels_8h.html#BanList">00089</a> <span class="keyword">typedef</span> std::vector&lt;BanItem&gt; <a class="code" href="channels_8h.html#BanList">BanList</a>;
-<a name="l00090"></a>00090
-<a name="l00093"></a><a class="code" href="channels_8h.html#ExemptList">00093</a> <span class="keyword">typedef</span> std::vector&lt;ExemptItem&gt; <a class="code" href="channels_8h.html#ExemptList">ExemptList</a>;
-<a name="l00094"></a>00094
-<a name="l00097"></a><a class="code" href="channels_8h.html#InviteList">00097</a> <span class="keyword">typedef</span> std::vector&lt;InviteItem&gt; <a class="code" href="channels_8h.html#InviteList">InviteList</a>;
-<a name="l00098"></a>00098
-<a name="l00103"></a><a class="code" href="classchanrec.html">00103</a> <span class="keyword">class </span><a class="code" href="classchanrec.html">chanrec</a> : <span class="keyword">public</span> <a class="code" href="classExtensible.html">Extensible</a>
-<a name="l00104"></a>00104 {
-<a name="l00105"></a>00105 <span class="keyword">public</span>:
-<a name="l00108"></a><a class="code" href="classchanrec.html#name_5BCHANMAX_5D">00108</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>[CHANMAX]; <span class="comment">/* channel name */</span>
-<a name="l00112"></a><a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">00112</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>[MAXMODES]; <span class="comment">/* modes handled by modules */</span>
-<a name="l00113"></a>00113
-<a name="l00117"></a><a class="code" href="classchanrec.html#internal_5Fuserlist">00117</a> std::vector&lt;char*&gt; <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>;
-<a name="l00118"></a>00118
-<a name="l00122"></a><a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">00122</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>[MAXBUF];
-<a name="l00125"></a><a class="code" href="classchanrec.html#created">00125</a> time_t <a class="code" href="classchanrec.html#created">created</a>;
-<a name="l00129"></a><a class="code" href="classchanrec.html#topicset">00129</a> time_t <a class="code" href="classchanrec.html#topicset">topicset</a>;
-<a name="l00133"></a><a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">00133</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>[NICKMAX];
-<a name="l00134"></a>00134
-<a name="l00138"></a><a class="code" href="classchanrec.html#limit">00138</a> <span class="keywordtype">short</span> <span class="keywordtype">int</span> <a class="code" href="classchanrec.html#limit">limit</a>;
-<a name="l00139"></a>00139
-<a name="l00143"></a><a class="code" href="classchanrec.html#key_5B_33_32_5D">00143</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>[32];
-<a name="l00144"></a>00144
-<a name="l00147"></a><a class="code" href="classchanrec.html#binarymodes">00147</a> <span class="keywordtype">char</span> <a class="code" href="classchanrec.html#binarymodes">binarymodes</a>;
-<a name="l00148"></a>00148
-<a name="l00151"></a><a class="code" href="classchanrec.html#bans">00151</a> <a class="code" href="channels_8h.html#BanList">BanList</a> <a class="code" href="classchanrec.html#bans">bans</a>;
-<a name="l00152"></a>00152
-<a name="l00157"></a>00157 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29">SetCustomMode</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">bool</span> mode_on);
-<a name="l00158"></a>00158
-<a name="l00164"></a>00164 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">SetCustomModeParam</a>(<span class="keywordtype">char</span> mode,<span class="keywordtype">char</span>* parameter,<span class="keywordtype">bool</span> mode_on);
-<a name="l00165"></a>00165
-<a name="l00170"></a>00170 <span class="keywordtype">bool</span> <a class="code" href="classchanrec.html#IsCustomModeSet_28char_20mode_29">IsCustomModeSet</a>(<span class="keywordtype">char</span> mode);
-<a name="l00171"></a>00171
-<a name="l00182"></a>00182 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classchanrec.html#GetModeParameter_28char_20mode_29">GetModeParameter</a>(<span class="keywordtype">char</span> mode);
-<a name="l00183"></a>00183
-<a name="l00191"></a>00191 <span class="keywordtype">long</span> <a class="code" href="classchanrec.html#GetUserCounter_28_29">GetUserCounter</a>();
-<a name="l00192"></a>00192
-<a name="l00200"></a>00200 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#AddUser_28char_20_2Acastuser_29">AddUser</a>(<span class="keywordtype">char</span>* castuser);
-<a name="l00201"></a>00201
-<a name="l00209"></a>00209 <span class="keywordtype">void</span> <a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a>(<span class="keywordtype">char</span>* castuser);
-<a name="l00210"></a>00210
-<a name="l00220"></a>00220 std::vector&lt;char*&gt; *<a class="code" href="classchanrec.html#GetUsers_28_29">GetUsers</a>();
-<a name="l00221"></a>00221
-<a name="l00224"></a>00224 <a class="code" href="classchanrec.html#chanrec_28_29">chanrec</a>();
-<a name="l00225"></a>00225
-<a name="l00226"></a><a class="code" href="classchanrec.html#_7Echanrec_28_29">00226</a> <span class="keyword">virtual</span> <a class="code" href="classchanrec.html#_7Echanrec_28_29">~chanrec</a>() { <span class="comment">/* stub */</span> }
-<a name="l00227"></a>00227 };
-<a name="l00228"></a>00228
-<a name="l00229"></a>00229 <span class="comment">/* used to hold a channel and a users modes on that channel, e.g. +v, +h, +o</span>
-<a name="l00230"></a>00230 <span class="comment"> * needs to come AFTER struct chanrec */</span>
-<a name="l00231"></a>00231
-<a name="l00232"></a><a class="code" href="channels_8h.html#UCMODE_5FOP">00232</a> <span class="preprocessor">#define UCMODE_OP 1</span>
-<a name="l00233"></a><a class="code" href="channels_8h.html#UCMODE_5FVOICE">00233</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_VOICE 2</span>
-<a name="l00234"></a><a class="code" href="channels_8h.html#UCMODE_5FHOP">00234</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_HOP 4</span>
-<a name="l00235"></a><a class="code" href="channels_8h.html#UCMODE_5FPROTECT">00235</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_PROTECT 8</span>
-<a name="l00236"></a><a class="code" href="channels_8h.html#UCMODE_5FFOUNDER">00236</a> <span class="preprocessor"></span><span class="preprocessor">#define UCMODE_FOUNDER 16</span>
-<a name="l00237"></a>00237 <span class="preprocessor"></span>
-<a name="l00243"></a><a class="code" href="classucrec.html">00243</a> <span class="keyword">class </span><a class="code" href="classucrec.html">ucrec</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 <span class="keyword">public</span>:
-<a name="l00249"></a><a class="code" href="classucrec.html#uc_5Fmodes">00249</a> <span class="keywordtype">char</span> <a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a>;
-<a name="l00250"></a>00250
-<a name="l00254"></a><a class="code" href="classucrec.html#channel">00254</a> <a class="code" href="classchanrec.html">chanrec</a> *<a class="code" href="classucrec.html#channel">channel</a>;
-<a name="l00255"></a>00255
-<a name="l00256"></a><a class="code" href="classucrec.html#ucrec_28_29">00256</a> <a class="code" href="classucrec.html#ucrec_28_29">ucrec</a>() { <span class="comment">/* stub */</span> }
-<a name="l00257"></a><a class="code" href="classucrec.html#_7Eucrec_28_29">00257</a> <span class="keyword">virtual</span> <a class="code" href="classucrec.html#_7Eucrec_28_29">~ucrec</a>() { <span class="comment">/* stub */</span> }
-<a name="l00258"></a>00258 };
-<a name="l00259"></a>00259
-<a name="l00260"></a>00260 <a class="code" href="classchanrec.html">chanrec</a>* <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>(<a class="code" href="classuserrec.html">userrec</a> *user, <span class="keyword">const</span> <span class="keywordtype">char</span>* cn, <span class="keyword">const</span> <span class="keywordtype">char</span>* key, <span class="keywordtype">bool</span> override);
-<a name="l00261"></a>00261 <a class="code" href="classchanrec.html">chanrec</a>* <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>(<a class="code" href="classuserrec.html">userrec</a> *user, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keywordtype">bool</span> local);
-<a name="l00262"></a>00262 <span class="keywordtype">void</span> <a class="code" href="channels_8cpp.html#kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29">kick_channel</a>(<a class="code" href="classuserrec.html">userrec</a> *src,<a class="code" href="classuserrec.html">userrec</a> *user, <a class="code" href="classchanrec.html">chanrec</a> *Ptr, <span class="keywordtype">char</span>* reason);
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/channels_8h.html b/docs/module-doc/channels_8h.html
deleted file mode 100644
index 2fcef2201..000000000
--- a/docs/module-doc/channels_8h.html
+++ /dev/null
@@ -1,958 +0,0 @@
-<!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: channels.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>channels.h File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="base_8h-source.html">base.h</a>&quot;</code><br>
-<code>#include &lt;time.h&gt;</code><br>
-<code>#include &lt;vector&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-
-<p>
-Include dependency graph for channels.h:<p><center><img src="channels_8h__incl.gif" border="0" usemap="#channels.h_map" alt=""></center>
-<map name="channels.h_map">
-<area href="base_8h-source.html" shape="rect" coords="143,108,204,135" alt="">
-</map>
-
-<p>
-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="665,311,745,337" alt="">
-<area href="users_8h-source.html" shape="rect" coords="144,285,208,312" alt="">
-<area href="commands_8h-source.html" shape="rect" coords="257,108,356,135" alt="">
-<area href="cull__list_8h-source.html" shape="rect" coords="268,159,345,185" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="269,209,344,236" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="532,260,617,287" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="404,361,484,388" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="273,412,340,439" alt="">
-<area href="message_8h-source.html" shape="rect" coords="264,463,349,489" alt="">
-<area href="xline_8h-source.html" shape="rect" coords="276,513,337,540" alt="">
-</map>
-
-<p>
-<a href="channels_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="classHostItem.html">HostItem</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds an entry for a ban list, exemption list, or invite list. <a href="classHostItem.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="classBanItem.html">BanItem</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel bans (+b). <a href="classBanItem.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="classExemptItem.html">ExemptItem</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel exempts (+e). <a href="classExemptItem.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="classInviteItem.html">InviteItem</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel invites (+I). <a href="classInviteItem.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="classModeParameter.html">ModeParameter</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a custom parameter to a module-defined channel mode e.g. <a href="classModeParameter.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="classchanrec.html">chanrec</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds all relevent information for a channel. <a href="classchanrec.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="classucrec.html">ucrec</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class. <a href="classucrec.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#CM_5FTOPICLOCK">CM_TOPICLOCK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#CM_5FNOEXTERNAL">CM_NOEXTERNAL</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#CM_5FINVITEONLY">CM_INVITEONLY</a>&nbsp;&nbsp;&nbsp;4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#CM_5FMODERATED">CM_MODERATED</a>&nbsp;&nbsp;&nbsp;8</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#CM_5FSECRET">CM_SECRET</a>&nbsp;&nbsp;&nbsp;16</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#CM_5FPRIVATE">CM_PRIVATE</a>&nbsp;&nbsp;&nbsp;32</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#UCMODE_5FOP">UCMODE_OP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#UCMODE_5FVOICE">UCMODE_VOICE</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#UCMODE_5FHOP">UCMODE_HOP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#UCMODE_5FPROTECT">UCMODE_PROTECT</a>&nbsp;&nbsp;&nbsp;8</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#UCMODE_5FFOUNDER">UCMODE_FOUNDER</a>&nbsp;&nbsp;&nbsp;16</td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classBanItem.html">BanItem</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#BanList">BanList</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a complete ban list. <a href="#BanList"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classExemptItem.html">ExemptItem</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#ExemptList">ExemptList</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a complete exempt list. <a href="#ExemptList"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classInviteItem.html">InviteItem</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#InviteList">InviteList</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a complete invite list. <a href="#InviteList"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">add_channel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *cn, const char *key, bool override)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8h.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">del_channel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *cname, const char *reason, bool local)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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">kick_channel</a> (<a class="el" href="classuserrec.html">userrec</a> *src, <a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *Ptr, char *reason)</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="CM_5FINVITEONLY"></a><!-- doxytag: member="channels.h::CM_INVITEONLY" ref="CM_5FINVITEONLY" 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">#define CM_INVITEONLY&nbsp;&nbsp;&nbsp;4 </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="channels_8h-source.html#l00028">28</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#l00194">add_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="CM_5FMODERATED"></a><!-- doxytag: member="channels.h::CM_MODERATED" ref="CM_5FMODERATED" 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">#define CM_MODERATED&nbsp;&nbsp;&nbsp;8 </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="channels_8h-source.html#l00029">29</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="CM_5FNOEXTERNAL"></a><!-- doxytag: member="channels.h::CM_NOEXTERNAL" ref="CM_5FNOEXTERNAL" 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">#define CM_NOEXTERNAL&nbsp;&nbsp;&nbsp;2 </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="channels_8h-source.html#l00027">27</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#l00194">add_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="CM_5FPRIVATE"></a><!-- doxytag: member="channels.h::CM_PRIVATE" ref="CM_5FPRIVATE" 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">#define CM_PRIVATE&nbsp;&nbsp;&nbsp;32 </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="channels_8h-source.html#l00031">31</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="CM_5FSECRET"></a><!-- doxytag: member="channels.h::CM_SECRET" ref="CM_5FSECRET" 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">#define CM_SECRET&nbsp;&nbsp;&nbsp;16 </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="channels_8h-source.html#l00030">30</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="CM_5FTOPICLOCK"></a><!-- doxytag: member="channels.h::CM_TOPICLOCK" ref="CM_5FTOPICLOCK" 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">#define CM_TOPICLOCK&nbsp;&nbsp;&nbsp;1 </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="channels_8h-source.html#l00026">26</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#l00194">add_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="UCMODE_5FFOUNDER"></a><!-- doxytag: member="channels.h::UCMODE_FOUNDER" ref="UCMODE_5FFOUNDER" 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">#define UCMODE_FOUNDER&nbsp;&nbsp;&nbsp;16 </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="channels_8h-source.html#l00236">236</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="UCMODE_5FHOP"></a><!-- doxytag: member="channels.h::UCMODE_HOP" ref="UCMODE_5FHOP" 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">#define UCMODE_HOP&nbsp;&nbsp;&nbsp;4 </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="channels_8h-source.html#l00234">234</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="UCMODE_5FOP"></a><!-- doxytag: member="channels.h::UCMODE_OP" ref="UCMODE_5FOP" 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">#define UCMODE_OP&nbsp;&nbsp;&nbsp;1 </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="channels_8h-source.html#l00232">232</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#l00372">ForceChan()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="UCMODE_5FPROTECT"></a><!-- doxytag: member="channels.h::UCMODE_PROTECT" ref="UCMODE_5FPROTECT" 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">#define UCMODE_PROTECT&nbsp;&nbsp;&nbsp;8 </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="channels_8h-source.html#l00235">235</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="UCMODE_5FVOICE"></a><!-- doxytag: member="channels.h::UCMODE_VOICE" ref="UCMODE_5FVOICE" 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">#define UCMODE_VOICE&nbsp;&nbsp;&nbsp;2 </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="channels_8h-source.html#l00233">233</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="BanList"></a><!-- doxytag: member="channels.h::BanList" ref="BanList" 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">typedef std::vector&lt;<a class="el" href="classBanItem.html">BanItem</a>&gt; <a class="el" href="channels_8h.html#BanList">BanList</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds a complete ban list.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00089">89</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ExemptList"></a><!-- doxytag: member="channels.h::ExemptList" ref="ExemptList" 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">typedef std::vector&lt;<a class="el" href="classExemptItem.html">ExemptItem</a>&gt; <a class="el" href="channels_8h.html#ExemptList">ExemptList</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds a complete exempt list.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00093">93</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="InviteList"></a><!-- doxytag: member="channels.h::InviteList" ref="InviteList" 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">typedef std::vector&lt;<a class="el" href="classInviteItem.html">InviteItem</a>&gt; <a class="el" href="channels_8h.html#InviteList">InviteList</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds a complete invite list.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00097">97</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29"></a><!-- doxytag: member="channels.h::add_channel" ref="add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29" args="(userrec *user, const char *cn, const char *key, bool override)" --><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="classchanrec.html">chanrec</a>* add_channel </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>cn</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>key</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>override</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>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00194">194</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</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#l00153">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#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00031">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#l00090">FOREACH_RESULT</a>, <a class="el" href="users_8cpp-source.html#l00099">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#l00123">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#l00151">userrec::modes</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00128">userrec::nick</a>, <a class="el" href="users_8cpp-source.html#l00148">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#l00363">Server::JoinUserToChannel()</a>.<div class="fragment"><pre class="fragment"><a name="l00195"></a>00195 {
-<a name="l00196"></a>00196 <span class="keywordflow">if</span> ((!user) || (!cn))
-<a name="l00197"></a>00197 {
-<a name="l00198"></a>00198 <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>);
-<a name="l00199"></a>00199 <span class="keywordflow">return</span> 0;
-<a name="l00200"></a>00200 }
-<a name="l00201"></a>00201
-<a name="l00202"></a>00202 <span class="keywordtype">int</span> created = 0;
-<a name="l00203"></a>00203 <span class="keywordtype">char</span> cname[MAXBUF];
-<a name="l00204"></a>00204 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00205"></a>00205 strncpy(cname,cn,CHANMAX);
-<a name="l00206"></a>00206
-<a name="l00207"></a>00207 <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">"add_channel: %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,cname);
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(cname);
-<a name="l00210"></a>00210
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (!Ptr)
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00214"></a>00214 {
-<a name="l00215"></a>00215 MOD_RESULT = 0;
-<a name="l00216"></a>00216 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreJoin(user,NULL,cname));
-<a name="l00217"></a>00217 <span class="keywordflow">if</span> (MOD_RESULT == 1)
-<a name="l00218"></a>00218 <span class="keywordflow">return</span> NULL;
-<a name="l00219"></a>00219 }
-<a name="l00220"></a>00220 <span class="comment">/* create a new one */</span>
-<a name="l00221"></a>00221 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname] = <span class="keyword">new</span> <a class="code" href="classchanrec.html">chanrec</a>();
-<a name="l00222"></a>00222 strlcpy(chanlist[cname]-&gt;name, cname,CHANMAX);
-<a name="l00223"></a>00223 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;binarymodes = <a class="code" href="channels_8h.html#CM_5FTOPICLOCK">CM_TOPICLOCK</a> | <a class="code" href="channels_8h.html#CM_5FNOEXTERNAL">CM_NOEXTERNAL</a>;
-<a name="l00224"></a>00224 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;created = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00225"></a>00225 strcpy(chanlist[cname]-&gt;topic, <span class="stringliteral">""</span>);
-<a name="l00226"></a>00226 strncpy(chanlist[cname]-&gt;setby, user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,NICKMAX);
-<a name="l00227"></a>00227 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname]-&gt;topicset = 0;
-<a name="l00228"></a>00228 Ptr = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>[cname];
-<a name="l00229"></a>00229 <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">"add_channel: created: %s"</span>,cname);
-<a name="l00230"></a>00230 <span class="comment">/* set created to 2 to indicate user</span>
-<a name="l00231"></a>00231 <span class="comment"> * is the first in the channel</span>
-<a name="l00232"></a>00232 <span class="comment"> * and should be given ops */</span>
-<a name="l00233"></a>00233 created = 2;
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 <span class="keywordflow">else</span>
-<a name="l00236"></a>00236 {
-<a name="l00237"></a>00237 <span class="comment">/* Already on the channel */</span>
-<a name="l00238"></a>00238 <span class="keywordflow">if</span> (<a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(user,Ptr))
-<a name="l00239"></a>00239 <span class="keywordflow">return</span> NULL;
-<a name="l00240"></a>00240
-<a name="l00241"></a>00241 <span class="comment">// remote users are allowed us to bypass channel modes</span>
-<a name="l00242"></a>00242 <span class="comment">// and bans (used by servers)</span>
-<a name="l00243"></a>00243 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00244"></a>00244 {
-<a name="l00245"></a>00245 MOD_RESULT = 0;
-<a name="l00246"></a>00246 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreJoin(user,Ptr,cname));
-<a name="l00247"></a>00247 <span class="keywordflow">if</span> (MOD_RESULT == 1)
-<a name="l00248"></a>00248 {
-<a name="l00249"></a>00249 <span class="keywordflow">return</span> NULL;
-<a name="l00250"></a>00250 }
-<a name="l00251"></a>00251 <span class="keywordflow">else</span>
-<a name="l00252"></a>00252 {
-<a name="l00253"></a>00253 <span class="keywordflow">if</span> (*Ptr-&gt;<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>)
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 MOD_RESULT = 0;
-<a name="l00256"></a>00256 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckKey(user, Ptr, key ? key : <span class="stringliteral">""</span>));
-<a name="l00257"></a>00257 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00258"></a>00258 {
-<a name="l00259"></a>00259 <span class="keywordflow">if</span> (!key)
-<a name="l00260"></a>00260 {
-<a name="l00261"></a>00261 <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">"add_channel: no key given in JOIN"</span>);
-<a name="l00262"></a>00262 <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">"475 %s %s :Cannot join channel (Requires key)"</span>,user-&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="l00263"></a>00263 <span class="keywordflow">return</span> NULL;
-<a name="l00264"></a>00264 }
-<a name="l00265"></a>00265 <span class="keywordflow">else</span>
-<a name="l00266"></a>00266 {
-<a name="l00267"></a>00267 <span class="keywordflow">if</span> (strcasecmp(key,Ptr-&gt;<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>))
-<a name="l00268"></a>00268 {
-<a name="l00269"></a>00269 <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">"add_channel: bad key given in JOIN"</span>);
-<a name="l00270"></a>00270 <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">"475 %s %s :Cannot join channel (Incorrect key)"</span>,user-&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="l00271"></a>00271 <span class="keywordflow">return</span> NULL;
-<a name="l00272"></a>00272 }
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274 }
-<a name="l00275"></a>00275 }
-<a name="l00276"></a>00276 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#binarymodes">binarymodes</a> &amp; <a class="code" href="channels_8h.html#CM_5FINVITEONLY">CM_INVITEONLY</a>)
-<a name="l00277"></a>00277 {
-<a name="l00278"></a>00278 MOD_RESULT = 0;
-<a name="l00279"></a>00279 <a class="code" href="namespaceirc.html#string">irc::string</a> xname(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00280"></a>00280 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckInvite(user, Ptr));
-<a name="l00281"></a>00281 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00282"></a>00282 {
-<a name="l00283"></a>00283 <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">"add_channel: channel is +i"</span>);
-<a name="l00284"></a>00284 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">IsInvited</a>(xname))
-<a name="l00285"></a>00285 {
-<a name="l00286"></a>00286 <span class="comment">/* user was invited to channel */</span>
-<a name="l00287"></a>00287 <span class="comment">/* there may be an optional channel NOTICE here */</span>
-<a name="l00288"></a>00288 }
-<a name="l00289"></a>00289 <span class="keywordflow">else</span>
-<a name="l00290"></a>00290 {
-<a name="l00291"></a>00291 <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">"473 %s %s :Cannot join channel (Invite only)"</span>,user-&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="l00292"></a>00292 <span class="keywordflow">return</span> NULL;
-<a name="l00293"></a>00293 }
-<a name="l00294"></a>00294 }
-<a name="l00295"></a>00295 user-&gt;<a class="code" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">RemoveInvite</a>(xname);
-<a name="l00296"></a>00296 }
-<a name="l00297"></a>00297 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#limit">limit</a>)
-<a name="l00298"></a>00298 {
-<a name="l00299"></a>00299 MOD_RESULT = 0;
-<a name="l00300"></a>00300 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckLimit(user, Ptr));
-<a name="l00301"></a>00301 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00302"></a>00302 {
-<a name="l00303"></a>00303 <span class="keywordflow">if</span> (usercount(Ptr) &gt;= Ptr-&gt;limit)
-<a name="l00304"></a>00304 {
-<a name="l00305"></a>00305 <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">"471 %s %s :Cannot join channel (Channel is full)"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, Ptr-&gt;name);
-<a name="l00306"></a>00306 <span class="keywordflow">return</span> NULL;
-<a name="l00307"></a>00307 }
-<a name="l00308"></a>00308 }
-<a name="l00309"></a>00309 }
-<a name="l00310"></a>00310 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.size())
-<a name="l00311"></a>00311 {
-<a name="l00312"></a>00312 <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">"add_channel: about to walk banlist"</span>);
-<a name="l00313"></a>00313 MOD_RESULT = 0;
-<a name="l00314"></a>00314 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnCheckBan(user, Ptr));
-<a name="l00315"></a>00315 <span class="keywordflow">if</span> (!MOD_RESULT)
-<a name="l00316"></a>00316 {
-<a name="l00317"></a>00317 <span class="keywordflow">for</span> (BanList::iterator i = Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.begin(); i != Ptr-&gt;<a class="code" href="classchanrec.html#bans">bans</a>.end(); i++)
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <span class="keywordflow">if</span> (match(user-&gt;<a class="code" href="classuserrec.html#GetFullHost_28_29">GetFullHost</a>(),i-&gt;data))
-<a name="l00320"></a>00320 {
-<a name="l00321"></a>00321 <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">"474 %s %s :Cannot join channel (You're banned)"</span>,user-&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="l00322"></a>00322 <span class="keywordflow">return</span> NULL;
-<a name="l00323"></a>00323 }
-<a name="l00324"></a>00324 }
-<a name="l00325"></a>00325 }
-<a name="l00326"></a>00326 }
-<a name="l00327"></a>00327 }
-<a name="l00328"></a>00328 }
-<a name="l00329"></a>00329 <span class="keywordflow">else</span>
-<a name="l00330"></a>00330 {
-<a name="l00331"></a>00331 <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">"Overridden checks"</span>);
-<a name="l00332"></a>00332 }
-<a name="l00333"></a>00333 created = 1;
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335
-<a name="l00336"></a>00336 <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">"Passed channel checks"</span>);
-<a name="l00337"></a>00337
-<a name="l00338"></a>00338 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index =0; index &lt; user-&gt;chans.size(); index++)
-<a name="l00339"></a>00339 {
-<a name="l00340"></a>00340 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[index].channel == NULL)
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[index],user,created);
-<a name="l00343"></a>00343 }
-<a name="l00344"></a>00344 }
-<a name="l00345"></a>00345 <span class="comment">/* XXX: If the user is an oper here, we can just extend their user-&gt;chans vector by one</span>
-<a name="l00346"></a>00346 <span class="comment"> * and put the channel in here. Same for remote users which are not bound by</span>
-<a name="l00347"></a>00347 <span class="comment"> * the channel limits. Otherwise, nope, youre boned.</span>
-<a name="l00348"></a>00348 <span class="comment"> */</span>
-<a name="l00349"></a>00349 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &lt; 0)
-<a name="l00350"></a>00350 {
-<a name="l00351"></a>00351 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00352"></a>00352 <a class="code" href="classchanrec.html">chanrec</a>* c = <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,a,user,created);
-<a name="l00353"></a>00353 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.push_back(a);
-<a name="l00354"></a>00354 <span class="keywordflow">return</span> c;
-<a name="l00355"></a>00355 }
-<a name="l00356"></a>00356 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strchr(user-&gt;<a class="code" href="classuserrec.html#modes_5B_35_34_5D">modes</a>,<span class="charliteral">'o'</span>))
-<a name="l00357"></a>00357 {
-<a name="l00358"></a>00358 <span class="comment">/* Oper allows extension up to the OPERMAXCHANS value */</span>
-<a name="l00359"></a>00359 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.size() &lt; OPERMAXCHANS)
-<a name="l00360"></a>00360 {
-<a name="l00361"></a>00361 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00362"></a>00362 <a class="code" href="classchanrec.html">chanrec</a>* c = <a class="code" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">ForceChan</a>(Ptr,a,user,created);
-<a name="l00363"></a>00363 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>.push_back(a);
-<a name="l00364"></a>00364 <span class="keywordflow">return</span> c;
-<a name="l00365"></a>00365 }
-<a name="l00366"></a>00366 }
-<a name="l00367"></a>00367 <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">"add_channel: user channel max exceeded: %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,cname);
-<a name="l00368"></a>00368 <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">"405 %s %s :You are on too many channels"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, cname);
-<a name="l00369"></a>00369 <span class="keywordflow">return</span> NULL;
-<a name="l00370"></a>00370 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29"></a><!-- doxytag: member="channels.h::del_channel" ref="del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29" args="(userrec *user, const char *cname, const char *reason, bool local)" --><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="classchanrec.html">chanrec</a>* del_channel </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>cname</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>reason</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>local</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>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00401">401</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00153">userrec::chans</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00031">DEFAULT</a>, <a class="el" href="channels_8cpp-source.html#l00172">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#l00082">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#l00128">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#l00368">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>);
-<a name="l00406"></a>00406 <span class="keywordflow">return</span> NULL;
-<a name="l00407"></a>00407 }
-<a name="l00408"></a>00408
-<a name="l00409"></a>00409 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(cname);
-<a name="l00410"></a>00410
-<a name="l00411"></a>00411 <span class="keywordflow">if</span> (!Ptr)
-<a name="l00412"></a>00412 <span class="keywordflow">return</span> NULL;
-<a name="l00413"></a>00413
-<a name="l00414"></a>00414 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserPart(user,Ptr);
-<a name="l00415"></a>00415 <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">"del_channel: removing: %s %s"</span>,user-&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="l00416"></a>00416
-<a name="l00417"></a>00417 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i =0; i &lt; user-&gt;chans.size(); i++)
-<a name="l00418"></a>00418 {
-<a name="l00419"></a>00419 <span class="comment">/* zap it from the channel list of the user */</span>
-<a name="l00420"></a>00420 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel == Ptr)
-<a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 <span class="keywordflow">if</span> (reason)
-<a name="l00423"></a>00423 {
-<a name="l00424"></a>00424 <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>(Ptr,user,<span class="stringliteral">"PART %s :%s"</span>,Ptr-&gt;name, reason);
-<a name="l00425"></a>00425 }
-<a name="l00426"></a>00426 <span class="keywordflow">else</span>
-<a name="l00427"></a>00427 {
-<a name="l00428"></a>00428 <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>(Ptr,user,<span class="stringliteral">"PART :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00429"></a>00429 }
-<a name="l00430"></a>00430 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].uc_modes = 0;
-<a name="l00431"></a>00431 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel = NULL;
-<a name="l00432"></a>00432 <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">"del_channel: unlinked: %s %s"</span>,user-&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="l00433"></a>00433 <span class="keywordflow">break</span>;
-<a name="l00434"></a>00434 }
-<a name="l00435"></a>00435 }
-<a name="l00436"></a>00436
-<a name="l00437"></a>00437 Ptr-&gt;<a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00438"></a>00438
-<a name="l00439"></a>00439 <span class="comment">/* if there are no users left on the channel */</span>
-<a name="l00440"></a>00440 <span class="keywordflow">if</span> (!usercount(Ptr))
-<a name="l00441"></a>00441 {
-<a name="l00442"></a>00442 chan_hash::iterator iter = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.find(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00443"></a>00443
-<a name="l00444"></a>00444 <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">"del_channel: destroying channel: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00445"></a>00445
-<a name="l00446"></a>00446 <span class="comment">/* kill the record */</span>
-<a name="l00447"></a>00447 <span class="keywordflow">if</span> (iter != <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.end())
-<a name="l00448"></a>00448 {
-<a name="l00449"></a>00449 <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">"del_channel: destroyed: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00450"></a>00450 <span class="keyword">delete</span> Ptr;
-<a name="l00451"></a>00451 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.erase(iter);
-<a name="l00452"></a>00452 }
-<a name="l00453"></a>00453 }
-<a name="l00454"></a>00454
-<a name="l00455"></a>00455 <span class="keywordflow">return</span> NULL;
-<a name="l00456"></a>00456 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29"></a><!-- doxytag: member="channels.h::kick_channel" ref="kick_5Fchannel_28userrec_20_2Asrc_2C_20userrec_20_2Auser_2C_20chanrec_20_2APtr_2C_20char_20_2Areason_29" args="(userrec *src, userrec *user, chanrec *Ptr, char *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 kick_channel </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>src</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Ptr</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&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>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00459">459</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00040">AC_KICK</a>, <a class="el" href="modules_8h-source.html#l00037">ACR_DEFAULT</a>, <a class="el" href="modules_8h-source.html#l00038">ACR_DENY</a>, <a class="el" href="channels_8cpp.html#chanlist">chanlist</a>, <a class="el" href="users_8h-source.html#l00153">userrec::chans</a>, <a class="el" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00031">DEFAULT</a>, <a class="el" href="channels_8cpp-source.html#l00172">chanrec::DelUser()</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="modules_8h-source.html#l00090">FOREACH_RESULT</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="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline()</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#l00128">userrec::nick</a>, <a class="el" href="users_8h-source.html#l00157">userrec::server</a>, <a class="el" href="users_8h-source.html#l00032">STATUS_HOP</a>, <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>, 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="l00460"></a>00460 {
-<a name="l00461"></a>00461 <span class="keywordflow">if</span> ((!src) || (!user) || (!Ptr) || (!reason))
-<a name="l00462"></a>00462 {
-<a name="l00463"></a>00463 <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 *** kick_channel was given an invalid parameter"</span>);
-<a name="l00464"></a>00464 <span class="keywordflow">return</span>;
-<a name="l00465"></a>00465 }
-<a name="l00466"></a>00466
-<a name="l00467"></a>00467 <span class="keywordflow">if</span> ((!Ptr) || (!user) || (!src))
-<a name="l00468"></a>00468 {
-<a name="l00469"></a>00469 <span class="keywordflow">return</span>;
-<a name="l00470"></a>00470 }
-<a name="l00471"></a>00471
-<a name="l00472"></a>00472 <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">"kick_channel: removing: %s %s %s"</span>,user-&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>,src-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00473"></a>00473
-<a name="l00474"></a>00474 <span class="keywordflow">if</span> (!<a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(user,Ptr))
-<a name="l00475"></a>00475 {
-<a name="l00476"></a>00476 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<span class="stringliteral">"441 %s %s %s :They are not on that channel"</span>,src-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, user-&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="l00477"></a>00477 <span class="keywordflow">return</span>;
-<a name="l00478"></a>00478 }
-<a name="l00479"></a>00479
-<a name="l00480"></a>00480 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00481"></a>00481 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnAccessCheck(src,user,Ptr,<a class="code" href="modules_8h.html#AC_5FKICK">AC_KICK</a>));
-<a name="l00482"></a>00482 <span class="keywordflow">if</span> ((MOD_RESULT == <a class="code" href="modules_8h.html#ACR_5FDENY">ACR_DENY</a>) &amp;&amp; (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>)))
-<a name="l00483"></a>00483 <span class="keywordflow">return</span>;
-<a name="l00484"></a>00484
-<a name="l00485"></a>00485 <span class="keywordflow">if</span> ((MOD_RESULT == <a class="code" href="modules_8h.html#ACR_5FDEFAULT">ACR_DEFAULT</a>) || (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>)))
-<a name="l00486"></a>00486 {
-<a name="l00487"></a>00487 <span class="keywordflow">if</span> ((<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) &lt; <a class="code" href="users_8h.html#STATUS_5FHOP">STATUS_HOP</a>) || (<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) &lt; <a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(user,Ptr)))
-<a name="l00488"></a>00488 {
-<a name="l00489"></a>00489 <span class="keywordflow">if</span> (<a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(src,Ptr) == <a class="code" href="users_8h.html#STATUS_5FHOP">STATUS_HOP</a>)
-<a name="l00490"></a>00490 {
-<a name="l00491"></a>00491 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;fd,<span class="stringliteral">"482 %s %s :You must be a channel operator"</span>,src-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00492"></a>00492 }
-<a name="l00493"></a>00493 <span class="keywordflow">else</span>
-<a name="l00494"></a>00494 {
-<a name="l00495"></a>00495 <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(src-&gt;fd,<span class="stringliteral">"482 %s %s :You must be at least a half-operator to change modes on this channel"</span>,src-&gt;nick, Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00496"></a>00496 }
-<a name="l00497"></a>00497
-<a name="l00498"></a>00498 <span class="keywordflow">return</span>;
-<a name="l00499"></a>00499 }
-<a name="l00500"></a>00500 }
-<a name="l00501"></a>00501
-<a name="l00502"></a>00502 <span class="keywordflow">if</span> (!<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(src-&gt;<a class="code" href="classuserrec.html#server">server</a>))
-<a name="l00503"></a>00503 {
-<a name="l00504"></a>00504 MOD_RESULT = 0;
-<a name="l00505"></a>00505 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreKick(src,user,Ptr,reason));
-<a name="l00506"></a>00506 <span class="keywordflow">if</span> (MOD_RESULT)
-<a name="l00507"></a>00507 <span class="keywordflow">return</span>;
-<a name="l00508"></a>00508 }
-<a name="l00509"></a>00509
-<a name="l00510"></a>00510 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserKick(src,user,Ptr,reason);
-<a name="l00511"></a>00511
-<a name="l00512"></a>00512 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i =0; i &lt; user-&gt;chans.size(); i++)
-<a name="l00513"></a>00513 {
-<a name="l00514"></a>00514 <span class="comment">/* zap it from the channel list of the user */</span>
-<a name="l00515"></a>00515 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel)
-<a name="l00516"></a>00516 <span class="keywordflow">if</span> (!strcasecmp(user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>))
-<a name="l00517"></a>00517 {
-<a name="l00518"></a>00518 <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>(Ptr,src,<span class="stringliteral">"KICK %s %s :%s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>, user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>, reason);
-<a name="l00519"></a>00519 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].uc_modes = 0;
-<a name="l00520"></a>00520 user-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel = NULL;
-<a name="l00521"></a>00521 <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">"del_channel: unlinked: %s %s"</span>,user-&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="l00522"></a>00522 <span class="keywordflow">break</span>;
-<a name="l00523"></a>00523 }
-<a name="l00524"></a>00524 }
-<a name="l00525"></a>00525
-<a name="l00526"></a>00526 Ptr-&gt;<a class="code" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a>((<span class="keywordtype">char</span>*)user);
-<a name="l00527"></a>00527
-<a name="l00528"></a>00528 <span class="comment">/* if there are no users left on the channel */</span>
-<a name="l00529"></a>00529 <span class="keywordflow">if</span> (!usercount(Ptr))
-<a name="l00530"></a>00530 {
-<a name="l00531"></a>00531 chan_hash::iterator iter = <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.find(Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00532"></a>00532
-<a name="l00533"></a>00533 <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">"del_channel: destroying channel: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="comment">/* kill the record */</span>
-<a name="l00536"></a>00536 <span class="keywordflow">if</span> (iter != <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.end())
-<a name="l00537"></a>00537 {
-<a name="l00538"></a>00538 <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">"del_channel: destroyed: %s"</span>,Ptr-&gt;<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00539"></a>00539 <span class="keyword">delete</span> Ptr;
-<a name="l00540"></a>00540 <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>.erase(iter);
-<a name="l00541"></a>00541 }
-<a name="l00542"></a>00542 }
-<a name="l00543"></a>00543 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/channels_8h__dep__incl.gif b/docs/module-doc/channels_8h__dep__incl.gif
deleted file mode 100644
index 5760f5fb0..000000000
--- a/docs/module-doc/channels_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/channels_8h__dep__incl.map b/docs/module-doc/channels_8h__dep__incl.map
deleted file mode 100644
index 4c89fda78..000000000
--- a/docs/module-doc/channels_8h__dep__incl.map
+++ /dev/null
@@ -1,11 +0,0 @@
-base referer
-rect $users_8cpp-source.html 665,311 745,337
-rect $users_8h-source.html 144,285 208,312
-rect $commands_8h-source.html 257,108 356,135
-rect $cull__list_8h-source.html 268,159 345,185
-rect $globals_8h-source.html 269,209 344,236
-rect $typedefs_8h-source.html 532,260 617,287
-rect $inspircd_8h-source.html 404,361 484,388
-rect $mode_8h-source.html 273,412 340,439
-rect $message_8h-source.html 264,463 349,489
-rect $xline_8h-source.html 276,513 337,540
diff --git a/docs/module-doc/channels_8h__dep__incl.md5 b/docs/module-doc/channels_8h__dep__incl.md5
deleted file mode 100644
index d9289d4a0..000000000
--- a/docs/module-doc/channels_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-0f9059d2ac5956aa247c0791f634c13e \ No newline at end of file
diff --git a/docs/module-doc/channels_8h__incl.gif b/docs/module-doc/channels_8h__incl.gif
deleted file mode 100644
index 2c8fb0983..000000000
--- a/docs/module-doc/channels_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/channels_8h__incl.map b/docs/module-doc/channels_8h__incl.map
deleted file mode 100644
index ee5bd9558..000000000
--- a/docs/module-doc/channels_8h__incl.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $base_8h-source.html 143,108 204,135
diff --git a/docs/module-doc/channels_8h__incl.md5 b/docs/module-doc/channels_8h__incl.md5
deleted file mode 100644
index 18c79c8c4..000000000
--- a/docs/module-doc/channels_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-2faa87cc7e26d0d2ae6d67b690f5412a \ No newline at end of file
diff --git a/docs/module-doc/classAdmin-members.html b/docs/module-doc/classAdmin-members.html
deleted file mode 100644
index 21dda6282..000000000
--- a/docs/module-doc/classAdmin-members.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!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>Admin Member List</h1>This is the complete list of members for <a class="el" href="classAdmin.html">Admin</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classAdmin.html#Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29">Admin</a>(std::string name, std::string email, std::string nick)</td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
- <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="classAdmin.html#Email">Email</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#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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classAdmin.html b/docs/module-doc/classAdmin.html
deleted file mode 100644
index 58987f64c..000000000
--- a/docs/module-doc/classAdmin.html
+++ /dev/null
@@ -1,172 +0,0 @@
-<!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: Admin 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>Admin Class Reference</h1><!-- doxytag: class="Admin" --><!-- doxytag: inherits="classbase" -->Holds /ADMIN data This class contains the admin details of the local server.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for Admin:<p><center><img src="classAdmin__inherit__graph.gif" border="0" usemap="#Admin__inherit__map" alt="Inheritance graph"></center>
-<map name="Admin__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Admin:<p><center><img src="classAdmin__coll__graph.gif" border="0" usemap="#Admin__coll__map" alt="Collaboration graph"></center>
-<map name="Admin__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classAdmin-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="classAdmin.html#Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29">Admin</a> (<a class="el" href="namespaceirc.html#string">std::string</a> name, <a class="el" href="namespaceirc.html#string">std::string</a> email, <a class="el" href="namespaceirc.html#string">std::string</a> nick)</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdmin.html#Name">Name</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdmin.html#Email">Email</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAdmin.html#Nick">Nick</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds /ADMIN data This class contains the admin details of the local server.
-<p>
-It is constructed by class <a class="el" href="classServer.html">Server</a>, and has three read-only values, Name, Email and Nick that contain the specified values for the server where the module is running.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00143">143</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="Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29"></a><!-- doxytag: member="Admin::Admin" ref="Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29" args="(std::string name, std::string email, std::string nick)" --><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">Admin::Admin </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>name</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>email</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>nick</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00162">162</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00162"></a>00162 : <a class="code" href="classAdmin.html#Name">Name</a>(name), <a class="code" href="classAdmin.html#Email">Email</a>(email), <a class="code" href="classAdmin.html#Nick">Nick</a>(nick) { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="Email"></a><!-- doxytag: member="Admin::Email" ref="Email" 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">const <a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classAdmin.html#Email">Admin::Email</a> </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="modules_8h-source.html#l00146">146</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Name"></a><!-- doxytag: member="Admin::Name" ref="Name" 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">const <a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classAdmin.html#Name">Admin::Name</a> </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="modules_8h-source.html#l00146">146</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Nick"></a><!-- doxytag: member="Admin::Nick" ref="Nick" 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">const <a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classAdmin.html#Nick">Admin::Nick</a> </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="modules_8h-source.html#l00146">146</a> of file <a class="el" href="modules_8h-source.html">modules.h</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classAdmin__coll__graph.gif b/docs/module-doc/classAdmin__coll__graph.gif
deleted file mode 100644
index 4d6bd25b8..000000000
--- a/docs/module-doc/classAdmin__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classAdmin__coll__graph.map b/docs/module-doc/classAdmin__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classAdmin__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classAdmin__coll__graph.md5 b/docs/module-doc/classAdmin__coll__graph.md5
deleted file mode 100644
index 3b4270359..000000000
--- a/docs/module-doc/classAdmin__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-fcbd9425e21197cf5397149daaa0139a \ No newline at end of file
diff --git a/docs/module-doc/classAdmin__inherit__graph.gif b/docs/module-doc/classAdmin__inherit__graph.gif
deleted file mode 100644
index 35c9d8d18..000000000
--- a/docs/module-doc/classAdmin__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classAdmin__inherit__graph.map b/docs/module-doc/classAdmin__inherit__graph.map
deleted file mode 100644
index 8b1d85be3..000000000
--- a/docs/module-doc/classAdmin__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,7 87,34
diff --git a/docs/module-doc/classAdmin__inherit__graph.md5 b/docs/module-doc/classAdmin__inherit__graph.md5
deleted file mode 100644
index d5ab12e24..000000000
--- a/docs/module-doc/classAdmin__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-f2ce1930250eba1618d507c7a89a6c44 \ No newline at end of file
diff --git a/docs/module-doc/classBanItem-members.html b/docs/module-doc/classBanItem-members.html
deleted file mode 100644
index 5786d1617..000000000
--- a/docs/module-doc/classBanItem-members.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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>BanItem Member List</h1>This is the complete list of members for <a class="el" href="classBanItem.html">BanItem</a>, including all inherited members.<p><table>
- <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="classHostItem.html#data_5BMAXBUF_5D">data</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#HostItem_28_29">HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">set_by</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classBanItem.html b/docs/module-doc/classBanItem.html
deleted file mode 100644
index c515dc405..000000000
--- a/docs/module-doc/classBanItem.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!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: BanItem 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>BanItem Class Reference</h1><!-- doxytag: class="BanItem" --><!-- doxytag: inherits="HostItem" -->A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel bans (+b).
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
-<p>
-Inheritance diagram for BanItem:<p><center><img src="classBanItem__inherit__graph.gif" border="0" usemap="#BanItem__inherit__map" alt="Inheritance graph"></center>
-<map name="BanItem__inherit__map">
-<area href="classHostItem.html" shape="rect" coords="9,81,84,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for BanItem:<p><center><img src="classBanItem__coll__graph.gif" border="0" usemap="#BanItem__coll__map" alt="Collaboration graph"></center>
-<map name="BanItem__coll__map">
-<area href="classHostItem.html" shape="rect" coords="109,204,184,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="107,98,187,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classBanItem-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel bans (+b).
-<p>
-
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classBanItem__coll__graph.gif b/docs/module-doc/classBanItem__coll__graph.gif
deleted file mode 100644
index 8d3f9254b..000000000
--- a/docs/module-doc/classBanItem__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classBanItem__coll__graph.map b/docs/module-doc/classBanItem__coll__graph.map
deleted file mode 100644
index 84658baf1..000000000
--- a/docs/module-doc/classBanItem__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classHostItem.html 109,204 184,231
-rect $classclassbase.html 107,98 187,124
diff --git a/docs/module-doc/classBanItem__coll__graph.md5 b/docs/module-doc/classBanItem__coll__graph.md5
deleted file mode 100644
index 25fdad153..000000000
--- a/docs/module-doc/classBanItem__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-76872e97aabfd7501a98401b0eb2f0ba \ No newline at end of file
diff --git a/docs/module-doc/classBanItem__inherit__graph.gif b/docs/module-doc/classBanItem__inherit__graph.gif
deleted file mode 100644
index 5a8bc8e92..000000000
--- a/docs/module-doc/classBanItem__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classBanItem__inherit__graph.map b/docs/module-doc/classBanItem__inherit__graph.map
deleted file mode 100644
index 6bc1ce88e..000000000
--- a/docs/module-doc/classBanItem__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classHostItem.html 9,81 84,108
-rect $classclassbase.html 7,7 87,33
diff --git a/docs/module-doc/classBanItem__inherit__graph.md5 b/docs/module-doc/classBanItem__inherit__graph.md5
deleted file mode 100644
index c990276bd..000000000
--- a/docs/module-doc/classBanItem__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-592e35411807445bb35f00b94b76a8da \ No newline at end of file
diff --git a/docs/module-doc/classBoolSet-members.html b/docs/module-doc/classBoolSet-members.html
deleted file mode 100644
index 1e58ba39d..000000000
--- a/docs/module-doc/classBoolSet-members.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>BoolSet Member List</h1>This is the complete list of members for <a class="el" href="classBoolSet.html">BoolSet</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classBoolSet.html#bits">bits</a></td><td><a class="el" href="classBoolSet.html">BoolSet</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classBoolSet.html#BoolSet_28_29">BoolSet</a>()</td><td><a class="el" href="classBoolSet.html">BoolSet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classBoolSet.html#BoolSet_28char_20bitmask_29">BoolSet</a>(char bitmask)</td><td><a class="el" href="classBoolSet.html">BoolSet</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classBoolSet.html#Get_28int_20number_29">Get</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#Invert_28int_20number_29">Invert</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#operator_20_26_28BoolSet_20other_29">operator &amp;</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#operator_3D_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#operator_3D_3D_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#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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classBoolSet.html b/docs/module-doc/classBoolSet.html
deleted file mode 100644
index 61a5de168..000000000
--- a/docs/module-doc/classBoolSet.html
+++ /dev/null
@@ -1,412 +0,0 @@
-<!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: BoolSet 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>BoolSet Class Reference</h1><!-- doxytag: class="BoolSet" -->BoolSet is a utility class designed to hold eight bools in a bitmask.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="base_8h-source.html">base.h</a>&gt;</code>
-<p>
-Collaboration diagram for BoolSet:<p><center><img src="classBoolSet__coll__graph.gif" border="0" usemap="#BoolSet__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classBoolSet-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="classBoolSet.html#BoolSet_28_29">BoolSet</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default constructor initializes the BoolSet to all values unset. <a href="#BoolSet_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoolSet.html#BoolSet_28char_20bitmask_29">BoolSet</a> (char bitmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This constructor copies the default bitmask from a char. <a href="#BoolSet_28char_20bitmask_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="classBoolSet.html#Set_28int_20number_29">Set</a> (int number)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Set method sets one bool in the set. <a href="#Set_28int_20number_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoolSet.html#Get_28int_20number_29">Get</a> (int number)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Get method returns the value of one bool in the set. <a href="#Get_28int_20number_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="classBoolSet.html#Unset_28int_20number_29">Unset</a> (int number)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Unset method unsets one value in the set. <a href="#Unset_28int_20number_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="classBoolSet.html#Invert_28int_20number_29">Invert</a> (int number)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Unset method inverts (flips) one value in the set. <a href="#Invert_28int_20number_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoolSet.html#operator_3D_3D_28BoolSet_20other_29">operator==</a> (<a class="el" href="classBoolSet.html">BoolSet</a> other)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two BoolSets. <a href="#operator_3D_3D_28BoolSet_20other_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoolSet.html#operator_7C_28BoolSet_20other_29">operator|</a> (<a class="el" href="classBoolSet.html">BoolSet</a> other)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">OR two BoolSets together. <a href="#operator_7C_28BoolSet_20other_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoolSet.html#operator_20_26_28BoolSet_20other_29">operator &amp;</a> (<a class="el" href="classBoolSet.html">BoolSet</a> other)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">AND two BoolSets together. <a href="#operator_20_26_28BoolSet_20other_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoolSet.html#operator_3D_28BoolSet_20other_29">operator=</a> (<a class="el" href="classBoolSet.html">BoolSet</a> other)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assign one BoolSet to another. <a href="#operator_3D_28BoolSet_20other_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">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoolSet.html#bits">bits</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-BoolSet is a utility class designed to hold eight bools in a bitmask.
-<p>
-Use <a class="el" href="classBoolSet.html#Set_28int_20number_29">BoolSet::Set</a> and <a class="el" href="classBoolSet.html#Get_28int_20number_29">BoolSet::Get</a> to set and get bools in the bitmask, and Unset and Invert for special operations upon them.
-<p>
-
-<p>
-Definition at line <a class="el" href="base_8h-source.html#l00104">104</a> of file <a class="el" href="base_8h-source.html">base.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="BoolSet_28_29"></a><!-- doxytag: member="BoolSet::BoolSet" ref="BoolSet_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">BoolSet::BoolSet </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>
-The default constructor initializes the BoolSet to all values unset.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="BoolSet_28char_20bitmask_29"></a><!-- doxytag: member="BoolSet::BoolSet" ref="BoolSet_28char_20bitmask_29" args="(char bitmask)" --><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">BoolSet::BoolSet </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>bitmask</em> </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>
-This constructor copies the default bitmask from a char.
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="Get_28int_20number_29"></a><!-- doxytag: member="BoolSet::Get" ref="Get_28int_20number_29" args="(int number)" --><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">bool BoolSet::Get </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>number</em> </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>
-The Get method returns the value of one bool in the set.
-<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>number</em>&nbsp;</td><td>The number of the item to retrieve. This must be between 0 and 7.</td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>True if the item is set, false if it is unset.</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Invert_28int_20number_29"></a><!-- doxytag: member="BoolSet::Invert" ref="Invert_28int_20number_29" args="(int number)" --><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 BoolSet::Invert </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>number</em> </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>
-The Unset method inverts (flips) one value in the set.
-<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>number</em>&nbsp;</td><td>The number of the item to invert. This must be between 0 and 7.</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="operator_20_26_28BoolSet_20other_29"></a><!-- doxytag: member="BoolSet::operator &amp;" ref="operator_20_26_28BoolSet_20other_29" args="(BoolSet other)" --><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="classBoolSet.html">BoolSet</a> BoolSet::operator &amp; </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>other</em> </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>
-AND two BoolSets together.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="operator_3D_28BoolSet_20other_29"></a><!-- doxytag: member="BoolSet::operator=" ref="operator_3D_28BoolSet_20other_29" args="(BoolSet other)" --><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">bool BoolSet::operator= </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>other</em> </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>
-Assign one BoolSet to another.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="operator_3D_3D_28BoolSet_20other_29"></a><!-- doxytag: member="BoolSet::operator==" ref="operator_3D_3D_28BoolSet_20other_29" args="(BoolSet other)" --><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">bool BoolSet::operator== </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>other</em> </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>
-Compare two BoolSets.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="operator_7C_28BoolSet_20other_29"></a><!-- doxytag: member="BoolSet::operator|" ref="operator_7C_28BoolSet_20other_29" args="(BoolSet other)" --><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="classBoolSet.html">BoolSet</a> BoolSet::operator| </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classBoolSet.html">BoolSet</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>other</em> </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>
-OR two BoolSets together.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Set_28int_20number_29"></a><!-- doxytag: member="BoolSet::Set" ref="Set_28int_20number_29" args="(int number)" --><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 BoolSet::Set </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>number</em> </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>
-The Set method sets one bool in the set.
-<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>number</em>&nbsp;</td><td>The number of the item to set. This must be between 0 and 7.</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Unset_28int_20number_29"></a><!-- doxytag: member="BoolSet::Unset" ref="Unset_28int_20number_29" args="(int number)" --><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 BoolSet::Unset </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>number</em> </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>
-The Unset method unsets one value in the set.
-<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>number</em>&nbsp;</td><td>The number of the item to set. This must be between 0 and 7.</td></tr>
- </table>
-</dl>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="bits"></a><!-- doxytag: member="BoolSet::bits" ref="bits" 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 <a class="el" href="classBoolSet.html#bits">BoolSet::bits</a><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="base_8h-source.html#l00106">106</a> of file <a class="el" href="base_8h-source.html">base.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classBoolSet__coll__graph.gif b/docs/module-doc/classBoolSet__coll__graph.gif
deleted file mode 100644
index a430a4a72..000000000
--- a/docs/module-doc/classBoolSet__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classBoolSet__coll__graph.map b/docs/module-doc/classBoolSet__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classBoolSet__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classBoolSet__coll__graph.md5 b/docs/module-doc/classBoolSet__coll__graph.md5
deleted file mode 100644
index c861c5189..000000000
--- a/docs/module-doc/classBoolSet__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-88453d18f19c0804f5ae9ad5d18e7152 \ No newline at end of file
diff --git a/docs/module-doc/classConfigReader-members.html b/docs/module-doc/classConfigReader-members.html
deleted file mode 100644
index c4ee48b10..000000000
--- a/docs/module-doc/classConfigReader-members.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!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>ConfigReader Member List</h1>This is the complete list of members for <a class="el" href="classConfigReader.html">ConfigReader</a>, including all inherited members.<p><table>
- <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="classConfigReader.html#cache">cache</a></td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td><code> [protected]</code></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="classConfigReader.html#ConfigReader_28_29">ConfigReader</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#ConfigReader_28std_3A_3Astring_20filename_29">ConfigReader</a>(std::string filename)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">DumpErrors</a>(bool bail, userrec *user)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">Enumerate</a>(std::string tag)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">EnumerateValues</a>(std::string tag, int index)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#error">error</a></td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#errorlog">errorlog</a></td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#GetError_28_29">GetError</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#readerror">readerror</a></td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td><code> [protected]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadFlag</a>(std::string tag, std::string name, int index)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29">ReadInteger</a>(std::string tag, std::string name, int index, bool needs_unsigned)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadValue</a>(std::string tag, std::string name, int index)</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classConfigReader.html b/docs/module-doc/classConfigReader.html
deleted file mode 100644
index e084841af..000000000
--- a/docs/module-doc/classConfigReader.html
+++ /dev/null
@@ -1,780 +0,0 @@
-<!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: ConfigReader 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>ConfigReader Class Reference</h1><!-- doxytag: class="ConfigReader" --><!-- doxytag: inherits="classbase" -->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.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for ConfigReader:<p><center><img src="classConfigReader__inherit__graph.gif" border="0" usemap="#ConfigReader__inherit__map" alt="Inheritance graph"></center>
-<map name="ConfigReader__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="19,7,99,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ConfigReader:<p><center><img src="classConfigReader__coll__graph.gif" border="0" usemap="#ConfigReader__coll__map" alt="Collaboration graph"></center>
-<map name="ConfigReader__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classConfigReader-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="classConfigReader.html#ConfigReader_28_29">ConfigReader</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <a href="#ConfigReader_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#ConfigReader_28std_3A_3Astring_20filename_29">ConfigReader</a> (<a class="el" href="namespaceirc.html#string">std::string</a> filename)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Overloaded constructor. <a href="#ConfigReader_28std_3A_3Astring_20filename_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#_7EConfigReader_28_29">~ConfigReader</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor. <a href="#_7EConfigReader_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="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadValue</a> (<a class="el" href="namespaceirc.html#string">std::string</a> tag, <a class="el" href="namespaceirc.html#string">std::string</a> name, int index)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a value from the config file. <a href="#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">ReadFlag</a> (<a class="el" href="namespaceirc.html#string">std::string</a> tag, <a class="el" href="namespaceirc.html#string">std::string</a> name, int index)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a boolean value from the config file. <a href="#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" 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="el" href="namespaceirc.html#string">std::string</a> tag, <a class="el" href="namespaceirc.html#string">std::string</a> name, int index, bool needs_unsigned)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves an integer value from the config file. <a href="#ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#GetError_28_29">GetError</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the last error to occur. <a href="#GetError_28_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="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">Enumerate</a> (<a class="el" href="namespaceirc.html#string">std::string</a> tag)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Counts the number of times a given tag appears in the config file. <a href="#Enumerate_28std_3A_3Astring_20tag_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#Verify_28_29">Verify</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a config file is valid. <a href="#Verify_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="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">DumpErrors</a> (bool bail, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Dumps the list of errors in a config file to an output location. <a href="#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_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="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">EnumerateValues</a> (<a class="el" href="namespaceirc.html#string">std::string</a> tag, int index)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of items within a tag. <a href="#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::stringstream *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#cache">cache</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed). <a href="#cache"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::stringstream *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#errorlog">errorlog</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#readerror">readerror</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to store errors. <a href="#readerror"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConfigReader.html#error">error</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-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.
-<p>
-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.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01550">1550</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>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">ConfigReader::ConfigReader </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>
-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#l00735">735</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">cache</a>, <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig::ClearStack()</a>, <a class="el" href="modules_8h-source.html#l01541">CONF_FILE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01563">error</a>, <a class="el" href="modules_8h-source.html#l01559">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#l01562">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00736"></a>00736 {
-<a name="l00737"></a>00737 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00738"></a>00738 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="l00739"></a>00739 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="l00740"></a>00740 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="l00741"></a>00741 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00742"></a>00742 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="l00743"></a>00743 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ConfigReader_28std_3A_3Astring_20filename_29"></a><!-- doxytag: member="ConfigReader::ConfigReader" ref="ConfigReader_28std_3A_3Astring_20filename_29" args="(std::string filename)" --><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">ConfigReader::ConfigReader </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </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>
-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#l00755">755</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">cache</a>, <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig::ClearStack()</a>, <a class="el" href="modules_8h-source.html#l01541">CONF_FILE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01563">error</a>, <a class="el" href="modules_8h-source.html#l01559">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#l01562">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00756"></a>00756 {
-<a name="l00757"></a>00757 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00758"></a>00758 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="l00759"></a>00759 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="l00760"></a>00760 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="l00761"></a>00761 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00762"></a>00762 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="l00763"></a>00763 };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7EConfigReader_28_29"></a><!-- doxytag: member="ConfigReader::~ConfigReader" ref="_7EConfigReader_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">ConfigReader::~ConfigReader </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>
-Default destructor.
-<p>
-This method destroys the ConfigReader class.
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00746">746</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">cache</a>, and <a class="el" href="modules_8h-source.html#l01559">errorlog</a>.<div class="fragment"><pre class="fragment"><a name="l00747"></a>00747 {
-<a name="l00748"></a>00748 <span class="keywordflow">if</span> (this-&gt;cache)
-<a name="l00749"></a>00749 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>;
-<a name="l00750"></a>00750 <span class="keywordflow">if</span> (this-&gt;errorlog)
-<a name="l00751"></a>00751 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
-<a name="l00752"></a>00752 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="ConfigReader::DumpErrors" ref="DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29" args="(bool bail, userrec *user)" --><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 ConfigReader::DumpErrors </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname" nowrap> <em>bail</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</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>
-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#l00834">834</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01559">errorlog</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="users_8h-source.html#l00128">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="l00835"></a>00835 {
-<a name="l00836"></a>00836 <span class="keywordflow">if</span> (bail)
-<a name="l00837"></a>00837 {
-<a name="l00838"></a>00838 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="l00839"></a>00839 exit(0);
-<a name="l00840"></a>00840 }
-<a name="l00841"></a>00841 <span class="keywordflow">else</span>
-<a name="l00842"></a>00842 {
-<a name="l00843"></a>00843 <span class="keywordtype">char</span> dataline[1024];
-<a name="l00844"></a>00844 <span class="keywordflow">if</span> (user)
-<a name="l00845"></a>00845 {
-<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 :There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00847"></a>00847 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00848"></a>00848 {
-<a name="l00849"></a>00849 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00850"></a>00850 <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="l00851"></a>00851 }
-<a name="l00852"></a>00852 }
-<a name="l00853"></a>00853 <span class="keywordflow">else</span>
-<a name="l00854"></a>00854 {
-<a name="l00855"></a>00855 <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="l00856"></a>00856 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00857"></a>00857 {
-<a name="l00858"></a>00858 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00859"></a>00859 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(dataline);
-<a name="l00860"></a>00860 }
-<a name="l00861"></a>00861 }
-<a name="l00862"></a>00862 <span class="keywordflow">return</span>;
-<a name="l00863"></a>00863 }
-<a name="l00864"></a>00864 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Enumerate_28std_3A_3Astring_20tag_29"></a><!-- doxytag: member="ConfigReader::Enumerate" ref="Enumerate_28std_3A_3Astring_20tag_29" args="(std::string tag)" --><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 ConfigReader::Enumerate </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>tag</em> </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>
-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#l00867">867</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">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="l00868"></a>00868 {
-<a name="l00869"></a>00869 <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="l00870"></a>00870 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29"></a><!-- doxytag: member="ConfigReader::EnumerateValues" ref="EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29" args="(std::string tag, int index)" --><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 ConfigReader::EnumerateValues </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>index</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>
-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#l00872">872</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">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="l00873"></a>00873 {
-<a name="l00874"></a>00874 <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="l00875"></a>00875 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetError_28_29"></a><!-- doxytag: member="ConfigReader::GetError" ref="GetError_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">long ConfigReader::GetError </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 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#l00827">827</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01563">error</a>.<div class="fragment"><pre class="fragment"><a name="l00828"></a>00828 {
-<a name="l00829"></a>00829 <span class="keywordtype">long</span> olderr = this-&gt;<a class="code" href="classConfigReader.html#error">error</a>;
-<a name="l00830"></a>00830 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = 0;
-<a name="l00831"></a>00831 <span class="keywordflow">return</span> olderr;
-<a name="l00832"></a>00832 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29"></a><!-- doxytag: member="ConfigReader::ReadFlag" ref="ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29" args="(std::string tag, std::string name, int index)" --><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">bool ConfigReader::ReadFlag </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</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>name</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>index</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>
-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#l00781">781</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">cache</a>, <a class="el" href="modules_8h-source.html#l01540">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01563">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="l00782"></a>00782 {
-<a name="l00783"></a>00783 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00784"></a>00784 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00785"></a>00785 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00786"></a>00786 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00787"></a>00787 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00788"></a>00788 <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="l00789"></a>00789 <span class="keywordflow">if</span> (!res)
-<a name="l00790"></a>00790 {
-<a name="l00791"></a>00791 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="l00792"></a>00792 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00793"></a>00793 }
-<a name="l00794"></a>00794 <a class="code" href="namespaceirc.html#string">std::string</a> s = val;
-<a name="l00795"></a>00795 <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="l00796"></a>00796 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29"></a><!-- doxytag: member="ConfigReader::ReadInteger" ref="ReadInteger_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_2C_20bool_20needs_5Funsigned_29" args="(std::string tag, std::string name, int index, bool needs_unsigned)" --><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">long ConfigReader::ReadInteger </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</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>name</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>needs_unsigned</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>
-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#l00798">798</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">cache</a>, <a class="el" href="modules_8h-source.html#l01538">CONF_NOT_A_NUMBER</a>, <a class="el" href="modules_8h-source.html#l01539">CONF_NOT_UNSIGNED</a>, <a class="el" href="modules_8h-source.html#l01540">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01563">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="l00799"></a>00799 {
-<a name="l00800"></a>00800 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00801"></a>00801 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00802"></a>00802 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00803"></a>00803 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00804"></a>00804 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00805"></a>00805 <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="l00806"></a>00806 <span class="keywordflow">if</span> (!res)
-<a name="l00807"></a>00807 {
-<a name="l00808"></a>00808 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="l00809"></a>00809 <span class="keywordflow">return</span> 0;
-<a name="l00810"></a>00810 }
-<a name="l00811"></a>00811 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(val); i++)
-<a name="l00812"></a>00812 {
-<a name="l00813"></a>00813 <span class="keywordflow">if</span> (!isdigit(val[i]))
-<a name="l00814"></a>00814 {
-<a name="l00815"></a>00815 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="l00816"></a>00816 <span class="keywordflow">return</span> 0;
-<a name="l00817"></a>00817 }
-<a name="l00818"></a>00818 }
-<a name="l00819"></a>00819 <span class="keywordflow">if</span> ((needs_unsigned) &amp;&amp; (atoi(val)&lt;0))
-<a name="l00820"></a>00820 {
-<a name="l00821"></a>00821 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="l00822"></a>00822 <span class="keywordflow">return</span> 0;
-<a name="l00823"></a>00823 }
-<a name="l00824"></a>00824 <span class="keywordflow">return</span> atoi(val);
-<a name="l00825"></a>00825 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29"></a><!-- doxytag: member="ConfigReader::ReadValue" ref="ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29" args="(std::string tag, std::string name, int index)" --><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> ConfigReader::ReadValue </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</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>name</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>index</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>
-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#l00765">765</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01558">cache</a>, <a class="el" href="modules_8h-source.html#l01540">CONF_VALUE_NOT_FOUND</a>, <a class="el" href="modules_8h-source.html#l01563">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="l00766"></a>00766 {
-<a name="l00767"></a>00767 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00768"></a>00768 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00769"></a>00769 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00770"></a>00770 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00771"></a>00771 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00772"></a>00772 <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="l00773"></a>00773 <span class="keywordflow">if</span> (!res)
-<a name="l00774"></a>00774 {
-<a name="l00775"></a>00775 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="l00776"></a>00776 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00777"></a>00777 }
-<a name="l00778"></a>00778 <span class="keywordflow">return</span> val;
-<a name="l00779"></a>00779 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Verify_28_29"></a><!-- doxytag: member="ConfigReader::Verify" ref="Verify_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">bool ConfigReader::Verify </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 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#l00877">877</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01562">readerror</a>.<div class="fragment"><pre class="fragment"><a name="l00878"></a>00878 {
-<a name="l00879"></a>00879 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a>;
-<a name="l00880"></a>00880 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="cache"></a><!-- doxytag: member="ConfigReader::cache" ref="cache" 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::stringstream* <a class="el" href="classConfigReader.html#cache">ConfigReader::cache</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The contents of the configuration file This protected member should never be accessed by a module (and cannot be accessed unless the core is changed).
-<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#l01558">1558</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#l00735">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00867">Enumerate()</a>, <a class="el" href="modules_8cpp-source.html#l00872">EnumerateValues()</a>, <a class="el" href="modules_8cpp-source.html#l00781">ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00798">ReadInteger()</a>, <a class="el" href="modules_8cpp-source.html#l00765">ReadValue()</a>, and <a class="el" href="modules_8cpp-source.html#l00746">~ConfigReader()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="error"></a><!-- doxytag: member="ConfigReader::error" ref="error" 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">long <a class="el" href="classConfigReader.html#error">ConfigReader::error</a><code> [protected]</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="modules_8h-source.html#l01563">1563</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#l00735">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00827">GetError()</a>, <a class="el" href="modules_8cpp-source.html#l00781">ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00798">ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00765">ReadValue()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="errorlog"></a><!-- doxytag: member="ConfigReader::errorlog" ref="errorlog" 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::stringstream* <a class="el" href="classConfigReader.html#errorlog">ConfigReader::errorlog</a><code> [protected]</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="modules_8h-source.html#l01559">1559</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#l00735">ConfigReader()</a>, <a class="el" href="modules_8cpp-source.html#l00834">DumpErrors()</a>, and <a class="el" href="modules_8cpp-source.html#l00746">~ConfigReader()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="readerror"></a><!-- doxytag: member="ConfigReader::readerror" ref="readerror" 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">bool <a class="el" href="classConfigReader.html#readerror">ConfigReader::readerror</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used to store errors.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01562">1562</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#l00735">ConfigReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00877">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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classConfigReader__coll__graph.gif b/docs/module-doc/classConfigReader__coll__graph.gif
deleted file mode 100644
index a40a68c79..000000000
--- a/docs/module-doc/classConfigReader__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classConfigReader__coll__graph.map b/docs/module-doc/classConfigReader__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classConfigReader__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classConfigReader__coll__graph.md5 b/docs/module-doc/classConfigReader__coll__graph.md5
deleted file mode 100644
index 533d84fda..000000000
--- a/docs/module-doc/classConfigReader__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-c56dd697e22ce3c20fa3cd4bd9a8d674 \ No newline at end of file
diff --git a/docs/module-doc/classConfigReader__inherit__graph.gif b/docs/module-doc/classConfigReader__inherit__graph.gif
deleted file mode 100644
index 00519120e..000000000
--- a/docs/module-doc/classConfigReader__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classConfigReader__inherit__graph.map b/docs/module-doc/classConfigReader__inherit__graph.map
deleted file mode 100644
index 2a63d2e6a..000000000
--- a/docs/module-doc/classConfigReader__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 19,7 99,34
diff --git a/docs/module-doc/classConfigReader__inherit__graph.md5 b/docs/module-doc/classConfigReader__inherit__graph.md5
deleted file mode 100644
index 4ca91dca8..000000000
--- a/docs/module-doc/classConfigReader__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-d7b98fb3005dcfa23e616ed1d133423e \ No newline at end of file
diff --git a/docs/module-doc/classConnectClass-members.html b/docs/module-doc/classConnectClass-members.html
deleted file mode 100644
index 3f61ec958..000000000
--- a/docs/module-doc/classConnectClass-members.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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>ConnectClass Member List</h1>This is the complete list of members for <a class="el" href="classConnectClass.html">ConnectClass</a>, including all inherited members.<p><table>
- <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="classConnectClass.html#ConnectClass_28_29">ConnectClass</a>()</td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classConnectClass.html#flood">flood</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#host_5BMAXBUF_5D">host</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#pass_5BMAXBUF_5D">pass</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#pingtime">pingtime</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#recvqmax">recvqmax</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#registration_5Ftimeout">registration_timeout</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#sendqmax">sendqmax</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#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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classConnectClass.html b/docs/module-doc/classConnectClass.html
deleted file mode 100644
index 799f9b125..000000000
--- a/docs/module-doc/classConnectClass.html
+++ /dev/null
@@ -1,370 +0,0 @@
-<!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: ConnectClass 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>ConnectClass Class Reference</h1><!-- doxytag: class="ConnectClass" --><!-- doxytag: inherits="classbase" -->Holds information relevent to &lt;connect allow&gt; and &lt;connect deny&gt; tags in the config file.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="users_8h-source.html">users.h</a>&gt;</code>
-<p>
-Inheritance diagram for ConnectClass:<p><center><img src="classConnectClass__inherit__graph.gif" border="0" usemap="#ConnectClass__inherit__map" alt="Inheritance graph"></center>
-<map name="ConnectClass__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="19,7,99,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ConnectClass:<p><center><img src="classConnectClass__coll__graph.gif" border="0" usemap="#ConnectClass__coll__map" alt="Collaboration graph"></center>
-<map name="ConnectClass__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classConnectClass-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="classConnectClass.html#ConnectClass_28_29">ConnectClass</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public 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="classConnectClass.html#type">type</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type of line, either CC_ALLOW or CC_DENY. <a href="#type"></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="classConnectClass.html#registration_5Ftimeout">registration_timeout</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Max time to register the connection in seconds. <a href="#registration_5Ftimeout"></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="classConnectClass.html#flood">flood</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of lines in buffer before excess flood is triggered. <a href="#flood"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConnectClass.html#host_5BMAXBUF_5D">host</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Host mask for this line. <a href="#host_5BMAXBUF_5D"></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="classConnectClass.html#pingtime">pingtime</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of seconds between pings for this line. <a href="#pingtime"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConnectClass.html#pass_5BMAXBUF_5D">pass</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">(Optional) Password for this line <a href="#pass_5BMAXBUF_5D"></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="classConnectClass.html#threshold">threshold</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Threshold value for flood disconnect. <a href="#threshold"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConnectClass.html#sendqmax">sendqmax</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum size of sendq for users in this class (bytes). <a href="#sendqmax"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classConnectClass.html#recvqmax">recvqmax</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum size of recvq for users in this class (bytes). <a href="#recvqmax"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds information relevent to &lt;connect allow&gt; and &lt;connect deny&gt; tags in the config file.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00052">52</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="ConnectClass_28_29"></a><!-- doxytag: member="ConnectClass::ConnectClass" ref="ConnectClass_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">ConnectClass::ConnectClass </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><code> [inline]</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="users_8h-source.html#l00086">86</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00063">flood</a>, <a class="el" href="users_8h-source.html#l00066">host</a>, <a class="el" href="users_8h-source.html#l00072">pass</a>, <a class="el" href="users_8h-source.html#l00069">pingtime</a>, <a class="el" href="users_8h-source.html#l00084">recvqmax</a>, <a class="el" href="users_8h-source.html#l00060">registration_timeout</a>, <a class="el" href="users_8h-source.html#l00080">sendqmax</a>, and <a class="el" href="users_8h-source.html#l00076">threshold</a>.<div class="fragment"><pre class="fragment"><a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <a class="code" href="classConnectClass.html#registration_5Ftimeout">registration_timeout</a> = 0;
-<a name="l00089"></a>00089 <a class="code" href="classConnectClass.html#flood">flood</a> = 0;
-<a name="l00090"></a>00090 <a class="code" href="classConnectClass.html#pingtime">pingtime</a> = 0;
-<a name="l00091"></a>00091 <a class="code" href="classConnectClass.html#threshold">threshold</a> = 0;
-<a name="l00092"></a>00092 <a class="code" href="classConnectClass.html#sendqmax">sendqmax</a> = 0;
-<a name="l00093"></a>00093 <a class="code" href="classConnectClass.html#recvqmax">recvqmax</a> = 0;
-<a name="l00094"></a>00094 strlcpy(<a class="code" href="classConnectClass.html#host_5BMAXBUF_5D">host</a>,<span class="stringliteral">""</span>,MAXBUF);
-<a name="l00095"></a>00095 strlcpy(<a class="code" href="classConnectClass.html#pass_5BMAXBUF_5D">pass</a>,<span class="stringliteral">""</span>,MAXBUF);
-<a name="l00096"></a>00096 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="flood"></a><!-- doxytag: member="ConnectClass::flood" ref="flood" 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 <a class="el" href="classConnectClass.html#flood">ConnectClass::flood</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Number of lines in buffer before excess flood is triggered.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00063">63</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="host_5BMAXBUF_5D"></a><!-- doxytag: member="ConnectClass::host" ref="host_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="classConnectClass.html#host_5BMAXBUF_5D">ConnectClass::host</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Host mask for this line.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00066">66</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="pass_5BMAXBUF_5D"></a><!-- doxytag: member="ConnectClass::pass" ref="pass_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="classConnectClass.html#pass_5BMAXBUF_5D">ConnectClass::pass</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-(Optional) Password for this line
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00072">72</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="pingtime"></a><!-- doxytag: member="ConnectClass::pingtime" ref="pingtime" 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 <a class="el" href="classConnectClass.html#pingtime">ConnectClass::pingtime</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Number of seconds between pings for this line.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00069">69</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="recvqmax"></a><!-- doxytag: member="ConnectClass::recvqmax" ref="recvqmax" 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">long <a class="el" href="classConnectClass.html#recvqmax">ConnectClass::recvqmax</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maximum size of recvq for users in this class (bytes).
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00084">84</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="registration_5Ftimeout"></a><!-- doxytag: member="ConnectClass::registration_timeout" ref="registration_5Ftimeout" 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 <a class="el" href="classConnectClass.html#registration_5Ftimeout">ConnectClass::registration_timeout</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Max time to register the connection in seconds.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00060">60</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="sendqmax"></a><!-- doxytag: member="ConnectClass::sendqmax" ref="sendqmax" 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">long <a class="el" href="classConnectClass.html#sendqmax">ConnectClass::sendqmax</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maximum size of sendq for users in this class (bytes).
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00080">80</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="threshold"></a><!-- doxytag: member="ConnectClass::threshold" ref="threshold" 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 <a class="el" href="classConnectClass.html#threshold">ConnectClass::threshold</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Threshold value for flood disconnect.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00076">76</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
-<p>
-Referenced by <a class="el" href="users_8h-source.html#l00086">ConnectClass()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="type"></a><!-- doxytag: member="ConnectClass::type" ref="type" 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 <a class="el" href="classConnectClass.html#type">ConnectClass::type</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Type of line, either CC_ALLOW or CC_DENY.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00057">57</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classConnectClass__coll__graph.gif b/docs/module-doc/classConnectClass__coll__graph.gif
deleted file mode 100644
index f9003df11..000000000
--- a/docs/module-doc/classConnectClass__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classConnectClass__coll__graph.map b/docs/module-doc/classConnectClass__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classConnectClass__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classConnectClass__coll__graph.md5 b/docs/module-doc/classConnectClass__coll__graph.md5
deleted file mode 100644
index 386fe62e5..000000000
--- a/docs/module-doc/classConnectClass__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-96da8598edb3fe496b7465ff87b486c8 \ No newline at end of file
diff --git a/docs/module-doc/classConnectClass__inherit__graph.gif b/docs/module-doc/classConnectClass__inherit__graph.gif
deleted file mode 100644
index 57b5503c1..000000000
--- a/docs/module-doc/classConnectClass__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classConnectClass__inherit__graph.map b/docs/module-doc/classConnectClass__inherit__graph.map
deleted file mode 100644
index 2a63d2e6a..000000000
--- a/docs/module-doc/classConnectClass__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 19,7 99,34
diff --git a/docs/module-doc/classConnectClass__inherit__graph.md5 b/docs/module-doc/classConnectClass__inherit__graph.md5
deleted file mode 100644
index e034e7874..000000000
--- a/docs/module-doc/classConnectClass__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-5d61e64e769d14d08dfe0f37a00b141b \ No newline at end of file
diff --git a/docs/module-doc/classCullItem-members.html b/docs/module-doc/classCullItem-members.html
deleted file mode 100644
index 121a82366..000000000
--- a/docs/module-doc/classCullItem-members.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classCullItem.html b/docs/module-doc/classCullItem.html
deleted file mode 100644
index 06900037c..000000000
--- a/docs/module-doc/classCullItem.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classCullItem__coll__graph.gif b/docs/module-doc/classCullItem__coll__graph.gif
deleted file mode 100644
index 8c1aced31..000000000
--- a/docs/module-doc/classCullItem__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classCullItem__coll__graph.map b/docs/module-doc/classCullItem__coll__graph.map
deleted file mode 100644
index bda5d1397..000000000
--- a/docs/module-doc/classCullItem__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-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
deleted file mode 100644
index cff8e7180..000000000
--- a/docs/module-doc/classCullItem__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-9d61b45ecc01934af9274355ddb80aeb \ No newline at end of file
diff --git a/docs/module-doc/classCullList-members.html b/docs/module-doc/classCullList-members.html
deleted file mode 100644
index be4e0bd65..000000000
--- a/docs/module-doc/classCullList-members.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classCullList.html b/docs/module-doc/classCullList.html
deleted file mode 100644
index f6c40f379..000000000
--- a/docs/module-doc/classCullList.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<!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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classCullList__coll__graph.gif b/docs/module-doc/classCullList__coll__graph.gif
deleted file mode 100644
index 345d611ab..000000000
--- a/docs/module-doc/classCullList__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classCullList__coll__graph.map b/docs/module-doc/classCullList__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classCullList__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classCullList__coll__graph.md5 b/docs/module-doc/classCullList__coll__graph.md5
deleted file mode 100644
index 08f5d16b2..000000000
--- a/docs/module-doc/classCullList__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-b81df992144d9e553d1d2e340caa3110 \ No newline at end of file
diff --git a/docs/module-doc/classDNS-members.html b/docs/module-doc/classDNS-members.html
deleted file mode 100644
index 05ef7706b..000000000
--- a/docs/module-doc/classDNS-members.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!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>DNS Member List</h1>This is the complete list of members for <a class="el" href="classDNS.html">DNS</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classDNS.html#binip">binip</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#DNS_28_29">DNS</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classDNS.html#DNS_28std_3A_3Astring_20dnsserver_29">DNS</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#dns_5Faton_34_28const_20char_20_2Aconst_20ipstring_29">dns_aton4</a>(const char *const ipstring)</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#dns_5Faton_34_5Fr_28const_20char_20_2Aconst_20ipstring_29">dns_aton4_r</a>(const char *const ipstring)</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#dns_5Faton_34_5Fs_28const_20char_20_2Aconst_20ipstring_2C_20in_5Faddr_20_2Aconst_20ip_29">dns_aton4_s</a>(const char *const ipstring, in_addr *const ip)</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#dns_5Fgetip_34_28const_20char_20_2Aconst_20name_29">dns_getip4</a>(const char *const name)</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#dns_5Fgetip_34list_28const_20char_20_2Aconst_20name_29">dns_getip4list</a>(const char *const name)</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#dns_5Fgetname_34_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_getname4</a>(const in_addr *const ip)</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#dns_5Fgetresult_28const_20int_20fd_29">dns_getresult</a>(const int fd)</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#dns_5Fgetresult_5Fr_28const_20int_20fd_29">dns_getresult_r</a>(const int fd)</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#dns_5Fgetresult_5Fs_28const_20int_20fd_2C_20char_20_2Aconst_20result_29">dns_getresult_s</a>(const int fd, char *const result)</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#dns_5Finit_28_29">dns_init</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#dns_5Finit_5F_32_28const_20char_20_2Adnsserver_29">dns_init_2</a>(const char *dnsserver)</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#dns_5Fntoa_34_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_ntoa4</a>(const in_addr *const ip)</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#dns_5Fntoa_34_5Fr_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_ntoa4_r</a>(const in_addr *const ip)</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#dns_5Fntoa_34_5Fs_28const_20in_5Faddr_20_2Aconst_20ip_2C_20char_20_2Aconst_20result_29">dns_ntoa4_s</a>(const in_addr *const ip, char *const result)</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#ForwardLookup_28std_3A_3Astring_20host_29">ForwardLookup</a>(std::string host)</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classDNS.html#GetFD_28_29">GetFD</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classDNS.html#GetResult_28_29">GetResult</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classDNS.html#GetResultIP_28_29">GetResultIP</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classDNS.html#HasResult_28_29">HasResult</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classDNS.html#HasResult_28int_20fd_29">HasResult</a>(int fd)</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classDNS.html#localbuf_5B_31_30_32_34_5D">localbuf</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#myfd">myfd</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#result">result</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#ReverseLookup_28std_3A_3Astring_20ip_29">ReverseLookup</a>(std::string ip)</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classDNS.html b/docs/module-doc/classDNS.html
deleted file mode 100644
index e72369b41..000000000
--- a/docs/module-doc/classDNS.html
+++ /dev/null
@@ -1,968 +0,0 @@
-<!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: DNS 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>DNS Class Reference</h1><!-- doxytag: class="DNS" -->The DNS class allows fast nonblocking resolution of hostnames and ip addresses.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="dns_8h-source.html">dns.h</a>&gt;</code>
-<p>
-Collaboration diagram for DNS:<p><center><img src="classDNS__coll__graph.gif" border="0" usemap="#DNS__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classDNS-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="classDNS.html#DNS_28_29">DNS</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default constructor uses dns addresses read from /etc/resolv.conf. <a href="#DNS_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#DNS_28std_3A_3Astring_20dnsserver_29">DNS</a> (<a class="el" href="namespaceirc.html#string">std::string</a> dnsserver)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This constructor accepts a dns server address. <a href="#DNS_28std_3A_3Astring_20dnsserver_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#_7EDNS_28_29">~DNS</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The destructor frees all used structures. <a href="#_7EDNS_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#ReverseLookup_28std_3A_3Astring_20ip_29">ReverseLookup</a> (<a class="el" href="namespaceirc.html#string">std::string</a> ip)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method will start the reverse lookup of an ip given in dotted decimal format, e.g. <a href="#ReverseLookup_28std_3A_3Astring_20ip_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#ForwardLookup_28std_3A_3Astring_20host_29">ForwardLookup</a> (<a class="el" href="namespaceirc.html#string">std::string</a> host)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method will start the forward lookup of a hostname, e.g. <a href="#ForwardLookup_28std_3A_3Astring_20host_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#HasResult_28_29">HasResult</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method will return true when the lookup is completed. <a href="#HasResult_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#HasResult_28int_20fd_29">HasResult</a> (int fd)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method will return true if the lookup's fd matches the one provided. <a href="#HasResult_28int_20fd_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="classDNS.html#GetResult_28_29">GetResult</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns the result of your query as a string, depending upon wether you called <a class="el" href="classDNS.html#ReverseLookup_28std_3A_3Astring_20ip_29">DNS::ReverseLookup()</a> or <a class="el" href="classDNS.html#ForwardLookup_28std_3A_3Astring_20host_29">DNS::ForwardLookup</a>. <a href="#GetResult_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="classDNS.html#GetResultIP_28_29">GetResultIP</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#GetFD_28_29">GetFD</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. <a href="#GetFD_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="classDNS.html#SetNS_28std_3A_3Astring_20dnsserver_29">SetNS</a> (<a class="el" href="namespaceirc.html#string">std::string</a> dnsserver)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Finit_28_29">dns_init</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Finit_5F_32_28const_20char_20_2Adnsserver_29">dns_init_2</a> (const char *dnsserver)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">in_addr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Faton_34_28const_20char_20_2Aconst_20ipstring_29">dns_aton4</a> (const char *const ipstring)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fntoa_34_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_ntoa4</a> (const in_addr *const ip)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fgetip_34_28const_20char_20_2Aconst_20name_29">dns_getip4</a> (const char *const name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fgetip_34list_28const_20char_20_2Aconst_20name_29">dns_getip4list</a> (const char *const name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fgetname_34_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_getname4</a> (const in_addr *const ip)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fgetresult_28const_20int_20fd_29">dns_getresult</a> (const int fd)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">in_addr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Faton_34_5Fs_28const_20char_20_2Aconst_20ipstring_2C_20in_5Faddr_20_2Aconst_20ip_29">dns_aton4_s</a> (const char *const ipstring, in_addr *const ip)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fntoa_34_5Fs_28const_20in_5Faddr_20_2Aconst_20ip_2C_20char_20_2Aconst_20result_29">dns_ntoa4_s</a> (const in_addr *const ip, char *const <a class="el" href="classDNS.html#result">result</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fgetresult_5Fs_28const_20int_20fd_2C_20char_20_2Aconst_20result_29">dns_getresult_s</a> (const int fd, char *const <a class="el" href="classDNS.html#result">result</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">in_addr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Faton_34_5Fr_28const_20char_20_2Aconst_20ipstring_29">dns_aton4_r</a> (const char *const ipstring)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fntoa_34_5Fr_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_ntoa4_r</a> (const in_addr *const ip)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#dns_5Fgetresult_5Fr_28const_20int_20fd_29">dns_getresult_r</a> (const int fd)</td></tr>
-
-<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">in_addr *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#binip">binip</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#result">result</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#localbuf_5B_31_30_32_34_5D">localbuf</a> [1024]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#t">t</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html#myfd">myfd</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The DNS class allows fast nonblocking resolution of hostnames and ip addresses.
-<p>
-It is based heavily upon firedns by Ian Gulliver.
-<p>
-
-<p>
-Definition at line <a class="el" href="dns_8h-source.html#l00035">35</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="DNS_28_29"></a><!-- doxytag: member="DNS::DNS" ref="DNS_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">DNS::DNS </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>
-The default constructor uses dns addresses read from /etc/resolv.conf.
-<p>
-Please note that it will re-read /etc/resolv.conf for each copy of the class you instantiate, causing disk access and slow lookups if you create a lot of them. Consider passing the constructor a server address as a parameter instead. </td>
- </tr>
-</table>
-<a class="anchor" name="DNS_28std_3A_3Astring_20dnsserver_29"></a><!-- doxytag: member="DNS::DNS" ref="DNS_28std_3A_3Astring_20dnsserver_29" args="(std::string dnsserver)" --><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">DNS::DNS </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>dnsserver</em> </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>
-This constructor accepts a dns server address.
-<p>
-The address must be in dotted decimal form, e.g. 1.2.3.4. </td>
- </tr>
-</table>
-<a class="anchor" name="_7EDNS_28_29"></a><!-- doxytag: member="DNS::~DNS" ref="_7EDNS_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">DNS::~DNS </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>
-The destructor frees all used structures.
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="dns_5Faton_34_28const_20char_20_2Aconst_20ipstring_29"></a><!-- doxytag: member="DNS::dns_aton4" ref="dns_5Faton_34_28const_20char_20_2Aconst_20ipstring_29" args="(const char *const ipstring)" --><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">in_addr* DNS::dns_aton4 </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *const &nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ipstring</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Faton_34_5Fr_28const_20char_20_2Aconst_20ipstring_29"></a><!-- doxytag: member="DNS::dns_aton4_r" ref="dns_5Faton_34_5Fr_28const_20char_20_2Aconst_20ipstring_29" args="(const char *const ipstring)" --><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">in_addr* DNS::dns_aton4_r </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *const &nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ipstring</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Faton_34_5Fs_28const_20char_20_2Aconst_20ipstring_2C_20in_5Faddr_20_2Aconst_20ip_29"></a><!-- doxytag: member="DNS::dns_aton4_s" ref="dns_5Faton_34_5Fs_28const_20char_20_2Aconst_20ipstring_2C_20in_5Faddr_20_2Aconst_20ip_29" args="(const char *const ipstring, in_addr *const ip)" --><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">in_addr* DNS::dns_aton4_s </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *const &nbsp;</td>
- <td class="mdname" nowrap> <em>ipstring</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>in_addr *const &nbsp;</td>
- <td class="mdname" nowrap> <em>ip</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [private]</code></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="dns_5Fgetip_34_28const_20char_20_2Aconst_20name_29"></a><!-- doxytag: member="DNS::dns_getip4" ref="dns_5Fgetip_34_28const_20char_20_2Aconst_20name_29" args="(const char *const name)" --><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 DNS::dns_getip4 </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *const &nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fgetip_34list_28const_20char_20_2Aconst_20name_29"></a><!-- doxytag: member="DNS::dns_getip4list" ref="dns_5Fgetip_34list_28const_20char_20_2Aconst_20name_29" args="(const char *const name)" --><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 DNS::dns_getip4list </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *const &nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fgetname_34_28const_20in_5Faddr_20_2Aconst_20ip_29"></a><!-- doxytag: member="DNS::dns_getname4" ref="dns_5Fgetname_34_28const_20in_5Faddr_20_2Aconst_20ip_29" args="(const in_addr *const ip)" --><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 DNS::dns_getname4 </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const in_addr *const &nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ip</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fgetresult_28const_20int_20fd_29"></a><!-- doxytag: member="DNS::dns_getresult" ref="dns_5Fgetresult_28const_20int_20fd_29" args="(const int fd)" --><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* DNS::dns_getresult </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fd</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fgetresult_5Fr_28const_20int_20fd_29"></a><!-- doxytag: member="DNS::dns_getresult_r" ref="dns_5Fgetresult_5Fr_28const_20int_20fd_29" args="(const int fd)" --><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* DNS::dns_getresult_r </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fd</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fgetresult_5Fs_28const_20int_20fd_2C_20char_20_2Aconst_20result_29"></a><!-- doxytag: member="DNS::dns_getresult_s" ref="dns_5Fgetresult_5Fs_28const_20int_20fd_2C_20char_20_2Aconst_20result_29" args="(const int fd, char *const result)" --><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* DNS::dns_getresult_s </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const int&nbsp;</td>
- <td class="mdname" nowrap> <em>fd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *const &nbsp;</td>
- <td class="mdname" nowrap> <em>result</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [private]</code></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="dns_5Finit_28_29"></a><!-- doxytag: member="DNS::dns_init" ref="dns_5Finit_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">void DNS::dns_init </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><code> [private]</code></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="dns_5Finit_5F_32_28const_20char_20_2Adnsserver_29"></a><!-- doxytag: member="DNS::dns_init_2" ref="dns_5Finit_5F_32_28const_20char_20_2Adnsserver_29" args="(const char *dnsserver)" --><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 DNS::dns_init_2 </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>dnsserver</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fntoa_34_28const_20in_5Faddr_20_2Aconst_20ip_29"></a><!-- doxytag: member="DNS::dns_ntoa4" ref="dns_5Fntoa_34_28const_20in_5Faddr_20_2Aconst_20ip_29" args="(const in_addr *const ip)" --><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* DNS::dns_ntoa4 </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const in_addr *const &nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ip</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fntoa_34_5Fr_28const_20in_5Faddr_20_2Aconst_20ip_29"></a><!-- doxytag: member="DNS::dns_ntoa4_r" ref="dns_5Fntoa_34_5Fr_28const_20in_5Faddr_20_2Aconst_20ip_29" args="(const in_addr *const ip)" --><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* DNS::dns_ntoa4_r </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const in_addr *const &nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ip</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="dns_5Fntoa_34_5Fs_28const_20in_5Faddr_20_2Aconst_20ip_2C_20char_20_2Aconst_20result_29"></a><!-- doxytag: member="DNS::dns_ntoa4_s" ref="dns_5Fntoa_34_5Fs_28const_20in_5Faddr_20_2Aconst_20ip_2C_20char_20_2Aconst_20result_29" args="(const in_addr *const ip, char *const result)" --><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* DNS::dns_ntoa4_s </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const in_addr *const &nbsp;</td>
- <td class="mdname" nowrap> <em>ip</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *const &nbsp;</td>
- <td class="mdname" nowrap> <em>result</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [private]</code></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="ForwardLookup_28std_3A_3Astring_20host_29"></a><!-- doxytag: member="DNS::ForwardLookup" ref="ForwardLookup_28std_3A_3Astring_20host_29" args="(std::string host)" --><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">bool DNS::ForwardLookup </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>host</em> </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>
-This method will start the forward lookup of a hostname, e.g.
-<p>
-www.inspircd.org, and returns true if the lookup was successfully initiated. </td>
- </tr>
-</table>
-<a class="anchor" name="GetFD_28_29"></a><!-- doxytag: member="DNS::GetFD" ref="GetFD_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 DNS::GetFD </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>
-This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g.
-<p>
-the dns server not responding. </td>
- </tr>
-</table>
-<a class="anchor" name="GetResult_28_29"></a><!-- doxytag: member="DNS::GetResult" ref="GetResult_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> DNS::GetResult </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>
-This method returns the result of your query as a string, depending upon wether you called <a class="el" href="classDNS.html#ReverseLookup_28std_3A_3Astring_20ip_29">DNS::ReverseLookup()</a> or <a class="el" href="classDNS.html#ForwardLookup_28std_3A_3Astring_20host_29">DNS::ForwardLookup</a>.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetResultIP_28_29"></a><!-- doxytag: member="DNS::GetResultIP" ref="GetResultIP_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> DNS::GetResultIP </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="HasResult_28int_20fd_29"></a><!-- doxytag: member="DNS::HasResult" ref="HasResult_28int_20fd_29" args="(int fd)" --><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">bool DNS::HasResult </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fd</em> </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>
-This method will return true if the lookup's fd matches the one provided.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="HasResult_28_29"></a><!-- doxytag: member="DNS::HasResult" ref="HasResult_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">bool DNS::HasResult </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>
-This method will return true when the lookup is completed.
-<p>
-It uses poll internally to determine the status of the socket. </td>
- </tr>
-</table>
-<a class="anchor" name="ReverseLookup_28std_3A_3Astring_20ip_29"></a><!-- doxytag: member="DNS::ReverseLookup" ref="ReverseLookup_28std_3A_3Astring_20ip_29" args="(std::string ip)" --><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">bool DNS::ReverseLookup </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ip</em> </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>
-This method will start the reverse lookup of an ip given in dotted decimal format, e.g.
-<p>
-1.2.3.4, and returns true if the lookup was successfully initiated. </td>
- </tr>
-</table>
-<a class="anchor" name="SetNS_28std_3A_3Astring_20dnsserver_29"></a><!-- doxytag: member="DNS::SetNS" ref="SetNS_28std_3A_3Astring_20dnsserver_29" args="(std::string dnsserver)" --><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 DNS::SetNS </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>dnsserver</em> </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>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="binip"></a><!-- doxytag: member="DNS::binip" ref="binip" 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">in_addr* <a class="el" href="classDNS.html#binip">DNS::binip</a><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="dns_8h-source.html#l00038">38</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="localbuf_5B_31_30_32_34_5D"></a><!-- doxytag: member="DNS::localbuf" ref="localbuf_5B_31_30_32_34_5D" args="[1024]" --><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="classDNS.html#localbuf_5B_31_30_32_34_5D">DNS::localbuf</a>[1024]<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="dns_8h-source.html#l00040">40</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="myfd"></a><!-- doxytag: member="DNS::myfd" ref="myfd" 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 <a class="el" href="classDNS.html#myfd">DNS::myfd</a><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="dns_8h-source.html#l00043">43</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="result"></a><!-- doxytag: member="DNS::result" ref="result" 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* <a class="el" href="classDNS.html#result">DNS::result</a><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="dns_8h-source.html#l00039">39</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="t"></a><!-- doxytag: member="DNS::t" ref="t" 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 <a class="el" href="classDNS.html#t">DNS::t</a><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="dns_8h-source.html#l00041">41</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classDNS__coll__graph.gif b/docs/module-doc/classDNS__coll__graph.gif
deleted file mode 100644
index d1cf9cc49..000000000
--- a/docs/module-doc/classDNS__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classDNS__coll__graph.map b/docs/module-doc/classDNS__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classDNS__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classDNS__coll__graph.md5 b/docs/module-doc/classDNS__coll__graph.md5
deleted file mode 100644
index 3b6e88a7e..000000000
--- a/docs/module-doc/classDNS__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-0840238510d3cd2b1f0c40a4d86dbdbe \ No newline at end of file
diff --git a/docs/module-doc/classELine-members.html b/docs/module-doc/classELine-members.html
deleted file mode 100644
index 2797f064f..000000000
--- a/docs/module-doc/classELine-members.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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>ELine Member List</h1>This is the complete list of members for <a class="el" href="classELine.html">ELine</a>, including all inherited members.<p><table>
- <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="classXLine.html#duration">duration</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classELine.html#hostmask_5B_32_30_30_5D">hostmask</a></td><td><a class="el" href="classELine.html">ELine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classXLine.html#n_5Fmatches">n_matches</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#reason_5BMAXBUF_5D">reason</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#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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classELine.html b/docs/module-doc/classELine.html
deleted file mode 100644
index 10bd07baf..000000000
--- a/docs/module-doc/classELine.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!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: ELine 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>ELine Class Reference</h1><!-- doxytag: class="ELine" --><!-- doxytag: inherits="XLine" --><code>#include &lt;<a class="el" href="xline_8h-source.html">xline.h</a>&gt;</code>
-<p>
-Inheritance diagram for ELine:<p><center><img src="classELine__inherit__graph.gif" border="0" usemap="#ELine__inherit__map" alt="Inheritance graph"></center>
-<map name="ELine__inherit__map">
-<area href="classXLine.html" shape="rect" coords="19,81,75,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ELine:<p><center><img src="classELine__coll__graph.gif" border="0" usemap="#ELine__coll__map" alt="Collaboration graph"></center>
-<map name="ELine__coll__map">
-<area href="classXLine.html" shape="rect" coords="165,204,221,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,98,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classELine-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 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="classELine.html#hostmask_5B_32_30_30_5D">hostmask</a> [200]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hostmask (ident) to match against May contain wildcards. <a href="#hostmask_5B_32_30_30_5D"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00087">87</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="hostmask_5B_32_30_30_5D"></a><!-- doxytag: member="ELine::hostmask" ref="hostmask_5B_32_30_30_5D" args="[200]" --><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="classELine.html#hostmask_5B_32_30_30_5D">ELine::hostmask</a>[200] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Hostmask (ident) to match against May contain wildcards.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00093">93</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classELine__coll__graph.gif b/docs/module-doc/classELine__coll__graph.gif
deleted file mode 100644
index 2d3cfef6d..000000000
--- a/docs/module-doc/classELine__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classELine__coll__graph.map b/docs/module-doc/classELine__coll__graph.map
deleted file mode 100644
index 25a1b769a..000000000
--- a/docs/module-doc/classELine__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 165,204 221,231
-rect $classclassbase.html 7,98 87,124
diff --git a/docs/module-doc/classELine__coll__graph.md5 b/docs/module-doc/classELine__coll__graph.md5
deleted file mode 100644
index 6fe0010ee..000000000
--- a/docs/module-doc/classELine__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-2647247e1a43e5ed62e46a0d90214392 \ No newline at end of file
diff --git a/docs/module-doc/classELine__inherit__graph.gif b/docs/module-doc/classELine__inherit__graph.gif
deleted file mode 100644
index f5ccb6ae1..000000000
--- a/docs/module-doc/classELine__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classELine__inherit__graph.map b/docs/module-doc/classELine__inherit__graph.map
deleted file mode 100644
index 37695eb4e..000000000
--- a/docs/module-doc/classELine__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 19,81 75,108
-rect $classclassbase.html 7,7 87,33
diff --git a/docs/module-doc/classELine__inherit__graph.md5 b/docs/module-doc/classELine__inherit__graph.md5
deleted file mode 100644
index ee2337751..000000000
--- a/docs/module-doc/classELine__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-49a9689ad5f9b5a71ec60e80a8964d4d \ No newline at end of file
diff --git a/docs/module-doc/classEvent-members.html b/docs/module-doc/classEvent-members.html
deleted file mode 100644
index c08bfa3bd..000000000
--- a/docs/module-doc/classEvent-members.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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>Event Member List</h1>This is the complete list of members for <a class="el" href="classEvent.html">Event</a>, including all inherited members.<p><table>
- <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="classEvent.html#data">data</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="classEvent.html#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29">Event</a>(char *anydata, Module *src, std::string eventid)</td><td><a class="el" href="classEvent.html">Event</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEvent.html#GetData_28_29">GetData</a>()</td><td><a class="el" href="classEvent.html">Event</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEvent.html#GetEventID_28_29">GetEventID</a>()</td><td><a class="el" href="classEvent.html">Event</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEvent.html#GetSource_28_29">GetSource</a>()</td><td><a class="el" href="classEvent.html">Event</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classEvent.html#id">id</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="classEvent.html#Send_28_29">Send</a>()</td><td><a class="el" href="classEvent.html">Event</a></td><td><code> [virtual]</code></td></tr>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classEvent.html b/docs/module-doc/classEvent.html
deleted file mode 100644
index ab56b1997..000000000
--- a/docs/module-doc/classEvent.html
+++ /dev/null
@@ -1,361 +0,0 @@
-<!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: Event 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>Event Class Reference</h1><!-- doxytag: class="Event" --><!-- doxytag: inherits="ModuleMessage" -->The Event class is a unicast message directed at all modules.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for Event:<p><center><img src="classEvent__inherit__graph.gif" border="0" usemap="#Event__inherit__map" alt="Inheritance graph"></center>
-<map name="Event__inherit__map">
-<area href="classModuleMessage.html" shape="rect" coords="7,81,127,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="27,7,107,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Event:<p><center><img src="classEvent__coll__graph.gif" border="0" usemap="#Event__coll__map" alt="Collaboration graph"></center>
-<map name="Event__coll__map">
-<area href="classModuleMessage.html" shape="rect" coords="7,175,127,202" alt="">
-<area href="classclassbase.html" shape="rect" coords="95,98,175,124" alt="">
-<area href="classModule.html" shape="rect" coords="151,175,217,202" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classEvent-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="classEvent.html#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29">Event</a> (char *anydata, <a class="el" href="classModule.html">Module</a> *src, <a class="el" href="namespaceirc.html#string">std::string</a> eventid)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new Event. <a href="#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#GetData_28_29">GetData</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Event data. <a href="#GetData_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#GetSource_28_29">GetSource</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the event Source. <a href="#GetSource_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="classEvent.html#GetEventID_28_29">GetEventID</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the event ID. <a href="#GetEventID_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#Send_28_29">Send</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the Event. <a href="#Send_28_29"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected 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="classEvent.html#data">data</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This member holds a pointer to arbitary data set by the emitter of the message. <a href="#data"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEvent.html#source">source</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. <a href="#source"></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="classEvent.html#id">id</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The event identifier. <a href="#id"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The Event class is a unicast message directed at all modules.
-<p>
-When the class is properly instantiated it may be sent to all modules using the <a class="el" href="classEvent.html#Send_28_29">Send()</a> method, which will trigger the OnEvent method in all modules passing the object as its parameter.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00215">215</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="Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29"></a><!-- doxytag: member="Event::Event" ref="Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29" args="(char *anydata, Module *src, std::string eventid)" --><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">Event::Event </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>anydata</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>src</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>eventid</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>
-Create a new Event.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00193">193</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00193"></a>00193 : <a class="code" href="classEvent.html#data">data</a>(anydata), <a class="code" href="classEvent.html#source">source</a>(src), <a class="code" href="classEvent.html#id">id</a>(eventid) { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="GetData_28_29"></a><!-- doxytag: member="Event::GetData" ref="GetData_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 * Event::GetData </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>
-Get the Event data.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00195">195</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00220">data</a>.<div class="fragment"><pre class="fragment"><a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classEvent.html#data">data</a>;
-<a name="l00198"></a>00198 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetEventID_28_29"></a><!-- doxytag: member="Event::GetEventID" ref="GetEventID_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> Event::GetEventID </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>
-Get the event ID.
-<p>
-Use this to determine the event type for safe casting of the data
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00211">211</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00229">id</a>.<div class="fragment"><pre class="fragment"><a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classEvent.html#id">id</a>;
-<a name="l00214"></a>00214 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetSource_28_29"></a><!-- doxytag: member="Event::GetSource" ref="GetSource_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="classModule.html">Module</a> * Event::GetSource </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>
-Get the event Source.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00200">200</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00224">source</a>.<div class="fragment"><pre class="fragment"><a name="l00201"></a>00201 {
-<a name="l00202"></a>00202 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classEvent.html#source">source</a>;
-<a name="l00203"></a>00203 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Send_28_29"></a><!-- doxytag: member="Event::Send" ref="Send_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 * Event::Send </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Send the Event.
-<p>
-The return result of an <a class="el" href="classEvent.html#Send_28_29">Event::Send()</a> will always be NULL as no replies are expected.
-<p>
-Implements <a class="el" href="classModuleMessage.html#Send_28_29_3D_30">ModuleMessage</a>.
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00205">205</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>.<div class="fragment"><pre class="fragment"><a name="l00206"></a>00206 {
-<a name="l00207"></a>00207 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnEvent(<span class="keyword">this</span>);
-<a name="l00208"></a>00208 <span class="keywordflow">return</span> NULL;
-<a name="l00209"></a>00209 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="data"></a><!-- doxytag: member="Event::data" ref="data" 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* <a class="el" href="classEvent.html#data">Event::data</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This member holds a pointer to arbitary data set by the emitter of the message.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00220">220</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#l00195">GetData()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="id"></a><!-- doxytag: member="Event::id" ref="id" 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="classEvent.html#id">Event::id</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The event identifier.
-<p>
-This is arbitary text which should be used to distinguish one type of event from another.
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00229">229</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#l00211">GetEventID()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="source"></a><!-- doxytag: member="Event::source" ref="source" 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="classModule.html">Module</a>* <a class="el" href="classEvent.html#source">Event::source</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00224">224</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#l00200">GetSource()</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classEvent__coll__graph.gif b/docs/module-doc/classEvent__coll__graph.gif
deleted file mode 100644
index 4c05eadca..000000000
--- a/docs/module-doc/classEvent__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classEvent__coll__graph.map b/docs/module-doc/classEvent__coll__graph.map
deleted file mode 100644
index 1b4799fbe..000000000
--- a/docs/module-doc/classEvent__coll__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $classModuleMessage.html 7,175 127,202
-rect $classclassbase.html 95,98 175,124
-rect $classModule.html 151,175 217,202
diff --git a/docs/module-doc/classEvent__coll__graph.md5 b/docs/module-doc/classEvent__coll__graph.md5
deleted file mode 100644
index 688bac914..000000000
--- a/docs/module-doc/classEvent__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-10d33c04261107a286f69046e8553f44 \ No newline at end of file
diff --git a/docs/module-doc/classEvent__inherit__graph.gif b/docs/module-doc/classEvent__inherit__graph.gif
deleted file mode 100644
index d0456c9e8..000000000
--- a/docs/module-doc/classEvent__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classEvent__inherit__graph.map b/docs/module-doc/classEvent__inherit__graph.map
deleted file mode 100644
index f3f281b15..000000000
--- a/docs/module-doc/classEvent__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classModuleMessage.html 7,81 127,108
-rect $classclassbase.html 27,7 107,33
diff --git a/docs/module-doc/classEvent__inherit__graph.md5 b/docs/module-doc/classEvent__inherit__graph.md5
deleted file mode 100644
index 89c521396..000000000
--- a/docs/module-doc/classEvent__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-f920774ed43bc66c960d56c584166dc7 \ No newline at end of file
diff --git a/docs/module-doc/classExemptItem-members.html b/docs/module-doc/classExemptItem-members.html
deleted file mode 100644
index 2922e168e..000000000
--- a/docs/module-doc/classExemptItem-members.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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>ExemptItem Member List</h1>This is the complete list of members for <a class="el" href="classExemptItem.html">ExemptItem</a>, including all inherited members.<p><table>
- <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="classHostItem.html#data_5BMAXBUF_5D">data</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#HostItem_28_29">HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">set_by</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classExemptItem.html b/docs/module-doc/classExemptItem.html
deleted file mode 100644
index 60a468f82..000000000
--- a/docs/module-doc/classExemptItem.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!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: ExemptItem 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>ExemptItem Class Reference</h1><!-- doxytag: class="ExemptItem" --><!-- doxytag: inherits="HostItem" -->A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel exempts (+e).
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
-<p>
-Inheritance diagram for ExemptItem:<p><center><img src="classExemptItem__inherit__graph.gif" border="0" usemap="#ExemptItem__inherit__map" alt="Inheritance graph"></center>
-<map name="ExemptItem__inherit__map">
-<area href="classHostItem.html" shape="rect" coords="16,81,91,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="14,7,94,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ExemptItem:<p><center><img src="classExemptItem__coll__graph.gif" border="0" usemap="#ExemptItem__coll__map" alt="Collaboration graph"></center>
-<map name="ExemptItem__coll__map">
-<area href="classHostItem.html" shape="rect" coords="109,204,184,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="107,98,187,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classExemptItem-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel exempts (+e).
-<p>
-
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classExemptItem__coll__graph.gif b/docs/module-doc/classExemptItem__coll__graph.gif
deleted file mode 100644
index 2454fa4f7..000000000
--- a/docs/module-doc/classExemptItem__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classExemptItem__coll__graph.map b/docs/module-doc/classExemptItem__coll__graph.map
deleted file mode 100644
index 84658baf1..000000000
--- a/docs/module-doc/classExemptItem__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classHostItem.html 109,204 184,231
-rect $classclassbase.html 107,98 187,124
diff --git a/docs/module-doc/classExemptItem__coll__graph.md5 b/docs/module-doc/classExemptItem__coll__graph.md5
deleted file mode 100644
index d617a8a38..000000000
--- a/docs/module-doc/classExemptItem__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-25e2b7408d8e26d1fbf18732be3e5256 \ No newline at end of file
diff --git a/docs/module-doc/classExemptItem__inherit__graph.gif b/docs/module-doc/classExemptItem__inherit__graph.gif
deleted file mode 100644
index de11425e0..000000000
--- a/docs/module-doc/classExemptItem__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classExemptItem__inherit__graph.map b/docs/module-doc/classExemptItem__inherit__graph.map
deleted file mode 100644
index 2fd89000d..000000000
--- a/docs/module-doc/classExemptItem__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classHostItem.html 16,81 91,108
-rect $classclassbase.html 14,7 94,33
diff --git a/docs/module-doc/classExemptItem__inherit__graph.md5 b/docs/module-doc/classExemptItem__inherit__graph.md5
deleted file mode 100644
index a09b17512..000000000
--- a/docs/module-doc/classExemptItem__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-8d830e52922c7fb515e30174811f813c \ No newline at end of file
diff --git a/docs/module-doc/classExtMode-members.html b/docs/module-doc/classExtMode-members.html
deleted file mode 100644
index 3ceab8c67..000000000
--- a/docs/module-doc/classExtMode-members.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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>ExtMode Member List</h1>This is the complete list of members for <a class="el" href="classExtMode.html">ExtMode</a>, including all inherited members.<p><table>
- <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="classExtMode.html#ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29">ExtMode</a>(char mc, int ty, bool oper, int p_on, int p_off)</td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtMode.html#list">list</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#modechar">modechar</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#needsoper">needsoper</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#params_5Fwhen_5Foff">params_when_off</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#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 Mon Dec 19 18:05:22 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/classExtMode.html b/docs/module-doc/classExtMode.html
deleted file mode 100644
index e99ca84f8..000000000
--- a/docs/module-doc/classExtMode.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!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: ExtMode 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>ExtMode Class Reference</h1><!-- doxytag: class="ExtMode" --><!-- doxytag: inherits="classbase" -->Holds an extended mode's details.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for ExtMode:<p><center><img src="classExtMode__inherit__graph.gif" border="0" usemap="#ExtMode__inherit__map" alt="Inheritance graph"></center>
-<map name="ExtMode__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ExtMode:<p><center><img src="classExtMode__coll__graph.gif" border="0" usemap="#ExtMode__coll__map" alt="Collaboration graph"></center>
-<map name="ExtMode__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classExtMode-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="classExtMode.html#ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29">ExtMode</a> (char mc, int ty, bool oper, int p_on, int p_off)</td></tr>
-
-<tr><td colspan="2"><br><h2>Public 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="classExtMode.html#modechar">modechar</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtMode.html#type">type</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtMode.html#needsoper">needsoper</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtMode.html#params_5Fwhen_5Fon">params_when_on</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtMode.html#params_5Fwhen_5Foff">params_when_off</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtMode.html#list">list</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds an extended mode's details.
-<p>
-Used internally by <a class="el" href="modules_8cpp.html">modules.cpp</a>
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00254">254</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="ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29"></a><!-- doxytag: member="ExtMode::ExtMode" ref="ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29" args="(char mc, int ty, bool oper, int p_on, int p_off)" --><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">ExtMode::ExtMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>mc</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>ty</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>oper</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>p_on</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>p_off</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</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="modules_8h-source.html#l00263">263</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l00263"></a>00263 : <a class="code" href="classExtMode.html#modechar">modechar</a>(mc), <a class="code" href="classExtMode.html#type">type</a>(ty), <a class="code" href="classExtMode.html#needsoper">needsoper</a>(oper), <a class="code" href="classExtMode.html#params_5Fwhen_5Fon">params_when_on</a>(p_on), <a class="code" href="classExtMode.html#params_5Fwhen_5Foff">params_when_off</a>(p_off) { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="list"></a><!-- doxytag: member="ExtMode::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">bool <a class="el" href="classExtMode.html#list">ExtMode::list</a> </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="modules_8h-source.html#l00262">262</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="modechar"></a><!-- doxytag: member="ExtMode::modechar" ref="modechar" 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 <a class="el" href="classExtMode.html#modechar">ExtMode::modechar</a> </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="modules_8h-source.html#l00257">257</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="needsoper"></a><!-- doxytag: member="ExtMode::needsoper" ref="needsoper" 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">bool <a class="el" href="classExtMode.html#needsoper">ExtMode::needsoper</a> </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="modules_8h-source.html#l00259">259</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="params_5Fwhen_5Foff"></a><!-- doxytag: member="ExtMode::params_when_off" ref="params_5Fwhen_5Foff" 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 <a class="el" href="classExtMode.html#params_5Fwhen_5Foff">ExtMode::params_when_off</a> </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="modules_8h-source.html#l00261">261</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="params_5Fwhen_5Fon"></a><!-- doxytag: member="ExtMode::params_when_on" ref="params_5Fwhen_5Fon" 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 <a class="el" href="classExtMode.html#params_5Fwhen_5Fon">ExtMode::params_when_on</a> </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="modules_8h-source.html#l00260">260</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="type"></a><!-- doxytag: member="ExtMode::type" ref="type" 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 <a class="el" href="classExtMode.html#type">ExtMode::type</a> </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="modules_8h-source.html#l00258">258</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classExtMode__coll__graph.gif b/docs/module-doc/classExtMode__coll__graph.gif
deleted file mode 100644
index 183d9ea68..000000000
--- a/docs/module-doc/classExtMode__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classExtMode__coll__graph.map b/docs/module-doc/classExtMode__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classExtMode__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classExtMode__coll__graph.md5 b/docs/module-doc/classExtMode__coll__graph.md5
deleted file mode 100644
index 34584682d..000000000
--- a/docs/module-doc/classExtMode__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-aef2bb7129d67057b097a14e7f4fbf44 \ No newline at end of file
diff --git a/docs/module-doc/classExtMode__inherit__graph.gif b/docs/module-doc/classExtMode__inherit__graph.gif
deleted file mode 100644
index 4efe4abe8..000000000
--- a/docs/module-doc/classExtMode__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classExtMode__inherit__graph.map b/docs/module-doc/classExtMode__inherit__graph.map
deleted file mode 100644
index 8b1d85be3..000000000
--- a/docs/module-doc/classExtMode__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,7 87,34
diff --git a/docs/module-doc/classExtMode__inherit__graph.md5 b/docs/module-doc/classExtMode__inherit__graph.md5
deleted file mode 100644
index 148e73af3..000000000
--- a/docs/module-doc/classExtMode__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-8e2dde6b6b72ead80009841a4a78fc58 \ No newline at end of file
diff --git a/docs/module-doc/classExtensible-members.html b/docs/module-doc/classExtensible-members.html
deleted file mode 100644
index d174e6dcd..000000000
--- a/docs/module-doc/classExtensible-members.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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>Extensible Member List</h1>This is the complete list of members for <a class="el" href="classExtensible.html">Extensible</a>, including all inherited members.<p><table>
- <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="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extend</a>(std::string key, char *p)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#Extension_5FItems">Extension_Items</a></td><td><a class="el" href="classExtensible.html">Extensible</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">GetExt</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="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 Mon Dec 19 18:05:22 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/classExtensible.html b/docs/module-doc/classExtensible.html
deleted file mode 100644
index bbda5d2a9..000000000
--- a/docs/module-doc/classExtensible.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<!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: Extensible 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>Extensible Class Reference</h1><!-- doxytag: class="Extensible" --><!-- doxytag: inherits="classbase" -->class Extensible is the parent class of many classes such as userrec and chanrec.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="base_8h-source.html">base.h</a>&gt;</code>
-<p>
-Inheritance diagram for Extensible:<p><center><img src="classExtensible__inherit__graph.gif" border="0" usemap="#Extensible__inherit__map" alt="Inheritance graph"></center>
-<map name="Extensible__inherit__map">
-<area href="classchanrec.html" shape="rect" coords="7,156,76,183" alt="">
-<area href="classconnection.html" shape="rect" coords="100,156,185,183" alt="">
-<area href="classclassbase.html" shape="rect" coords="52,7,132,33" alt="">
-<area href="classuserrec.html" shape="rect" coords="109,231,176,257" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Extensible:<p><center><img src="classExtensible__coll__graph.gif" border="0" usemap="#Extensible__coll__map" alt="Collaboration graph"></center>
-<map name="Extensible__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classExtensible-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">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extend</a> (<a class="el" href="namespaceirc.html#string">std::string</a> key, char *p)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Extend an Extensible class. <a href="#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtensible.html#Shrink_28std_3A_3Astring_20key_29">Shrink</a> (<a class="el" href="namespaceirc.html#string">std::string</a> key)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shrink an Extensible class. <a href="#Shrink_28std_3A_3Astring_20key_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">GetExt</a> (<a class="el" href="namespaceirc.html#string">std::string</a> key)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an extension item. <a href="#GetExt_28std_3A_3Astring_20key_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="classExtensible.html#GetExtList_28std_3A_3Adeque_3C_20std_3A_3Astring_20_3E_20_26list_29">GetExtList</a> (std::deque&lt; <a class="el" href="namespaceirc.html#string">std::string</a> &gt; &amp;list)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a list of all extension items names. <a href="#GetExtList_28std_3A_3Adeque_3C_20std_3A_3Astring_20_3E_20_26list_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::map&lt; <a class="el" href="namespaceirc.html#string">std::string</a>, char * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classExtensible.html#Extension_5FItems">Extension_Items</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Private data store. <a href="#Extension_5FItems"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-class Extensible is the parent class of many classes such as userrec and chanrec.
-<p>
-class Extensible implements a system which allows modules to 'extend' the class by attaching data within a map associated with the object. In this way modules can store their own custom information within user objects, channel objects and server objects, without breaking other modules (this is more sensible than using a flags variable, and each module defining bits within the flag as 'theirs' as it is less prone to conflict and supports arbitary data storage).
-<p>
-
-<p>
-Definition at line <a class="el" href="base_8h-source.html#l00051">51</a> of file <a class="el" href="base_8h-source.html">base.h</a>.<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29"></a><!-- doxytag: member="Extensible::Extend" ref="Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29" args="(std::string key, char *p)" --><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">bool Extensible::Extend </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>key</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>p</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>
-Extend an Extensible class.
-<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>key</em>&nbsp;</td><td>The key parameter is an arbitary string which identifies the extension data </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</td><td>This parameter is a pointer to any data you wish to associate with the object</td></tr>
- </table>
-</dl>
-You must provide a key to store the data as, and a void* to the data (typedef VoidPointer) The data will be inserted into the map. If the data already exists, you may not insert it twice, <a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extensible::Extend</a> will return false in this case.<p>
-<dl compact><dt><b>Returns:</b></dt><dd>Returns true on success, false if otherwise</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetExt_28std_3A_3Astring_20key_29"></a><!-- doxytag: member="Extensible::GetExt" ref="GetExt_28std_3A_3Astring_20key_29" args="(std::string key)" --><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* Extensible::GetExt </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>key</em> </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>
-Get an extension item.
-<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>key</em>&nbsp;</td><td>The key parameter is an arbitary string which identifies the extension data</td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>If you provide a non-existent key name, the function returns NULL, otherwise a pointer to the item referenced by the key is returned.</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetExtList_28std_3A_3Adeque_3C_20std_3A_3Astring_20_3E_20_26list_29"></a><!-- doxytag: member="Extensible::GetExtList" ref="GetExtList_28std_3A_3Adeque_3C_20std_3A_3Astring_20_3E_20_26list_29" args="(std::deque&lt; std::string &gt; &amp;list)" --><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 Extensible::GetExtList </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">std::deque&lt; <a class="el" href="namespaceirc.html#string">std::string</a> &gt; &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>list</em> </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>
-Get a list of all extension items names.
-<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>list</em>&nbsp;</td><td>A deque of strings to receive the list</td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>This function writes a list of all extension items stored in this object by name into the given deque and returns void.</dd></dl>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Shrink_28std_3A_3Astring_20key_29"></a><!-- doxytag: member="Extensible::Shrink" ref="Shrink_28std_3A_3Astring_20key_29" args="(std::string key)" --><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">bool Extensible::Shrink </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>key</em> </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>
-Shrink an Extensible class.
-<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>key</em>&nbsp;</td><td>The key parameter is an arbitary string which identifies the extension data</td></tr>
- </table>
-</dl>
-You must provide a key name. The given key name will be removed from the classes data. If you provide a nonexistent key (case is important) then the function will return false.<p>
-<dl compact><dt><b>Returns:</b></dt><dd>Returns true on success.</dd></dl>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="Extension_5FItems"></a><!-- doxytag: member="Extensible::Extension_Items" ref="Extension_5FItems" 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="namespaceirc.html#string">std::string</a>,char*&gt; <a class="el" href="classExtensible.html#Extension_5FItems">Extensible::Extension_Items</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Private data store.
-<p>
-
-<p>
-Definition at line <a class="el" href="base_8h-source.html#l00055">55</a> of file <a class="el" href="base_8h-source.html">base.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classExtensible__coll__graph.gif b/docs/module-doc/classExtensible__coll__graph.gif
deleted file mode 100644
index b109a2213..000000000
--- a/docs/module-doc/classExtensible__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classExtensible__coll__graph.map b/docs/module-doc/classExtensible__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classExtensible__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classExtensible__coll__graph.md5 b/docs/module-doc/classExtensible__coll__graph.md5
deleted file mode 100644
index a721606b9..000000000
--- a/docs/module-doc/classExtensible__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-4e5783e6b1854663efa1943995dec16d \ No newline at end of file
diff --git a/docs/module-doc/classExtensible__inherit__graph.gif b/docs/module-doc/classExtensible__inherit__graph.gif
deleted file mode 100644
index cb019563d..000000000
--- a/docs/module-doc/classExtensible__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classExtensible__inherit__graph.map b/docs/module-doc/classExtensible__inherit__graph.map
deleted file mode 100644
index 739ce8fc6..000000000
--- a/docs/module-doc/classExtensible__inherit__graph.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $classchanrec.html 7,156 76,183
-rect $classconnection.html 100,156 185,183
-rect $classclassbase.html 52,7 132,33
-rect $classuserrec.html 109,231 176,257
diff --git a/docs/module-doc/classExtensible__inherit__graph.md5 b/docs/module-doc/classExtensible__inherit__graph.md5
deleted file mode 100644
index 461684372..000000000
--- a/docs/module-doc/classExtensible__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-4a03bd45cd4754f0edff4e8a3bc20f54 \ No newline at end of file
diff --git a/docs/module-doc/classFileReader-members.html b/docs/module-doc/classFileReader-members.html
deleted file mode 100644
index a0e276e5b..000000000
--- a/docs/module-doc/classFileReader-members.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>FileReader Member List</h1>This is the complete list of members for <a class="el" href="classFileReader.html">FileReader</a>, including all inherited members.<p><table>
- <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="classFileReader.html#Exists_28_29">Exists</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFileReader.html#fc">fc</a></td><td><a class="el" href="classFileReader.html">FileReader</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classFileReader.html#FileReader_28_29">FileReader</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFileReader.html#FileReader_28std_3A_3Astring_20filename_29">FileReader</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="classFileReader.html#FileSize_28_29">FileSize</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classFileReader.html#GetLine_28int_20x_29">GetLine</a>(int x)</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
- <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 Mon Dec 19 18:05:22 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/classFileReader.html b/docs/module-doc/classFileReader.html
deleted file mode 100644
index 552f8fe1c..000000000
--- a/docs/module-doc/classFileReader.html
+++ /dev/null
@@ -1,368 +0,0 @@
-<!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: FileReader 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>FileReader Class Reference</h1><!-- doxytag: class="FileReader" --><!-- doxytag: inherits="classbase" -->Caches a text file into memory and can be used to retrieve lines from it.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for FileReader:<p><center><img src="classFileReader__inherit__graph.gif" border="0" usemap="#FileReader__inherit__map" alt="Inheritance graph"></center>
-<map name="FileReader__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="11,7,91,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for FileReader:<p><center><img src="classFileReader__coll__graph.gif" border="0" usemap="#FileReader__coll__map" alt="Collaboration graph"></center>
-<map name="FileReader__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classFileReader-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="classFileReader.html#FileReader_28_29">FileReader</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <a href="#FileReader_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFileReader.html#FileReader_28std_3A_3Astring_20filename_29">FileReader</a> (<a class="el" href="namespaceirc.html#string">std::string</a> filename)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Secondary constructor. <a href="#FileReader_28std_3A_3Astring_20filename_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFileReader.html#_7EFileReader_28_29">~FileReader</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor. <a href="#_7EFileReader_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="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">LoadFile</a> (<a class="el" href="namespaceirc.html#string">std::string</a> filename)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to load a file. <a href="#LoadFile_28std_3A_3Astring_20filename_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFileReader.html#Exists_28_29">Exists</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the file exists This function will return false if the file could not be opened. <a href="#Exists_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="classFileReader.html#GetLine_28int_20x_29">GetLine</a> (int x)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve one line from the file. <a href="#GetLine_28int_20x_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="classFileReader.html#FileSize_28_29">FileSize</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the size of the file in lines. <a href="#FileSize_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="typedefs_8h.html#file_5Fcache">file_cache</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classFileReader.html#fc">fc</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Caches a text file into memory and can be used to retrieve lines from it.
-<p>
-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.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01639">1639</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>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">FileReader::FileReader </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>
-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#l00890">890</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00891"></a>00891 {
-<a name="l00892"></a>00892 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FileReader_28std_3A_3Astring_20filename_29"></a><!-- doxytag: member="FileReader::FileReader" ref="FileReader_28std_3A_3Astring_20filename_29" args="(std::string filename)" --><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">FileReader::FileReader </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </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>
-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#l00883">883</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01641">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="l00884"></a>00884 {
-<a name="l00885"></a>00885 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00886"></a>00886 <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="l00887"></a>00887 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00888"></a>00888 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7EFileReader_28_29"></a><!-- doxytag: member="FileReader::~FileReader" ref="_7EFileReader_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">FileReader::~FileReader </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>
-Default destructor.
-<p>
-This deletes the memory allocated to the file.
-<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>.<div class="fragment"><pre class="fragment"><a name="l00903"></a>00903 {
-<a name="l00904"></a>00904 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="Exists_28_29"></a><!-- doxytag: member="FileReader::Exists" ref="Exists_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">bool FileReader::Exists </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 true if the file exists This function will return false if the file could not be opened.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00906">906</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01641">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00907"></a>00907 {
-<a name="l00908"></a>00908 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#fc">fc</a>.size() == 0)
-<a name="l00909"></a>00909 {
-<a name="l00910"></a>00910 <span class="keywordflow">return</span>(<span class="keyword">false</span>);
-<a name="l00911"></a>00911 }
-<a name="l00912"></a>00912 <span class="keywordflow">else</span>
-<a name="l00913"></a>00913 {
-<a name="l00914"></a>00914 <span class="keywordflow">return</span>(<span class="keyword">true</span>);
-<a name="l00915"></a>00915 }
-<a name="l00916"></a>00916 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FileSize_28_29"></a><!-- doxytag: member="FileReader::FileSize" ref="FileSize_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 FileReader::FileSize </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 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#l00925">925</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01641">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00926"></a>00926 {
-<a name="l00927"></a>00927 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>.size();
-<a name="l00928"></a>00928 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetLine_28int_20x_29"></a><!-- doxytag: member="FileReader::GetLine" ref="GetLine_28int_20x_29" args="(int x)" --><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> FileReader::GetLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>x</em> </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>
-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#l00918">918</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01641">fc</a>.<div class="fragment"><pre class="fragment"><a name="l00919"></a>00919 {
-<a name="l00920"></a>00920 <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="l00921"></a>00921 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00922"></a>00922 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>[x];
-<a name="l00923"></a>00923 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="LoadFile_28std_3A_3Astring_20filename_29"></a><!-- doxytag: member="FileReader::LoadFile" ref="LoadFile_28std_3A_3Astring_20filename_29" args="(std::string filename)" --><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 FileReader::LoadFile </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </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>
-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#l00894">894</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l01641">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="l00895"></a>00895 {
-<a name="l00896"></a>00896 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00897"></a>00897 <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="l00898"></a>00898 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00899"></a>00899 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="fc"></a><!-- doxytag: member="FileReader::fc" ref="fc" 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="typedefs_8h.html#file_5Fcache">file_cache</a> <a class="el" href="classFileReader.html#fc">FileReader::fc</a><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="modules_8h-source.html#l01641">1641</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#l00906">Exists()</a>, <a class="el" href="modules_8cpp-source.html#l00883">FileReader()</a>, <a class="el" href="modules_8cpp-source.html#l00925">FileSize()</a>, <a class="el" href="modules_8cpp-source.html#l00918">GetLine()</a>, and <a class="el" href="modules_8cpp-source.html#l00894">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 Mon Dec 19 18:05:22 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/classFileReader__coll__graph.gif b/docs/module-doc/classFileReader__coll__graph.gif
deleted file mode 100644
index 3e676a53c..000000000
--- a/docs/module-doc/classFileReader__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classFileReader__coll__graph.map b/docs/module-doc/classFileReader__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classFileReader__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classFileReader__coll__graph.md5 b/docs/module-doc/classFileReader__coll__graph.md5
deleted file mode 100644
index 81d85200b..000000000
--- a/docs/module-doc/classFileReader__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-525681b5632176b71e156ebd08f4e76a \ No newline at end of file
diff --git a/docs/module-doc/classFileReader__inherit__graph.gif b/docs/module-doc/classFileReader__inherit__graph.gif
deleted file mode 100644
index 20ec69338..000000000
--- a/docs/module-doc/classFileReader__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classFileReader__inherit__graph.map b/docs/module-doc/classFileReader__inherit__graph.map
deleted file mode 100644
index cba11264e..000000000
--- a/docs/module-doc/classFileReader__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 11,7 91,34
diff --git a/docs/module-doc/classFileReader__inherit__graph.md5 b/docs/module-doc/classFileReader__inherit__graph.md5
deleted file mode 100644
index afa514f3d..000000000
--- a/docs/module-doc/classFileReader__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-4fdde72b2259aedfb4389cc3dcdc2c8b \ No newline at end of file
diff --git a/docs/module-doc/classGLine-members.html b/docs/module-doc/classGLine-members.html
deleted file mode 100644
index 9924b5d66..000000000
--- a/docs/module-doc/classGLine-members.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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>GLine Member List</h1>This is the complete list of members for <a class="el" href="classGLine.html">GLine</a>, including all inherited members.<p><table>
- <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="classXLine.html#duration">duration</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classGLine.html#hostmask_5B_32_30_30_5D">hostmask</a></td><td><a class="el" href="classGLine.html">GLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classXLine.html#n_5Fmatches">n_matches</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#reason_5BMAXBUF_5D">reason</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#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 Mon Dec 19 18:05:22 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/classGLine.html b/docs/module-doc/classGLine.html
deleted file mode 100644
index 7556d3ffd..000000000
--- a/docs/module-doc/classGLine.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!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: GLine 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>GLine Class Reference</h1><!-- doxytag: class="GLine" --><!-- doxytag: inherits="XLine" -->GLine class.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="xline_8h-source.html">xline.h</a>&gt;</code>
-<p>
-Inheritance diagram for GLine:<p><center><img src="classGLine__inherit__graph.gif" border="0" usemap="#GLine__inherit__map" alt="Inheritance graph"></center>
-<map name="GLine__inherit__map">
-<area href="classXLine.html" shape="rect" coords="19,81,75,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for GLine:<p><center><img src="classGLine__coll__graph.gif" border="0" usemap="#GLine__coll__map" alt="Collaboration graph"></center>
-<map name="GLine__coll__map">
-<area href="classXLine.html" shape="rect" coords="165,204,221,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,98,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classGLine-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 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="classGLine.html#hostmask_5B_32_30_30_5D">hostmask</a> [200]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hostmask (ident) to match against May contain wildcards. <a href="#hostmask_5B_32_30_30_5D"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-GLine class.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00078">78</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="hostmask_5B_32_30_30_5D"></a><!-- doxytag: member="GLine::hostmask" ref="hostmask_5B_32_30_30_5D" args="[200]" --><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="classGLine.html#hostmask_5B_32_30_30_5D">GLine::hostmask</a>[200] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Hostmask (ident) to match against May contain wildcards.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00084">84</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classGLine__coll__graph.gif b/docs/module-doc/classGLine__coll__graph.gif
deleted file mode 100644
index 0bae72027..000000000
--- a/docs/module-doc/classGLine__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classGLine__coll__graph.map b/docs/module-doc/classGLine__coll__graph.map
deleted file mode 100644
index 25a1b769a..000000000
--- a/docs/module-doc/classGLine__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 165,204 221,231
-rect $classclassbase.html 7,98 87,124
diff --git a/docs/module-doc/classGLine__coll__graph.md5 b/docs/module-doc/classGLine__coll__graph.md5
deleted file mode 100644
index 9c730fc68..000000000
--- a/docs/module-doc/classGLine__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-73b6083b7948aa94c2ddb2dcfa75054b \ No newline at end of file
diff --git a/docs/module-doc/classGLine__inherit__graph.gif b/docs/module-doc/classGLine__inherit__graph.gif
deleted file mode 100644
index c8267bece..000000000
--- a/docs/module-doc/classGLine__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classGLine__inherit__graph.map b/docs/module-doc/classGLine__inherit__graph.map
deleted file mode 100644
index 37695eb4e..000000000
--- a/docs/module-doc/classGLine__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 19,81 75,108
-rect $classclassbase.html 7,7 87,33
diff --git a/docs/module-doc/classGLine__inherit__graph.md5 b/docs/module-doc/classGLine__inherit__graph.md5
deleted file mode 100644
index 9374a453c..000000000
--- a/docs/module-doc/classGLine__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-c561272c254fa5d3e2bec1555b57510b \ No newline at end of file
diff --git a/docs/module-doc/classHostItem-members.html b/docs/module-doc/classHostItem-members.html
deleted file mode 100644
index 57600aa00..000000000
--- a/docs/module-doc/classHostItem-members.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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>HostItem Member List</h1>This is the complete list of members for <a class="el" href="classHostItem.html">HostItem</a>, including all inherited members.<p><table>
- <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="classHostItem.html#data_5BMAXBUF_5D">data</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#HostItem_28_29">HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">set_by</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <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 Mon Dec 19 18:05:22 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/classHostItem.html b/docs/module-doc/classHostItem.html
deleted file mode 100644
index 9b4c62baf..000000000
--- a/docs/module-doc/classHostItem.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<!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: HostItem 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>HostItem Class Reference</h1><!-- doxytag: class="HostItem" --><!-- doxytag: inherits="classbase" -->Holds an entry for a ban list, exemption list, or invite list.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
-<p>
-Inheritance diagram for HostItem:<p><center><img src="classHostItem__inherit__graph.gif" border="0" usemap="#HostItem__inherit__map" alt="Inheritance graph"></center>
-<map name="HostItem__inherit__map">
-<area href="classBanItem.html" shape="rect" coords="7,156,79,183" alt="">
-<area href="classExemptItem.html" shape="rect" coords="103,156,196,183" alt="">
-<area href="classInviteItem.html" shape="rect" coords="220,156,300,183" alt="">
-<area href="classclassbase.html" shape="rect" coords="110,7,190,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for HostItem:<p><center><img src="classHostItem__coll__graph.gif" border="0" usemap="#HostItem__coll__map" alt="Collaboration graph"></center>
-<map name="HostItem__coll__map">
-<area href="classclassbase.html" shape="rect" coords="107,97,187,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classHostItem-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="classHostItem.html#HostItem_28_29">HostItem</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHostItem.html#_7EHostItem_28_29">~HostItem</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHostItem.html#set_5Ftime">set_time</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">set_by</a> [NICKMAX]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classHostItem.html#data_5BMAXBUF_5D">data</a> [MAXBUF]</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds an entry for a ban list, exemption list, or invite list.
-<p>
-This class contains a single element in a channel list, such as a banlist.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00038">38</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="HostItem_28_29"></a><!-- doxytag: member="HostItem::HostItem" ref="HostItem_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">HostItem::HostItem </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><code> [inline]</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="channels_8h-source.html#l00045">45</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<div class="fragment"><pre class="fragment"><a name="l00045"></a>00045 { <span class="comment">/* stub */</span> }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7EHostItem_28_29"></a><!-- doxytag: member="HostItem::~HostItem" ref="_7EHostItem_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">virtual HostItem::~HostItem </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><code> [inline, virtual]</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="channels_8h-source.html#l00046">46</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<div class="fragment"><pre class="fragment"><a name="l00046"></a>00046 { <span class="comment">/* stub */</span> }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="data_5BMAXBUF_5D"></a><!-- doxytag: member="HostItem::data" ref="data_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="classHostItem.html#data_5BMAXBUF_5D">HostItem::data</a>[MAXBUF] </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="channels_8h-source.html#l00043">43</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="set_5Fby_5BNICKMAX_5D"></a><!-- doxytag: member="HostItem::set_by" ref="set_5Fby_5BNICKMAX_5D" args="[NICKMAX]" --><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="classHostItem.html#set_5Fby_5BNICKMAX_5D">HostItem::set_by</a>[NICKMAX] </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="channels_8h-source.html#l00042">42</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="set_5Ftime"></a><!-- doxytag: member="HostItem::set_time" ref="set_5Ftime" 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">time_t <a class="el" href="classHostItem.html#set_5Ftime">HostItem::set_time</a> </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="channels_8h-source.html#l00041">41</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classHostItem__coll__graph.gif b/docs/module-doc/classHostItem__coll__graph.gif
deleted file mode 100644
index 1af3e7c7e..000000000
--- a/docs/module-doc/classHostItem__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classHostItem__coll__graph.map b/docs/module-doc/classHostItem__coll__graph.map
deleted file mode 100644
index 64f9b3a84..000000000
--- a/docs/module-doc/classHostItem__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 107,97 187,124
diff --git a/docs/module-doc/classHostItem__coll__graph.md5 b/docs/module-doc/classHostItem__coll__graph.md5
deleted file mode 100644
index 1febcee09..000000000
--- a/docs/module-doc/classHostItem__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-78d65e764adb0280a4c5499a21d901f7 \ No newline at end of file
diff --git a/docs/module-doc/classHostItem__inherit__graph.gif b/docs/module-doc/classHostItem__inherit__graph.gif
deleted file mode 100644
index 9743b6432..000000000
--- a/docs/module-doc/classHostItem__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classHostItem__inherit__graph.map b/docs/module-doc/classHostItem__inherit__graph.map
deleted file mode 100644
index ad031674c..000000000
--- a/docs/module-doc/classHostItem__inherit__graph.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $classBanItem.html 7,156 79,183
-rect $classExemptItem.html 103,156 196,183
-rect $classInviteItem.html 220,156 300,183
-rect $classclassbase.html 110,7 190,33
diff --git a/docs/module-doc/classHostItem__inherit__graph.md5 b/docs/module-doc/classHostItem__inherit__graph.md5
deleted file mode 100644
index e1ee72a99..000000000
--- a/docs/module-doc/classHostItem__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-8f648f4a23ebaee7a9ac924b7832541e \ No newline at end of file
diff --git a/docs/module-doc/classInspIRCd-members.html b/docs/module-doc/classInspIRCd-members.html
deleted file mode 100644
index 21710f06a..000000000
--- a/docs/module-doc/classInspIRCd-members.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!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>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#MakeLowerMap_28_29">MakeLowerMap</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#ModeGrok">ModeGrok</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#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#Parser">Parser</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#SE">SE</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#stats">stats</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 Mon Dec 19 18:05:22 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/classInspIRCd.html b/docs/module-doc/classInspIRCd.html
deleted file mode 100644
index bac3ef9a7..000000000
--- a/docs/module-doc/classInspIRCd.html
+++ /dev/null
@@ -1,513 +0,0 @@
-<!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: InspIRCd 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>InspIRCd Class Reference</h1><!-- doxytag: class="InspIRCd" --><code>#include &lt;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&gt;</code>
-<p>
-Collaboration diagram for InspIRCd:<p><center><img src="classInspIRCd__coll__graph.gif" border="0" usemap="#InspIRCd__coll__map" alt="Collaboration graph"></center>
-<map name="InspIRCd__coll__map">
-<area href="classSocketEngine.html" shape="rect" coords="22,10,126,36" alt="">
-<area href="classserverstats.html" shape="rect" coords="30,212,118,239" alt="">
-<area href="classModeParser.html" shape="rect" coords="27,263,120,290" alt="">
-</map>
-<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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#MakeLowerMap_28_29">MakeLowerMap</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#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>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29">InspIRCd</a> (int argc, char **argv)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#Run_28_29">Run</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#startup_5Ftime">startup_time</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModeParser.html">ModeParser</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#ModeGrok">ModeGrok</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">CommandParser *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#Parser">Parser</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classSocketEngine.html">SocketEngine</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#SE">SE</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classserverstats.html">serverstats</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#stats">stats</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html#erase_5Ffactory_28int_20j_29">erase_factory</a> (int j)</td></tr>
-
-<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>
-
-<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>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29"></a><!-- doxytag: member="InspIRCd::InspIRCd" ref="InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29" args="(int argc, char **argv)" --><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">InspIRCd::InspIRCd </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>argc</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char **&nbsp;</td>
- <td class="mdname" nowrap> <em>argv</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>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="erase_5Ffactory_28int_20j_29"></a><!-- doxytag: member="InspIRCd::erase_factory" ref="erase_5Ffactory_28int_20j_29" args="(int j)" --><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 InspIRCd::erase_factory </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>j</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="erase_5Fmodule_28int_20j_29"></a><!-- doxytag: member="InspIRCd::erase_module" ref="erase_5Fmodule_28int_20j_29" args="(int j)" --><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 InspIRCd::erase_module </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>j</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [private]</code></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="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#l00328">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>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">bool InspIRCd::LoadModule </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </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="MakeLowerMap_28_29"></a><!-- doxytag: member="InspIRCd::MakeLowerMap" ref="MakeLowerMap_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">void InspIRCd::MakeLowerMap </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="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>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">int InspIRCd::Run </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="UnloadModule_28const_20char_20_2Afilename_29"></a><!-- doxytag: member="InspIRCd::UnloadModule" ref="UnloadModule_28const_20char_20_2Afilename_29" args="(const char *filename)" --><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">bool InspIRCd::UnloadModule </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </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>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="ModeGrok"></a><!-- doxytag: member="InspIRCd::ModeGrok" ref="ModeGrok" 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="classModeParser.html">ModeParser</a>* <a class="el" href="classInspIRCd.html#ModeGrok">InspIRCd::ModeGrok</a> </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#l00109">109</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00420">Server::SendMode()</a>. </td>
- </tr>
-</table>
-<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#l00103">103</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Parser"></a><!-- doxytag: member="InspIRCd::Parser" ref="Parser" 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">CommandParser* <a class="el" href="classInspIRCd.html#Parser">InspIRCd::Parser</a> </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#l00110">110</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00415">Server::AddCommand()</a>, <a class="el" href="modules_8cpp-source.html#l00400">Server::CallCommandHandler()</a>, <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>, and <a class="el" href="modules_8cpp-source.html#l00405">Server::IsValidModuleCommand()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="SE"></a><!-- doxytag: member="InspIRCd::SE" ref="SE" 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="classSocketEngine.html">SocketEngine</a>* <a class="el" href="classInspIRCd.html#SE">InspIRCd::SE</a> </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#l00111">111</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="socket_8cpp-source.html#l00050">InspSocket::InspSocket()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="socket_8cpp-source.html#l00216">InspSocket::Poll()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">Server::UserToPseudo()</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>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">time_t <a class="el" href="classInspIRCd.html#startup_5Ftime">InspIRCd::startup_time</a> </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#l00108">108</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="stats"></a><!-- doxytag: member="InspIRCd::stats" ref="stats" 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="classserverstats.html">serverstats</a>* <a class="el" href="classInspIRCd.html#stats">InspIRCd::stats</a> </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#l00112">112</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>, and <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</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 Mon Dec 19 18:05:22 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/classInspIRCd__coll__graph.gif b/docs/module-doc/classInspIRCd__coll__graph.gif
deleted file mode 100644
index bc33d87e5..000000000
--- a/docs/module-doc/classInspIRCd__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classInspIRCd__coll__graph.map b/docs/module-doc/classInspIRCd__coll__graph.map
deleted file mode 100644
index 058bc0d1f..000000000
--- a/docs/module-doc/classInspIRCd__coll__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $classSocketEngine.html 22,10 126,36
-rect $classserverstats.html 30,212 118,239
-rect $classModeParser.html 27,263 120,290
diff --git a/docs/module-doc/classInspIRCd__coll__graph.md5 b/docs/module-doc/classInspIRCd__coll__graph.md5
deleted file mode 100644
index f17fcfbb3..000000000
--- a/docs/module-doc/classInspIRCd__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-117342ac51fed621fabeb5e75c73aa1b \ No newline at end of file
diff --git a/docs/module-doc/classInspSocket-members.html b/docs/module-doc/classInspSocket-members.html
deleted file mode 100644
index 228fd599c..000000000
--- a/docs/module-doc/classInspSocket-members.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<!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>InspSocket Member List</h1>This is the complete list of members for <a class="el" href="classInspSocket.html">InspSocket</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#addr">addr</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#addy">addy</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#Buffer">Buffer</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#client">client</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#Close_28_29">Close</a>()</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#fd">fd</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#FlushWriteBuffer_28_29">FlushWriteBuffer</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#GetFd_28_29">GetFd</a>()</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#GetIP_28_29">GetIP</a>()</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#GetState_28_29">GetState</a>()</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#host">host</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#ibuf_5B_36_35_35_33_35_5D">ibuf</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#InspSocket_28_29">InspSocket</a>()</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#InspSocket_28int_20newfd_2C_20char_20_2Aip_29">InspSocket</a>(int newfd, char *ip)</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29">InspSocket</a>(std::string host, int port, bool listening, unsigned long maxtime)</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#IP">IP</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#length">length</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#OnClose_28_29">OnClose</a>()</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#OnConnected_28_29">OnConnected</a>()</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#OnDataReady_28_29">OnDataReady</a>()</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#OnDisconnect_28_29">OnDisconnect</a>()</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#OnError_28InspSocketError_20e_29">OnError</a>(InspSocketError e)</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#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">OnIncomingConnection</a>(int newfd, char *ip)</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#OnTimeout_28_29">OnTimeout</a>()</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#Poll_28_29">Poll</a>()</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#port">port</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#Read_28_29">Read</a>()</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#server">server</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#SetState_28InspSocketState_20s_29">SetState</a>(InspSocketState s)</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classInspSocket.html#state">state</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#timeout">timeout</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#Timeout_28time_5Ft_20current_29">Timeout</a>(time_t current)</td><td><a class="el" href="classInspSocket.html">InspSocket</a></td><td></td></tr>
- <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 Mon Dec 19 18:05:22 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/classInspSocket.html b/docs/module-doc/classInspSocket.html
deleted file mode 100644
index 47533fd3a..000000000
--- a/docs/module-doc/classInspSocket.html
+++ /dev/null
@@ -1,1547 +0,0 @@
-<!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: InspSocket 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>InspSocket Class Reference</h1><!-- doxytag: class="InspSocket" -->InspSocket is an extendable socket class which modules can use for TCP socket support.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="socket_8h-source.html">socket.h</a>&gt;</code>
-<p>
-Collaboration diagram for InspSocket:<p><center><img src="classInspSocket__coll__graph.gif" border="0" usemap="#InspSocket__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classInspSocket-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="classInspSocket.html#InspSocket_28_29">InspSocket</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default constructor does nothing and should not be used. <a href="#InspSocket_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#InspSocket_28int_20newfd_2C_20char_20_2Aip_29">InspSocket</a> (int newfd, char *ip)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This constructor is used to associate an existing connecting with an InspSocket class. <a href="#InspSocket_28int_20newfd_2C_20char_20_2Aip_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29">InspSocket</a> (<a class="el" href="namespaceirc.html#string">std::string</a> <a class="el" href="classInspSocket.html#host">host</a>, int <a class="el" href="classInspSocket.html#port">port</a>, bool listening, unsigned long maxtime)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This constructor is used to create a new socket, either listening for connections, or an outbound connection to another host. <a href="#InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnConnected_28_29">OnConnected</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method is called when an outbound connection on your socket is completed. <a href="#OnConnected_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="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a> (<a class="el" href="socket_8h.html#InspSocketError">InspSocketError</a> e)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method is called when an error occurs. <a href="#OnError_28InspSocketError_20e_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnDisconnect_28_29">OnDisconnect</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When an established connection is terminated, the OnDisconnect method is triggered. <a href="#OnDisconnect_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnDataReady_28_29">OnDataReady</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When there is data waiting to be read on a socket, the <a class="el" href="classInspSocket.html#OnDataReady_28_29">OnDataReady()</a> method is called. <a href="#OnDataReady_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="classInspSocket.html#OnTimeout_28_29">OnTimeout</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When an outbound connection fails, and the attempt times out, you will receive this event. <a href="#OnTimeout_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="classInspSocket.html#OnClose_28_29">OnClose</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Whenever close() is called, <a class="el" href="classInspSocket.html#OnClose_28_29">OnClose()</a> will be called first. <a href="#OnClose_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Read_28_29">Read</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reads all pending bytes from the socket into a char* array which can be up to 16 kilobytes in length. <a href="#Read_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="classInspSocket.html#GetIP_28_29">GetIP</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the IP address associated with this connection, or an empty string if no IP address exists. <a href="#GetIP_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Timeout_28time_5Ft_20current_29">Timeout</a> (time_t current)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function checks if the socket has timed out yet, given the current time in the parameter. <a href="#Timeout_28time_5Ft_20current_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">Write</a> (<a class="el" href="namespaceirc.html#string">std::string</a> data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a <a class="el" href="namespaceirc.html#string">std::string</a> to the socket. <a href="#Write_28std_3A_3Astring_20data_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">OnIncomingConnection</a> (int newfd, char *ip)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If your socket is a listening socket, when a new connection comes in on the socket this method will be called. <a href="#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_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="classInspSocket.html#SetState_28InspSocketState_20s_29">SetState</a> (<a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a> s)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the socket's state. <a href="#SetState_28InspSocketState_20s_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#GetState_28_29">GetState</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the current socket state. <a href="#GetState_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#Poll_28_29">Poll</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Only the core should call this function. <a href="#Poll_28_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="classInspSocket.html#GetFd_28_29">GetFd</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns the socket's file descriptor as assigned by the operating system, or -1 if no descriptor has been assigned. <a href="#GetFd_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="classInspSocket.html#Close_28_29">Close</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method causes the socket to close, and may also be triggered by other methods such as OnTimeout and OnError. <a href="#Close_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#_7EInspSocket_28_29">~InspSocket</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The destructor may implicitly call <a class="el" href="classInspSocket.html#OnClose_28_29">OnClose()</a>, and will close() and shutdown() the file descriptor used for this socket. <a href="#_7EInspSocket_28_29"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#FlushWriteBuffer_28_29">FlushWriteBuffer</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the write buffer. <a href="#FlushWriteBuffer_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">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#fd">fd</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The file descriptor of this socket. <a href="#fd"></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="classInspSocket.html#host">host</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The hostname connected to. <a href="#host"></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="classInspSocket.html#port">port</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The port connected to, or the port this socket is listening on. <a href="#port"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#state">state</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The state for this socket, either listening, connecting, connected or error. <a href="#state"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">sockaddr_in&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#addr">addr</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The host being connected to, in sockaddr form. <a href="#addr"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">in_addr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#addy">addy</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The host being connected to, in in_addr form. <a href="#addy"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#timeout_5Fend">timeout_end</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">When this time is reached, the socket times out if it is in the CONNECTING state. <a href="#timeout_5Fend"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#timeout">timeout</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This value is true if the socket has timed out. <a href="#timeout"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">ibuf</a> [65535]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Socket input buffer, used by read(). <a href="#ibuf_5B_36_35_35_33_35_5D"></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="classInspSocket.html#Buffer">Buffer</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The output buffer for this socket. <a href="#Buffer"></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="classInspSocket.html#IP">IP</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The IP address being connected to stored in string form for easy retrieval by accessors. <a href="#IP"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">sockaddr_in&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#client">client</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Client sockaddr structure used by accept(). <a href="#client"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">sockaddr_in&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#server">server</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="classServer.html">Server</a> sockaddr structure used by accept(). <a href="#server"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">socklen_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspSocket.html#length">length</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by accept() to indicate the sizes of the sockaddr_in structures. <a href="#length"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-InspSocket is an extendable socket class which modules can use for TCP socket support.
-<p>
-It is fully integrated into InspIRCds socket loop and attaches its sockets to the core's instance of the <a class="el" href="classSocketEngine.html">SocketEngine</a> class, meaning that any sockets you create have the same power and abilities as a socket created by the core itself. To use InspSocket, you must inherit a class from it, and use the InspSocket constructors to establish connections and bindings.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00047">47</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="InspSocket_28_29"></a><!-- doxytag: member="InspSocket::InspSocket" ref="InspSocket_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">InspSocket::InspSocket </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>
-The default constructor does nothing and should not be used.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00045">45</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>, and <a class="el" href="socket_8h-source.html#l00072">state</a>.<div class="fragment"><pre class="fragment"><a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>;
-<a name="l00048"></a>00048 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="InspSocket_28int_20newfd_2C_20char_20_2Aip_29"></a><!-- doxytag: member="InspSocket::InspSocket" ref="InspSocket_28int_20newfd_2C_20char_20_2Aip_29" args="(int newfd, char *ip)" --><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">InspSocket::InspSocket </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>newfd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>ip</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>
-This constructor is used to associate an existing connecting with an InspSocket class.
-<p>
-The given file descriptor must be valid, and when initialized, the InspSocket will be set with the given IP address and placed in CONNECTED state.
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00050">50</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socket_8h-source.html#l00054">fd</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>, <a class="el" href="socket_8h-source.html#l00118">IP</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</a>, <a class="el" href="socket_8h-source.html#l00072">state</a>, and <a class="el" href="socketengine_8h-source.html#l00044">X_ESTAB_MODULE</a>.<div class="fragment"><pre class="fragment"><a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = newfd;
-<a name="l00053"></a>00053 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>;
-<a name="l00054"></a>00054 this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a> = ip;
-<a name="l00055"></a>00055 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00056"></a>00056 <a class="code" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = <span class="keyword">this</span>;
-<a name="l00057"></a>00057 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29"></a><!-- doxytag: member="InspSocket::InspSocket" ref="InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29" args="(std::string host, int port, bool listening, unsigned long maxtime)" --><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">InspSocket::InspSocket </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>host</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>port</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>listening</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned long&nbsp;</td>
- <td class="mdname" nowrap> <em>maxtime</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>
-This constructor is used to create a new socket, either listening for connections, or an outbound connection to another host.
-<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>host</em>&nbsp;</td><td>The hostname to connect to, or bind to </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>The port number to connect to, or bind to </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>listening</em>&nbsp;</td><td>true to listen on the given host:port pair, or false to connect to them </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>maxtime</em>&nbsp;</td><td>Number of seconds to wait, if connecting, before the connection times out and an <a class="el" href="classInspSocket.html#OnTimeout_28_29">OnTimeout()</a> event is generated</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00059">59</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socket_8h-source.html#l00078">addr</a>, <a class="el" href="socket_8h-source.html#l00084">addy</a>, <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">BindSocket()</a>, <a class="el" href="socket_8cpp-source.html#l00138">Close()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="inspircd_8h-source.html#l00051">ERROR</a>, <a class="el" href="socket_8h-source.html#l00054">fd</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>, <a class="el" href="socket_8h-source.html#l00118">IP</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="socket_8cpp-source.html#l00264">OnError()</a>, <a class="el" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">OpenTCPSocket()</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</a>, <a class="el" href="socket_8h-source.html#l00072">state</a>, <a class="el" href="socket_8h-source.html#l00097">timeout</a>, <a class="el" href="socket_8h-source.html#l00091">timeout_end</a>, and <a class="el" href="socketengine_8h-source.html#l00044">X_ESTAB_MODULE</a>.<div class="fragment"><pre class="fragment"><a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keywordflow">if</span> (listening) {
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> ((this-&gt;fd = <a class="code" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">OpenTCPSocket</a>()) == <a class="code" href="inspircd_8h.html#ERROR">ERROR</a>)
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
-<a name="l00065"></a>00065 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00066"></a>00066 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>);
-<a name="l00067"></a>00067 <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">"OpenTCPSocket() error"</span>);
-<a name="l00068"></a>00068 <span class="keywordflow">return</span>;
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070 <span class="keywordflow">else</span>
-<a name="l00071"></a>00071 {
-<a name="l00072"></a>00072 <span class="keywordflow">if</span> (<a class="code" 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">BindSocket</a>(this-&gt;fd,this-&gt;client,this-&gt;server,<a class="code" href="classInspSocket.html#port">port</a>,(<span class="keywordtype">char</span>*)<a class="code" href="classInspSocket.html#host">host</a>.c_str()) == <a class="code" href="inspircd_8h.html#ERROR">ERROR</a>)
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
-<a name="l00075"></a>00075 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
-<a name="l00076"></a>00076 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00077"></a>00077 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a>);
-<a name="l00078"></a>00078 <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">"BindSocket() error %s"</span>,strerror(errno));
-<a name="l00079"></a>00079 <span class="keywordflow">return</span>;
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081 <span class="keywordflow">else</span>
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>;
-<a name="l00084"></a>00084 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00085"></a>00085 <a class="code" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = <span class="keyword">this</span>;
-<a name="l00086"></a>00086 <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">"New socket now in I_LISTENING state"</span>);
-<a name="l00087"></a>00087 <span class="keywordflow">return</span>;
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 } <span class="keywordflow">else</span> {
-<a name="l00091"></a>00091 <span class="keywordtype">char</span>* ip;
-<a name="l00092"></a>00092 this-&gt;<a class="code" href="classInspSocket.html#host">host</a> = <a class="code" href="classInspSocket.html#host">host</a>;
-<a name="l00093"></a>00093 hostent* hoste = gethostbyname(<a class="code" href="classInspSocket.html#host">host</a>.c_str());
-<a name="l00094"></a>00094 <span class="keywordflow">if</span> (!hoste) {
-<a name="l00095"></a>00095 ip = (<span class="keywordtype">char</span>*)<a class="code" href="classInspSocket.html#host">host</a>.c_str();
-<a name="l00096"></a>00096 } <span class="keywordflow">else</span> {
-<a name="l00097"></a>00097 <span class="keyword">struct </span>in_addr* ia = (in_addr*)hoste-&gt;h_addr;
-<a name="l00098"></a>00098 ip = inet_ntoa(*ia);
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a> = ip;
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <a class="code" href="classInspSocket.html#timeout_5Fend">timeout_end</a> = time(NULL)+maxtime;
-<a name="l00104"></a>00104 <a class="code" href="classInspSocket.html#timeout">timeout</a> = <span class="keyword">false</span>;
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> ((this-&gt;fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
-<a name="l00106"></a>00106 {
-<a name="l00107"></a>00107 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00108"></a>00108 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>);
-<a name="l00109"></a>00109 <span class="keywordflow">return</span>;
-<a name="l00110"></a>00110 }
-<a name="l00111"></a>00111 this-&gt;<a class="code" href="classInspSocket.html#port">port</a> = <a class="code" href="classInspSocket.html#port">port</a>;
-<a name="l00112"></a>00112 inet_aton(ip,&amp;<a class="code" href="classInspSocket.html#addy">addy</a>);
-<a name="l00113"></a>00113 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_family = AF_INET;
-<a name="l00114"></a>00114 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_addr = <a class="code" href="classInspSocket.html#addy">addy</a>;
-<a name="l00115"></a>00115 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_port = htons(this-&gt;port);
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keywordtype">int</span> flags;
-<a name="l00118"></a>00118 flags = fcntl(this-&gt;fd, F_GETFL, 0);
-<a name="l00119"></a>00119 fcntl(this-&gt;fd, F_SETFL, flags | O_NONBLOCK);
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="keywordflow">if</span>(connect(this-&gt;fd, (sockaddr*)&amp;this-&gt;addr,<span class="keyword">sizeof</span>(this-&gt;addr)) == -1)
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 <span class="keywordflow">if</span> (errno != EINPROGRESS)
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
-<a name="l00126"></a>00126 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>);
-<a name="l00127"></a>00127 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00128"></a>00128 <span class="keywordflow">return</span>;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>;
-<a name="l00132"></a>00132 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">false</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00133"></a>00133 <a class="code" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = <span class="keyword">this</span>;
-<a name="l00134"></a>00134 <span class="keywordflow">return</span>;
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7EInspSocket_28_29"></a><!-- doxytag: member="InspSocket::~InspSocket" ref="_7EInspSocket_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">InspSocket::~InspSocket </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The destructor may implicitly call <a class="el" href="classInspSocket.html#OnClose_28_29">OnClose()</a>, and will close() and shutdown() the file descriptor used for this socket.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00271">271</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8cpp-source.html#l00138">Close()</a>.<div class="fragment"><pre class="fragment"><a name="l00272"></a>00272 {
-<a name="l00273"></a>00273 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
-<a name="l00274"></a>00274 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="Close_28_29"></a><!-- doxytag: member="InspSocket::Close" ref="Close_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">void InspSocket::Close </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This method causes the socket to close, and may also be triggered by other methods such as OnTimeout and OnError.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00138">138</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8h-source.html#l00054">fd</a>, and <a class="el" href="socket_8cpp-source.html#l00269">OnClose()</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00271">~InspSocket()</a>.<div class="fragment"><pre class="fragment"><a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 <span class="keywordflow">if</span> (this-&gt;fd != -1)
-<a name="l00141"></a>00141 {
-<a name="l00142"></a>00142 this-&gt;<a class="code" href="classInspSocket.html#OnClose_28_29">OnClose</a>();
-<a name="l00143"></a>00143 shutdown(this-&gt;fd,2);
-<a name="l00144"></a>00144 close(this-&gt;fd);
-<a name="l00145"></a>00145 <a class="code" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = NULL;
-<a name="l00146"></a>00146 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FlushWriteBuffer_28_29"></a><!-- doxytag: member="InspSocket::FlushWriteBuffer" ref="FlushWriteBuffer_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">void InspSocket::FlushWriteBuffer </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><code> [private]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Flushes the write buffer.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00181">181</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8h-source.html#l00111">Buffer</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Timeout()</a>, and <a class="el" href="socket_8cpp-source.html#l00174">Write()</a>.<div class="fragment"><pre class="fragment"><a name="l00182"></a>00182 {
-<a name="l00183"></a>00183 <span class="keywordtype">int</span> result = 0;
-<a name="l00184"></a>00184 <span class="keywordflow">if</span> (this-&gt;Buffer.length())
-<a name="l00185"></a>00185 {
-<a name="l00186"></a>00186 result = send(this-&gt;fd,this-&gt;Buffer.c_str(),this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a>.length(),0);
-<a name="l00187"></a>00187 <span class="keywordflow">if</span> (result &gt; 0)
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 <span class="comment">/* If we wrote some, advance the buffer forwards */</span>
-<a name="l00190"></a>00190 <span class="keywordtype">char</span>* n = (<span class="keywordtype">char</span>*)this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a>.c_str();
-<a name="l00191"></a>00191 n += result;
-<a name="l00192"></a>00192 this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a> = n;
-<a name="l00193"></a>00193 }
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetFd_28_29"></a><!-- doxytag: member="InspSocket::GetFd" ref="GetFd_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 InspSocket::GetFd </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>
-This method returns the socket's file descriptor as assigned by the operating system, or -1 if no descriptor has been assigned.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00258">258</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8h-source.html#l00054">fd</a>.<div class="fragment"><pre class="fragment"><a name="l00259"></a>00259 {
-<a name="l00260"></a>00260 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>;
-<a name="l00261"></a>00261 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetIP_28_29"></a><!-- doxytag: member="InspSocket::GetIP" ref="GetIP_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> InspSocket::GetIP </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 IP address associated with this connection, or an empty string if no IP address exists.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00150">150</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8h-source.html#l00118">IP</a>.<div class="fragment"><pre class="fragment"><a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a>;
-<a name="l00153"></a>00153 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetState_28_29"></a><!-- doxytag: member="InspSocket::GetState" ref="GetState_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="socket_8h.html#InspSocketState">InspSocketState</a> InspSocket::GetState </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 current socket state.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00253">253</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8h-source.html#l00072">state</a>.<div class="fragment"><pre class="fragment"><a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#state">state</a>;
-<a name="l00256"></a>00256 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnClose_28_29"></a><!-- doxytag: member="InspSocket::OnClose" ref="OnClose_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">void InspSocket::OnClose </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Whenever close() is called, <a class="el" href="classInspSocket.html#OnClose_28_29">OnClose()</a> will be called first.
-<p>
-Please note that this means OnClose will be called alongside <a class="el" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError()</a>, <a class="el" href="classInspSocket.html#OnTimeout_28_29">OnTimeout()</a>, and <a class="el" href="classInspSocket.html#Close_28_29">Close()</a>, and also when cancelling a listening socket by calling the destructor indirectly.
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00269">269</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00138">Close()</a>.<div class="fragment"><pre class="fragment"><a name="l00269"></a>00269 { <span class="keywordflow">return</span>; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnConnected_28_29"></a><!-- doxytag: member="InspSocket::OnConnected" ref="OnConnected_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">bool InspSocket::OnConnected </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This method is called when an outbound connection on your socket is completed.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>false to abort the connection, true to continue</dd></dl>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00263">263</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00216">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00263"></a>00263 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDataReady_28_29"></a><!-- doxytag: member="InspSocket::OnDataReady" ref="OnDataReady_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">bool InspSocket::OnDataReady </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-When there is data waiting to be read on a socket, the <a class="el" href="classInspSocket.html#OnDataReady_28_29">OnDataReady()</a> method is called.
-<p>
-Within this method, you *MUST* call the <a class="el" href="classInspSocket.html#Read_28_29">Read()</a> method to read any pending data. At its lowest level, this event is signalled by the core via the socket engine. If you return false from this function, the core removes your socket from its list and erases it from the socket engine, then calls <a class="el" href="classInspSocket.html#Close_28_29">InspSocket::Close()</a> and deletes it. <dl compact><dt><b>Returns:</b></dt><dd>false to close the socket</dd></dl>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00267">267</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00216">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00267"></a>00267 { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDisconnect_28_29"></a><!-- doxytag: member="InspSocket::OnDisconnect" ref="OnDisconnect_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 InspSocket::OnDisconnect </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-When an established connection is terminated, the OnDisconnect method is triggered.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00265">265</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00265"></a>00265 { <span class="keywordflow">return</span> 0; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnError_28InspSocketError_20e_29"></a><!-- doxytag: member="InspSocket::OnError" ref="OnError_28InspSocketError_20e_29" args="(InspSocketError e)" --><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 InspSocket::OnError </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="socket_8h.html#InspSocketError">InspSocketError</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>e</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This method is called when an error occurs.
-<p>
-A closed socket in itself is not an error, however errors also generate close events. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The error type which occured</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00264">264</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00197">Timeout()</a>.<div class="fragment"><pre class="fragment"><a name="l00264"></a>00264 { <span class="keywordflow">return</span>; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29"></a><!-- doxytag: member="InspSocket::OnIncomingConnection" ref="OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29" args="(int newfd, char *ip)" --><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 InspSocket::OnIncomingConnection </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>newfd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>ip</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-If your socket is a listening socket, when a new connection comes in on the socket this method will be called.
-<p>
-Given the new file descriptor in the parameters, and the IP, it is recommended you copy them to a new instance of your socket class, e.g.:<p>
-MySocket* newsocket = new MySocket(newfd,ip);<p>
-Once you have done this, you can then associate the new socket with the core using <a class="el" href="classServer.html#AddSocket_28InspSocket_20_2Asock_29">Server::AddSocket()</a>.
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00266">266</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00216">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00266"></a>00266 { <span class="keywordflow">return</span> 0; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnTimeout_28_29"></a><!-- doxytag: member="InspSocket::OnTimeout" ref="OnTimeout_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">void InspSocket::OnTimeout </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-When an outbound connection fails, and the attempt times out, you will receive this event.
-<p>
-The mthod will trigger once maxtime secons are reached (as given in the constructor) just before the socket's descriptor is closed.
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00268">268</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00197">Timeout()</a>.<div class="fragment"><pre class="fragment"><a name="l00268"></a>00268 { <span class="keywordflow">return</span>; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Poll_28_29"></a><!-- doxytag: member="InspSocket::Poll" ref="Poll_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">bool InspSocket::Poll </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>
-Only the core should call this function.
-<p>
-When called, it is assumed the socket is ready to read data, and the method call routes the event to the various methods of InspSocket for you to handle. This can also cause the socket's state to change.
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00216">216</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="socket_8h-source.html#l00124">client</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>, <a class="el" href="socket_8h-source.html#l00136">length</a>, <a class="el" href="socket_8cpp-source.html#l00263">OnConnected()</a>, <a class="el" href="socket_8cpp-source.html#l00267">OnDataReady()</a>, <a class="el" href="socket_8cpp-source.html#l00266">OnIncomingConnection()</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</a>, <a class="el" href="socket_8cpp-source.html#l00247">SetState()</a>, and <a class="el" href="socketengine_8h-source.html#l00044">X_ESTAB_MODULE</a>.<div class="fragment"><pre class="fragment"><a name="l00217"></a>00217 {
-<a name="l00218"></a>00218 <span class="keywordtype">int</span> incoming = -1;
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="keywordflow">switch</span> (this-&gt;state)
-<a name="l00221"></a>00221 {
-<a name="l00222"></a>00222 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>:
-<a name="l00223"></a>00223 this-&gt;<a class="code" href="classInspSocket.html#SetState_28InspSocketState_20s_29">SetState</a>(<a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>);
-<a name="l00224"></a>00224 <span class="comment">/* Our socket was in write-state, so delete it and re-add it</span>
-<a name="l00225"></a>00225 <span class="comment"> * in read-state.</span>
-<a name="l00226"></a>00226 <span class="comment"> */</span>
-<a name="l00227"></a>00227 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(this-&gt;fd);
-<a name="l00228"></a>00228 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00229"></a>00229 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#OnConnected_28_29">OnConnected</a>();
-<a name="l00230"></a>00230 <span class="keywordflow">break</span>;
-<a name="l00231"></a>00231 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>:
-<a name="l00232"></a>00232 <a class="code" href="classInspSocket.html#length">length</a> = <span class="keyword">sizeof</span> (<a class="code" href="classInspSocket.html#client">client</a>);
-<a name="l00233"></a>00233 incoming = accept (this-&gt;fd, (sockaddr*)&amp;<a class="code" href="classInspSocket.html#client">client</a>,&amp;<a class="code" href="classInspSocket.html#length">length</a>);
-<a name="l00234"></a>00234 this-&gt;<a class="code" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">OnIncomingConnection</a>(incoming,inet_ntoa(<a class="code" href="classInspSocket.html#client">client</a>.sin_addr));
-<a name="l00235"></a>00235 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00236"></a>00236 <span class="keywordflow">break</span>;
-<a name="l00237"></a>00237 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>:
-<a name="l00238"></a>00238 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#OnDataReady_28_29">OnDataReady</a>();
-<a name="l00239"></a>00239 <span class="keywordflow">break</span>;
-<a name="l00240"></a>00240 <span class="keywordflow">default</span>:
-<a name="l00241"></a>00241 <span class="keywordflow">break</span>;
-<a name="l00242"></a>00242 }
-<a name="l00243"></a>00243
-<a name="l00244"></a>00244 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00245"></a>00245 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Read_28_29"></a><!-- doxytag: member="InspSocket::Read" ref="Read_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 * InspSocket::Read </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Reads all pending bytes from the socket into a char* array which can be up to 16 kilobytes in length.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00155">155</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="socket_8h-source.html#l00106">ibuf</a>, and <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="l00156"></a>00156 {
-<a name="l00157"></a>00157 <span class="keywordtype">int</span> n = recv(this-&gt;fd,this-&gt;ibuf,<span class="keyword">sizeof</span>(this-&gt;ibuf),0);
-<a name="l00158"></a>00158 <span class="keywordflow">if</span> (n &gt; 0)
-<a name="l00159"></a>00159 {
-<a name="l00160"></a>00160 <a class="code" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">ibuf</a>[n] = 0;
-<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">ibuf</a>;
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163 <span class="keywordflow">else</span>
-<a name="l00164"></a>00164 {
-<a name="l00165"></a>00165 <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">"EOF or error on socket"</span>);
-<a name="l00166"></a>00166 <span class="keywordflow">return</span> NULL;
-<a name="l00167"></a>00167 }
-<a name="l00168"></a>00168 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SetState_28InspSocketState_20s_29"></a><!-- doxytag: member="InspSocket::SetState" ref="SetState_28InspSocketState_20s_29" args="(InspSocketState s)" --><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 InspSocket::SetState </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>s</em> </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>
-Changes the socket's state.
-<p>
-The core uses this to change socket states, and you should not call it directly.
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00247">247</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="socket_8h-source.html#l00072">state</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00216">Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00248"></a>00248 {
-<a name="l00249"></a>00249 <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">"Socket state change"</span>);
-<a name="l00250"></a>00250 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = s;
-<a name="l00251"></a>00251 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Timeout_28time_5Ft_20current_29"></a><!-- doxytag: member="InspSocket::Timeout" ref="Timeout_28time_5Ft_20current_29" args="(time_t current)" --><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">bool InspSocket::Timeout </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">time_t&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>current</em> </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>
-This function checks if the socket has timed out yet, given the current time in the parameter.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>true if timed out, false if not timed out</dd></dl>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00197">197</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8cpp-source.html#l00181">FlushWriteBuffer()</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>, <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>, <a class="el" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>, <a class="el" href="socket_8cpp-source.html#l00264">OnError()</a>, <a class="el" href="socket_8cpp-source.html#l00268">OnTimeout()</a>, <a class="el" href="socket_8h-source.html#l00072">state</a>, <a class="el" href="socket_8h-source.html#l00097">timeout</a>, and <a class="el" href="socket_8h-source.html#l00091">timeout_end</a>.<div class="fragment"><pre class="fragment"><a name="l00198"></a>00198 {
-<a name="l00199"></a>00199 <span class="keywordflow">if</span> ((this-&gt;state == <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>) &amp;&amp; (current &gt; <a class="code" href="classInspSocket.html#timeout_5Fend">timeout_end</a>))
-<a name="l00200"></a>00200 {
-<a name="l00201"></a>00201 <span class="comment">// for non-listening sockets, the timeout can occur</span>
-<a name="l00202"></a>00202 <span class="comment">// which causes termination of the connection after</span>
-<a name="l00203"></a>00203 <span class="comment">// the given number of seconds without a successful</span>
-<a name="l00204"></a>00204 <span class="comment">// connection.</span>
-<a name="l00205"></a>00205 this-&gt;<a class="code" href="classInspSocket.html#OnTimeout_28_29">OnTimeout</a>();
-<a name="l00206"></a>00206 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>);
-<a name="l00207"></a>00207 <a class="code" href="classInspSocket.html#timeout">timeout</a> = <span class="keyword">true</span>;
-<a name="l00208"></a>00208 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00209"></a>00209 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00210"></a>00210 }
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (this-&gt;Buffer.length())
-<a name="l00212"></a>00212 this-&gt;<a class="code" href="classInspSocket.html#FlushWriteBuffer_28_29">FlushWriteBuffer</a>();
-<a name="l00213"></a>00213 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00214"></a>00214 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Write_28std_3A_3Astring_20data_29"></a><!-- doxytag: member="InspSocket::Write" ref="Write_28std_3A_3Astring_20data_29" args="(std::string data)" --><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 InspSocket::Write </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>data</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Writes a <a class="el" href="namespaceirc.html#string">std::string</a> to the socket.
-<p>
-No carriage returns or linefeeds are appended to the string. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to send</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="socket_8cpp-source.html#l00174">174</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>.
-<p>
-References <a class="el" href="socket_8h-source.html#l00111">Buffer</a>, and <a class="el" href="socket_8cpp-source.html#l00181">FlushWriteBuffer()</a>.<div class="fragment"><pre class="fragment"><a name="l00175"></a>00175 {
-<a name="l00176"></a>00176 this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a> = this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a> + data;
-<a name="l00177"></a>00177 this-&gt;<a class="code" href="classInspSocket.html#FlushWriteBuffer_28_29">FlushWriteBuffer</a>();
-<a name="l00178"></a>00178 <span class="keywordflow">return</span> data.length();
-<a name="l00179"></a>00179 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="addr"></a><!-- doxytag: member="InspSocket::addr" ref="addr" 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">sockaddr_in <a class="el" href="classInspSocket.html#addr">InspSocket::addr</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The host being connected to, in sockaddr form.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00078">78</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="addy"></a><!-- doxytag: member="InspSocket::addy" ref="addy" 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">in_addr <a class="el" href="classInspSocket.html#addy">InspSocket::addy</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The host being connected to, in in_addr form.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00084">84</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Buffer"></a><!-- doxytag: member="InspSocket::Buffer" ref="Buffer" 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="classInspSocket.html#Buffer">InspSocket::Buffer</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The output buffer for this socket.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00111">111</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00181">FlushWriteBuffer()</a>, and <a class="el" href="socket_8cpp-source.html#l00174">Write()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="client"></a><!-- doxytag: member="InspSocket::client" ref="client" 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">sockaddr_in <a class="el" href="classInspSocket.html#client">InspSocket::client</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Client sockaddr structure used by accept().
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00124">124</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00216">Poll()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="fd"></a><!-- doxytag: member="InspSocket::fd" ref="fd" 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 <a class="el" href="classInspSocket.html#fd">InspSocket::fd</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The file descriptor of this socket.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00054">54</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00138">Close()</a>, <a class="el" href="socket_8cpp-source.html#l00258">GetFd()</a>, and <a class="el" href="socket_8cpp-source.html#l00050">InspSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="host"></a><!-- doxytag: member="InspSocket::host" ref="host" 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="classInspSocket.html#host">InspSocket::host</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The hostname connected to.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00059">59</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ibuf_5B_36_35_35_33_35_5D"></a><!-- doxytag: member="InspSocket::ibuf" ref="ibuf_5B_36_35_35_33_35_5D" args="[65535]" --><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="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">InspSocket::ibuf</a>[65535]<code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Socket input buffer, used by read().
-<p>
-The class which extends InspSocket is expected to implement an extendable buffer which can grow much larger than 64k, this buffer is just designed to be temporary storage. space.
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00106">106</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00155">Read()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="IP"></a><!-- doxytag: member="InspSocket::IP" ref="IP" 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="classInspSocket.html#IP">InspSocket::IP</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The IP address being connected to stored in string form for easy retrieval by accessors.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00118">118</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00150">GetIP()</a>, and <a class="el" href="socket_8cpp-source.html#l00050">InspSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="length"></a><!-- doxytag: member="InspSocket::length" ref="length" 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">socklen_t <a class="el" href="classInspSocket.html#length">InspSocket::length</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used by accept() to indicate the sizes of the sockaddr_in structures.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00136">136</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00216">Poll()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="port"></a><!-- doxytag: member="InspSocket::port" ref="port" 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 <a class="el" href="classInspSocket.html#port">InspSocket::port</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The port connected to, or the port this socket is listening on.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00065">65</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="server"></a><!-- doxytag: member="InspSocket::server" ref="server" 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">sockaddr_in <a class="el" href="classInspSocket.html#server">InspSocket::server</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-<a class="el" href="classServer.html">Server</a> sockaddr structure used by accept().
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00130">130</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="state"></a><!-- doxytag: member="InspSocket::state" ref="state" 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="socket_8h.html#InspSocketState">InspSocketState</a> <a class="el" href="classInspSocket.html#state">InspSocket::state</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The state for this socket, either listening, connecting, connected or error.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00072">72</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00253">GetState()</a>, <a class="el" href="socket_8cpp-source.html#l00045">InspSocket()</a>, <a class="el" href="socket_8cpp-source.html#l00247">SetState()</a>, and <a class="el" href="socket_8cpp-source.html#l00197">Timeout()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="timeout"></a><!-- doxytag: member="InspSocket::timeout" ref="timeout" 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">bool <a class="el" href="classInspSocket.html#timeout">InspSocket::timeout</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This value is true if the socket has timed out.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00097">97</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00197">Timeout()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="timeout_5Fend"></a><!-- doxytag: member="InspSocket::timeout_end" ref="timeout_5Fend" 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">time_t <a class="el" href="classInspSocket.html#timeout_5Fend">InspSocket::timeout_end</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-When this time is reached, the socket times out if it is in the CONNECTING state.
-<p>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00091">91</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00197">Timeout()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classInspSocket__coll__graph.gif b/docs/module-doc/classInspSocket__coll__graph.gif
deleted file mode 100644
index 6a652aa18..000000000
--- a/docs/module-doc/classInspSocket__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classInspSocket__coll__graph.map b/docs/module-doc/classInspSocket__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classInspSocket__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classInspSocket__coll__graph.md5 b/docs/module-doc/classInspSocket__coll__graph.md5
deleted file mode 100644
index 58e1367ba..000000000
--- a/docs/module-doc/classInspSocket__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-51939a33bf707f1bcff03f02bd5b43b3 \ No newline at end of file
diff --git a/docs/module-doc/classInviteItem-members.html b/docs/module-doc/classInviteItem-members.html
deleted file mode 100644
index 49a217d8e..000000000
--- a/docs/module-doc/classInviteItem-members.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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>InviteItem Member List</h1>This is the complete list of members for <a class="el" href="classInviteItem.html">InviteItem</a>, including all inherited members.<p><table>
- <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="classHostItem.html#data_5BMAXBUF_5D">data</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#HostItem_28_29">HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">set_by</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
- <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 Mon Dec 19 18:05:22 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/classInviteItem.html b/docs/module-doc/classInviteItem.html
deleted file mode 100644
index 8d1ce0509..000000000
--- a/docs/module-doc/classInviteItem.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!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: InviteItem 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>InviteItem Class Reference</h1><!-- doxytag: class="InviteItem" --><!-- doxytag: inherits="HostItem" -->A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel invites (+I).
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
-<p>
-Inheritance diagram for InviteItem:<p><center><img src="classInviteItem__inherit__graph.gif" border="0" usemap="#InviteItem__inherit__map" alt="Inheritance graph"></center>
-<map name="InviteItem__inherit__map">
-<area href="classHostItem.html" shape="rect" coords="9,81,84,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for InviteItem:<p><center><img src="classInviteItem__coll__graph.gif" border="0" usemap="#InviteItem__coll__map" alt="Collaboration graph"></center>
-<map name="InviteItem__coll__map">
-<area href="classHostItem.html" shape="rect" coords="109,204,184,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="107,98,187,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classInviteItem-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel invites (+I).
-<p>
-
-<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 Mon Dec 19 18:05:22 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/classInviteItem__coll__graph.gif b/docs/module-doc/classInviteItem__coll__graph.gif
deleted file mode 100644
index 9b4a16b1b..000000000
--- a/docs/module-doc/classInviteItem__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classInviteItem__coll__graph.map b/docs/module-doc/classInviteItem__coll__graph.map
deleted file mode 100644
index 84658baf1..000000000
--- a/docs/module-doc/classInviteItem__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classHostItem.html 109,204 184,231
-rect $classclassbase.html 107,98 187,124
diff --git a/docs/module-doc/classInviteItem__coll__graph.md5 b/docs/module-doc/classInviteItem__coll__graph.md5
deleted file mode 100644
index 78e3d5cb3..000000000
--- a/docs/module-doc/classInviteItem__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-0e7c9a802bcb31edadf15c0c416fbf00 \ No newline at end of file
diff --git a/docs/module-doc/classInviteItem__inherit__graph.gif b/docs/module-doc/classInviteItem__inherit__graph.gif
deleted file mode 100644
index aca6cb998..000000000
--- a/docs/module-doc/classInviteItem__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classInviteItem__inherit__graph.map b/docs/module-doc/classInviteItem__inherit__graph.map
deleted file mode 100644
index 6bc1ce88e..000000000
--- a/docs/module-doc/classInviteItem__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classHostItem.html 9,81 84,108
-rect $classclassbase.html 7,7 87,33
diff --git a/docs/module-doc/classInviteItem__inherit__graph.md5 b/docs/module-doc/classInviteItem__inherit__graph.md5
deleted file mode 100644
index 1637f9a3d..000000000
--- a/docs/module-doc/classInviteItem__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-845b1cfd9fe0eacedda5d0694f8309ad \ No newline at end of file
diff --git a/docs/module-doc/classInvited-members.html b/docs/module-doc/classInvited-members.html
deleted file mode 100644
index 555d585d0..000000000
--- a/docs/module-doc/classInvited-members.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!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>Invited Member List</h1>This is the complete list of members for <a class="el" href="classInvited.html">Invited</a>, including all inherited members.<p><table>
- <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="classInvited.html#channel">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 Mon Dec 19 18:05:22 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/classInvited.html b/docs/module-doc/classInvited.html
deleted file mode 100644
index 9a225bf44..000000000
--- a/docs/module-doc/classInvited.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!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: Invited 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>Invited Class Reference</h1><!-- doxytag: class="Invited" --><!-- doxytag: inherits="classbase" -->Holds a channel name to which a user has been invited.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="users_8h-source.html">users.h</a>&gt;</code>
-<p>
-Inheritance diagram for Invited:<p><center><img src="classInvited__inherit__graph.gif" border="0" usemap="#Invited__inherit__map" alt="Inheritance graph"></center>
-<map name="Invited__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Invited:<p><center><img src="classInvited__coll__graph.gif" border="0" usemap="#Invited__coll__map" alt="Collaboration graph"></center>
-<map name="Invited__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classInvited-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 Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">irc::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInvited.html#channel">channel</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds a channel name to which a user has been invited.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00043">43</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="channel"></a><!-- doxytag: member="Invited::channel" ref="channel" 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">irc::string</a> <a class="el" href="classInvited.html#channel">Invited::channel</a> </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="users_8h-source.html#l00046">46</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#l00141">userrec::InviteTo()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classInvited__coll__graph.gif b/docs/module-doc/classInvited__coll__graph.gif
deleted file mode 100644
index 0f62e84d5..000000000
--- a/docs/module-doc/classInvited__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classInvited__coll__graph.map b/docs/module-doc/classInvited__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classInvited__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classInvited__coll__graph.md5 b/docs/module-doc/classInvited__coll__graph.md5
deleted file mode 100644
index 4e56570e2..000000000
--- a/docs/module-doc/classInvited__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-14a980236c753f79990d5ee0b50c1adc \ No newline at end of file
diff --git a/docs/module-doc/classInvited__inherit__graph.gif b/docs/module-doc/classInvited__inherit__graph.gif
deleted file mode 100644
index b099abe99..000000000
--- a/docs/module-doc/classInvited__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classInvited__inherit__graph.map b/docs/module-doc/classInvited__inherit__graph.map
deleted file mode 100644
index 8b1d85be3..000000000
--- a/docs/module-doc/classInvited__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,7 87,34
diff --git a/docs/module-doc/classInvited__inherit__graph.md5 b/docs/module-doc/classInvited__inherit__graph.md5
deleted file mode 100644
index 8bd110dab..000000000
--- a/docs/module-doc/classInvited__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-69f699d6bf71b6885ae31ce5e4dff391 \ No newline at end of file
diff --git a/docs/module-doc/classKLine-members.html b/docs/module-doc/classKLine-members.html
deleted file mode 100644
index adf1306ae..000000000
--- a/docs/module-doc/classKLine-members.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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>KLine Member List</h1>This is the complete list of members for <a class="el" href="classKLine.html">KLine</a>, including all inherited members.<p><table>
- <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="classXLine.html#duration">duration</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classKLine.html#hostmask_5B_32_30_30_5D">hostmask</a></td><td><a class="el" href="classKLine.html">KLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classXLine.html#n_5Fmatches">n_matches</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#reason_5BMAXBUF_5D">reason</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#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 Mon Dec 19 18:05:22 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/classKLine.html b/docs/module-doc/classKLine.html
deleted file mode 100644
index 4fa284709..000000000
--- a/docs/module-doc/classKLine.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!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: KLine 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>KLine Class Reference</h1><!-- doxytag: class="KLine" --><!-- doxytag: inherits="XLine" -->KLine class.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="xline_8h-source.html">xline.h</a>&gt;</code>
-<p>
-Inheritance diagram for KLine:<p><center><img src="classKLine__inherit__graph.gif" border="0" usemap="#KLine__inherit__map" alt="Inheritance graph"></center>
-<map name="KLine__inherit__map">
-<area href="classXLine.html" shape="rect" coords="19,81,75,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for KLine:<p><center><img src="classKLine__coll__graph.gif" border="0" usemap="#KLine__coll__map" alt="Collaboration graph"></center>
-<map name="KLine__coll__map">
-<area href="classXLine.html" shape="rect" coords="165,204,221,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,98,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classKLine-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 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="classKLine.html#hostmask_5B_32_30_30_5D">hostmask</a> [200]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hostmask (ident) to match against May contain wildcards. <a href="#hostmask_5B_32_30_30_5D"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-KLine class.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00067">67</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="hostmask_5B_32_30_30_5D"></a><!-- doxytag: member="KLine::hostmask" ref="hostmask_5B_32_30_30_5D" args="[200]" --><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="classKLine.html#hostmask_5B_32_30_30_5D">KLine::hostmask</a>[200] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Hostmask (ident) to match against May contain wildcards.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00073">73</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classKLine__coll__graph.gif b/docs/module-doc/classKLine__coll__graph.gif
deleted file mode 100644
index a67d4f0fa..000000000
--- a/docs/module-doc/classKLine__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classKLine__coll__graph.map b/docs/module-doc/classKLine__coll__graph.map
deleted file mode 100644
index 25a1b769a..000000000
--- a/docs/module-doc/classKLine__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 165,204 221,231
-rect $classclassbase.html 7,98 87,124
diff --git a/docs/module-doc/classKLine__coll__graph.md5 b/docs/module-doc/classKLine__coll__graph.md5
deleted file mode 100644
index fea8aba9c..000000000
--- a/docs/module-doc/classKLine__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-81c2c774112a4711078a8057d08806b5 \ No newline at end of file
diff --git a/docs/module-doc/classKLine__inherit__graph.gif b/docs/module-doc/classKLine__inherit__graph.gif
deleted file mode 100644
index 2085f41fe..000000000
--- a/docs/module-doc/classKLine__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classKLine__inherit__graph.map b/docs/module-doc/classKLine__inherit__graph.map
deleted file mode 100644
index 37695eb4e..000000000
--- a/docs/module-doc/classKLine__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 19,81 75,108
-rect $classclassbase.html 7,7 87,33
diff --git a/docs/module-doc/classKLine__inherit__graph.md5 b/docs/module-doc/classKLine__inherit__graph.md5
deleted file mode 100644
index cf3a8de14..000000000
--- a/docs/module-doc/classKLine__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-b2ae56c0712c9e2b50e2ab3573543b74 \ No newline at end of file
diff --git a/docs/module-doc/classModeParameter-members.html b/docs/module-doc/classModeParameter-members.html
deleted file mode 100644
index c3638a1ec..000000000
--- a/docs/module-doc/classModeParameter-members.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!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>ModeParameter Member List</h1>This is the complete list of members for <a class="el" href="classModeParameter.html">ModeParameter</a>, including all inherited members.<p><table>
- <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="classModeParameter.html#channel_5BCHANMAX_5D">channel</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#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="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 Mon Dec 19 18:05:22 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/classModeParameter.html b/docs/module-doc/classModeParameter.html
deleted file mode 100644
index a1e22bd1d..000000000
--- a/docs/module-doc/classModeParameter.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!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: ModeParameter 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>ModeParameter Class Reference</h1><!-- doxytag: class="ModeParameter" --><!-- doxytag: inherits="classbase" -->Holds a custom parameter to a module-defined channel mode e.g.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
-<p>
-Inheritance diagram for ModeParameter:<p><center><img src="classModeParameter__inherit__graph.gif" border="0" usemap="#ModeParameter__inherit__map" alt="Inheritance graph"></center>
-<map name="ModeParameter__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="26,7,106,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ModeParameter:<p><center><img src="classModeParameter__coll__graph.gif" border="0" usemap="#ModeParameter__coll__map" alt="Collaboration graph"></center>
-<map name="ModeParameter__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classModeParameter-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 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="classModeParameter.html#mode">mode</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModeParameter.html#parameter_5BMAXBUF_5D">parameter</a> [MAXBUF]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModeParameter.html#channel_5BCHANMAX_5D">channel</a> [CHANMAX]</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds a custom parameter to a module-defined channel mode e.g.
-<p>
-for +L this would hold the channel name.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00079">79</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="channel_5BCHANMAX_5D"></a><!-- doxytag: member="ModeParameter::channel" ref="channel_5BCHANMAX_5D" args="[CHANMAX]" --><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="classModeParameter.html#channel_5BCHANMAX_5D">ModeParameter::channel</a>[CHANMAX] </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="channels_8h-source.html#l00084">84</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#l00110">chanrec::SetCustomModeParam()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="mode"></a><!-- doxytag: member="ModeParameter::mode" ref="mode" 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 <a class="el" href="classModeParameter.html#mode">ModeParameter::mode</a> </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="channels_8h-source.html#l00082">82</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#l00110">chanrec::SetCustomModeParam()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="parameter_5BMAXBUF_5D"></a><!-- doxytag: member="ModeParameter::parameter" ref="parameter_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="classModeParameter.html#parameter_5BMAXBUF_5D">ModeParameter::parameter</a>[MAXBUF] </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="channels_8h-source.html#l00083">83</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#l00110">chanrec::SetCustomModeParam()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classModeParameter__coll__graph.gif b/docs/module-doc/classModeParameter__coll__graph.gif
deleted file mode 100644
index ae0ede4e0..000000000
--- a/docs/module-doc/classModeParameter__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModeParameter__coll__graph.map b/docs/module-doc/classModeParameter__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classModeParameter__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classModeParameter__coll__graph.md5 b/docs/module-doc/classModeParameter__coll__graph.md5
deleted file mode 100644
index f32442a8e..000000000
--- a/docs/module-doc/classModeParameter__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-32a9027f3a7ddd405d66343245c392f9 \ No newline at end of file
diff --git a/docs/module-doc/classModeParameter__inherit__graph.gif b/docs/module-doc/classModeParameter__inherit__graph.gif
deleted file mode 100644
index 0a8009b82..000000000
--- a/docs/module-doc/classModeParameter__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModeParameter__inherit__graph.map b/docs/module-doc/classModeParameter__inherit__graph.map
deleted file mode 100644
index 152ac9587..000000000
--- a/docs/module-doc/classModeParameter__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 26,7 106,34
diff --git a/docs/module-doc/classModeParameter__inherit__graph.md5 b/docs/module-doc/classModeParameter__inherit__graph.md5
deleted file mode 100644
index 9a26aff0b..000000000
--- a/docs/module-doc/classModeParameter__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-163da5ee51dd2aa809803557093d11a0 \ No newline at end of file
diff --git a/docs/module-doc/classModule-members.html b/docs/module-doc/classModule-members.html
deleted file mode 100644
index 3b24cd1ea..000000000
--- a/docs/module-doc/classModule-members.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!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>Module Member List</h1>This is the complete list of members for <a class="el" href="classModule.html">Module</a>, including all inherited members.<p><table>
- <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="classModule.html#GetVersion_28_29">GetVersion</a>()</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="classModule.html#Module_28Server_20_2AMe_29">Module</a>(Server *Me)</td><td><a class="el" href="classModule.html">Module</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classModule.html#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29">On005Numeric</a>(std::string &amp;output)</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="classModule.html#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29">OnAccessCheck</a>(userrec *source, userrec *dest, chanrec *channel, int access_type)</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="classModule.html#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">OnAddBan</a>(userrec *source, chanrec *channel, std::string banmask)</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="classModule.html#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddELine</a>(long duration, userrec *source, std::string reason, std::string hostmask)</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="classModule.html#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddGLine</a>(long duration, userrec *source, std::string reason, std::string hostmask)</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="classModule.html#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddKLine</a>(long duration, userrec *source, std::string reason, std::string hostmask)</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="classModule.html#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29">OnAddQLine</a>(long duration, userrec *source, std::string reason, std::string nickmask)</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="classModule.html#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29">OnAddZLine</a>(long duration, userrec *source, std::string reason, std::string ipmask)</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="classModule.html#OnBackgroundTimer_28time_5Ft_20curtime_29">OnBackgroundTimer</a>(time_t curtime)</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="classModule.html#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeHost</a>(userrec *user, std::string newhost)</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="classModule.html#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeLocalUserGECOS</a>(userrec *user, std::string newhost)</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="classModule.html#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeLocalUserHost</a>(userrec *user, std::string newhost)</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="classModule.html#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">OnChangeName</a>(userrec *user, std::string gecos)</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="classModule.html#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckBan</a>(userrec *user, chanrec *chan)</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="classModule.html#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckInvite</a>(userrec *user, chanrec *chan)</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="classModule.html#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29">OnCheckKey</a>(userrec *user, chanrec *chan, std::string keygiven)</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="classModule.html#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckLimit</a>(userrec *user, chanrec *chan)</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="classModule.html#OnCheckReady_28userrec_20_2Auser_29">OnCheckReady</a>(userrec *user)</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="classModule.html#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29">OnCleanup</a>(int target_type, void *item)</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="classModule.html#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">OnDecodeMetaData</a>(int target_type, void *target, std::string extname, std::string extdata)</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="classModule.html#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">OnDelBan</a>(userrec *source, chanrec *channel, std::string banmask)</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="classModule.html#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelELine</a>(userrec *source, std::string hostmask)</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="classModule.html#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelGLine</a>(userrec *source, std::string hostmask)</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="classModule.html#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelKLine</a>(userrec *source, std::string hostmask)</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="classModule.html#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29">OnDelQLine</a>(userrec *source, std::string nickmask)</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="classModule.html#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29">OnDelZLine</a>(userrec *source, std::string ipmask)</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="classModule.html#OnEvent_28Event_20_2Aevent_29">OnEvent</a>(Event *event)</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="classModule.html#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29">OnExtendedMode</a>(userrec *user, void *target, char modechar, int type, bool mode_on, string_list &amp;params)</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="classModule.html#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29">OnGetServerDescription</a>(std::string servername, std::string &amp;description)</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="classModule.html#OnGlobalConnect_28userrec_20_2Auser_29">OnGlobalConnect</a>(userrec *user)</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="classModule.html#OnGlobalOper_28userrec_20_2Auser_29">OnGlobalOper</a>(userrec *user)</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="classModule.html#OnInfo_28userrec_20_2Auser_29">OnInfo</a>(userrec *user)</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="classModule.html#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">OnKill</a>(userrec *source, userrec *dest, std::string reason)</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="classModule.html#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">OnLoadModule</a>(Module *mod, std::string name)</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="classModule.html#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">OnLocalTopicChange</a>(userrec *user, chanrec *chan, std::string topic)</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="classModule.html#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnMode</a>(userrec *user, void *dest, int target_type, std::string text)</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="classModule.html#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29">OnOper</a>(userrec *user, std::string opertype)</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="classModule.html#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29">OnOperCompare</a>(std::string password, std::string input)</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="classModule.html#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">OnPostLocalTopicChange</a>(userrec *user, chanrec *chan, std::string topic)</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="classModule.html#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">OnPreCommand</a>(std::string command, char **parameters, int pcnt, userrec *user)</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="classModule.html#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29">OnRawMode</a>(userrec *user, chanrec *chan, char mode, std::string param, bool adding, int pcnt)</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="classModule.html#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29">OnRawSocketAccept</a>(int fd, std::string ip, int localport)</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="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(int fd)</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="classModule.html#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29">OnRawSocketRead</a>(int fd, char *buffer, unsigned int count, int &amp;readresult)</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="classModule.html#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29">OnRawSocketWrite</a>(int fd, char *buffer, int count)</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="classModule.html#OnRehash_28std_3A_3Astring_20parameter_29">OnRehash</a>(std::string parameter)</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="classModule.html#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">OnRemoteKill</a>(userrec *source, userrec *dest, std::string reason)</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="classModule.html#OnRequest_28Request_20_2Arequest_29">OnRequest</a>(Request *request)</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="classModule.html#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29">OnSendList</a>(userrec *user, chanrec *channel, char mode)</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="classModule.html#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29">OnServerRaw</a>(std::string &amp;raw, bool inbound, userrec *user)</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="classModule.html#OnStats_28char_20symbol_29">OnStats</a>(char symbol)</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="classModule.html#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">OnSyncChannel</a>(chanrec *chan, Module *proto, void *opaque)</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="classModule.html#OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">OnSyncChannelMetaData</a>(chanrec *chan, Module *proto, void *opaque, std::string extname)</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="classModule.html#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">OnSyncUser</a>(userrec *user, Module *proto, void *opaque)</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="classModule.html#OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">OnSyncUserMetaData</a>(userrec *user, Module *proto, void *opaque, std::string extname)</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="classModule.html#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">OnUnloadModule</a>(Module *mod, std::string name)</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="classModule.html#OnUserConnect_28userrec_20_2Auser_29">OnUserConnect</a>(userrec *user)</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="classModule.html#OnUserDisconnect_28userrec_20_2Auser_29">OnUserDisconnect</a>(userrec *user)</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="classModule.html#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">OnUserInvite</a>(userrec *source, userrec *dest, chanrec *channel)</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="classModule.html#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">OnUserJoin</a>(userrec *user, chanrec *channel)</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="classModule.html#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">OnUserKick</a>(userrec *source, userrec *user, chanrec *chan, std::string reason)</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="classModule.html#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnUserMessage</a>(userrec *user, void *dest, int target_type, std::string text)</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="classModule.html#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnUserNotice</a>(userrec *user, void *dest, int target_type, std::string text)</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="classModule.html#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">OnUserPart</a>(userrec *user, chanrec *channel)</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="classModule.html#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29">OnUserPostNick</a>(userrec *user, std::string oldnick)</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="classModule.html#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">OnUserPreInvite</a>(userrec *source, userrec *dest, chanrec *channel)</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="classModule.html#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29">OnUserPreJoin</a>(userrec *user, chanrec *chan, const char *cname)</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="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">OnUserPreKick</a>(userrec *source, userrec *user, chanrec *chan, std::string reason)</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="classModule.html#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">OnUserPreMessage</a>(userrec *user, void *dest, int target_type, std::string &amp;text)</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="classModule.html#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29">OnUserPreNick</a>(userrec *user, std::string newnick)</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="classModule.html#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">OnUserPreNotice</a>(userrec *user, void *dest, int target_type, std::string &amp;text)</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="classModule.html#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">OnUserQuit</a>(userrec *user, std::string message)</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="classModule.html#OnUserRegister_28userrec_20_2Auser_29">OnUserRegister</a>(userrec *user)</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="classModule.html#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29">OnWallops</a>(userrec *user, std::string text)</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="classModule.html#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29">OnWhois</a>(userrec *source, userrec *dest)</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="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">ProtoSendMetaData</a>(void *opaque, int target_type, void *target, std::string extname, std::string extdata)</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="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 Mon Dec 19 18:05:22 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/classModule.html b/docs/module-doc/classModule.html
deleted file mode 100644
index fd4cb4c10..000000000
--- a/docs/module-doc/classModule.html
+++ /dev/null
@@ -1,4579 +0,0 @@
-<!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: Module 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>Module Class Reference</h1><!-- doxytag: class="Module" --><!-- doxytag: inherits="classbase" -->Base class for all <a class="el" href="classInspIRCd.html">InspIRCd</a> modules This class is the base class for <a class="el" href="classInspIRCd.html">InspIRCd</a> modules.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for Module:<p><center><img src="classModule__inherit__graph.gif" border="0" usemap="#Module__inherit__map" alt="Inheritance graph"></center>
-<map name="Module__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Module:<p><center><img src="classModule__coll__graph.gif" border="0" usemap="#Module__coll__map" alt="Collaboration graph"></center>
-<map name="Module__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classModule-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="classModule.html#Module_28Server_20_2AMe_29">Module</a> (<a class="el" href="classServer.html">Server</a> *Me)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor Creates a module class. <a href="#Module_28Server_20_2AMe_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#_7EModule_28_29">~Module</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor destroys a module class. <a href="#_7EModule_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classVersion.html">Version</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#GetVersion_28_29">GetVersion</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the version number of a Module. <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="classModule.html#OnUserConnect_28userrec_20_2Auser_29">OnUserConnect</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a user connects. <a href="#OnUserConnect_28userrec_20_2Auser_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="classModule.html#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">OnUserQuit</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> message)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a user quits. <a href="#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_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="classModule.html#OnUserDisconnect_28userrec_20_2Auser_29">OnUserDisconnect</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user's socket is closed. <a href="#OnUserDisconnect_28userrec_20_2Auser_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="classModule.html#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">OnUserJoin</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a user joins a channel. <a href="#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_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="classModule.html#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">OnUserPart</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a user parts a channel. <a href="#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_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="classModule.html#OnRehash_28std_3A_3Astring_20parameter_29">OnRehash</a> (<a class="el" href="namespaceirc.html#string">std::string</a> parameter)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called on rehash. <a href="#OnRehash_28std_3A_3Astring_20parameter_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="classModule.html#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29">OnServerRaw</a> (<a class="el" href="namespaceirc.html#string">std::string</a> &amp;raw, bool inbound, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a raw command is transmitted or received. <a href="#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29">OnExtendedMode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *target, char modechar, int type, bool mode_on, <a class="el" href="modules_8h.html#string_5Flist">string_list</a> &amp;params)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever an extended mode is to be processed. <a href="#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29">OnUserPreJoin</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, const char *cname)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is about to join a channel, before any processing is done. <a href="#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">OnUserPreKick</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, <a class="el" href="namespaceirc.html#string">std::string</a> reason)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is about to be kicked. <a href="#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_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="classModule.html#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">OnUserKick</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, <a class="el" href="namespaceirc.html#string">std::string</a> reason)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is kicked. <a href="#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_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="classModule.html#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29">OnOper</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> opertype)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user opers locally. <a href="#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_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="classModule.html#OnInfo_28userrec_20_2Auser_29">OnInfo</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user types /INFO. <a href="#OnInfo_28userrec_20_2Auser_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="classModule.html#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29">OnWhois</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a /WHOIS is performed on a local user. <a href="#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">OnUserPreInvite</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is about to invite another user into a channel, before any processing is done. <a href="#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_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="classModule.html#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">OnUserInvite</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest, <a class="el" href="classchanrec.html">chanrec</a> *channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called after a user has been successfully invited to a channel. <a href="#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">OnUserPreMessage</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *dest, int target_type, <a class="el" href="namespaceirc.html#string">std::string</a> &amp;text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done. <a href="#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">OnUserPreNotice</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *dest, int target_type, <a class="el" href="namespaceirc.html#string">std::string</a> &amp;text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is about to NOTICE A user or a channel, before any processing is done. <a href="#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29">OnUserPreNick</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> newnick)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called before any nickchange, local or remote. <a href="#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_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="classModule.html#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnUserMessage</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *dest, int target_type, <a class="el" href="namespaceirc.html#string">std::string</a> text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called after any PRIVMSG sent from a user. <a href="#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_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="classModule.html#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnUserNotice</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *dest, int target_type, <a class="el" href="namespaceirc.html#string">std::string</a> text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called after any NOTICE sent from a user. <a href="#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_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="classModule.html#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnMode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, void *dest, int target_type, <a class="el" href="namespaceirc.html#string">std::string</a> text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called after every MODE command sent from a user The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL. <a href="#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_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="classModule.html#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29">OnGetServerDescription</a> (<a class="el" href="namespaceirc.html#string">std::string</a> servername, <a class="el" href="namespaceirc.html#string">std::string</a> &amp;description)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allows modules to alter or create server descriptions Whenever a module requires a server description, for example for display in WHOIS, this function is called in all modules. <a href="#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_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="classModule.html#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">OnSyncUser</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classModule.html">Module</a> *proto, void *opaque)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allows modules to synchronize data which relates to users during a netburst. <a href="#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_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="classModule.html#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">OnSyncChannel</a> (<a class="el" href="classchanrec.html">chanrec</a> *chan, <a class="el" href="classModule.html">Module</a> *proto, void *opaque)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allows modules to synchronize data which relates to channels during a netburst. <a href="#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_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="classModule.html#OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">OnSyncChannelMetaData</a> (<a class="el" href="classchanrec.html">chanrec</a> *chan, <a class="el" href="classModule.html">Module</a> *proto, void *opaque, <a class="el" href="namespaceirc.html#string">std::string</a> extname)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">OnSyncUserMetaData</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classModule.html">Module</a> *proto, void *opaque, <a class="el" href="namespaceirc.html#string">std::string</a> extname)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">OnDecodeMetaData</a> (int target_type, void *target, <a class="el" href="namespaceirc.html#string">std::string</a> extname, <a class="el" href="namespaceirc.html#string">std::string</a> extdata)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allows module data, sent via ProtoSendMetaData, to be decoded again by a receiving module. <a href="#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_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="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, <a class="el" href="namespaceirc.html#string">std::string</a> modeline)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implemented by modules which provide the ability to link servers. <a href="#ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_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="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">ProtoSendMetaData</a> (void *opaque, int target_type, void *target, <a class="el" href="namespaceirc.html#string">std::string</a> extname, <a class="el" href="namespaceirc.html#string">std::string</a> extdata)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Implemented by modules which provide the ability to link servers. <a href="#ProtoSendMetaData_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_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="classModule.html#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29">OnWallops</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called after every WALLOPS command. <a href="#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_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="classModule.html#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeHost</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> newhost)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user's hostname is changed. <a href="#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_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="classModule.html#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">OnChangeName</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> gecos)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user's GECOS (realname) is changed. <a href="#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_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="classModule.html#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddGLine</a> (long duration, <a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a gline is added by a local user. <a href="#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_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="classModule.html#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29">OnAddZLine</a> (long duration, <a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> ipmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a zline is added by a local user. <a href="#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_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="classModule.html#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddKLine</a> (long duration, <a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a kline is added by a local user. <a href="#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_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="classModule.html#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29">OnAddQLine</a> (long duration, <a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> nickmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a qline is added by a local user. <a href="#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_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="classModule.html#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddELine</a> (long duration, <a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a eline is added by a local user. <a href="#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_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="classModule.html#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelGLine</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a gline is deleted. <a href="#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_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="classModule.html#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29">OnDelZLine</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> ipmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a zline is deleted. <a href="#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_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="classModule.html#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelKLine</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a kline is deleted. <a href="#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_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="classModule.html#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29">OnDelQLine</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> nickmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a qline is deleted. <a href="#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_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="classModule.html#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelELine</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a eline is deleted. <a href="#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_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="classModule.html#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29">OnCleanup</a> (int target_type, void *item)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called before your module is unloaded to clean up Extensibles. <a href="#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_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="classModule.html#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29">OnUserPostNick</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> oldnick)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called after any nickchange, local or remote. <a href="#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29">OnAccessCheck</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest, <a class="el" href="classchanrec.html">chanrec</a> *channel, int access_type)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called before an action which requires a channel privilage check. <a href="#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_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="classModule.html#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29">On005Numeric</a> (<a class="el" href="namespaceirc.html#string">std::string</a> &amp;output)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a 005 numeric is about to be output. <a href="#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">OnKill</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest, <a class="el" href="namespaceirc.html#string">std::string</a> reason)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when a client is disconnected by KILL. <a href="#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_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="classModule.html#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">OnRemoteKill</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest, <a class="el" href="namespaceirc.html#string">std::string</a> reason)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called when an oper wants to disconnect a remote user via KILL. <a href="#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_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="classModule.html#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">OnLoadModule</a> (<a class="el" href="classModule.html">Module</a> *mod, <a class="el" href="namespaceirc.html#string">std::string</a> name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a module is loaded. <a href="#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_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="classModule.html#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">OnUnloadModule</a> (<a class="el" href="classModule.html">Module</a> *mod, <a class="el" href="namespaceirc.html#string">std::string</a> name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a module is unloaded. <a href="#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_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="classModule.html#OnBackgroundTimer_28time_5Ft_20curtime_29">OnBackgroundTimer</a> (time_t curtime)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called once every five seconds for background processing. <a href="#OnBackgroundTimer_28time_5Ft_20curtime_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="classModule.html#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29">OnSendList</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *channel, char mode)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a list is needed for a listmode. <a href="#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">OnPreCommand</a> (<a class="el" href="namespaceirc.html#string">std::string</a> command, char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever any command is about to be executed. <a href="#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnCheckReady_28userrec_20_2Auser_29">OnCheckReady</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called to check if a user who is connecting can now be allowed to register If any modules return false for this function, the user is held in the waiting state until all modules return true. <a href="#OnCheckReady_28userrec_20_2Auser_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="classModule.html#OnUserRegister_28userrec_20_2Auser_29">OnUserRegister</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is about to register their connection (e.g. <a href="#OnUserRegister_28userrec_20_2Auser_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29">OnRawMode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, char mode, <a class="el" href="namespaceirc.html#string">std::string</a> param, bool adding, int pcnt)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a mode character is processed. <a href="#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckInvite</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user joins a channel, to determine if invite checks should go ahead or not. <a href="#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29">OnCheckKey</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, <a class="el" href="namespaceirc.html#string">std::string</a> keygiven)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user joins a channel, to determine if key checks should go ahead or not. <a href="#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckLimit</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user joins a channel, to determine if channel limit checks should go ahead or not. <a href="#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckBan</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user joins a channel, to determine if banlist checks should go ahead or not. <a href="#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_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="classModule.html#OnStats_28char_20symbol_29">OnStats</a> (char symbol)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core. <a href="#OnStats_28char_20symbol_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeLocalUserHost</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> newhost)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a change of a local users displayed host is attempted. <a href="#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeLocalUserGECOS</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> newhost)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a change of a local users GECOS (fullname field) is attempted. <a href="#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">OnLocalTopicChange</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, <a class="el" href="namespaceirc.html#string">std::string</a> topic)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a topic is changed by a local user. <a href="#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_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="classModule.html#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">OnPostLocalTopicChange</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan, <a class="el" href="namespaceirc.html#string">std::string</a> topic)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a local topic has been changed. <a href="#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_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="classModule.html#OnEvent_28Event_20_2Aevent_29">OnEvent</a> (<a class="el" href="classEvent.html">Event</a> *event)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever an <a class="el" href="classEvent.html">Event</a> class is sent to all module by another module. <a href="#OnEvent_28Event_20_2Aevent_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnRequest_28Request_20_2Arequest_29">OnRequest</a> (<a class="el" href="classRequest.html">Request</a> *request)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a <a class="el" href="classRequest.html">Request</a> class is sent to your module by another module. <a href="#OnRequest_28Request_20_2Arequest_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29">OnOperCompare</a> (<a class="el" href="namespaceirc.html#string">std::string</a> password, <a class="el" href="namespaceirc.html#string">std::string</a> input)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever an oper password is to be compared to what a user has input. <a href="#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_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="classModule.html#OnGlobalOper_28userrec_20_2Auser_29">OnGlobalOper</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user is given usermode +o, anywhere on the network. <a href="#OnGlobalOper_28userrec_20_2Auser_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="classModule.html#OnGlobalConnect_28userrec_20_2Auser_29">OnGlobalConnect</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a user connects, anywhere on the network. <a href="#OnGlobalConnect_28userrec_20_2Auser_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">OnAddBan</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classchanrec.html">chanrec</a> *channel, <a class="el" href="namespaceirc.html#string">std::string</a> banmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a ban is added to a channel's list. <a href="#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">OnDelBan</a> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classchanrec.html">chanrec</a> *channel, <a class="el" href="namespaceirc.html#string">std::string</a> banmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called whenever a ban is removed from a channel's list. <a href="#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_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="classModule.html#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29">OnRawSocketAccept</a> (int fd, <a class="el" href="namespaceirc.html#string">std::string</a> ip, int localport)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called immediately after any connection is accepted. <a href="#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29">OnRawSocketWrite</a> (int fd, char *buffer, int count)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called immediately before any write() operation on a user's socket in the core. <a href="#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_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="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a> (int fd)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called immediately before any socket is closed. <a href="#OnRawSocketClose_28int_20fd_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModule.html#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29">OnRawSocketRead</a> (int fd, char *buffer, unsigned int count, int &amp;readresult)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Called immediately before any read() operation on a client socket in the core. <a href="#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Base class for all <a class="el" href="classInspIRCd.html">InspIRCd</a> modules This class is the base class for <a class="el" href="classInspIRCd.html">InspIRCd</a> modules.
-<p>
-All modules must inherit from this class, its methods will be called when irc server events occur. class inherited from module must be instantiated by the <a class="el" href="classModuleFactory.html">ModuleFactory</a> class (see relevent section) for the plugin to be initialised.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00272">272</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="Module_28Server_20_2AMe_29"></a><!-- doxytag: member="Module::Module" ref="Module_28Server_20_2AMe_29" args="(Server *Me)" --><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">Module::Module </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classServer.html">Server</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>Me</em> </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>
-Default constructor Creates a module class.
-<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>Me</em>&nbsp;</td><td>An instance of the <a class="el" href="classServer.html">Server</a> class which can be saved for future use</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00219">219</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00219"></a>00219 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7EModule_28_29"></a><!-- doxytag: member="Module::~Module" ref="_7EModule_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">Module::~Module </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Default destructor destroys a module class.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00220">220</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00220"></a>00220 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="GetVersion_28_29"></a><!-- doxytag: member="Module::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="classVersion.html">Version</a> Module::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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the version number of a Module.
-<p>
-The method should return a <a class="el" href="classVersion.html">Version</a> object with its version information assigned via <a class="el" href="classVersion.html#Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29">Version::Version</a>
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00231">231</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00053">VF_VENDOR</a>.<div class="fragment"><pre class="fragment"><a name="l00231"></a>00231 { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0,<a class="code" href="modules_8h.html#VF_5FVENDOR">VF_VENDOR</a>); }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="On_30_30_35Numeric_28std_3A_3Astring_20_26output_29"></a><!-- doxytag: member="Module::On005Numeric" ref="On_30_30_35Numeric_28std_3A_3Astring_20_26output_29" args="(std::string &amp;output)" --><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 Module::On005Numeric </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>output</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when a 005 numeric is about to be output.
-<p>
-The module should modify the 005 numeric if needed to indicate its features. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>output</em>&nbsp;</td><td>The 005 string to be modified if neccessary.</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00241">241</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00241"></a>00241 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29"></a><!-- doxytag: member="Module::OnAccessCheck" ref="OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29" args="(userrec *source, userrec *dest, chanrec *channel, int access_type)" --><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 Module::OnAccessCheck </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>access_type</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called before an action which requires a channel privilage check.
-<p>
-This function is called before many functions which check a users status on a channel, for example before opping a user, deopping a user, kicking a user, etc. There are several values for access_type which indicate for what reason access is being checked. These are:<br>
-<br>
- AC_KICK (0) - A user is being kicked<br>
- AC_DEOP (1) - a user is being deopped<br>
- AC_OP (2) - a user is being opped<br>
- AC_VOICE (3) - a user is being voiced<br>
- AC_DEVOICE (4) - a user is being devoiced<br>
- AC_HALFOP (5) - a user is being halfopped<br>
- AC_DEHALFOP (6) - a user is being dehalfopped<br>
- AC_INVITE (7) - a user is being invited<br>
- AC_GENERAL_MODE (8) - a user channel mode is being changed&lt;br&gt;<br>
- Upon returning from your function you must return either ACR_DEFAULT, to indicate the module wishes to do nothing, or ACR_DENY where approprate to deny the action, and ACR_ALLOW where appropriate to allow the action. Please note that in the case of some access checks (such as AC_GENERAL_MODE) access may be denied 'upstream' causing other checks such as AC_DEOP to not be reached. Be very careful with use of the AC_GENERAL_MODE type, as it may inadvertently override the behaviour of other modules. When the access_type is AC_GENERAL_MODE, the destination of the mode will be NULL (as it has not yet been determined). <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The source of the access check </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The destination of the access check </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel which is being checked </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>access_type</em>&nbsp;</td><td>See above</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00240">240</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00037">ACR_DEFAULT</a>.<div class="fragment"><pre class="fragment"><a name="l00240"></a>00240 { <span class="keywordflow">return</span> <a class="code" href="modules_8h.html#ACR_5FDEFAULT">ACR_DEFAULT</a>; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29"></a><!-- doxytag: member="Module::OnAddBan" ref="OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29" args="(userrec *source, chanrec *channel, std::string banmask)" --><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 Module::OnAddBan </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</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>banmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a ban is added to a channel's list.
-<p>
-Return a non-zero value to 'eat' the mode change and prevent the ban from being added. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user adding the ban </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel the ban is being added to </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>banmask</em>&nbsp;</td><td>The ban mask being added </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to block the ban, 0 to continue as normal</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00266">266</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00266"></a>00266 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Module::OnAddELine" ref="OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29" args="(long duration, userrec *source, std::string reason, std::string hostmask)" --><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 Module::OnAddELine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</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" 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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a eline is added by a local user.
-<p>
-This method is triggered after the line is added. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>duration</em>&nbsp;</td><td>The duration of the line in seconds </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The sender of the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The reason text to be displayed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to add</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00292">292</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00292"></a>00292 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Module::OnAddGLine" ref="OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29" args="(long duration, userrec *source, std::string reason, std::string hostmask)" --><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 Module::OnAddGLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</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" 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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a gline is added by a local user.
-<p>
-This method is triggered after the line is added. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>duration</em>&nbsp;</td><td>The duration of the line in seconds </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The sender of the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The reason text to be displayed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to add</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00288">288</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00288"></a>00288 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Module::OnAddKLine" ref="OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29" args="(long duration, userrec *source, std::string reason, std::string hostmask)" --><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 Module::OnAddKLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</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" 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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a kline is added by a local user.
-<p>
-This method is triggered after the line is added. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>duration</em>&nbsp;</td><td>The duration of the line in seconds </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The sender of the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The reason text to be displayed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to add</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00290">290</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00290"></a>00290 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29"></a><!-- doxytag: member="Module::OnAddQLine" ref="OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29" args="(long duration, userrec *source, std::string reason, std::string nickmask)" --><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 Module::OnAddQLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</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" 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>nickmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a qline is added by a local user.
-<p>
-This method is triggered after the line is added. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>duration</em>&nbsp;</td><td>The duration of the line in seconds </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The sender of the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The reason text to be displayed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>nickmask</em>&nbsp;</td><td>The hostmask to add</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00291">291</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00291"></a>00291 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29"></a><!-- doxytag: member="Module::OnAddZLine" ref="OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29" args="(long duration, userrec *source, std::string reason, std::string ipmask)" --><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 Module::OnAddZLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</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" 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>ipmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a zline is added by a local user.
-<p>
-This method is triggered after the line is added. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>duration</em>&nbsp;</td><td>The duration of the line in seconds </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The sender of the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The reason text to be displayed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ipmask</em>&nbsp;</td><td>The hostmask to add</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00289">289</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00289"></a>00289 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnBackgroundTimer_28time_5Ft_20curtime_29"></a><!-- doxytag: member="Module::OnBackgroundTimer" ref="OnBackgroundTimer_28time_5Ft_20curtime_29" args="(time_t curtime)" --><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 Module::OnBackgroundTimer </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">time_t&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>curtime</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called once every five seconds for background processing.
-<p>
-This timer can be used to control timed features. Its period is not accurate enough to be used as a clock, but it is gauranteed to be called at least once in any five second period, directly from the main loop of the server. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>curtime</em>&nbsp;</td><td>The current timer derived from time(2)</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00245">245</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00245"></a>00245 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29"></a><!-- doxytag: member="Module::OnChangeHost" ref="OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29" args="(userrec *user, std::string newhost)" --><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 Module::OnChangeHost </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>newhost</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user's hostname is changed.
-<p>
-This event triggers after the host has been set. <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 whos host is being changed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>newhost</em>&nbsp;</td><td>The new hostname being set</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00286">286</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00286"></a>00286 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29"></a><!-- doxytag: member="Module::OnChangeLocalUserGECOS" ref="OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29" args="(userrec *user, std::string newhost)" --><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 Module::OnChangeLocalUserGECOS </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>newhost</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a change of a local users GECOS (fullname field) is attempted.
-<p>
-return 1 to deny the name change, or 0 to allow it. <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 whos GECOS will be changed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>newhost</em>&nbsp;</td><td>The new GECOS </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to deny the GECOS change, 0 to allow</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00259">259</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00259"></a>00259 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29"></a><!-- doxytag: member="Module::OnChangeLocalUserHost" ref="OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29" args="(userrec *user, std::string newhost)" --><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 Module::OnChangeLocalUserHost </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>newhost</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a change of a local users displayed host is attempted.
-<p>
-Return 1 to deny the host change, or 0 to allow it. <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 whos host will be changed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>newhost</em>&nbsp;</td><td>The new hostname </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to deny the host change, 0 to allow</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00258">258</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00258"></a>00258 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29"></a><!-- doxytag: member="Module::OnChangeName" ref="OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29" args="(userrec *user, std::string gecos)" --><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 Module::OnChangeName </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>gecos</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user's GECOS (realname) is changed.
-<p>
-This event triggers after the name has been set. <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 who's GECOS is being changed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>gecos</em>&nbsp;</td><td>The new GECOS being set on the user</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00287">287</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00287"></a>00287 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><!-- doxytag: member="Module::OnCheckBan" ref="OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29" args="(userrec *user, chanrec *chan)" --><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 Module::OnCheckBan </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user joins a channel, to determine if banlist checks should go ahead or not.
-<p>
-This method will always be called for each join, wether or not the user actually matches a channel ban, and determines the outcome of an if statement around the whole section of ban checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. <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 joining the channel </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channel being joined </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to explicitly allow the join, 0 to proceed as normal</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00256">256</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00256"></a>00256 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><!-- doxytag: member="Module::OnCheckInvite" ref="OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29" args="(userrec *user, chanrec *chan)" --><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 Module::OnCheckInvite </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user joins a channel, to determine if invite checks should go ahead or not.
-<p>
-This method will always be called for each join, wether or not the channel is actually +i, and determines the outcome of an if statement around the whole section of invite checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. <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 joining the channel </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channel being joined </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to explicitly allow the join, 0 to proceed as normal</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00253">253</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00253"></a>00253 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29"></a><!-- doxytag: member="Module::OnCheckKey" ref="OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29" args="(userrec *user, chanrec *chan, std::string keygiven)" --><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 Module::OnCheckKey </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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>keygiven</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user joins a channel, to determine if key checks should go ahead or not.
-<p>
-This method will always be called for each join, wether or not the channel is actually +k, and determines the outcome of an if statement around the whole section of key checking code. if the user specified no key, the keygiven string will be a valid but empty value. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. <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 joining the channel </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channel being joined </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to explicitly allow the join, 0 to proceed as normal</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00254">254</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00254"></a>00254 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><!-- doxytag: member="Module::OnCheckLimit" ref="OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29" args="(userrec *user, chanrec *chan)" --><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 Module::OnCheckLimit </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user joins a channel, to determine if channel limit checks should go ahead or not.
-<p>
-This method will always be called for each join, wether or not the channel is actually +l, and determines the outcome of an if statement around the whole section of channel limit checking code. return 1 to explicitly allow the join to go ahead or 0 to ignore the event. <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 joining the channel </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channel being joined </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to explicitly allow the join, 0 to proceed as normal</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00255">255</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00255"></a>00255 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnCheckReady_28userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnCheckReady" ref="OnCheckReady_28userrec_20_2Auser_29" args="(userrec *user)" --><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">bool Module::OnCheckReady </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="mdname1" valign="top" nowrap> <em>user</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called to check if a user who is connecting can now be allowed to register If any modules return false for this function, the user is held in the waiting state until all modules return true.
-<p>
-For example a module which implements ident lookups will continue to return false for a user until their ident lookup is completed. Note that the registration timeout for a user overrides these checks, if the registration timeout is reached, the user is disconnected even if modules report that the user is not ready to connect. <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 check </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>true to indicate readiness, false if otherwise</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00248">248</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00248"></a>00248 { <span class="keywordflow">return</span> <span class="keyword">true</span>; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29"></a><!-- doxytag: member="Module::OnCleanup" ref="OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29" args="(int target_type, void *item)" --><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 Module::OnCleanup </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>item</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called before your module is unloaded to clean up Extensibles.
-<p>
-This method is called once for every user and channel on the network, so that when your module unloads it may clear up any remaining data in the form of Extensibles added using <a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extensible::Extend()</a>. If the target_type variable is TYPE_USER, then void* item refers to a userrec*, otherwise it refers to a chanrec*. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of item being cleaned </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>item</em>&nbsp;</td><td>A pointer to the item's class</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00298">298</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00298"></a>00298 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29"></a><!-- doxytag: member="Module::OnDecodeMetaData" ref="OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29" args="(int target_type, void *target, std::string extname, std::string extdata)" --><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 Module::OnDecodeMetaData </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>target</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>extname</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>extdata</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Allows module data, sent via ProtoSendMetaData, to be decoded again by a receiving module.
-<p>
-Please see src/modules/m_swhois.cpp for a working example of how to use this method call. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of item to decode data for, TYPE_USER or TYPE_CHANNEL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>The chanrec* or userrec* that data should be added to </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>extname</em>&nbsp;</td><td>The extension name which is being sent </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>extdata</em>&nbsp;</td><td>The extension data, encoded at the other end by an identical module through OnSyncChannelMetaData or OnSyncUserMetaData</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00283">283</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00283"></a>00283 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29"></a><!-- doxytag: member="Module::OnDelBan" ref="OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29" args="(userrec *source, chanrec *channel, std::string banmask)" --><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 Module::OnDelBan </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</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>banmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a ban is removed from a channel's list.
-<p>
-Return a non-zero value to 'eat' the mode change and prevent the ban from being removed. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user deleting the ban </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel the ban is being deleted from </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>banmask</em>&nbsp;</td><td>The ban mask being deleted </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to block the unban, 0 to continue as normal</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00267">267</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00267"></a>00267 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Module::OnDelELine" ref="OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29" args="(userrec *source, std::string hostmask)" --><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 Module::OnDelELine </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>source</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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a eline is deleted.
-<p>
-This method is triggered after the line is deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user removing the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to delete</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00297">297</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00297"></a>00297 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Module::OnDelGLine" ref="OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29" args="(userrec *source, std::string hostmask)" --><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 Module::OnDelGLine </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>source</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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a gline is deleted.
-<p>
-This method is triggered after the line is deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user removing the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to delete</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00293">293</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00293"></a>00293 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Module::OnDelKLine" ref="OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29" args="(userrec *source, std::string hostmask)" --><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 Module::OnDelKLine </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>source</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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a kline is deleted.
-<p>
-This method is triggered after the line is deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user removing the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to delete</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00295">295</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00295"></a>00295 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29"></a><!-- doxytag: member="Module::OnDelQLine" ref="OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29" args="(userrec *source, std::string nickmask)" --><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 Module::OnDelQLine </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>source</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>nickmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a qline is deleted.
-<p>
-This method is triggered after the line is deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user removing the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to delete</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00296">296</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00296"></a>00296 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29"></a><!-- doxytag: member="Module::OnDelZLine" ref="OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29" args="(userrec *source, std::string ipmask)" --><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 Module::OnDelZLine </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>source</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>ipmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a zline is deleted.
-<p>
-This method is triggered after the line is deleted. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user removing the line </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>hostmask</em>&nbsp;</td><td>The hostmask to delete</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00294">294</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00294"></a>00294 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnEvent_28Event_20_2Aevent_29"></a><!-- doxytag: member="Module::OnEvent" ref="OnEvent_28Event_20_2Aevent_29" args="(Event *event)" --><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 Module::OnEvent </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classEvent.html">Event</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>event</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever an <a class="el" href="classEvent.html">Event</a> class is sent to all module by another module.
-<p>
-Please see the documentation of <a class="el" href="classEvent.html#Send_28_29">Event::Send()</a> for further information. The <a class="el" href="classEvent.html">Event</a> sent can always be assumed to be non-NULL, you should *always* check the value of <a class="el" href="classEvent.html#GetEventID_28_29">Event::GetEventID()</a> before doing anything to the event data, and you should *not* change the event data in any way! <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>The <a class="el" href="classEvent.html">Event</a> class being received</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00261">261</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00261"></a>00261 { <span class="keywordflow">return</span>; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29"></a><!-- doxytag: member="Module::OnExtendedMode" ref="OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29" args="(userrec *user, void *target, char modechar, int type, bool mode_on, string_list &amp;params)" --><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 Module::OnExtendedMode </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>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>mode_on</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="modules_8h.html#string_5Flist">string_list</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>params</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever an extended mode is to be processed.
-<p>
-The type parameter is MT_SERVER, MT_CLIENT or MT_CHANNEL, dependent on where the mode is being changed. mode_on is set when the mode is being set, in which case params contains a list of parameters for the mode as strings. If mode_on is false, the mode is being removed, and parameters may contain the parameters for the mode, dependent on wether they were defined when a mode handler was set up with <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::AddExtendedMode</a> If the mode is a channel mode, target is a chanrec*, and if it is a user mode, target is a userrec*. You must cast this value yourself to make use of it. <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 issuing the mode </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>The user or channel having the mode set on them </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>modechar</em>&nbsp;</td><td>The mode character being set </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of mode (user or channel) being set </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>mode_on</em>&nbsp;</td><td>True if the mode is being set, false if it is being unset </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>A list of parameters for any channel mode (currently supports either 0 or 1 parameters)</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00229">229</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00229"></a>00229 { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29"></a><!-- doxytag: member="Module::OnGetServerDescription" ref="OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29" args="(std::string servername, std::string &amp;description)" --><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 Module::OnGetServerDescription </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>servername</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> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>description</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Allows modules to alter or create server descriptions Whenever a module requires a server description, for example for display in WHOIS, this function is called in all modules.
-<p>
-You may change or define the description given in <a class="el" href="namespaceirc.html#string">std::string</a> &amp;description. If you do, this description will be shown in the WHOIS fields. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>servername</em>&nbsp;</td><td>The servername being searched for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>description</em>&nbsp;</td><td>Alterable server description for this server</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00277">277</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00277"></a>00277 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnGlobalConnect_28userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnGlobalConnect" ref="OnGlobalConnect_28userrec_20_2Auser_29" args="(userrec *user)" --><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 Module::OnGlobalConnect </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="mdname1" valign="top" nowrap> <em>user</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user connects, anywhere on the network.
-<p>
-This event is informational only. You should not change any user information in this event. To do so, use the OnUserConnect method to change the state of local users. <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 who is connecting</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00265">265</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00265"></a>00265 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnGlobalOper_28userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnGlobalOper" ref="OnGlobalOper_28userrec_20_2Auser_29" args="(userrec *user)" --><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 Module::OnGlobalOper </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="mdname1" valign="top" nowrap> <em>user</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is given usermode +o, anywhere on the network.
-<p>
-You cannot override this and prevent it from happening as it is already happened and such a task must be performed by another server. You can however bounce modes by sending servermodes out to reverse mode changes. <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 who is opering</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00264">264</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00264"></a>00264 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnInfo_28userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnInfo" ref="OnInfo_28userrec_20_2Auser_29" args="(userrec *user)" --><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 Module::OnInfo </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="mdname1" valign="top" nowrap> <em>user</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user types /INFO.
-<p>
-The userrec will contain the information of the user who typed the command. Modules may use this method to output their own credits in /INFO (which is the ircd's version of an about box). It is purposefully not possible to modify any info that has already been output, or halt the list. You must write a 371 numeric to the user, containing your info in the following format:<p>
-&lt;nick&gt; :information here<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 issuing /INFO</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00233">233</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00233"></a>00233 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29"></a><!-- doxytag: member="Module::OnKill" ref="OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29" args="(userrec *source, userrec *dest, 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">int Module::OnKill </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</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"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when a client is disconnected by KILL.
-<p>
-If a client is killed by a server, e.g. a nickname collision or protocol error, source is NULL. Return 1 from this function to prevent the kill, and 0 from this function to allow it as normal. If you prevent the kill no output will be sent to the client, it is down to your module to generate this information. NOTE: It is NOT advisable to stop kills which originate from servers or remote users. If you do so youre risking race conditions, desyncs and worse! <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user sending the KILL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The user being killed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The kill reason </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to prevent the kill, 0 to allow</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00242">242</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00242"></a>00242 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29"></a><!-- doxytag: member="Module::OnLoadModule" ref="OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29" args="(Module *mod, std::string name)" --><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 Module::OnLoadModule </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>mod</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>name</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a module is loaded.
-<p>
-mod will contain a pointer to the module, and string will contain its name, for example m_widgets.so. This function is primary for dependency checking, your module may decide to enable some extra features if it sees that you have for example loaded "m_killwidgets.so" with "m_makewidgets.so". It is highly recommended that modules do *NOT* bail if they cannot satisfy dependencies, but instead operate under reduced functionality, unless the dependency is absolutely neccessary (e.g. a module that extends the features of another module). <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>mod</em>&nbsp;</td><td>A pointer to the new module </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The new module's filename</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00243">243</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00243"></a>00243 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29"></a><!-- doxytag: member="Module::OnLocalTopicChange" ref="OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29" args="(userrec *user, chanrec *chan, std::string topic)" --><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 Module::OnLocalTopicChange </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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>topic</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a topic is changed by a local user.
-<p>
-Return 1 to deny the topic change, or 0 to allow it. <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 changing the topic </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channels who's topic is being changed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>topic</em>&nbsp;</td><td>The actual topic text </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>1</em>&nbsp;</td><td>to block the topic change, 0 to allow</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00260">260</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00260"></a>00260 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29"></a><!-- doxytag: member="Module::OnMode" ref="OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29" args="(userrec *user, void *dest, int target_type, std::string text)" --><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 Module::OnMode </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>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</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>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called after every MODE command sent from a user The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL.
-<p>
-The text variable contains the remainder of the mode string after the target, e.g. "+wsi" or "+ooo nick1 nick2 nick3". <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 sending the MODEs </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The target of the modes (userrec* or chanrec*) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of target (TYPE_USER or TYPE_CHANNEL) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>The actual modes and their parameters if any</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00230">230</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00230"></a>00230 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29"></a><!-- doxytag: member="Module::OnOper" ref="OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29" args="(userrec *user, std::string opertype)" --><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 Module::OnOper </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>opertype</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user opers locally.
-<p>
-The userrec will contain the oper mode 'o' as this function is called after any modifications are made to the user's structure by the core. <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 who is opering up </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>opertype</em>&nbsp;</td><td>The opers type name</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00232">232</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00232"></a>00232 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29"></a><!-- doxytag: member="Module::OnOperCompare" ref="OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29" args="(std::string password, std::string input)" --><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 Module::OnOperCompare </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>password</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>input</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever an oper password is to be compared to what a user has input.
-<p>
-The password field (from the config file) is in 'password' and is to be compared against 'input'. This method allows for encryption of oper passwords and much more besides. You should return a nonzero value if you want to allow the comparison or zero if you wish to do nothing. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>password</em>&nbsp;</td><td>The oper's password </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>input</em>&nbsp;</td><td>The password entered </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to match the passwords, 0 to do nothing</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00263">263</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00263"></a>00263 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29"></a><!-- doxytag: member="Module::OnPostLocalTopicChange" ref="OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29" args="(userrec *user, chanrec *chan, std::string topic)" --><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 Module::OnPostLocalTopicChange </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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>topic</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a local topic has been changed.
-<p>
-To block topic changes you must use OnLocalTopicChange instead. <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 changing the topic </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channels who's topic is being changed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>topic</em>&nbsp;</td><td>The actual topic text</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00276">276</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00276"></a>00276 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnPreCommand" ref="OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29" args="(std::string command, char **parameters, int pcnt, userrec *user)" --><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 Module::OnPreCommand </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>command</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char **&nbsp;</td>
- <td class="mdname" nowrap> <em>parameters</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>pcnt</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever any command is about to be executed.
-<p>
-This event occurs for all registered commands, wether they are registered in the core, or another module, but it will not occur for invalid commands (e.g. ones which do not exist within the command table). By returning 1 from this method you may prevent the command being executed. If you do this, no output is created by the core, and it is down to your module to produce any output neccessary. Note that unless you return 1, you should not destroy any structures (e.g. by using <a class="el" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">Server::QuitUser</a>) otherwise when the command's handler function executes after your method returns, it will be passed an invalid pointer to the user object and crash!) <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>command</em>&nbsp;</td><td>The command being executed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>parameters</em>&nbsp;</td><td>An array of array of characters containing the parameters for the command </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>pcnt</em>&nbsp;</td><td>The nuimber of parameters passed to the command </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>the user issuing the command </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to block the command, 0 to allow</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00247">247</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00247"></a>00247 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29"></a><!-- doxytag: member="Module::OnRawMode" ref="OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29" args="(userrec *user, chanrec *chan, char mode, std::string param, bool adding, int pcnt)" --><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 Module::OnRawMode </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>mode</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>param</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>adding</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>pcnt</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a mode character is processed.
-<p>
-Return 1 from this function to block the mode character from being processed entirely, so that you may perform your own code instead. Note that this method allows you to override modes defined by other modes, but this is NOT RECOMMENDED! <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 who is sending the mode </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channel the mode is being sent to </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>The mode character being set </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>The parameter for the mode or an empty string </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>adding</em>&nbsp;</td><td>true of the mode is being added, false if it is being removed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>pcnt</em>&nbsp;</td><td>The parameter count for the mode (0 or 1) </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to deny the mode, 0 to allow</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00252">252</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00252"></a>00252 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29"></a><!-- doxytag: member="Module::OnRawSocketAccept" ref="OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29" args="(int fd, std::string ip, int localport)" --><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 Module::OnRawSocketAccept </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>fd</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>ip</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>localport</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called immediately after any connection is accepted.
-<p>
-This is intended for raw socket processing (e.g. modules which wrap the tcp connection within another library) and provides no information relating to a user record as the connection has not been assigned yet. There are no return values from this call as all modules get an opportunity if required to process the connection. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor returned from accept() </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>ip</em>&nbsp;</td><td>The IP address of the connecting user </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>localport</em>&nbsp;</td><td>The local port number the user connected to</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00268">268</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00268"></a>00268 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRawSocketClose_28int_20fd_29"></a><!-- doxytag: member="Module::OnRawSocketClose" ref="OnRawSocketClose_28int_20fd_29" args="(int fd)" --><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 Module::OnRawSocketClose </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fd</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called immediately before any socket is closed.
-<p>
-When this event is called, shutdown() has not yet been called on the socket. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor of the socket prior to close()</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00270">270</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, and <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>.<div class="fragment"><pre class="fragment"><a name="l00270"></a>00270 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29"></a><!-- doxytag: member="Module::OnRawSocketRead" ref="OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29" args="(int fd, char *buffer, unsigned int count, int &amp;readresult)" --><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 Module::OnRawSocketRead </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>fd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned int&nbsp;</td>
- <td class="mdname" nowrap> <em>count</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>readresult</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called immediately before any read() operation on a client socket in the core.
-<p>
-This occurs AFTER the select() or poll() so there is always data waiting to be read when this event occurs. Your event should return 1 if it has handled the reading itself, which prevents the core just using read(). You should place any data read into buffer, up to but NOT GREATER THAN the value of count. The value of readresult must be identical to an actual result that might be returned from the read() system call, for example, number of bytes read upon success, 0 upon EOF or closed socket, and -1 for error. If your function returns a nonzero value, you MUST set readresult. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor of the socket </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A char* buffer being read to </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>The size of the buffer </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>readresult</em>&nbsp;</td><td>The amount of characters read, or 0 </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>nonzero if the event was handled, in which case readresult must be valid on exit</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00271">271</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00271"></a>00271 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29"></a><!-- doxytag: member="Module::OnRawSocketWrite" ref="OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29" args="(int fd, char *buffer, int count)" --><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 Module::OnRawSocketWrite </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>fd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>count</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called immediately before any write() operation on a user's socket in the core.
-<p>
-Because this event is a low level event no user information is associated with it. It is intended for use by modules which may wrap connections within another API such as SSL for example. return a non-zero result if you have handled the write operation, in which case the core will not call write(). <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor of the socket </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>A char* buffer being written </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>Number</em>&nbsp;</td><td>of characters to write </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>Number of characters actually written or 0 if you didn't handle the operation</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00269">269</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00269"></a>00269 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRehash_28std_3A_3Astring_20parameter_29"></a><!-- doxytag: member="Module::OnRehash" ref="OnRehash_28std_3A_3Astring_20parameter_29" args="(std::string parameter)" --><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 Module::OnRehash </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>parameter</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called on rehash.
-<p>
-This method is called prior to a /REHASH or when a SIGHUP is received from the operating system. You should use it to reload any files so that your module keeps in step with the rest of the application. If a parameter is given, the core has done nothing. The module receiving the event can decide if this parameter has any relevence to it. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>parameter</em>&nbsp;</td><td>The (optional) parameter given to REHASH from the user.</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00226">226</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00226"></a>00226 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29"></a><!-- doxytag: member="Module::OnRemoteKill" ref="OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29" args="(userrec *source, userrec *dest, 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 Module::OnRemoteKill </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</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"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when an oper wants to disconnect a remote user via KILL.
-<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>source</em>&nbsp;</td><td>The user sending the KILL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The user being killed </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The kill reason</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00274">274</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00274"></a>00274 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnRequest_28Request_20_2Arequest_29"></a><!-- doxytag: member="Module::OnRequest" ref="OnRequest_28Request_20_2Arequest_29" args="(Request *request)" --><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 * Module::OnRequest </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classRequest.html">Request</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>request</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a <a class="el" href="classRequest.html">Request</a> class is sent to your module by another module.
-<p>
-Please see the documentation of <a class="el" href="classRequest.html#Send_28_29">Request::Send()</a> for further information. The <a class="el" href="classRequest.html">Request</a> sent can always be assumed to be non-NULL, you should not change the request object or its data. Your method may return arbitary data in the char* result which the requesting module may be able to use for pre-determined purposes (e.g. the results of an SQL query, etc). <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>request</em>&nbsp;</td><td>The <a class="el" href="classRequest.html">Request</a> class being received</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00262">262</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#l00181">Request::Send()</a>.<div class="fragment"><pre class="fragment"><a name="l00262"></a>00262 { <span class="keywordflow">return</span> NULL; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29"></a><!-- doxytag: member="Module::OnSendList" ref="OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29" args="(userrec *user, chanrec *channel, char mode)" --><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 Module::OnSendList </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>mode</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a list is needed for a listmode.
-<p>
-For example, when a /MODE channel +b (without any other parameters) is called, if a module was handling +b this function would be called. The function can then output any lists it wishes to. Please note that all modules will see all mode characters to provide the ability to extend each other, so please only output a list if the mode character given matches the one(s) you want to handle. <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 requesting the list </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel the list is for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>The listmode which a list is being requested on</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00246">246</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00246"></a>00246 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnServerRaw" ref="OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29" args="(std::string &amp;raw, bool inbound, userrec *user)" --><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 Module::OnServerRaw </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>raw</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>inbound</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when a raw command is transmitted or received.
-<p>
-This method is the lowest level of handler available to a module. It will be called with raw data which is passing through a connected socket. If you wish, you may munge this data by changing the string parameter "raw". If you do this, after your function exits it will immediately be cut down to 510 characters plus a carriage return and linefeed. For INBOUND messages only (where inbound is set to true) the value of user will be the userrec of the connection sending the data. This is not possible for outbound data because the data may be being routed to multiple targets. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>raw</em>&nbsp;</td><td>The raw string in RFC1459 format </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>inbound</em>&nbsp;</td><td>A flag to indicate wether the data is coming into the daemon or going out to the user </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>The user record sending the text, when inbound == true.</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00227">227</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00227"></a>00227 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnStats_28char_20symbol_29"></a><!-- doxytag: member="Module::OnStats" ref="OnStats_28char_20symbol_29" args="(char symbol)" --><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 Module::OnStats </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>symbol</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called on all /STATS commands This method is triggered for all /STATS use, including stats symbols handled by the core.
-<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>symbol</em>&nbsp;</td><td>the symbol provided to /STATS</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00257">257</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00257"></a>00257 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29"></a><!-- doxytag: member="Module::OnSyncChannel" ref="OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29" args="(chanrec *chan, Module *proto, void *opaque)" --><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 Module::OnSyncChannel </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>proto</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>opaque</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Allows modules to synchronize data which relates to channels during a netburst.
-<p>
-When this function is called, it will be called from the module which implements the linking protocol. This currently is m_spanningtree.so. A pointer to this module is given in Module* proto, so that you may call its methods such as ProtoSendMode (see below). This function will be called for every user visible on your side of the burst, allowing you to for example set modes, etc. Do not use this call to synchronize data which you have stored using class <a class="el" href="classExtensible.html">Extensible</a> -- There is a specialist function OnSyncUserMetaData and OnSyncChannelMetaData for this!<p>
-For a good example of how to use this function, please see src/modules/m_chanprotect.cpp<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>chan</em>&nbsp;</td><td>The channel being syncronized </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>A pointer to the module handling network protocol </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>opaque</em>&nbsp;</td><td>An opaque pointer set by the protocol module, should not be modified!</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00279">279</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00279"></a>00279 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29"></a><!-- doxytag: member="Module::OnSyncChannelMetaData" ref="OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29" args="(chanrec *chan, Module *proto, void *opaque, std::string extname)" --><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 Module::OnSyncChannelMetaData </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>proto</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>opaque</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>extname</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</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="modules_8cpp-source.html#l00281">281</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00281"></a>00281 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29"></a><!-- doxytag: member="Module::OnSyncUser" ref="OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29" args="(userrec *user, Module *proto, void *opaque)" --><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 Module::OnSyncUser </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="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>proto</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>opaque</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Allows modules to synchronize data which relates to users during a netburst.
-<p>
-When this function is called, it will be called from the module which implements the linking protocol. This currently is m_spanningtree.so. A pointer to this module is given in Module* proto, so that you may call its methods such as ProtoSendMode (see below). This function will be called for every user visible on your side of the burst, allowing you to for example set modes, etc. Do not use this call to synchronize data which you have stored using class <a class="el" href="classExtensible.html">Extensible</a> -- There is a specialist function OnSyncUserMetaData and OnSyncChannelMetaData for this! <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 being syncronized </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>proto</em>&nbsp;</td><td>A pointer to the module handling network protocol </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>opaque</em>&nbsp;</td><td>An opaque pointer set by the protocol module, should not be modified!</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00278">278</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00278"></a>00278 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29"></a><!-- doxytag: member="Module::OnSyncUserMetaData" ref="OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29" args="(userrec *user, Module *proto, void *opaque, std::string extname)" --><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 Module::OnSyncUserMetaData </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="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>proto</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>opaque</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>extname</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</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="modules_8cpp-source.html#l00282">282</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00282"></a>00282 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29"></a><!-- doxytag: member="Module::OnUnloadModule" ref="OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29" args="(Module *mod, std::string name)" --><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 Module::OnUnloadModule </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>mod</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>name</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a module is unloaded.
-<p>
-mod will contain a pointer to the module, and string will contain its name, for example m_widgets.so. This function is primary for dependency checking, your module may decide to enable some extra features if it sees that you have for example loaded "m_killwidgets.so" with "m_makewidgets.so". It is highly recommended that modules do *NOT* bail if they cannot satisfy dependencies, but instead operate under reduced functionality, unless the dependency is absolutely neccessary (e.g. a module that extends the features of another module). <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>mod</em>&nbsp;</td><td>Pointer to the module being unloaded (still valid) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The filename of the module being unloaded</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00244">244</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00244"></a>00244 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserConnect_28userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnUserConnect" ref="OnUserConnect_28userrec_20_2Auser_29" args="(userrec *user)" --><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 Module::OnUserConnect </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="mdname1" valign="top" nowrap> <em>user</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when a user connects.
-<p>
-The details of the connecting user are available to you in the parameter userrec *user <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 who is connecting</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00221">221</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00221"></a>00221 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserDisconnect_28userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnUserDisconnect" ref="OnUserDisconnect_28userrec_20_2Auser_29" args="(userrec *user)" --><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 Module::OnUserDisconnect </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="mdname1" valign="top" nowrap> <em>user</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user's socket is closed.
-<p>
-The details of the exiting user are available to you in the parameter userrec *user This event is called for all users, registered or not, as a cleanup method for modules which might assign resources to user, such as dns lookups, objects and sockets. <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 who is disconnecting</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00223">223</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00223"></a>00223 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29"></a><!-- doxytag: member="Module::OnUserInvite" ref="OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29" args="(userrec *source, userrec *dest, chanrec *channel)" --><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 Module::OnUserInvite </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called after a user has been successfully invited to a channel.
-<p>
-You cannot prevent the invite from occuring using this function, to do that, use OnUserPreInvite instead. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user who is issuing the INVITE </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The user being invited </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel the user is being invited to</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00275">275</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00275"></a>00275 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29"></a><!-- doxytag: member="Module::OnUserJoin" ref="OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29" args="(userrec *user, chanrec *channel)" --><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 Module::OnUserJoin </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when a user joins a channel.
-<p>
-The details of the joining user are available to you in the parameter userrec *user, and the details of the channel they have joined is available in the variable chanrec *channel <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 who is joining </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel being joined</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00224">224</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00224"></a>00224 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29"></a><!-- doxytag: member="Module::OnUserKick" ref="OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29" args="(userrec *source, userrec *user, chanrec *chan, 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 Module::OnUserKick </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is kicked.
-<p>
-If this method is called, the kick is already underway and cannot be prevented, so to prevent a kick, please use <a class="el" href="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">Module::OnUserPreKick</a> instead of this method. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user issuing the kick </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>The user being kicked </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channel the user is being kicked from </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The kick reason</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00251">251</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00251"></a>00251 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29"></a><!-- doxytag: member="Module::OnUserMessage" ref="OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29" args="(userrec *user, void *dest, int target_type, std::string text)" --><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 Module::OnUserMessage </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>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</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>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called after any PRIVMSG sent from a user.
-<p>
-The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL. <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 sending the message </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The target of the message </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of target (TYPE_USER or TYPE_CHANNEL) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the text being sent by the user</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00272">272</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00272"></a>00272 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29"></a><!-- doxytag: member="Module::OnUserNotice" ref="OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29" args="(userrec *user, void *dest, int target_type, std::string text)" --><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 Module::OnUserNotice </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>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</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>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called after any NOTICE sent from a user.
-<p>
-The dest variable contains a userrec* if target_type is TYPE_USER and a chanrec* if target_type is TYPE_CHANNEL. <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 sending the message </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The target of the message </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of target (TYPE_USER or TYPE_CHANNEL) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the text being sent by the user</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00273">273</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00273"></a>00273 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29"></a><!-- doxytag: member="Module::OnUserPart" ref="OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29" args="(userrec *user, chanrec *channel)" --><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 Module::OnUserPart </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when a user parts a channel.
-<p>
-The details of the leaving user are available to you in the parameter userrec *user, and the details of the channel they have left is available in the variable chanrec *channel <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 who is parting </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel being parted</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00225">225</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00225"></a>00225 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29"></a><!-- doxytag: member="Module::OnUserPostNick" ref="OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29" args="(userrec *user, std::string oldnick)" --><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 Module::OnUserPostNick </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>oldnick</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called after any nickchange, local or remote.
-<p>
-This can be used to track users after nickchanges have been applied. Please note that although you can see remote nickchanges through this function, you should NOT make any changes to the userrec if the user is a remote user as this may cause a desnyc. check user-&gt;server before taking any action (including returning nonzero from the method). Because this method is called after the nickchange is taken place, no return values are possible to indicate forbidding of the nick change. Use OnUserPreNick for this. <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 changing their nick </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>oldnick</em>&nbsp;</td><td>The old nickname of the user before the nickchange</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00239">239</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00239"></a>00239 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29"></a><!-- doxytag: member="Module::OnUserPreInvite" ref="OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29" args="(userrec *source, userrec *dest, chanrec *channel)" --><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 Module::OnUserPreInvite </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>channel</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is about to invite another user into a channel, before any processing is done.
-<p>
-Returning 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter invites to channels. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user who is issuing the INVITE </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The user being invited </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>channel</em>&nbsp;</td><td>The channel the user is being invited to </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to deny the invite, 0 to allow</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00235">235</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00235"></a>00235 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29"></a><!-- doxytag: member="Module::OnUserPreJoin" ref="OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29" args="(userrec *user, chanrec *chan, const char *cname)" --><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 Module::OnUserPreJoin </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>cname</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is about to join a channel, before any processing is done.
-<p>
-Returning a value of 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to mimic +b, +k, +l etc. Returning -1 from this function forces the join to be allowed, bypassing restrictions such as banlists, invite, keys etc.<p>
-IMPORTANT NOTE!<p>
-If the user joins a NEW channel which does not exist yet, OnUserPreJoin will be called BEFORE the channel record is created. This will cause chanrec* chan to be NULL. There is very little you can do in form of processing on the actual channel record at this point, however the channel NAME will still be passed in char* cname, so that you could for example implement a channel blacklist or whitelist, etc. <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 joining the channel </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>cname</em>&nbsp;</td><td>The channel name being joined </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 To prevent the join, 0 to allow it.</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00228">228</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00228"></a>00228 { <span class="keywordflow">return</span> 0; }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29"></a><!-- doxytag: member="Module::OnUserPreKick" ref="OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29" args="(userrec *source, userrec *user, chanrec *chan, 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">int Module::OnUserPreKick </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is about to be kicked.
-<p>
-Returning a value of 1 from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user issuing the kick </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td>The user being kicked </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>chan</em>&nbsp;</td><td>The channel the user is being kicked from </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>The kick reason </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to prevent the kick, 0 to allow it</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00250">250</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00250"></a>00250 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29"></a><!-- doxytag: member="Module::OnUserPreMessage" ref="OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29" args="(userrec *user, void *dest, int target_type, std::string &amp;text)" --><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 Module::OnUserPreMessage </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>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</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> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is about to PRIVMSG A user or a channel, before any processing is done.
-<p>
-Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent. <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 sending the message </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The target of the message (chanrec* or userrec*) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of target (TYPE_USER or TYPE_CHANNEL) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>Changeable text being sent by the user </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to deny the NOTICE, 0 to allow it</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00236">236</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00236"></a>00236 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29"></a><!-- doxytag: member="Module::OnUserPreNick" ref="OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29" args="(userrec *user, std::string newnick)" --><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 Module::OnUserPreNick </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>newnick</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called before any nickchange, local or remote.
-<p>
-This can be used to implement Q-lines etc. Please note that although you can see remote nickchanges through this function, you should NOT make any changes to the userrec if the user is a remote user as this may cause a desnyc. check user-&gt;server before taking any action (including returning nonzero from the method). If your method returns nonzero, the nickchange is silently forbidden, and it is down to your module to generate some meaninful output. <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 username changing their nick </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>newnick</em>&nbsp;</td><td>Their new nickname </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to deny the change, 0 to allow</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00238">238</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00238"></a>00238 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29"></a><!-- doxytag: member="Module::OnUserPreNotice" ref="OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29" args="(userrec *user, void *dest, int target_type, std::string &amp;text)" --><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 Module::OnUserPreNotice </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>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</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> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is about to NOTICE A user or a channel, before any processing is done.
-<p>
-Returning any nonzero value from this function stops the process immediately, causing no output to be sent to the user by the core. If you do this you must produce your own numerics, notices etc. This is useful for modules which may want to filter or redirect messages. target_type can be one of TYPE_USER or TYPE_CHANNEL. If the target_type value is a user, you must cast dest to a userrec* otherwise you must cast it to a chanrec*, this is the details of where the message is destined to be sent. You may alter the message text as you wish before relinquishing control to the next module in the chain, and if no other modules block the text this altered form of the text will be sent out to the user and possibly to other servers. <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 sending the message </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The target of the message (chanrec* or userrec*) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of target (TYPE_USER or TYPE_CHANNEL) </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>Changeable text being sent by the user </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>1 to deny the NOTICE, 0 to allow it</dd></dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00237">237</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00237"></a>00237 { <span class="keywordflow">return</span> 0; };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29"></a><!-- doxytag: member="Module::OnUserQuit" ref="OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29" args="(userrec *user, std::string message)" --><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 Module::OnUserQuit </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>message</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called when a user quits.
-<p>
-The details of the exiting user are available to you in the parameter userrec *user This event is only called when the user is fully registered when they quit. To catch raw disconnections, use the OnUserDisconnect method. <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 who is quitting </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>message</em>&nbsp;</td><td>The user's quit message</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00222">222</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00222"></a>00222 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnUserRegister_28userrec_20_2Auser_29"></a><!-- doxytag: member="Module::OnUserRegister" ref="OnUserRegister_28userrec_20_2Auser_29" args="(userrec *user)" --><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 Module::OnUserRegister </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="mdname1" valign="top" nowrap> <em>user</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a user is about to register their connection (e.g.
-<p>
-before the user is sent the MOTD etc). Modules can use this method if they are performing a function which must be done before the actual connection is completed (e.g. ident lookups, dnsbl lookups, etc). Note that you should NOT delete the user record here by causing a disconnection! Use OnUserConnect for that instead. <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 registering</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00249">249</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00249"></a>00249 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29"></a><!-- doxytag: member="Module::OnWallops" ref="OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29" args="(userrec *user, std::string text)" --><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 Module::OnWallops </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>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called after every WALLOPS command.
-<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 sending the WALLOPS </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>The content of the WALLOPS message</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00285">285</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00285"></a>00285 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29"></a><!-- doxytag: member="Module::OnWhois" ref="OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29" args="(userrec *source, userrec *dest)" --><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 Module::OnWhois </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Called whenever a /WHOIS is performed on a local user.
-<p>
-The source parameter contains the details of the user who issued the WHOIS command, and the dest parameter contains the information of the user they are whoising. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The user issuing the WHOIS command </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>The user who is being WHOISed</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00234">234</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00234"></a>00234 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ProtoSendMetaData_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29"></a><!-- doxytag: member="Module::ProtoSendMetaData" ref="ProtoSendMetaData_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29" args="(void *opaque, int target_type, void *target, std::string extname, std::string extdata)" --><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 Module::ProtoSendMetaData </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void *&nbsp;</td>
- <td class="mdname" nowrap> <em>opaque</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>target</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>extname</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>extdata</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Implemented by modules which provide the ability to link servers.
-<p>
-These modules will implement this method, which allows metadata (extra data added to user and channel records using class <a class="el" href="classExtensible.html">Extensible</a>, <a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extensible::Extend</a>, etc) to be sent to other servers on a netburst and decoded at the other end by the same module on a different server.<p>
-More documentation to follow soon. Please see src/modules/m_swhois.cpp for example of how to use this function. <dl compact><dt><b>Parameters:</b></dt><dd>
- <table border="0" cellspacing="2" cellpadding="0">
- <tr><td valign="top"></td><td valign="top"><em>opaque</em>&nbsp;</td><td>An opaque pointer set by the protocol module, should not be modified! </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of item to decode data for, TYPE_USER or TYPE_CHANNEL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>The chanrec* or userrec* that metadata should be sent for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>extname</em>&nbsp;</td><td>The extension name to send metadata for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>extdata</em>&nbsp;</td><td>Encoded data for this extension name, which will be encoded at the oppsite end by an identical module using OnDecodeMetaData</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00284">284</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00284"></a>00284 { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29"></a><!-- doxytag: member="Module::ProtoSendMode" ref="ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29" args="(void *opaque, int target_type, void *target, std::string modeline)" --><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 Module::ProtoSendMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void *&nbsp;</td>
- <td class="mdname" nowrap> <em>opaque</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>target_type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>void *&nbsp;</td>
- <td class="mdname" nowrap> <em>target</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>modeline</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Implemented by modules which provide the ability to link servers.
-<p>
-These modules will implement this method, which allows transparent sending of servermodes down the network link as a broadcast, without a module calling it having to know the format of the MODE command before the actual mode string.<p>
-More documentation to follow soon. Please see src/modules/m_chanprotect.cpp for examples of how to use this function.<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>opaque</em>&nbsp;</td><td>An opaque pointer set by the protocol module, should not be modified! </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target_type</em>&nbsp;</td><td>The type of item to decode data for, TYPE_USER or TYPE_CHANNEL </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>The chanrec* or userrec* that modes should be sent for </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>modeline</em>&nbsp;</td><td>The modes and parameters to be sent</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00280">280</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00280"></a>00280 { };
-</pre></div>
-<p>
- </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 Mon Dec 19 18:05:22 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/classModuleFactory-members.html b/docs/module-doc/classModuleFactory-members.html
deleted file mode 100644
index 50821a2b1..000000000
--- a/docs/module-doc/classModuleFactory-members.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!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>ModuleFactory Member List</h1>This is the complete list of members for <a class="el" href="classModuleFactory.html">ModuleFactory</a>, including all inherited members.<p><table>
- <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="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">CreateModule</a>(Server *Me)=0</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [pure virtual]</code></td></tr>
- <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 Mon Dec 19 18:05:22 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/classModuleFactory.html b/docs/module-doc/classModuleFactory.html
deleted file mode 100644
index c298b017d..000000000
--- a/docs/module-doc/classModuleFactory.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!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: ModuleFactory 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>ModuleFactory Class Reference</h1><!-- doxytag: class="ModuleFactory" --><!-- doxytag: inherits="classbase" -->Instantiates classes inherited from <a class="el" href="classModule.html">Module</a> This class creates a class inherited from type <a class="el" href="classModule.html">Module</a>, using new.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for ModuleFactory:<p><center><img src="classModuleFactory__inherit__graph.gif" border="0" usemap="#ModuleFactory__inherit__map" alt="Inheritance graph"></center>
-<map name="ModuleFactory__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="22,7,102,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ModuleFactory:<p><center><img src="classModuleFactory__coll__graph.gif" border="0" usemap="#ModuleFactory__coll__map" alt="Collaboration graph"></center>
-<map name="ModuleFactory__coll__map">
-<area href="classclassbase.html" shape="rect" coords="22,97,102,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classModuleFactory-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="classModuleFactory.html#ModuleFactory_28_29">ModuleFactory</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModuleFactory.html#_7EModuleFactory_28_29">~ModuleFactory</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModuleFactory.html#CreateModule_28Server_20_2AMe_29_3D_30">CreateModule</a> (<a class="el" href="classServer.html">Server</a> *Me)=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new module. <a href="#CreateModule_28Server_20_2AMe_29_3D_30"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Instantiates classes inherited from <a class="el" href="classModule.html">Module</a> This class creates a class inherited from type <a class="el" href="classModule.html">Module</a>, using new.
-<p>
-This is to allow for modules to create many different variants of <a class="el" href="classModule.html">Module</a>, dependent on architecture, configuration, etc. In most cases, the simple class shown in the example module m_foobar.so will suffice for most modules.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01694">1694</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>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">ModuleFactory::ModuleFactory </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><code> [inline]</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="modules_8h-source.html#l01697">1697</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l01697"></a>01697 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7EModuleFactory_28_29"></a><!-- doxytag: member="ModuleFactory::~ModuleFactory" ref="_7EModuleFactory_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">virtual ModuleFactory::~ModuleFactory </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><code> [inline, virtual]</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="modules_8h-source.html#l01698">1698</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l01698"></a>01698 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="CreateModule_28Server_20_2AMe_29_3D_30"></a><!-- doxytag: member="ModuleFactory::CreateModule" ref="CreateModule_28Server_20_2AMe_29_3D_30" args="(Server *Me)=0" --><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">virtual <a class="el" href="classModule.html">Module</a>* ModuleFactory::CreateModule </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classServer.html">Server</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>Me</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [pure virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Creates a new module.
-<p>
-Your inherited class of ModuleFactory must return a pointer to your <a class="el" href="classModule.html">Module</a> class using this method. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classModuleFactory__coll__graph.gif b/docs/module-doc/classModuleFactory__coll__graph.gif
deleted file mode 100644
index 1cb0fe5f1..000000000
--- a/docs/module-doc/classModuleFactory__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModuleFactory__coll__graph.map b/docs/module-doc/classModuleFactory__coll__graph.map
deleted file mode 100644
index 9eb3655c2..000000000
--- a/docs/module-doc/classModuleFactory__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 22,97 102,124
diff --git a/docs/module-doc/classModuleFactory__coll__graph.md5 b/docs/module-doc/classModuleFactory__coll__graph.md5
deleted file mode 100644
index fc323e944..000000000
--- a/docs/module-doc/classModuleFactory__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-9dcff27f0b2b6c10f56cb9bd64ee6b74 \ No newline at end of file
diff --git a/docs/module-doc/classModuleFactory__inherit__graph.gif b/docs/module-doc/classModuleFactory__inherit__graph.gif
deleted file mode 100644
index 75ee256c7..000000000
--- a/docs/module-doc/classModuleFactory__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModuleFactory__inherit__graph.map b/docs/module-doc/classModuleFactory__inherit__graph.map
deleted file mode 100644
index 72a2ad2d2..000000000
--- a/docs/module-doc/classModuleFactory__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 22,7 102,34
diff --git a/docs/module-doc/classModuleFactory__inherit__graph.md5 b/docs/module-doc/classModuleFactory__inherit__graph.md5
deleted file mode 100644
index 00d312373..000000000
--- a/docs/module-doc/classModuleFactory__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-39255dae702fdbc6009033a563f97830 \ No newline at end of file
diff --git a/docs/module-doc/classModuleMessage-members.html b/docs/module-doc/classModuleMessage-members.html
deleted file mode 100644
index 3be9a9940..000000000
--- a/docs/module-doc/classModuleMessage-members.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!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>ModuleMessage Member List</h1>This is the complete list of members for <a class="el" href="classModuleMessage.html">ModuleMessage</a>, including all inherited members.<p><table>
- <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="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 Mon Dec 19 18:05:22 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/classModuleMessage.html b/docs/module-doc/classModuleMessage.html
deleted file mode 100644
index 0ffb17614..000000000
--- a/docs/module-doc/classModuleMessage.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!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: ModuleMessage 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>ModuleMessage Class Reference</h1><!-- doxytag: class="ModuleMessage" --><!-- doxytag: inherits="classbase" -->The ModuleMessage class is the base class of <a class="el" href="classRequest.html">Request</a> and <a class="el" href="classEvent.html">Event</a> This class is used to represent a basic data structure which is passed between modules for safe inter-module communications.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for ModuleMessage:<p><center><img src="classModuleMessage__inherit__graph.gif" border="0" usemap="#ModuleMessage__inherit__map" alt="Inheritance graph"></center>
-<map name="ModuleMessage__inherit__map">
-<area href="classEvent.html" shape="rect" coords="7,156,63,183" alt="">
-<area href="classRequest.html" shape="rect" coords="87,156,159,183" alt="">
-<area href="classclassbase.html" shape="rect" coords="39,7,119,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ModuleMessage:<p><center><img src="classModuleMessage__coll__graph.gif" border="0" usemap="#ModuleMessage__coll__map" alt="Collaboration graph"></center>
-<map name="ModuleMessage__coll__map">
-<area href="classclassbase.html" shape="rect" coords="27,97,107,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classModuleMessage-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">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModuleMessage.html#Send_28_29_3D_30">Send</a> ()=0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class is pure virtual and must be inherited. <a href="#Send_28_29_3D_30"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classModuleMessage.html#_7EModuleMessage_28_29">~ModuleMessage</a> ()</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The ModuleMessage class is the base class of <a class="el" href="classRequest.html">Request</a> and <a class="el" href="classEvent.html">Event</a> This class is used to represent a basic data structure which is passed between modules for safe inter-module communications.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00161">161</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="_7EModuleMessage_28_29"></a><!-- doxytag: member="ModuleMessage::~ModuleMessage" ref="_7EModuleMessage_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">virtual ModuleMessage::~ModuleMessage </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><code> [inline, virtual]</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="modules_8h-source.html#l00167">167</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.<div class="fragment"><pre class="fragment"><a name="l00167"></a>00167 {};
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="Send_28_29_3D_30"></a><!-- doxytag: member="ModuleMessage::Send" ref="Send_28_29_3D_30" args="()=0" --><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">virtual char* ModuleMessage::Send </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><code> [pure virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This class is pure virtual and must be inherited.
-<p>
-
-<p>
-Implemented in <a class="el" href="classRequest.html#Send_28_29">Request</a>, and <a class="el" href="classEvent.html#Send_28_29">Event</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classModuleMessage__coll__graph.gif b/docs/module-doc/classModuleMessage__coll__graph.gif
deleted file mode 100644
index 4ebbb17f9..000000000
--- a/docs/module-doc/classModuleMessage__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModuleMessage__coll__graph.map b/docs/module-doc/classModuleMessage__coll__graph.map
deleted file mode 100644
index bad1a1f99..000000000
--- a/docs/module-doc/classModuleMessage__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 27,97 107,124
diff --git a/docs/module-doc/classModuleMessage__coll__graph.md5 b/docs/module-doc/classModuleMessage__coll__graph.md5
deleted file mode 100644
index aa6a07c97..000000000
--- a/docs/module-doc/classModuleMessage__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-5c42f12f5b426d989c7e75ac013ed369 \ No newline at end of file
diff --git a/docs/module-doc/classModuleMessage__inherit__graph.gif b/docs/module-doc/classModuleMessage__inherit__graph.gif
deleted file mode 100644
index 42588ac6b..000000000
--- a/docs/module-doc/classModuleMessage__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModuleMessage__inherit__graph.map b/docs/module-doc/classModuleMessage__inherit__graph.map
deleted file mode 100644
index b8be28a28..000000000
--- a/docs/module-doc/classModuleMessage__inherit__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $classEvent.html 7,156 63,183
-rect $classRequest.html 87,156 159,183
-rect $classclassbase.html 39,7 119,33
diff --git a/docs/module-doc/classModuleMessage__inherit__graph.md5 b/docs/module-doc/classModuleMessage__inherit__graph.md5
deleted file mode 100644
index f911f90ca..000000000
--- a/docs/module-doc/classModuleMessage__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-da616c73965dd83233223320178e1259 \ No newline at end of file
diff --git a/docs/module-doc/classModule__coll__graph.gif b/docs/module-doc/classModule__coll__graph.gif
deleted file mode 100644
index 677aae159..000000000
--- a/docs/module-doc/classModule__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModule__coll__graph.map b/docs/module-doc/classModule__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classModule__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classModule__coll__graph.md5 b/docs/module-doc/classModule__coll__graph.md5
deleted file mode 100644
index 734a15309..000000000
--- a/docs/module-doc/classModule__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-60bd8f55ffe57aff1fdd74400fc04a9c \ No newline at end of file
diff --git a/docs/module-doc/classModule__inherit__graph.gif b/docs/module-doc/classModule__inherit__graph.gif
deleted file mode 100644
index 77c059c20..000000000
--- a/docs/module-doc/classModule__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classModule__inherit__graph.map b/docs/module-doc/classModule__inherit__graph.map
deleted file mode 100644
index 8b1d85be3..000000000
--- a/docs/module-doc/classModule__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,7 87,34
diff --git a/docs/module-doc/classModule__inherit__graph.md5 b/docs/module-doc/classModule__inherit__graph.md5
deleted file mode 100644
index 36433ad9c..000000000
--- a/docs/module-doc/classModule__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-1a9b43f472b611b45110c0c43a496d3b \ No newline at end of file
diff --git a/docs/module-doc/classQLine-members.html b/docs/module-doc/classQLine-members.html
deleted file mode 100644
index 8f1d4f6fe..000000000
--- a/docs/module-doc/classQLine-members.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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>QLine Member List</h1>This is the complete list of members for <a class="el" href="classQLine.html">QLine</a>, including all inherited members.<p><table>
- <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="classXLine.html#duration">duration</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classQLine.html#is_5Fglobal">is_global</a></td><td><a class="el" href="classQLine.html">QLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classXLine.html#n_5Fmatches">n_matches</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classQLine.html#nick_5B_36_34_5D">nick</a></td><td><a class="el" href="classQLine.html">QLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classXLine.html#reason_5BMAXBUF_5D">reason</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#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 Mon Dec 19 18:05:22 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/classQLine.html b/docs/module-doc/classQLine.html
deleted file mode 100644
index 8c1ba13ec..000000000
--- a/docs/module-doc/classQLine.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!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: QLine 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>QLine Class Reference</h1><!-- doxytag: class="QLine" --><!-- doxytag: inherits="XLine" -->QLine class.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="xline_8h-source.html">xline.h</a>&gt;</code>
-<p>
-Inheritance diagram for QLine:<p><center><img src="classQLine__inherit__graph.gif" border="0" usemap="#QLine__inherit__map" alt="Inheritance graph"></center>
-<map name="QLine__inherit__map">
-<area href="classXLine.html" shape="rect" coords="19,81,75,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for QLine:<p><center><img src="classQLine__coll__graph.gif" border="0" usemap="#QLine__coll__map" alt="Collaboration graph"></center>
-<map name="QLine__coll__map">
-<area href="classXLine.html" shape="rect" coords="108,204,164,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="79,97,159,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classQLine-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 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="classQLine.html#nick_5B_36_34_5D">nick</a> [64]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nickname to match against. <a href="#nick_5B_36_34_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQLine.html#is_5Fglobal">is_global</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if this is a global Z:line (e.g. <a href="#is_5Fglobal"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-QLine class.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00113">113</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="is_5Fglobal"></a><!-- doxytag: member="QLine::is_global" ref="is_5Fglobal" 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">bool <a class="el" href="classQLine.html#is_5Fglobal">QLine::is_global</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set if this is a global Z:line (e.g.
-<p>
-it came from another server)
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00123">123</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="nick_5B_36_34_5D"></a><!-- doxytag: member="QLine::nick" ref="nick_5B_36_34_5D" args="[64]" --><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="classQLine.html#nick_5B_36_34_5D">QLine::nick</a>[64] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Nickname to match against.
-<p>
-May contain wildcards.
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00119">119</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:22 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/classQLine__coll__graph.gif b/docs/module-doc/classQLine__coll__graph.gif
deleted file mode 100644
index cd509e2d4..000000000
--- a/docs/module-doc/classQLine__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classQLine__coll__graph.map b/docs/module-doc/classQLine__coll__graph.map
deleted file mode 100644
index 028f82a6e..000000000
--- a/docs/module-doc/classQLine__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 108,204 164,231
-rect $classclassbase.html 79,97 159,124
diff --git a/docs/module-doc/classQLine__coll__graph.md5 b/docs/module-doc/classQLine__coll__graph.md5
deleted file mode 100644
index 524d350e8..000000000
--- a/docs/module-doc/classQLine__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-ceaac849094845256faf8b33ad6f197e \ No newline at end of file
diff --git a/docs/module-doc/classQLine__inherit__graph.gif b/docs/module-doc/classQLine__inherit__graph.gif
deleted file mode 100644
index 7129de9a4..000000000
--- a/docs/module-doc/classQLine__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classQLine__inherit__graph.map b/docs/module-doc/classQLine__inherit__graph.map
deleted file mode 100644
index 37695eb4e..000000000
--- a/docs/module-doc/classQLine__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 19,81 75,108
-rect $classclassbase.html 7,7 87,33
diff --git a/docs/module-doc/classQLine__inherit__graph.md5 b/docs/module-doc/classQLine__inherit__graph.md5
deleted file mode 100644
index f8ab20af2..000000000
--- a/docs/module-doc/classQLine__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-1e1892777c1af1702ebc41518c8faf00 \ No newline at end of file
diff --git a/docs/module-doc/classRequest-members.html b/docs/module-doc/classRequest-members.html
deleted file mode 100644
index 7a053588b..000000000
--- a/docs/module-doc/classRequest-members.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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>Request Member List</h1>This is the complete list of members for <a class="el" href="classRequest.html">Request</a>, including all inherited members.<p><table>
- <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="classRequest.html#data">data</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="classRequest.html#dest">dest</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="classRequest.html#GetData_28_29">GetData</a>()</td><td><a class="el" href="classRequest.html">Request</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classRequest.html#GetDest_28_29">GetDest</a>()</td><td><a class="el" href="classRequest.html">Request</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classRequest.html#GetSource_28_29">GetSource</a>()</td><td><a class="el" href="classRequest.html">Request</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request</a>(char *anydata, Module *src, Module *dst)</td><td><a class="el" href="classRequest.html">Request</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classRequest.html#Send_28_29">Send</a>()</td><td><a class="el" href="classRequest.html">Request</a></td><td><code> [virtual]</code></td></tr>
- <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 Mon Dec 19 18:05:22 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/classRequest.html b/docs/module-doc/classRequest.html
deleted file mode 100644
index 019d5de24..000000000
--- a/docs/module-doc/classRequest.html
+++ /dev/null
@@ -1,367 +0,0 @@
-<!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: Request 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>Request Class Reference</h1><!-- doxytag: class="Request" --><!-- doxytag: inherits="ModuleMessage" -->The Request class is a unicast message directed at a given module.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for Request:<p><center><img src="classRequest__inherit__graph.gif" border="0" usemap="#Request__inherit__map" alt="Inheritance graph"></center>
-<map name="Request__inherit__map">
-<area href="classModuleMessage.html" shape="rect" coords="7,81,127,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="27,7,107,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Request:<p><center><img src="classRequest__coll__graph.gif" border="0" usemap="#Request__coll__map" alt="Collaboration graph"></center>
-<map name="Request__coll__map">
-<area href="classModuleMessage.html" shape="rect" coords="7,175,127,202" alt="">
-<area href="classclassbase.html" shape="rect" coords="95,98,175,124" alt="">
-<area href="classModule.html" shape="rect" coords="151,175,217,202" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classRequest-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="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request</a> (char *anydata, <a class="el" href="classModule.html">Module</a> *src, <a class="el" href="classModule.html">Module</a> *dst)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new Request. <a href="#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#GetData_28_29">GetData</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch the Request data. <a href="#GetData_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#GetSource_28_29">GetSource</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch the request source. <a href="#GetSource_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#GetDest_28_29">GetDest</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetch the request destination (should be 'this' in the receiving module). <a href="#GetDest_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#Send_28_29">Send</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send the Request. <a href="#Send_28_29"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Protected 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="classRequest.html#data">data</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This member holds a pointer to arbitary data set by the emitter of the message. <a href="#data"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#source">source</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply. <a href="#source"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRequest.html#dest">dest</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The single destination of the Request. <a href="#dest"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The Request class is a unicast message directed at a given module.
-<p>
-When this class is properly instantiated it may be sent to a module using the <a class="el" href="classRequest.html#Send_28_29">Send()</a> method, which will call the given module's OnRequest method with this class as its parameter.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00175">175</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="Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29"></a><!-- doxytag: member="Request::Request" ref="Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29" args="(char *anydata, Module *src, Module *dst)" --><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">Request::Request </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>anydata</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>src</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dst</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>
-Create a new Request.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00164">164</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00164"></a>00164 : <a class="code" href="classRequest.html#data">data</a>(anydata), <a class="code" href="classRequest.html#source">source</a>(src), <a class="code" href="classRequest.html#dest">dest</a>(dst) { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="GetData_28_29"></a><!-- doxytag: member="Request::GetData" ref="GetData_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 * Request::GetData </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>
-Fetch the Request data.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00166">166</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00180">data</a>.<div class="fragment"><pre class="fragment"><a name="l00167"></a>00167 {
-<a name="l00168"></a>00168 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#data">data</a>;
-<a name="l00169"></a>00169 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetDest_28_29"></a><!-- doxytag: member="Request::GetDest" ref="GetDest_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="classModule.html">Module</a> * Request::GetDest </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>
-Fetch the request destination (should be 'this' in the receiving module).
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00176">176</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00187">dest</a>.<div class="fragment"><pre class="fragment"><a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#dest">dest</a>;
-<a name="l00179"></a>00179 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetSource_28_29"></a><!-- doxytag: member="Request::GetSource" ref="GetSource_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="classModule.html">Module</a> * Request::GetSource </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>
-Fetch the request source.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00171">171</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00184">source</a>.<div class="fragment"><pre class="fragment"><a name="l00172"></a>00172 {
-<a name="l00173"></a>00173 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#source">source</a>;
-<a name="l00174"></a>00174 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Send_28_29"></a><!-- doxytag: member="Request::Send" ref="Send_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 * Request::Send </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Send the Request.
-<p>
-Upon returning the result will be arbitary data returned by the module you sent the request to. It is up to your module to know what this data is and how to deal with it.
-<p>
-Implements <a class="el" href="classModuleMessage.html#Send_28_29_3D_30">ModuleMessage</a>.
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00181">181</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00187">dest</a>, and <a class="el" href="modules_8cpp-source.html#l00262">Module::OnRequest()</a>.<div class="fragment"><pre class="fragment"><a name="l00182"></a>00182 {
-<a name="l00183"></a>00183 <span class="keywordflow">if</span> (this-&gt;dest)
-<a name="l00184"></a>00184 {
-<a name="l00185"></a>00185 <span class="keywordflow">return</span> <a class="code" href="classRequest.html#dest">dest</a>-&gt;<a class="code" href="classModule.html#OnRequest_28Request_20_2Arequest_29">OnRequest</a>(<span class="keyword">this</span>);
-<a name="l00186"></a>00186 }
-<a name="l00187"></a>00187 <span class="keywordflow">else</span>
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 <span class="keywordflow">return</span> NULL;
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="data"></a><!-- doxytag: member="Request::data" ref="data" 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* <a class="el" href="classRequest.html#data">Request::data</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This member holds a pointer to arbitary data set by the emitter of the message.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00180">180</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#l00166">GetData()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="dest"></a><!-- doxytag: member="Request::dest" ref="dest" 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="classModule.html">Module</a>* <a class="el" href="classRequest.html#dest">Request::dest</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The single destination of the Request.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00187">187</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#l00176">GetDest()</a>, and <a class="el" href="modules_8cpp-source.html#l00181">Send()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="source"></a><!-- doxytag: member="Request::source" ref="source" 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="classModule.html">Module</a>* <a class="el" href="classRequest.html#source">Request::source</a><code> [protected]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This is a pointer to the sender of the message, which can be used to directly trigger events, or to create a reply.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00184">184</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#l00171">GetSource()</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 Mon Dec 19 18:05:22 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/classRequest__coll__graph.gif b/docs/module-doc/classRequest__coll__graph.gif
deleted file mode 100644
index 75f00e3de..000000000
--- a/docs/module-doc/classRequest__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classRequest__coll__graph.map b/docs/module-doc/classRequest__coll__graph.map
deleted file mode 100644
index 1b4799fbe..000000000
--- a/docs/module-doc/classRequest__coll__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $classModuleMessage.html 7,175 127,202
-rect $classclassbase.html 95,98 175,124
-rect $classModule.html 151,175 217,202
diff --git a/docs/module-doc/classRequest__coll__graph.md5 b/docs/module-doc/classRequest__coll__graph.md5
deleted file mode 100644
index c0a60fb28..000000000
--- a/docs/module-doc/classRequest__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-5510328010b7765dbe242836ad9f7846 \ No newline at end of file
diff --git a/docs/module-doc/classRequest__inherit__graph.gif b/docs/module-doc/classRequest__inherit__graph.gif
deleted file mode 100644
index 792e0e65e..000000000
--- a/docs/module-doc/classRequest__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classRequest__inherit__graph.map b/docs/module-doc/classRequest__inherit__graph.map
deleted file mode 100644
index f3f281b15..000000000
--- a/docs/module-doc/classRequest__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classModuleMessage.html 7,81 127,108
-rect $classclassbase.html 27,7 107,33
diff --git a/docs/module-doc/classRequest__inherit__graph.md5 b/docs/module-doc/classRequest__inherit__graph.md5
deleted file mode 100644
index 704aab881..000000000
--- a/docs/module-doc/classRequest__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-23bf4b24d7a45be28b312c0ac827a9d3 \ No newline at end of file
diff --git a/docs/module-doc/classServer-members.html b/docs/module-doc/classServer-members.html
deleted file mode 100644
index aaf96a8f6..000000000
--- a/docs/module-doc/classServer-members.html
+++ /dev/null
@@ -1,76 +0,0 @@
-<!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>Server Member List</h1>This is the complete list of members for <a class="el" href="classServer.html">Server</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classServer.html#AddCommand_28command_5Ft_20_2Af_29">AddCommand</a>(command_t *f)</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#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddELine</a>(long duration, std::string source, std::string reason, std::string hostmask)</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#AddExtendedListMode_28char_20modechar_29">AddExtendedListMode</a>(char modechar)</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#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29">AddExtendedMode</a>(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)</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#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddGLine</a>(long duration, std::string source, std::string reason, std::string hostmask)</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#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddKLine</a>(long duration, std::string source, std::string reason, std::string hostmask)</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#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">AddQLine</a>(long duration, std::string source, std::string reason, std::string nickname)</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#AddSocket_28InspSocket_20_2Asock_29">AddSocket</a>(InspSocket *sock)</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#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">AddZLine</a>(long duration, std::string source, std::string reason, std::string ipaddr)</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#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="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">CalcDuration</a>(std::string duration)</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#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">CallCommandHandler</a>(std::string commandname, char **parameters, int pcnt, userrec *user)</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#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">ChangeGECOS</a>(userrec *user, std::string gecos)</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#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">ChangeHost</a>(userrec *user, std::string host)</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#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">ChangeUserNick</a>(userrec *user, std::string nickname)</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#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">ChanMode</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="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="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">CommonChannels</a>(userrec *u1, userrec *u2)</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#CountUsers_28chanrec_20_2Ac_29">CountUsers</a>(chanrec *c)</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#DelELine_28std_3A_3Astring_20hostmask_29">DelELine</a>(std::string hostmask)</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#DelGLine_28std_3A_3Astring_20hostmask_29">DelGLine</a>(std::string hostmask)</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#DelKLine_28std_3A_3Astring_20hostmask_29">DelKLine</a>(std::string hostmask)</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#DelQLine_28std_3A_3Astring_20nickname_29">DelQLine</a>(std::string nickname)</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#DelSocket_28InspSocket_20_2Asock_29">DelSocket</a>(InspSocket *sock)</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#DelZLine_28std_3A_3Astring_20ipaddr_29">DelZLine</a>(std::string ipaddr)</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#FindChannel_28std_3A_3Astring_20channel_29">FindChannel</a>(std::string channel)</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#FindDescriptor_28int_20socket_29">FindDescriptor</a>(int socket)</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#FindModule_28std_3A_3Astring_20name_29">FindModule</a>(std::string name)</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#FindNick_28std_3A_3Astring_20nick_29">FindNick</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#GetAdmin_28_29">GetAdmin</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#GetConfig_28_29">GetConfig</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#GetNetworkName_28_29">GetNetworkName</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#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>
- <tr class="memlist"><td><a class="el" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">IsValidMask</a>(std::string mask)</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#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">IsValidModuleCommand</a>(std::string commandname, int pcnt, userrec *user)</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#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">JoinUserToChannel</a>(userrec *user, std::string cname, std::string key)</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#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Log</a>(int level, std::string s)</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#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">MatchText</a>(std::string sliteral, std::string spattern)</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#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">PartUserFromChannel</a>(userrec *user, std::string cname, std::string reason)</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#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">PseudoToUser</a>(userrec *alive, userrec *zombie, 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="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">QuitUser</a>(userrec *user, std::string reason)</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#RehashServer_28_29">RehashServer</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#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Send</a>(int Socket, std::string s)</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#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">SendChannel</a>(userrec *User, chanrec *Channel, std::string s, bool IncludeSender)</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#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">SendChannelServerNotice</a>(std::string ServName, chanrec *Channel, std::string text)</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#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">SendCommon</a>(userrec *User, std::string text, bool IncludeSender)</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#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">SendFrom</a>(int Socket, userrec *User, std::string s)</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#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">SendMode</a>(char **parameters, int pcnt, userrec *user)</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#SendOpers_28std_3A_3Astring_20s_29">SendOpers</a>(std::string s)</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#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">SendServ</a>(int Socket, std::string s)</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#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">SendTo</a>(userrec *Source, userrec *Dest, std::string s)</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#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">SendToModeMask</a>(std::string modes, int flags, std::string text)</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#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">SendWallops</a>(userrec *User, std::string text)</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#Server_28_29">Server</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#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 Mon Dec 19 18:05:23 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/classServer.html b/docs/module-doc/classServer.html
deleted file mode 100644
index 77d6dd084..000000000
--- a/docs/module-doc/classServer.html
+++ /dev/null
@@ -1,3120 +0,0 @@
-<!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: Server 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>Server Class Reference</h1><!-- doxytag: class="Server" --><!-- doxytag: inherits="classbase" -->Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for Server:<p><center><img src="classServer__inherit__graph.gif" border="0" usemap="#Server__inherit__map" alt="Inheritance graph"></center>
-<map name="Server__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Server:<p><center><img src="classServer__coll__graph.gif" border="0" usemap="#Server__coll__map" alt="Collaboration graph"></center>
-<map name="Server__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classServer-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="classServer.html#Server_28_29">Server</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <a href="#Server_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#_7EServer_28_29">~Server</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default destructor. <a href="#_7EServer_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classServerConfig.html">ServerConfig</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#GetConfig_28_29">GetConfig</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtains a pointer to the server's <a class="el" href="classServerConfig.html">ServerConfig</a> object. <a href="#GetConfig_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#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>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Send</a> (int Socket, <a class="el" href="namespaceirc.html#string">std::string</a> s)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a line of text down a TCP/IP socket. <a href="#Send_28int_20Socket_2C_20std_3A_3Astring_20s_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#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">SendServ</a> (int Socket, <a class="el" href="namespaceirc.html#string">std::string</a> s)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends text from the server to a socket. <a href="#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_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#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">SendChannelServerNotice</a> (<a class="el" href="namespaceirc.html#string">std::string</a> ServName, <a class="el" href="classchanrec.html">chanrec</a> *Channel, <a class="el" href="namespaceirc.html#string">std::string</a> text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes text to a channel, but from a server, including all. <a href="#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_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#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">SendFrom</a> (int Socket, <a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="namespaceirc.html#string">std::string</a> s)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends text from a user to a socket. <a href="#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_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#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">SendTo</a> (<a class="el" href="classuserrec.html">userrec</a> *Source, <a class="el" href="classuserrec.html">userrec</a> *Dest, <a class="el" href="namespaceirc.html#string">std::string</a> s)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends text from a user to another user. <a href="#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_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#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">SendChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="classchanrec.html">chanrec</a> *Channel, <a class="el" href="namespaceirc.html#string">std::string</a> s, bool IncludeSender)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends text from a user to a channel (mulicast). <a href="#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">CommonChannels</a> (<a class="el" href="classuserrec.html">userrec</a> *u1, <a class="el" href="classuserrec.html">userrec</a> *u2)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if two users share a common channel. <a href="#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_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#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">SendCommon</a> (<a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="namespaceirc.html#string">std::string</a> text, bool IncludeSender)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends text from a user to one or more channels (mulicast). <a href="#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_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#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">SendWallops</a> (<a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="namespaceirc.html#string">std::string</a> text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a WALLOPS message. <a href="#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">IsNick</a> (<a class="el" href="namespaceirc.html#string">std::string</a> nick)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a nick is valid. <a href="#IsNick_28std_3A_3Astring_20nick_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">CountUsers</a> (<a class="el" href="classchanrec.html">chanrec</a> *c)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a count of the number of users on a channel. <a href="#CountUsers_28chanrec_20_2Ac_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">FindNick</a> (<a class="el" href="namespaceirc.html#string">std::string</a> nick)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempts to look up a nick and return a pointer to it. <a href="#FindNick_28std_3A_3Astring_20nick_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#FindDescriptor_28int_20socket_29">FindDescriptor</a> (int socket)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempts to look up a nick using the file descriptor associated with that nick. <a href="#FindDescriptor_28int_20socket_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">FindChannel</a> (<a class="el" href="namespaceirc.html#string">std::string</a> channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempts to look up a channel and return a pointer to it. <a href="#FindChannel_28std_3A_3Astring_20channel_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">ChanMode</a> (<a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="classchanrec.html">chanrec</a> *Chan)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempts to look up a user's privilages on a channel. <a href="#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">IsOnChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *User, <a class="el" href="classchanrec.html">chanrec</a> *Chan)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if a user is on a channel. <a href="#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#GetServerName_28_29">GetServerName</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the server name of the server where the module is loaded. <a href="#GetServerName_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#GetNetworkName_28_29">GetNetworkName</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the network name, global to all linked servers. <a href="#GetNetworkName_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#GetServerDescription_28_29">GetServerDescription</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the server description string of the local server. <a href="#GetServerDescription_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classAdmin.html">Admin</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#GetAdmin_28_29">GetAdmin</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the information of the server as returned by the /ADMIN command. <a href="#GetAdmin_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><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">AddExtendedMode</a> (char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds an extended mode letter which is parsed by a module. <a href="#AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#AddExtendedListMode_28char_20modechar_29">AddExtendedListMode</a> (char modechar)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds an extended mode letter which is parsed by a module and handled in a list fashion. <a href="#AddExtendedListMode_28char_20modechar_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#AddCommand_28command_5Ft_20_2Af_29">AddCommand</a> (<a class="el" href="classcommand__t.html">command_t</a> *f)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a command to the command table. <a href="#AddCommand_28command_5Ft_20_2Af_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#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">SendMode</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends a servermode. <a href="#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_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#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">SendToModeMask</a> (<a class="el" href="namespaceirc.html#string">std::string</a> modes, int flags, <a class="el" href="namespaceirc.html#string">std::string</a> text)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter. <a href="#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">JoinUserToChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> cname, <a class="el" href="namespaceirc.html#string">std::string</a> key)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forces a user to join a channel. <a href="#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">PartUserFromChannel</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> cname, <a class="el" href="namespaceirc.html#string">std::string</a> reason)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forces a user to part a channel. <a href="#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_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#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">ChangeUserNick</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> nickname)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Forces a user nickchange. <a href="#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_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#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">QuitUser</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">Forces a user to quit with the specified reason. <a href="#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">MatchText</a> (<a class="el" href="namespaceirc.html#string">std::string</a> sliteral, <a class="el" href="namespaceirc.html#string">std::string</a> spattern)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matches text against a glob pattern. <a href="#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_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#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">CallCommandHandler</a> (<a class="el" href="namespaceirc.html#string">std::string</a> commandname, char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls the handler for a command, either implemented by the core or by another module. <a href="#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">IsValidModuleCommand</a> (<a class="el" href="namespaceirc.html#string">std::string</a> commandname, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)</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#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">ChangeHost</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> host)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change displayed hostname of a user. <a href="#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_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#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">ChangeGECOS</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> gecos)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change GECOS (fullname) of a user. <a href="#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">IsUlined</a> (<a class="el" href="namespaceirc.html#string">std::string</a> server)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the servername you give is ulined. <a href="#IsUlined_28std_3A_3Astring_20server_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="modules_8h.html#chanuserlist">chanuserlist</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">GetUsers</a> (<a class="el" href="classchanrec.html">chanrec</a> *chan)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fetches the userlist of a channel. <a href="#GetUsers_28chanrec_20_2Achan_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">UserToPseudo</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="namespaceirc.html#string">std::string</a> message)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a user's connection to the irc server, but leave their client in existence in the user hash. <a href="#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">PseudoToUser</a> (<a class="el" href="classuserrec.html">userrec</a> *alive, <a class="el" href="classuserrec.html">userrec</a> *zombie, <a class="el" href="namespaceirc.html#string">std::string</a> message)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This user takes one user, and switches their file descriptor with another user, so that one user "becomes" the other. <a href="#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_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#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddGLine</a> (long duration, <a class="el" href="namespaceirc.html#string">std::string</a> source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a G-line The G-line is propogated to all of the servers in the mesh and enforced as soon as it is added. <a href="#AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_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#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29">AddQLine</a> (long duration, <a class="el" href="namespaceirc.html#string">std::string</a> source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> nickname)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enforced as soon as it is added. <a href="#AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_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#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29">AddZLine</a> (long duration, <a class="el" href="namespaceirc.html#string">std::string</a> source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> ipaddr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enforced as soon as it is added. <a href="#AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_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#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddKLine</a> (long duration, <a class="el" href="namespaceirc.html#string">std::string</a> source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a K-line The K-line is enforced as soon as it is added. <a href="#AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_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#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">AddELine</a> (long duration, <a class="el" href="namespaceirc.html#string">std::string</a> source, <a class="el" href="namespaceirc.html#string">std::string</a> reason, <a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a E-line The E-line is enforced as soon as it is added. <a href="#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">DelGLine</a> (<a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a G-Line from all servers on the mesh. <a href="#DelGLine_28std_3A_3Astring_20hostmask_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">DelQLine</a> (<a class="el" href="namespaceirc.html#string">std::string</a> nickname)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a Q-Line from all servers on the mesh. <a href="#DelQLine_28std_3A_3Astring_20nickname_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">DelZLine</a> (<a class="el" href="namespaceirc.html#string">std::string</a> ipaddr)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a Z-Line from all servers on the mesh. <a href="#DelZLine_28std_3A_3Astring_20ipaddr_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">DelKLine</a> (<a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a local K-Line. <a href="#DelKLine_28std_3A_3Astring_20hostmask_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">DelELine</a> (<a class="el" href="namespaceirc.html#string">std::string</a> hostmask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a local E-Line. <a href="#DelELine_28std_3A_3Astring_20hostmask_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">CalcDuration</a> (<a class="el" href="namespaceirc.html#string">std::string</a> duration)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates a duration This method will take a string containing a formatted duration (e.g. <a href="#CalcDuration_28std_3A_3Astring_20duration_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">IsValidMask</a> (<a class="el" href="namespaceirc.html#string">std::string</a> mask)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a nick!ident string is correctly formatted, false if otherwise. <a href="#IsValidMask_28std_3A_3Astring_20mask_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">FindModule</a> (<a class="el" href="namespaceirc.html#string">std::string</a> name)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function finds a module by name. <a href="#FindModule_28std_3A_3Astring_20name_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#AddSocket_28InspSocket_20_2Asock_29">AddSocket</a> (<a class="el" href="classInspSocket.html">InspSocket</a> *sock)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a class derived from <a class="el" href="classInspSocket.html">InspSocket</a> to the server's socket engine. <a href="#AddSocket_28InspSocket_20_2Asock_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#DelSocket_28InspSocket_20_2Asock_29">DelSocket</a> (<a class="el" href="classInspSocket.html">InspSocket</a> *sock)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a class derived from <a class="el" href="classInspSocket.html">InspSocket</a> from the server's socket engine. <a href="#DelSocket_28InspSocket_20_2Asock_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#RehashServer_28_29">RehashServer</a> ()</td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers.
-<p>
-All modules should instantiate at least one copy of this class, and use its member functions to perform their tasks.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l01114">1114</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="Server_28_29"></a><!-- doxytag: member="Server::Server" ref="Server_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">Server::Server </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>
-Default constructor.
-<p>
-Creates a Server object.
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00304">304</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00305"></a>00305 {
-<a name="l00306"></a>00306 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7EServer_28_29"></a><!-- doxytag: member="Server::~Server" ref="_7EServer_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">Server::~Server </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Default destructor.
-<p>
-Destroys a Server object.
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00308">308</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00309"></a>00309 {
-<a name="l00310"></a>00310 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="AddCommand_28command_5Ft_20_2Af_29"></a><!-- doxytag: member="Server::AddCommand" ref="AddCommand_28command_5Ft_20_2Af_29" args="(command_t *f)" --><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 Server::AddCommand </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classcommand__t.html">command_t</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Adds a command to the command table.
-<p>
-This allows modules to add extra commands into the command table. You must place a function within your module which is is of type handlerfunc:<p>
-typedef void (handlerfunc) (char**, int, userrec*); ... void handle_kill(char **parameters, int pcnt, userrec *user)<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#l00415">415</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="inspircd_8h-source.html#l00110">InspIRCd::Parser</a>.<div class="fragment"><pre class="fragment"><a name="l00416"></a>00416 {
-<a name="l00417"></a>00417 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;CreateCommand(f);
-<a name="l00418"></a>00418 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Server::AddELine" ref="AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29" args="(long duration, std::string source, std::string reason, std::string hostmask)" --><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 Server::AddELine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</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>source</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" 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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00659">659</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="l00660"></a>00660 {
-<a name="l00661"></a>00661 <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="l00662"></a>00662 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddExtendedListMode_28char_20modechar_29"></a><!-- doxytag: member="Server::AddExtendedListMode" ref="AddExtendedListMode_28char_20modechar_29" args="(char modechar)" --><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">bool Server::AddExtendedListMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>modechar</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Adds an extended mode letter which is parsed by a module and handled in a list fashion.
-<p>
-This call is used to implement modes like +q and +a. The characteristics of these modes are as follows:<p>
-(1) They are ALWAYS on channels, not on users, therefore their type is MT_CHANNEL<p>
-(2) They always take exactly one parameter when being added or removed<p>
-(3) They can be set multiple times, usually on users in channels<p>
-(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#l00583">583</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00133">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00143">ModeMakeList()</a>, and <a class="el" href="modules_8h-source.html#l00031">MT_CHANNEL</a>.<div class="fragment"><pre class="fragment"><a name="l00584"></a>00584 {
-<a name="l00585"></a>00585 <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="l00586"></a>00586 <span class="keywordflow">if</span> (res)
-<a name="l00587"></a>00587 <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(modechar);
-<a name="l00588"></a>00588 <span class="keywordflow">return</span> res;
-<a name="l00589"></a>00589 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29"></a><!-- doxytag: member="Server::AddExtendedMode" ref="AddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fwhen_5Fon_2C_20int_20params_5Fwhen_5Foff_29" args="(char modechar, int type, bool requires_oper, int params_when_on, int params_when_off)" --><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">bool Server::AddExtendedMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>requires_oper</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>params_when_on</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>params_when_off</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00555">555</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#l00029">DEBUG</a>, <a class="el" href="modules_8cpp-source.html#l00133">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="l00556"></a>00556 {
-<a name="l00557"></a>00557 <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="l00558"></a>00558 {
-<a name="l00559"></a>00559 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#MT_5FSERVER">MT_SERVER</a>)
-<a name="l00560"></a>00560 {
-<a name="l00561"></a>00561 <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="l00562"></a>00562 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00563"></a>00563 }
-<a name="l00564"></a>00564 <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="l00565"></a>00565 {
-<a name="l00566"></a>00566 <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="l00567"></a>00567 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00568"></a>00568 }
-<a name="l00569"></a>00569 <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
-<a name="l00570"></a>00570 {
-<a name="l00571"></a>00571 <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="l00572"></a>00572 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00573"></a>00573 }
-<a name="l00574"></a>00574 <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="l00575"></a>00575 }
-<a name="l00576"></a>00576 <span class="keywordflow">else</span>
-<a name="l00577"></a>00577 {
-<a name="l00578"></a>00578 <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="l00579"></a>00579 }
-<a name="l00580"></a>00580 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00581"></a>00581 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Server::AddGLine" ref="AddGLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29" args="(long duration, std::string source, std::string reason, std::string hostmask)" --><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 Server::AddGLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</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>source</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" 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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Adds a G-line The G-line is propogated to all of the servers in the mesh and enforced as soon as it is added.
-<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#l00639">639</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="l00640"></a>00640 {
-<a name="l00641"></a>00641 <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="l00642"></a>00642 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Server::AddKLine" ref="AddKLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29" args="(long duration, std::string source, std::string reason, std::string hostmask)" --><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 Server::AddKLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</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>source</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" 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>hostmask</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00654">654</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="l00655"></a>00655 {
-<a name="l00656"></a>00656 <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="l00657"></a>00657 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29"></a><!-- doxytag: member="Server::AddQLine" ref="AddQLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickname_29" args="(long duration, std::string source, std::string reason, std::string nickname)" --><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 Server::AddQLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</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>source</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" 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>nickname</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Adds a Q-line The Q-line is propogated to all of the servers in the mesh and enforced as soon as it is added.
-<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#l00644">644</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="l00645"></a>00645 {
-<a name="l00646"></a>00646 <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="l00647"></a>00647 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddSocket_28InspSocket_20_2Asock_29"></a><!-- doxytag: member="Server::AddSocket" ref="AddSocket_28InspSocket_20_2Asock_29" args="(InspSocket *sock)" --><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 Server::AddSocket </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInspSocket.html">InspSocket</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>sock</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Adds a class derived from <a class="el" href="classInspSocket.html">InspSocket</a> to the server's socket engine.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00312">312</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="l00313"></a>00313 {
-<a name="l00314"></a>00314 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.push_back(sock);
-<a name="l00315"></a>00315 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29"></a><!-- doxytag: member="Server::AddZLine" ref="AddZLine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipaddr_29" args="(long duration, std::string source, std::string reason, std::string ipaddr)" --><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 Server::AddZLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</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>source</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" 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>ipaddr</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Adds a Z-line The Z-line is propogated to all of the servers in the mesh and enforced as soon as it is added.
-<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#l00649">649</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="l00650"></a>00650 {
-<a name="l00651"></a>00651 <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="l00652"></a>00652 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="CalcDuration_28std_3A_3Astring_20duration_29"></a><!-- doxytag: member="Server::CalcDuration" ref="CalcDuration_28std_3A_3Astring_20duration_29" args="(std::string duration)" --><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">long Server::CalcDuration </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>duration</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Calculates a duration This method will take a string containing a formatted duration (e.g.
-<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#l00689">689</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="l00690"></a>00690 {
-<a name="l00691"></a>00691 <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="l00692"></a>00692 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="Server::CallCommandHandler" ref="CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29" args="(std::string commandname, char **parameters, int pcnt, userrec *user)" --><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 Server::CallCommandHandler </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>commandname</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char **&nbsp;</td>
- <td class="mdname" nowrap> <em>parameters</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>pcnt</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Calls the handler for a command, either implemented by the core or by another module.
-<p>
-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_28command_5Ft_20_2Af_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#l00400">400</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="inspircd_8h-source.html#l00110">InspIRCd::Parser</a>.<div class="fragment"><pre class="fragment"><a name="l00401"></a>00401 {
-<a name="l00402"></a>00402 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;CallHandler(commandname,parameters,pcnt,user);
-<a name="l00403"></a>00403 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29"></a><!-- doxytag: member="Server::ChangeGECOS" ref="ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29" args="(userrec *user, std::string gecos)" --><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 Server::ChangeGECOS </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>gecos</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00498">498</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="l00499"></a>00499 {
-<a name="l00500"></a>00500 <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="l00501"></a>00501 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29"></a><!-- doxytag: member="Server::ChangeHost" ref="ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29" args="(userrec *user, std::string host)" --><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 Server::ChangeHost </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>host</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00493">493</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="l00494"></a>00494 {
-<a name="l00495"></a>00495 <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="l00496"></a>00496 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29"></a><!-- doxytag: member="Server::ChangeUserNick" ref="ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29" args="(userrec *user, std::string nickname)" --><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 Server::ChangeUserNick </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>nickname</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00385">385</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>.<div class="fragment"><pre class="fragment"><a name="l00386"></a>00386 {
-<a name="l00387"></a>00387 <a class="code" href="users_8cpp.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(user,nickname.c_str());
-<a name="l00388"></a>00388 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29"></a><!-- doxytag: member="Server::ChanMode" ref="ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29" args="(userrec *User, chanrec *Chan)" --><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::ChanMode </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Chan</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00523">523</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="l00524"></a>00524 {
-<a name="l00525"></a>00525 <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="l00526"></a>00526 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29"></a><!-- doxytag: member="Server::CommonChannels" ref="CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29" args="(userrec *u1, userrec *u2)" --><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">bool Server::CommonChannels </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>u1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>u2</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00471">471</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="l00472"></a>00472 {
-<a name="l00473"></a>00473 <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="l00474"></a>00474 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="CountUsers_28chanrec_20_2Ac_29"></a><!-- doxytag: member="Server::CountUsers" ref="CountUsers_28chanrec_20_2Ac_29" args="(chanrec *c)" --><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 Server::CountUsers </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>c</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00591">591</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00592"></a>00592 {
-<a name="l00593"></a>00593 <span class="keywordflow">return</span> usercount(c);
-<a name="l00594"></a>00594 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelELine_28std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Server::DelELine" ref="DelELine_28std_3A_3Astring_20hostmask_29" args="(std::string hostmask)" --><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">bool Server::DelELine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>hostmask</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes a local E-Line.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00684">684</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="l00685"></a>00685 {
-<a name="l00686"></a>00686 <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="l00687"></a>00687 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelGLine_28std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Server::DelGLine" ref="DelGLine_28std_3A_3Astring_20hostmask_29" args="(std::string hostmask)" --><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">bool Server::DelGLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>hostmask</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes a G-Line from all servers on the mesh.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00664">664</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="l00665"></a>00665 {
-<a name="l00666"></a>00666 <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="l00667"></a>00667 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelKLine_28std_3A_3Astring_20hostmask_29"></a><!-- doxytag: member="Server::DelKLine" ref="DelKLine_28std_3A_3Astring_20hostmask_29" args="(std::string hostmask)" --><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">bool Server::DelKLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>hostmask</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes a local K-Line.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00679">679</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="l00680"></a>00680 {
-<a name="l00681"></a>00681 <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="l00682"></a>00682 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelQLine_28std_3A_3Astring_20nickname_29"></a><!-- doxytag: member="Server::DelQLine" ref="DelQLine_28std_3A_3Astring_20nickname_29" args="(std::string nickname)" --><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">bool Server::DelQLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>nickname</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes a Q-Line from all servers on the mesh.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00669">669</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="l00670"></a>00670 {
-<a name="l00671"></a>00671 <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="l00672"></a>00672 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelSocket_28InspSocket_20_2Asock_29"></a><!-- doxytag: member="Server::DelSocket" ref="DelSocket_28InspSocket_20_2Asock_29" args="(InspSocket *sock)" --><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 Server::DelSocket </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInspSocket.html">InspSocket</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>sock</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes a class derived from <a class="el" href="classInspSocket.html">InspSocket</a> from the server's socket engine.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00333">333</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="l00334"></a>00334 {
-<a name="l00335"></a>00335 <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="l00336"></a>00336 {
-<a name="l00337"></a>00337 <span class="keywordflow">if</span> (*a == sock)
-<a name="l00338"></a>00338 {
-<a name="l00339"></a>00339 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.erase(a);
-<a name="l00340"></a>00340 <span class="keywordflow">return</span>;
-<a name="l00341"></a>00341 }
-<a name="l00342"></a>00342 }
-<a name="l00343"></a>00343 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelZLine_28std_3A_3Astring_20ipaddr_29"></a><!-- doxytag: member="Server::DelZLine" ref="DelZLine_28std_3A_3Astring_20ipaddr_29" args="(std::string ipaddr)" --><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">bool Server::DelZLine </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ipaddr</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Deletes a Z-Line from all servers on the mesh.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00674">674</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="l00675"></a>00675 {
-<a name="l00676"></a>00676 <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="l00677"></a>00677 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FindChannel_28std_3A_3Astring_20channel_29"></a><!-- doxytag: member="Server::FindChannel" ref="FindChannel_28std_3A_3Astring_20channel_29" args="(std::string channel)" --><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="classchanrec.html">chanrec</a> * Server::FindChannel </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00518">518</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="l00519"></a>00519 {
-<a name="l00520"></a>00520 <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="l00521"></a>00521 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FindDescriptor_28int_20socket_29"></a><!-- doxytag: member="Server::FindDescriptor" ref="FindDescriptor_28int_20socket_29" args="(int socket)" --><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> * Server::FindDescriptor </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>socket</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00513">513</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00514"></a>00514 {
-<a name="l00515"></a>00515 <span class="keywordflow">return</span> (socket &lt; 65536 ? fd_ref_table[socket] : NULL);
-<a name="l00516"></a>00516 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FindModule_28std_3A_3Astring_20name_29"></a><!-- doxytag: member="Server::FindModule" ref="FindModule_28std_3A_3Astring_20name_29" args="(std::string name)" --><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="classModule.html">Module</a> * Server::FindModule </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00723">723</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00934">MODCOUNT</a>, <a class="el" href="inspircd__io_8h-source.html#l00248">ServerConfig::module_names</a>, and <a class="el" href="channels_8cpp.html#modules">modules</a>.<div class="fragment"><pre class="fragment"><a name="l00724"></a>00724 {
-<a name="l00725"></a>00725 <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="l00726"></a>00726 {
-<a name="l00727"></a>00727 <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="l00728"></a>00728 {
-<a name="l00729"></a>00729 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#modules">modules</a>[i];
-<a name="l00730"></a>00730 }
-<a name="l00731"></a>00731 }
-<a name="l00732"></a>00732 <span class="keywordflow">return</span> NULL;
-<a name="l00733"></a>00733 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FindNick_28std_3A_3Astring_20nick_29"></a><!-- doxytag: member="Server::FindNick" ref="FindNick_28std_3A_3Astring_20nick_29" args="(std::string nick)" --><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> * Server::FindNick </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>nick</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00508">508</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="l00509"></a>00509 {
-<a name="l00510"></a>00510 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a>(nick);
-<a name="l00511"></a>00511 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetAdmin_28_29"></a><!-- doxytag: member="Server::GetAdmin" ref="GetAdmin_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="classAdmin.html">Admin</a> Server::GetAdmin </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00548">548</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#l00090">ServerConfig::AdminEmail</a>, <a class="el" href="inspircd__io_8h-source.html#l00085">ServerConfig::AdminName</a>, and <a class="el" href="inspircd__io_8h-source.html#l00095">ServerConfig::AdminNick</a>.<div class="fragment"><pre class="fragment"><a name="l00549"></a>00549 {
-<a name="l00550"></a>00550 <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="l00551"></a>00551 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetConfig_28_29"></a><!-- doxytag: member="Server::GetConfig" ref="GetConfig_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="classServerConfig.html">ServerConfig</a> * Server::GetConfig </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>
-Obtains a pointer to the server's <a class="el" href="classServerConfig.html">ServerConfig</a> object.
-<p>
-The <a class="el" href="classServerConfig.html">ServerConfig</a> object contains most of the configuration data of the IRC server, as read from the config file by the core.
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00323">323</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00324"></a>00324 {
-<a name="l00325"></a>00325 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#Config">Config</a>;
-<a name="l00326"></a>00326 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetNetworkName_28_29"></a><!-- doxytag: member="Server::GetNetworkName" ref="GetNetworkName_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::GetNetworkName </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the network name, global to all linked servers.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00538">538</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#l00075">ServerConfig::Network</a>.<div class="fragment"><pre class="fragment"><a name="l00539"></a>00539 {
-<a name="l00540"></a>00540 <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="l00541"></a>00541 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetServerDescription_28_29"></a><!-- doxytag: member="Server::GetServerDescription" ref="GetServerDescription_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::GetServerDescription </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the server description string of the local server.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00543">543</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#l00080">ServerConfig::ServerDesc</a>.<div class="fragment"><pre class="fragment"><a name="l00544"></a>00544 {
-<a name="l00545"></a>00545 <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="l00546"></a>00546 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetServerName_28_29"></a><!-- doxytag: member="Server::GetServerName" ref="GetServerName_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::GetServerName </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00533">533</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#l00069">ServerConfig::ServerName</a>.<div class="fragment"><pre class="fragment"><a name="l00534"></a>00534 {
-<a name="l00535"></a>00535 <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="l00536"></a>00536 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetUsers_28chanrec_20_2Achan_29"></a><!-- doxytag: member="Server::GetUsers" ref="GetUsers_28chanrec_20_2Achan_29" args="(chanrec *chan)" --><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="modules_8h.html#chanuserlist">chanuserlist</a> Server::GetUsers </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>chan</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00373">373</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="channels_8cpp-source.html#l00186">chanrec::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00374"></a>00374 {
-<a name="l00375"></a>00375 <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> userl;
-<a name="l00376"></a>00376 userl.clear();
-<a name="l00377"></a>00377 std::vector&lt;char*&gt; *list = chan-&gt;<a class="code" href="classchanrec.html#GetUsers_28_29">GetUsers</a>();
-<a name="l00378"></a>00378 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator i = list-&gt;begin(); i != list-&gt;end(); i++)
-<a name="l00379"></a>00379 {
-<a name="l00380"></a>00380 <span class="keywordtype">char</span>* o = *i;
-<a name="l00381"></a>00381 userl.push_back((<a class="code" href="classuserrec.html">userrec</a>*)o);
-<a name="l00382"></a>00382 }
-<a name="l00383"></a>00383 <span class="keywordflow">return</span> userl;
-<a name="l00384"></a>00384 }
-</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#l00328">328</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="classInspIRCd.html#GetVersionString_28_29">InspIRCd::GetVersionString()</a>.<div class="fragment"><pre class="fragment"><a name="l00329"></a>00329 {
-<a name="l00330"></a>00330 <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="l00331"></a>00331 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="IsNick_28std_3A_3Astring_20nick_29"></a><!-- doxytag: member="Server::IsNick" ref="IsNick_28std_3A_3Astring_20nick_29" args="(std::string nick)" --><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">bool Server::IsNick </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>nick</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00503">503</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="l00504"></a>00504 {
-<a name="l00505"></a>00505 <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="l00506"></a>00506 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29"></a><!-- doxytag: member="Server::IsOnChannel" ref="IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29" args="(userrec *User, chanrec *Chan)" --><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">bool Server::IsOnChannel </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Chan</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00528">528</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="l00529"></a>00529 {
-<a name="l00530"></a>00530 <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="l00531"></a>00531 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="IsUlined_28std_3A_3Astring_20server_29"></a><!-- doxytag: member="Server::IsUlined" ref="IsUlined_28std_3A_3Astring_20server_29" args="(std::string server)" --><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">bool Server::IsUlined </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>server</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00395">395</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="l00396"></a>00396 {
-<a name="l00397"></a>00397 <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="l00398"></a>00398 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="IsValidMask_28std_3A_3Astring_20mask_29"></a><!-- doxytag: member="Server::IsValidMask" ref="IsValidMask_28std_3A_3Astring_20mask_29" args="(std::string mask)" --><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">bool Server::IsValidMask </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>mask</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00694">694</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00695"></a>00695 {
-<a name="l00696"></a>00696 <span class="keyword">const</span> <span class="keywordtype">char</span>* dest = mask.c_str();
-<a name="l00697"></a>00697 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'!'</span>)==0)
-<a name="l00698"></a>00698 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00699"></a>00699 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'@'</span>)==0)
-<a name="l00700"></a>00700 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00701"></a>00701 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00702"></a>00702 <span class="keywordflow">if</span> (dest[i] &lt; 32)
-<a name="l00703"></a>00703 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<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] &gt; 126)
-<a name="l00706"></a>00706 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00707"></a>00707 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c = 0;
-<a name="l00708"></a>00708 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00709"></a>00709 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'!'</span>)
-<a name="l00710"></a>00710 c++;
-<a name="l00711"></a>00711 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00712"></a>00712 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00713"></a>00713 c = 0;
-<a name="l00714"></a>00714 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00715"></a>00715 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'@'</span>)
-<a name="l00716"></a>00716 c++;
-<a name="l00717"></a>00717 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00718"></a>00718 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00719"></a>00719
-<a name="l00720"></a>00720 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00721"></a>00721 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="Server::IsValidModuleCommand" ref="IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29" args="(std::string commandname, int pcnt, userrec *user)" --><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">bool Server::IsValidModuleCommand </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>commandname</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>pcnt</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</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="modules_8cpp-source.html#l00405">405</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="inspircd_8h-source.html#l00110">InspIRCd::Parser</a>.<div class="fragment"><pre class="fragment"><a name="l00406"></a>00406 {
-<a name="l00407"></a>00407 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;IsValidCommand(commandname, pcnt, user);
-<a name="l00408"></a>00408 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29"></a><!-- doxytag: member="Server::JoinUserToChannel" ref="JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29" args="(userrec *user, std::string cname, std::string key)" --><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="classchanrec.html">chanrec</a> * Server::JoinUserToChannel </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>cname</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>key</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00363">363</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00364"></a>00364 {
-<a name="l00365"></a>00365 <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="l00366"></a>00366 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Log_28int_20level_2C_20std_3A_3Astring_20s_29"></a><!-- doxytag: member="Server::Log" ref="Log_28int_20level_2C_20std_3A_3Astring_20s_29" args="(int level, std::string s)" --><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 Server::Log </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>level</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>s</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00410">410</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="l00411"></a>00411 {
-<a name="l00412"></a>00412 <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="l00413"></a>00413 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29"></a><!-- doxytag: member="Server::MatchText" ref="MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29" args="(std::string sliteral, std::string spattern)" --><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">bool Server::MatchText </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>sliteral</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>spattern</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00350">350</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00351"></a>00351 {
-<a name="l00352"></a>00352 <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
-<a name="l00353"></a>00353 strlcpy(literal,sliteral.c_str(),MAXBUF);
-<a name="l00354"></a>00354 strlcpy(pattern,spattern.c_str(),MAXBUF);
-<a name="l00355"></a>00355 <span class="keywordflow">return</span> match(literal,pattern);
-<a name="l00356"></a>00356 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29"></a><!-- doxytag: member="Server::PartUserFromChannel" ref="PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29" args="(userrec *user, std::string cname, 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"><a class="el" href="classchanrec.html">chanrec</a> * Server::PartUserFromChannel </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>cname</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"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00368">368</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="l00369"></a>00369 {
-<a name="l00370"></a>00370 <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="l00371"></a>00371 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29"></a><!-- doxytag: member="Server::PseudoToUser" ref="PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29" args="(userrec *alive, userrec *zombie, std::string message)" --><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">bool Server::PseudoToUser </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>alive</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>zombie</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>message</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This user takes one user, and switches their file descriptor with another user, so that one user "becomes" the other.
-<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#l00609">609</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00153">userrec::chans</a>, <a class="el" href="users_8cpp-source.html#l00253">userrec::ClearBuffer()</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00102">FD_MAGIC_NUMBER</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="channels_8h-source.html#l00108">chanrec::name</a>, <a class="el" href="users_8h-source.html#l00128">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="l00610"></a>00610 {
-<a name="l00611"></a>00611 zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a> = alive-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
-<a name="l00612"></a>00612 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="l00613"></a>00613 alive-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00614"></a>00614 <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="l00615"></a>00615 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(alive,message.c_str());
-<a name="l00616"></a>00616 <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="l00617"></a>00617 <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="l00618"></a>00618 {
-<a name="l00619"></a>00619 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel != NULL)
-<a name="l00620"></a>00620 {
-<a name="l00621"></a>00621 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name)
-<a name="l00622"></a>00622 {
-<a name="l00623"></a>00623 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel;
-<a name="l00624"></a>00624 <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="l00625"></a>00625 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
-<a name="l00626"></a>00626 {
-<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">"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="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">"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="l00629"></a>00629 }
-<a name="l00630"></a>00630 userlist(zombie,Ptr);
-<a name="l00631"></a>00631 <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="l00632"></a>00632
-<a name="l00633"></a>00633 }
-<a name="l00634"></a>00634 }
-<a name="l00635"></a>00635 }
-<a name="l00636"></a>00636 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00637"></a>00637 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29"></a><!-- doxytag: member="Server::QuitUser" ref="QuitUser_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 Server::QuitUser </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"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Forces a user to quit with the specified reason.
-<p>
-To the user, it will appear as if they typed /QUIT themselves, except for the fact that this function may bypass the quit prefix specified in the config file.<p>
-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#l00390">390</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>.<div class="fragment"><pre class="fragment"><a name="l00391"></a>00391 {
-<a name="l00392"></a>00392 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,reason.c_str());
-<a name="l00393"></a>00393 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="RehashServer_28_29"></a><!-- doxytag: member="Server::RehashServer" ref="RehashServer_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">void Server::RehashServer </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><code> [virtual]</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="modules_8cpp-source.html#l00317">317</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">ServerConfig::Read()</a>, and <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="l00318"></a>00318 {
-<a name="l00319"></a>00319 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Rehashing config file"</span>);
-<a name="l00320"></a>00320 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read</a>(<span class="keyword">false</span>,NULL);
-<a name="l00321"></a>00321 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Send_28int_20Socket_2C_20std_3A_3Astring_20s_29"></a><!-- doxytag: member="Server::Send" ref="Send_28int_20Socket_2C_20std_3A_3Astring_20s_29" args="(int Socket, std::string s)" --><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 Server::Send </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>Socket</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>s</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00425">425</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="l00426"></a>00426 {
-<a name="l00427"></a>00427 <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="l00428"></a>00428 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29"></a><!-- doxytag: member="Server::SendChannel" ref="SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29" args="(userrec *User, chanrec *Channel, std::string s, bool IncludeSender)" --><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 Server::SendChannel </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Channel</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>s</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>IncludeSender</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00459">459</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="l00460"></a>00460 {
-<a name="l00461"></a>00461 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00462"></a>00462 {
-<a name="l00463"></a>00463 <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="l00464"></a>00464 }
-<a name="l00465"></a>00465 <span class="keywordflow">else</span>
-<a name="l00466"></a>00466 {
-<a name="l00467"></a>00467 <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="l00468"></a>00468 }
-<a name="l00469"></a>00469 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29"></a><!-- doxytag: member="Server::SendChannelServerNotice" ref="SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29" args="(std::string ServName, chanrec *Channel, std::string text)" --><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 Server::SendChannelServerNotice </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>ServName</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Channel</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>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00454">454</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00455"></a>00455 {
-<a name="l00456"></a>00456 WriteChannelWithServ((<span class="keywordtype">char</span>*)ServName.c_str(), Channel, <span class="stringliteral">"%s"</span>, text.c_str());
-<a name="l00457"></a>00457 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29"></a><!-- doxytag: member="Server::SendCommon" ref="SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29" args="(userrec *User, std::string text, bool IncludeSender)" --><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 Server::SendCommon </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>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>IncludeSender</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00476">476</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="l00477"></a>00477 {
-<a name="l00478"></a>00478 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00479"></a>00479 {
-<a name="l00480"></a>00480 <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="l00481"></a>00481 }
-<a name="l00482"></a>00482 <span class="keywordflow">else</span>
-<a name="l00483"></a>00483 {
-<a name="l00484"></a>00484 <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="l00485"></a>00485 }
-<a name="l00486"></a>00486 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29"></a><!-- doxytag: member="Server::SendFrom" ref="SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29" args="(int Socket, userrec *User, std::string s)" --><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 Server::SendFrom </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>Socket</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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>s</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00435">435</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="l00436"></a>00436 {
-<a name="l00437"></a>00437 <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="l00438"></a>00438 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="Server::SendMode" ref="SendMode_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>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top">void Server::SendMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char **&nbsp;</td>
- <td class="mdname" nowrap> <em>parameters</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>pcnt</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sends a servermode.
-<p>
-you must format the parameters array with the target, modes and parameters for those modes.<p>
-For example:<p>
-char *modes[3];<p>
-modes[0] = ChannelName;<p>
-modes[1] = "+o";<p>
-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#l00420">420</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="inspircd_8h-source.html#l00109">InspIRCd::ModeGrok</a>, and <a class="el" href="classModeParser.html#ServerMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">ModeParser::ServerMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#ModeGrok">ModeGrok</a>-&gt;<a class="code" href="classModeParser.html#ServerMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">ServerMode</a>(parameters,pcnt,user);
-<a name="l00423"></a>00423 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendOpers_28std_3A_3Astring_20s_29"></a><!-- doxytag: member="Server::SendOpers" ref="SendOpers_28std_3A_3Astring_20s_29" args="(std::string s)" --><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 Server::SendOpers </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00345">345</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="l00346"></a>00346 {
-<a name="l00347"></a>00347 <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="l00348"></a>00348 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29"></a><!-- doxytag: member="Server::SendServ" ref="SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29" args="(int Socket, std::string s)" --><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 Server::SendServ </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>Socket</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>s</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00430">430</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="l00431"></a>00431 {
-<a name="l00432"></a>00432 <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="l00433"></a>00433 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29"></a><!-- doxytag: member="Server::SendTo" ref="SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29" args="(userrec *Source, userrec *Dest, std::string s)" --><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 Server::SendTo </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>Source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Dest</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>s</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sends text from a user to another user.
-<p>
-This method writes a line of text to a user, with a user's nick/ident /host combination prepended, as used in PRIVMSG etc commands (see RFC 1459) If you specify NULL as the source, then the data will originate from the local server, e.g. instead of:<p>
-:user!ident TEXT<p>
-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#l00440">440</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="l00441"></a>00441 {
-<a name="l00442"></a>00442 <span class="keywordflow">if</span> (!Source)
-<a name="l00443"></a>00443 {
-<a name="l00444"></a>00444 <span class="comment">// if source is NULL, then the message originates from the local server</span>
-<a name="l00445"></a>00445 <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="l00446"></a>00446 }
-<a name="l00447"></a>00447 <span class="keywordflow">else</span>
-<a name="l00448"></a>00448 {
-<a name="l00449"></a>00449 <span class="comment">// otherwise it comes from the user specified</span>
-<a name="l00450"></a>00450 <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="l00451"></a>00451 }
-<a name="l00452"></a>00452 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29"></a><!-- doxytag: member="Server::SendToModeMask" ref="SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29" args="(std::string modes, int flags, std::string text)" --><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 Server::SendToModeMask </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>modes</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>flags</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>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Sends to all users matching a mode mask You must specify one or more usermodes as the first parameter.
-<p>
-These can be RFC specified modes such as +i, or module provided modes, including ones provided by your own module. In the second parameter you must place a flag value which indicates wether the modes you have given will be logically ANDed or OR'ed. You may use one of either WM_AND or WM_OR. for example, if you were to use:<p>
-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#l00358">358</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00359"></a>00359 {
-<a name="l00360"></a>00360 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00361"></a>00361 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29"></a><!-- doxytag: member="Server::SendWallops" ref="SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29" args="(userrec *User, std::string text)" --><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 Server::SendWallops </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>text</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-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#l00488">488</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="l00489"></a>00489 {
-<a name="l00490"></a>00490 <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="l00491"></a>00491 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29"></a><!-- doxytag: member="Server::UserToPseudo" ref="UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29" args="(userrec *user, std::string message)" --><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">bool Server::UserToPseudo </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>message</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Remove a user's connection to the irc server, but leave their client in existence in the user hash.
-<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#l00597">597</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00253">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#l00102">FD_MAGIC_NUMBER</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</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="l00598"></a>00598 {
-<a name="l00599"></a>00599 <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="l00600"></a>00600 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="l00601"></a>00601 user-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00602"></a>00602 <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="l00603"></a>00603 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(old_fd);
-<a name="l00604"></a>00604 shutdown(old_fd,2);
-<a name="l00605"></a>00605 close(old_fd);
-<a name="l00606"></a>00606 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00607"></a>00607 }
-</pre></div>
-<p>
- </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 Mon Dec 19 18:05:23 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/classServerConfig-members.html b/docs/module-doc/classServerConfig-members.html
deleted file mode 100644
index dd178f74d..000000000
--- a/docs/module-doc/classServerConfig-members.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!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>ServerConfig Member List</h1>This is the complete list of members for <a class="el" href="classServerConfig.html">ServerConfig</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29">AddIOHook</a>(int port, Module *iomod)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">addrs</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#AdminEmail_5BMAXBUF_5D">AdminEmail</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#AdminName_5BMAXBUF_5D">AdminName</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#AdminNick_5BMAXBUF_5D">AdminNick</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#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="classServerConfig.html#AllowHalfop">AllowHalfop</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#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="classServerConfig.html#Classes">Classes</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#ClearStack_28_29">ClearStack</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#config_5Ff">config_f</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#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29">ConfProcess</a>(char *buffer, long linenumber, std::stringstream *errorstream, bool &amp;error, std::string filename)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(char *tag, char *var, int index, char *result, std::stringstream *config)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValueEnum</a>(char *tag, std::stringstream *config)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#debugging">debugging</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#DelIOHook_28int_20port_29">DelIOHook</a>(int port)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#DieDelay">DieDelay</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#diepass_5BMAXBUF_5D">diepass</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#DieValue_5BMAXBUF_5D">DieValue</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#DisabledCommands_5BMAXBUF_5D">DisabledCommands</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#dns_5Ftimeout">dns_timeout</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#DNSServer_5BMAXBUF_5D">DNSServer</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#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">EnumConf</a>(std::stringstream *config_f, const char *tag)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a>(std::stringstream *config, const char *tag, int index)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29">fgets_safe</a>(char *buffer, size_t maxsize, FILE *&amp;file)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(int port)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#include_5Fstack">include_stack</a></td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#IOHookModule">IOHookModule</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#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a>(const char *filename, std::stringstream *target, std::stringstream *errorstream)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#log_5Ffile">log_file</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#LogLevel">LogLevel</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#MaxConn">MaxConn</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#MaxWhoResults">MaxWhoResults</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#ModPath_5B_31_30_32_34_5D">ModPath</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#module_5Fnames">module_names</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#motd_5BMAXBUF_5D">motd</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#MOTD">MOTD</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#MyExecutable_5B_31_30_32_34_5D">MyExecutable</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#NetBufferSize">NetBufferSize</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#Network_5BMAXBUF_5D">Network</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#nofork">nofork</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#PID_5B_31_30_32_34_5D">PID</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#ports_5B_32_35_35_5D">ports</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#PrefixQuit_5BMAXBUF_5D">PrefixQuit</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#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read</a>(bool bail, userrec *user)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><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">ReadConf</a>(std::stringstream *config_f, const char *tag, const char *var, int index, char *result)</td><td><a class="el" href="classServerConfig.html">ServerConfig</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classServerConfig.html#restartpass_5BMAXBUF_5D">restartpass</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#RULES">RULES</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#rules_5BMAXBUF_5D">rules</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#ServerConfig_28_29">ServerConfig</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#ServerDesc_5BMAXBUF_5D">ServerDesc</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#ServerName_5BMAXBUF_5D">ServerName</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#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 Mon Dec 19 18:05:23 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/classServerConfig.html b/docs/module-doc/classServerConfig.html
deleted file mode 100644
index 8573a41c1..000000000
--- a/docs/module-doc/classServerConfig.html
+++ /dev/null
@@ -1,1811 +0,0 @@
-<!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: ServerConfig 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>ServerConfig Class Reference</h1><!-- doxytag: class="ServerConfig" --><!-- doxytag: inherits="classbase" -->This class holds the bulk of the runtime configuration for the ircd.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>&gt;</code>
-<p>
-Inheritance diagram for ServerConfig:<p><center><img src="classServerConfig__inherit__graph.gif" border="0" usemap="#ServerConfig__inherit__map" alt="Inheritance graph"></center>
-<map name="ServerConfig__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="18,7,98,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ServerConfig:<p><center><img src="classServerConfig__coll__graph.gif" border="0" usemap="#ServerConfig__coll__map" alt="Collaboration graph"></center>
-<map name="ServerConfig__coll__map">
-<area href="classclassbase.html" shape="rect" coords="40,11,120,37" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classServerConfig-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="classServerConfig.html#ServerConfig_28_29">ServerConfig</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ClearStack_28_29">ClearStack</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clears the include stack in preperation for a <a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read()</a> call. <a href="#ClearStack_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="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read</a> (bool bail, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read the entire configuration into memory and initialize this class. <a href="#Read_28bool_20bail_2C_20userrec_20_2Auser_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29">LoadConf</a> (const char *filename, std::stringstream *target, std::stringstream *errorstream)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a> (char *tag, char *var, int index, char *result, std::stringstream *config)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><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">ReadConf</a> (std::stringstream *<a class="el" href="classServerConfig.html#config_5Ff">config_f</a>, const char *tag, const char *var, int index, char *result)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValueEnum</a> (char *tag, std::stringstream *config)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">EnumConf</a> (std::stringstream *<a class="el" href="classServerConfig.html#config_5Ff">config_f</a>, const char *tag)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a> (std::stringstream *config, const char *tag, int index)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classModule.html">Module</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a> (int port)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29">AddIOHook</a> (int port, <a class="el" href="classModule.html">Module</a> *iomod)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DelIOHook_28int_20port_29">DelIOHook</a> (int port)</td></tr>
-
-<tr><td colspan="2"><br><h2>Public 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="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the server name of the local server as defined by the administrator. <a href="#ServerName_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a> [MAXBUF]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the description of the local server as defined by the administrator. <a href="#ServerDesc_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AdminName_5BMAXBUF_5D">AdminName</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the admin's name, for output in the /ADMIN command. <a href="#AdminName_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">AdminEmail</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the email address of the admin, for output in the /ADMIN command. <a href="#AdminEmail_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">AdminNick</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds the admin's nickname, for output in the /ADMIN command. <a href="#AdminNick_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#diepass_5BMAXBUF_5D">diepass</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The admin-configured /DIE password. <a href="#diepass_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#restartpass_5BMAXBUF_5D">restartpass</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The admin-configured /RESTART password. <a href="#restartpass_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#motd_5BMAXBUF_5D">motd</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The pathname and filename of the message of the day file, as defined by the administrator. <a href="#motd_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#rules_5BMAXBUF_5D">rules</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The pathname and filename of the rules file, as defined by the administrator. <a href="#rules_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#PrefixQuit_5BMAXBUF_5D">PrefixQuit</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The quit prefix in use, or an empty string. <a href="#PrefixQuit_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DieValue_5BMAXBUF_5D">DieValue</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last string found within a &lt;die&gt; tag, or an empty string. <a href="#DieValue_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DNSServer_5BMAXBUF_5D">DNSServer</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="classDNS.html">DNS</a> server to use for <a class="el" href="classDNS.html">DNS</a> queries. <a href="#DNSServer_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#DisabledCommands_5BMAXBUF_5D">DisabledCommands</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This variable contains a space-seperated list of commands which are disabled by the administrator of the server for non-opers. <a href="#DisabledCommands_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#ModPath_5B_31_30_32_34_5D">ModPath</a> [1024]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The full path to the modules directory. <a href="#ModPath_5B_31_30_32_34_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#MyExecutable_5B_31_30_32_34_5D">MyExecutable</a> [1024]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The full pathname to the executable, as given in argv[0] when the program starts. <a href="#MyExecutable_5B_31_30_32_34_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#log_5Ffile">log_file</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The file handle of the logfile. <a href="#log_5Ffile"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#nofork">nofork</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If this value is true, the owner of the server specified -nofork on the command line, causing the daemon to stay in the foreground. <a href="#nofork"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#unlimitcore">unlimitcore</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If this value is true, the owner of the server has chosen to unlimit the coredump size to as large a value as his account settings will allow. <a href="#unlimitcore"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#AllowHalfop">AllowHalfop</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If this value is true, halfops have been enabled in the configuration file. <a href="#AllowHalfop"></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="classServerConfig.html#dns_5Ftimeout">dns_timeout</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of seconds the <a class="el" href="classDNS.html">DNS</a> subsystem will wait before timing out any request. <a href="#dns_5Ftimeout"></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="classServerConfig.html#NetBufferSize">NetBufferSize</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The size of the read() buffer in the user handling code, used to read data into a user's recvQ. <a href="#NetBufferSize"></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="classServerConfig.html#MaxConn">MaxConn</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The value to be used for listen() backlogs as default. <a href="#MaxConn"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#SoftLimit">SoftLimit</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The soft limit value assigned to the irc server. <a href="#SoftLimit"></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="classServerConfig.html#MaxWhoResults">MaxWhoResults</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The maximum number of /WHO results allowed in any single /WHO command. <a href="#MaxWhoResults"></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="classServerConfig.html#debugging">debugging</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if the DEBUG loglevel is selected. <a href="#debugging"></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="classServerConfig.html#LogLevel">LogLevel</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The loglevel in use by the IRC server. <a href="#LogLevel"></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="classServerConfig.html#DieDelay">DieDelay</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How many seconds to wait before exiting the program when /DIE is correctly issued. <a href="#DieDelay"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">addrs</a> [MAXBUF][255]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of IP addresses the server is listening on. <a href="#addrs_5BMAXBUF_5D_5B_32_35_35_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#MOTD">MOTD</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The MOTD file, cached in a file_cache type. <a href="#MOTD"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#RULES">RULES</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The RULES file, cached in a file_cache type. <a href="#RULES"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#PID_5B_31_30_32_34_5D">PID</a> [1024]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The full pathname and filename of the PID file as defined in the configuration. <a href="#PID_5B_31_30_32_34_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::stringstream&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#config_5Ff">config_f</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The parsed configuration file as a stringstream. <a href="#config_5Ff"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="users_8h.html#ClassVector">ClassVector</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#Classes">Classes</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The connect classes in use by the IRC server. <a href="#Classes"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="namespaceirc.html#string">std::string</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#module_5Fnames">module_names</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of module names (names only, no paths) which are currently loaded by the server. <a href="#module_5Fnames"></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="classServerConfig.html#ports_5B_32_35_35_5D">ports</a> [255]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of ports which the server is listening on. <a href="#ports_5B_32_35_35_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::map&lt; int, <a class="el" href="classModule.html">Module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#IOHookModule">IOHookModule</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of ports claimed by IO Modules. <a href="#IOHookModule"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29">fgets_safe</a> (char *buffer, size_t maxsize, FILE *&amp;file)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by the config file subsystem to safely read a C-style string without dependency upon any certain style of linefeed, e.g. <a href="#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_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="classServerConfig.html#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29">ConfProcess</a> (char *buffer, long linenumber, std::stringstream *errorstream, bool &amp;error, <a class="el" href="namespaceirc.html#string">std::string</a> filename)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This private method processes one line of configutation, appending errors to errorstream and setting error if an error has occured. <a href="#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_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="namespaceirc.html#string">std::string</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classServerConfig.html#include_5Fstack">include_stack</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This variable holds the names of all files included from the main one. <a href="#include_5Fstack"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-This class holds the bulk of the runtime configuration for the ircd.
-<p>
-It allows for reading new config values, accessing configuration files, and storage of the configuration data needed to run the ircd, such as the servername, connect classes, /ADMIN data, MOTDs and filenames etc.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00040">40</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="ServerConfig_28_29"></a><!-- doxytag: member="ServerConfig::ServerConfig" ref="ServerConfig_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">ServerConfig::ServerConfig </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>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29"></a><!-- doxytag: member="ServerConfig::AddIOHook" ref="AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29" args="(int port, Module *iomod)" --><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">bool ServerConfig::AddIOHook </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>port</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classModule.html">Module</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>iomod</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ClearStack_28_29"></a><!-- doxytag: member="ServerConfig::ClearStack" ref="ClearStack_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">void ServerConfig::ClearStack </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>
-Clears the include stack in preperation for a <a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read()</a> call.
-<p>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00735">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>
-<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> ServerConfig::ConfProcess </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>long&nbsp;</td>
- <td class="mdname" nowrap> <em>linenumber</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>errorstream</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>error</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>filename</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [private]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This private method processes one line of configutation, appending errors to errorstream and setting error if an error has occured.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29"></a><!-- doxytag: member="ServerConfig::ConfValue" ref="ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29" args="(char *tag, char *var, int index, char *result, std::stringstream *config)" --><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 ServerConfig::ConfValue </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>var</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>result</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>config</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>
-
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00165">userrec::HasPermission()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29"></a><!-- doxytag: member="ServerConfig::ConfValueEnum" ref="ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29" args="(char *tag, std::stringstream *config)" --><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 ServerConfig::ConfValueEnum </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>config</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelIOHook_28int_20port_29"></a><!-- doxytag: member="ServerConfig::DelIOHook" ref="DelIOHook_28int_20port_29" args="(int port)" --><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">bool ServerConfig::DelIOHook </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>port</em> </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="EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29"></a><!-- doxytag: member="ServerConfig::EnumConf" ref="EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29" args="(std::stringstream *config_f, const char *tag)" --><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 ServerConfig::EnumConf </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>config_f</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00867">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>
-<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 ServerConfig::EnumValues </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>config</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>index</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00872">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>
-<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 ServerConfig::fgets_safe </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t&nbsp;</td>
- <td class="mdname" nowrap> <em>maxsize</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>FILE *&amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>file</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [private]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used by the config file subsystem to safely read a C-style string without dependency upon any certain style of linefeed, e.g.
-<p>
-it can read both windows and UNIX style linefeeds transparently. </td>
- </tr>
-</table>
-<a class="anchor" name="GetIOHook_28int_20port_29"></a><!-- doxytag: member="ServerConfig::GetIOHook" ref="GetIOHook_28int_20port_29" args="(int port)" --><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="classModule.html">Module</a>* ServerConfig::GetIOHook </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>port</em> </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="users_8cpp-source.html#l00349">kill_link()</a>, and <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29"></a><!-- doxytag: member="ServerConfig::LoadConf" ref="LoadConf_28const_20char_20_2Afilename_2C_20std_3A_3Astringstream_20_2Atarget_2C_20std_3A_3Astringstream_20_2Aerrorstream_29" args="(const char *filename, std::stringstream *target, std::stringstream *errorstream)" --><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">bool ServerConfig::LoadConf </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>filename</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>target</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>errorstream</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00735">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>
-<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 ServerConfig::Read </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">bool&nbsp;</td>
- <td class="mdname" nowrap> <em>bail</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</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>
-Read the entire configuration into memory and initialize this class.
-<p>
-All other methods should be used only by the core.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00317">Server::RehashServer()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="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"></a><!-- doxytag: member="ServerConfig::ReadConf" ref="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" args="(std::stringstream *config_f, const char *tag, const char *var, int index, char *result)" --><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 ServerConfig::ReadConf </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">std::stringstream *&nbsp;</td>
- <td class="mdname" nowrap> <em>config_f</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>tag</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>var</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>index</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>result</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00781">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00798">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00765">ConfigReader::ReadValue()</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="addrs_5BMAXBUF_5D_5B_32_35_35_5D"></a><!-- doxytag: member="ServerConfig::addrs" ref="addrs_5BMAXBUF_5D_5B_32_35_35_5D" args="[MAXBUF][255]" --><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="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">ServerConfig::addrs</a>[MAXBUF][255] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-A list of IP addresses the server is listening on.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00217">217</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AdminEmail_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::AdminEmail" ref="AdminEmail_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="classServerConfig.html#AdminEmail_5BMAXBUF_5D">ServerConfig::AdminEmail</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds the email address of the admin, for output in the /ADMIN command.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00090">90</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#l00548">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>
-<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="classServerConfig.html#AdminName_5BMAXBUF_5D">ServerConfig::AdminName</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds the admin's name, for output in the /ADMIN command.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00085">85</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#l00548">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>
-<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="classServerConfig.html#AdminNick_5BMAXBUF_5D">ServerConfig::AdminNick</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds the admin's nickname, for output in the /ADMIN command.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00095">95</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#l00548">Server::GetAdmin()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AllowHalfop"></a><!-- doxytag: member="ServerConfig::AllowHalfop" ref="AllowHalfop" 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">bool <a class="el" href="classServerConfig.html#AllowHalfop">ServerConfig::AllowHalfop</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-If this value is true, halfops have been enabled in the configuration file.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00172">172</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Classes"></a><!-- doxytag: member="ServerConfig::Classes" ref="Classes" 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="users_8h.html#ClassVector">ClassVector</a> <a class="el" href="classServerConfig.html#Classes">ServerConfig::Classes</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The connect classes in use by the IRC server.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00243">243</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="config_5Ff"></a><!-- doxytag: member="ServerConfig::config_f" ref="config_5Ff" 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::stringstream <a class="el" href="classServerConfig.html#config_5Ff">ServerConfig::config_f</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The parsed configuration file as a stringstream.
-<p>
-You should pass this to any configuration methods of this class, and not access it directly. It is recommended that modules use <a class="el" href="classConfigReader.html">ConfigReader</a> instead which provides a simpler abstraction of configuration files.
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00239">239</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00165">userrec::HasPermission()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="debugging"></a><!-- doxytag: member="ServerConfig::debugging" ref="debugging" 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 <a class="el" href="classServerConfig.html#debugging">ServerConfig::debugging</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-True if the DEBUG loglevel is selected.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00203">203</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="DieDelay"></a><!-- doxytag: member="ServerConfig::DieDelay" ref="DieDelay" 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 <a class="el" href="classServerConfig.html#DieDelay">ServerConfig::DieDelay</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-How many seconds to wait before exiting the program when /DIE is correctly issued.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00212">212</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="diepass_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::diepass" ref="diepass_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="classServerConfig.html#diepass_5BMAXBUF_5D">ServerConfig::diepass</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The admin-configured /DIE password.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00099">99</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="DieValue_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::DieValue" ref="DieValue_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="classServerConfig.html#DieValue_5BMAXBUF_5D">ServerConfig::DieValue</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The last string found within a &lt;die&gt; tag, or an empty string.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00122">122</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="DisabledCommands_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::DisabledCommands" ref="DisabledCommands_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="classServerConfig.html#DisabledCommands_5BMAXBUF_5D">ServerConfig::DisabledCommands</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This variable contains a space-seperated list of commands which are disabled by the administrator of the server for non-opers.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00132">132</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="dns_5Ftimeout"></a><!-- doxytag: member="ServerConfig::dns_timeout" ref="dns_5Ftimeout" 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 <a class="el" href="classServerConfig.html#dns_5Ftimeout">ServerConfig::dns_timeout</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The number of seconds the <a class="el" href="classDNS.html">DNS</a> subsystem will wait before timing out any request.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00177">177</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="DNSServer_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::DNSServer" ref="DNSServer_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="classServerConfig.html#DNSServer_5BMAXBUF_5D">ServerConfig::DNSServer</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The <a class="el" href="classDNS.html">DNS</a> server to use for <a class="el" href="classDNS.html">DNS</a> queries.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00126">126</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="include_5Fstack"></a><!-- doxytag: member="ServerConfig::include_stack" ref="include_5Fstack" 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="namespaceirc.html#string">std::string</a>&gt; <a class="el" href="classServerConfig.html#include_5Fstack">ServerConfig::include_stack</a><code> [private]</code> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This variable holds the names of all files included from the main one.
-<p>
-This is used to make sure that no files are recursively included.
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00048">48</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="IOHookModule"></a><!-- doxytag: member="ServerConfig::IOHookModule" ref="IOHookModule" 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;int,<a class="el" href="classModule.html">Module</a>*&gt; <a class="el" href="classServerConfig.html#IOHookModule">ServerConfig::IOHookModule</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-A list of ports claimed by IO Modules.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00256">256</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="log_5Ffile"></a><!-- doxytag: member="ServerConfig::log_file" ref="log_5Ffile" 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">FILE* <a class="el" href="classServerConfig.html#log_5Ffile">ServerConfig::log_file</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The file handle of the logfile.
-<p>
-If this value is NULL, the log file is not open, probably due to a permissions error on startup (this should not happen in normal operation!).
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00152">152</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="LogLevel"></a><!-- doxytag: member="ServerConfig::LogLevel" ref="LogLevel" 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 <a class="el" href="classServerConfig.html#LogLevel">ServerConfig::LogLevel</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The loglevel in use by the IRC server.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00207">207</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MaxConn"></a><!-- doxytag: member="ServerConfig::MaxConn" ref="MaxConn" 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 <a class="el" href="classServerConfig.html#MaxConn">ServerConfig::MaxConn</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The value to be used for listen() backlogs as default.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00188">188</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MaxWhoResults"></a><!-- doxytag: member="ServerConfig::MaxWhoResults" ref="MaxWhoResults" 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 <a class="el" href="classServerConfig.html#MaxWhoResults">ServerConfig::MaxWhoResults</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The maximum number of /WHO results allowed in any single /WHO command.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00199">199</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ModPath_5B_31_30_32_34_5D"></a><!-- doxytag: member="ServerConfig::ModPath" ref="ModPath_5B_31_30_32_34_5D" args="[1024]" --><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="classServerConfig.html#ModPath_5B_31_30_32_34_5D">ServerConfig::ModPath</a>[1024] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The full path to the modules directory.
-<p>
-This is either set at compile time, or overridden in the configuration file via the &lt;options&gt; tag.
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00139">139</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="module_5Fnames"></a><!-- doxytag: member="ServerConfig::module_names" ref="module_5Fnames" 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="namespaceirc.html#string">std::string</a>&gt; <a class="el" href="classServerConfig.html#module_5Fnames">ServerConfig::module_names</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-A list of module names (names only, no paths) which are currently loaded by the server.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00248">248</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#l00723">Server::FindModule()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MOTD"></a><!-- doxytag: member="ServerConfig::MOTD" ref="MOTD" 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="typedefs_8h.html#file_5Fcache">file_cache</a> <a class="el" href="classServerConfig.html#MOTD">ServerConfig::MOTD</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The MOTD file, cached in a file_cache type.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00221">221</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="motd_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::motd" ref="motd_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="classServerConfig.html#motd_5BMAXBUF_5D">ServerConfig::motd</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The pathname and filename of the message of the day file, as defined by the administrator.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00108">108</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MyExecutable_5B_31_30_32_34_5D"></a><!-- doxytag: member="ServerConfig::MyExecutable" ref="MyExecutable_5B_31_30_32_34_5D" args="[1024]" --><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="classServerConfig.html#MyExecutable_5B_31_30_32_34_5D">ServerConfig::MyExecutable</a>[1024] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The full pathname to the executable, as given in argv[0] when the program starts.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00144">144</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="NetBufferSize"></a><!-- doxytag: member="ServerConfig::NetBufferSize" ref="NetBufferSize" 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 <a class="el" href="classServerConfig.html#NetBufferSize">ServerConfig::NetBufferSize</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The size of the read() buffer in the user handling code, used to read data into a user's recvQ.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00183">183</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Network_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::Network" ref="Network_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="classServerConfig.html#Network_5BMAXBUF_5D">ServerConfig::Network</a>[MAXBUF] </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__io_8h-source.html#l00075">75</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00538">Server::GetNetworkName()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="nofork"></a><!-- doxytag: member="ServerConfig::nofork" ref="nofork" 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">bool <a class="el" href="classServerConfig.html#nofork">ServerConfig::nofork</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-If this value is true, the owner of the server specified -nofork on the command line, causing the daemon to stay in the foreground.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00159">159</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="PID_5B_31_30_32_34_5D"></a><!-- doxytag: member="ServerConfig::PID" ref="PID_5B_31_30_32_34_5D" args="[1024]" --><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="classServerConfig.html#PID_5B_31_30_32_34_5D">ServerConfig::PID</a>[1024] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The full pathname and filename of the PID file as defined in the configuration.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00230">230</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ports_5B_32_35_35_5D"></a><!-- doxytag: member="ServerConfig::ports" ref="ports_5B_32_35_35_5D" args="[255]" --><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 <a class="el" href="classServerConfig.html#ports_5B_32_35_35_5D">ServerConfig::ports</a>[255] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-A list of ports which the server is listening on.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00252">252</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="PrefixQuit_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::PrefixQuit" ref="PrefixQuit_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="classServerConfig.html#PrefixQuit_5BMAXBUF_5D">ServerConfig::PrefixQuit</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The quit prefix in use, or an empty string.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00117">117</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="restartpass_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::restartpass" ref="restartpass_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="classServerConfig.html#restartpass_5BMAXBUF_5D">ServerConfig::restartpass</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The admin-configured /RESTART password.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00103">103</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="RULES"></a><!-- doxytag: member="ServerConfig::RULES" ref="RULES" 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="typedefs_8h.html#file_5Fcache">file_cache</a> <a class="el" href="classServerConfig.html#RULES">ServerConfig::RULES</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The RULES file, cached in a file_cache type.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00225">225</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="rules_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::rules" ref="rules_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="classServerConfig.html#rules_5BMAXBUF_5D">ServerConfig::rules</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The pathname and filename of the rules file, as defined by the administrator.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00113">113</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ServerDesc_5BMAXBUF_5D"></a><!-- doxytag: member="ServerConfig::ServerDesc" ref="ServerDesc_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="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerConfig::ServerDesc</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds the description of the local server as defined by the administrator.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00080">80</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#l00543">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>
-<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="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerConfig::ServerName</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds the server name of the local server as defined by the administrator.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00069">69</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="modules_8cpp-source.html#l00533">Server::GetServerName()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="SoftLimit"></a><!-- doxytag: member="ServerConfig::SoftLimit" ref="SoftLimit" 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">unsigned int <a class="el" href="classServerConfig.html#SoftLimit">ServerConfig::SoftLimit</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The soft limit value assigned to the irc server.
-<p>
-The IRC server will not allow more than this number of local users.
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00194">194</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="unlimitcore"></a><!-- doxytag: member="ServerConfig::unlimitcore" ref="unlimitcore" 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">bool <a class="el" href="classServerConfig.html#unlimitcore">ServerConfig::unlimitcore</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-If this value is true, the owner of the server has chosen to unlimit the coredump size to as large a value as his account settings will allow.
-<p>
-This is often used when debugging.
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00167">167</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:23 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/classServerConfig__coll__graph.gif b/docs/module-doc/classServerConfig__coll__graph.gif
deleted file mode 100644
index 96bfe068b..000000000
--- a/docs/module-doc/classServerConfig__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classServerConfig__coll__graph.map b/docs/module-doc/classServerConfig__coll__graph.map
deleted file mode 100644
index c18c2ef12..000000000
--- a/docs/module-doc/classServerConfig__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 40,11 120,37
diff --git a/docs/module-doc/classServerConfig__coll__graph.md5 b/docs/module-doc/classServerConfig__coll__graph.md5
deleted file mode 100644
index 19bbc1210..000000000
--- a/docs/module-doc/classServerConfig__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-6622bf16a5d6e3d1fa66d187c3430dae \ No newline at end of file
diff --git a/docs/module-doc/classServerConfig__inherit__graph.gif b/docs/module-doc/classServerConfig__inherit__graph.gif
deleted file mode 100644
index 4972f14c2..000000000
--- a/docs/module-doc/classServerConfig__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classServerConfig__inherit__graph.map b/docs/module-doc/classServerConfig__inherit__graph.map
deleted file mode 100644
index f176cb530..000000000
--- a/docs/module-doc/classServerConfig__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 18,7 98,34
diff --git a/docs/module-doc/classServerConfig__inherit__graph.md5 b/docs/module-doc/classServerConfig__inherit__graph.md5
deleted file mode 100644
index 6756d2a5d..000000000
--- a/docs/module-doc/classServerConfig__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-a3af96cfe8dd557f11a5c19346d12442 \ No newline at end of file
diff --git a/docs/module-doc/classServer__coll__graph.gif b/docs/module-doc/classServer__coll__graph.gif
deleted file mode 100644
index 82a02230d..000000000
--- a/docs/module-doc/classServer__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classServer__coll__graph.map b/docs/module-doc/classServer__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classServer__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classServer__coll__graph.md5 b/docs/module-doc/classServer__coll__graph.md5
deleted file mode 100644
index b3a85952f..000000000
--- a/docs/module-doc/classServer__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-d7b2c974d98c31619189da65cb01c6a4 \ No newline at end of file
diff --git a/docs/module-doc/classServer__inherit__graph.gif b/docs/module-doc/classServer__inherit__graph.gif
deleted file mode 100644
index f88c80980..000000000
--- a/docs/module-doc/classServer__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classServer__inherit__graph.map b/docs/module-doc/classServer__inherit__graph.map
deleted file mode 100644
index 8b1d85be3..000000000
--- a/docs/module-doc/classServer__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,7 87,34
diff --git a/docs/module-doc/classServer__inherit__graph.md5 b/docs/module-doc/classServer__inherit__graph.md5
deleted file mode 100644
index 76fb1d5ca..000000000
--- a/docs/module-doc/classServer__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-5ce04eb90ca9c0c01335daa7c092c0f0 \ No newline at end of file
diff --git a/docs/module-doc/classSocketEngine-members.html b/docs/module-doc/classSocketEngine-members.html
deleted file mode 100644
index cc509ee3b..000000000
--- a/docs/module-doc/classSocketEngine-members.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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>SocketEngine Member List</h1>This is the complete list of members for <a class="el" href="classSocketEngine.html">SocketEngine</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(int fd, bool readable, char type)</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(int fd)</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classSocketEngine.html#EngineHandle">EngineHandle</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#fds">fds</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#GetName_28_29">GetName</a>()</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classSocketEngine.html#GetType_28int_20fd_29">GetType</a>(int fd)</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">ke_list</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#SocketEngine_28_29">SocketEngine</a>()</td><td><a class="el" href="classSocketEngine.html">SocketEngine</a></td><td></td></tr>
- <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 Mon Dec 19 18:05:23 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/classSocketEngine.html b/docs/module-doc/classSocketEngine.html
deleted file mode 100644
index e7ddabafc..000000000
--- a/docs/module-doc/classSocketEngine.html
+++ /dev/null
@@ -1,596 +0,0 @@
-<!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: SocketEngine 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>SocketEngine Class Reference</h1><!-- doxytag: class="SocketEngine" -->The actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="socketengine_8h-source.html">socketengine.h</a>&gt;</code>
-<p>
-Collaboration diagram for SocketEngine:<p><center><img src="classSocketEngine__coll__graph.gif" border="0" usemap="#SocketEngine__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classSocketEngine-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="classSocketEngine.html#SocketEngine_28_29">SocketEngine</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor The constructor transparently initializes the socket engine which the ircd is using. <a href="#SocketEngine_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#_7ESocketEngine_28_29">~SocketEngine</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor The destructor transparently tidies up any resources used by the socket engine. <a href="#_7ESocketEngine_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a> (int fd, bool readable, char type)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a file descriptor to the engine Use AddFd to add a file descriptor to the engine and have the socket engine monitor it. <a href="#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#GetType_28int_20fd_29">GetType</a> (int fd)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the type value for this file descriptor This function masks off the X_READBIT value so that the type of the socket can be obtained. <a href="#GetType_28int_20fd_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a> (int fd)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a file descriptor f rom the engine This function call deletes a file descriptor from the engine, returning true if it succeeded and false if it failed. <a href="#DelFd_28int_20fd_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><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></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for an event. <a href="#Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_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="classSocketEngine.html#GetName_28_29">GetName</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the socket engines name This returns the name of the engine for use in /VERSION responses. <a href="#GetName_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; int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#fds">fds</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#EngineHandle">EngineHandle</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">kevent&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">ke_list</a> [65535]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">timespec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSocketEngine.html#ts">ts</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin.
-<p>
-The current version supports select, epoll and kqueue.
-<p>
-
-<p>
-Definition at line <a class="el" href="socketengine_8h-source.html#l00066">66</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="SocketEngine_28_29"></a><!-- doxytag: member="SocketEngine::SocketEngine" ref="SocketEngine_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">SocketEngine::SocketEngine </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 The constructor transparently initializes the socket engine which the ircd is using.
-<p>
-Please note that if there is a catastrophic failure (for example, you try and enable epoll on a 2.4 linux kernel) then this function may bail back to the shell.
-<p>
-Definition at line <a class="el" href="socketengine_8cpp-source.html#l00035">35</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="socketengine_8h-source.html#l00069">EngineHandle</a>, and <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="l00036"></a>00036 {
-<a name="l00037"></a>00037 <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::SocketEngine()"</span>);
-<a name="l00038"></a>00038 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span> <a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a> = epoll_create(65535);
-<a name="l00040"></a>00040 <span class="preprocessor">#endif</span>
-<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span> <a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a> = kqueue();
-<a name="l00043"></a>00043 <span class="preprocessor">#endif</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span>}
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7ESocketEngine_28_29"></a><!-- doxytag: member="SocketEngine::~SocketEngine" ref="_7ESocketEngine_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">SocketEngine::~SocketEngine </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>
-Destructor The destructor transparently tidies up any resources used by the socket engine.
-<p>
-
-<p>
-Definition at line <a class="el" href="socketengine_8cpp-source.html#l00046">46</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="socketengine_8h-source.html#l00069">EngineHandle</a>, and <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="l00047"></a>00047 {
-<a name="l00048"></a>00048 <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::~SocketEngine()"</span>);
-<a name="l00049"></a>00049 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00050"></a>00050 <span class="preprocessor"></span> close(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>);
-<a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00053"></a>00053 <span class="preprocessor"></span> close(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>);
-<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
-<a name="l00055"></a>00055 <span class="preprocessor"></span>}
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29"></a><!-- doxytag: member="SocketEngine::AddFd" ref="AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29" args="(int fd, bool readable, char type)" --><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">bool SocketEngine::AddFd </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>fd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>readable</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>type</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>
-Add a file descriptor to the engine Use AddFd to add a file descriptor to the engine and have the socket engine monitor it.
-<p>
-You must provide a type (see the consts in <a class="el" href="socketengine_8h.html">socketengine.h</a>) and a boolean flag to indicate wether to watch this fd for read or write events (there is currently no need for support of both).
-<p>
-Definition at line <a class="el" href="socketengine_8cpp-source.html#l00065">65</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">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="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="socket_8cpp-source.html#l00050">InspSocket::InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00216">InspSocket::Poll()</a>.<div class="fragment"><pre class="fragment"><a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> ((fd &lt; 0) || (fd &gt; 65535))
-<a name="l00068"></a>00068 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00069"></a>00069 this-&gt;<a class="code" href="classSocketEngine.html#fds">fds</a>.push_back(fd);
-<a name="l00070"></a>00070 <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] = type;
-<a name="l00071"></a>00071 <span class="keywordflow">if</span> (readable)
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <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">"Set readbit"</span>);
-<a name="l00074"></a>00074 <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] |= <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a>;
-<a name="l00075"></a>00075 }
-<a name="l00076"></a>00076 <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">"Add socket %d"</span>,fd);
-<a name="l00077"></a>00077 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span> <span class="keyword">struct </span>epoll_event ev;
-<a name="l00079"></a>00079 <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">"epoll: Add socket to events, ep=%d socket=%d"</span>,<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>,fd);
-<a name="l00080"></a>00080 readable ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-<a name="l00081"></a>00081 ev.data.fd = fd;
-<a name="l00082"></a>00082 <span class="keywordtype">int</span> i = epoll_ctl(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, EPOLL_CTL_ADD, fd, &amp;ev);
-<a name="l00083"></a>00083 <span class="keywordflow">if</span> (i &lt; 0)
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <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">"epoll: List insertion failure!"</span>);
-<a name="l00086"></a>00086 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088 <span class="preprocessor">#endif</span>
-<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00090"></a>00090 <span class="preprocessor"></span> <span class="keyword">struct </span>kevent ke;
-<a name="l00091"></a>00091 <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">"kqueue: Add socket to events, kq=%d socket=%d"</span>,<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>,fd);
-<a name="l00092"></a>00092 EV_SET(&amp;ke, fd, readable ? EVFILT_READ : EVFILT_WRITE, EV_ADD, 0, 0, NULL);
-<a name="l00093"></a>00093 <span class="keywordtype">int</span> i = kevent(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, &amp;ke, 1, 0, 0, NULL);
-<a name="l00094"></a>00094 <span class="keywordflow">if</span> (i == -1)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <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">"kqueue: List insertion failure!"</span>);
-<a name="l00097"></a>00097 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099 <span class="preprocessor">#endif</span>
-<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00101"></a>00101 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelFd_28int_20fd_29"></a><!-- doxytag: member="SocketEngine::DelFd" ref="DelFd_28int_20fd_29" args="(int fd)" --><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">bool SocketEngine::DelFd </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fd</em> </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>
-Delete a file descriptor f rom the engine This function call deletes a file descriptor from the engine, returning true if it succeeded and false if it failed.
-<p>
-
-<p>
-Definition at line <a class="el" href="socketengine_8cpp-source.html#l00103">103</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">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="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="socket_8cpp-source.html#l00216">InspSocket::Poll()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">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))
-<a name="l00108"></a>00108 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keywordtype">bool</span> found = <span class="keyword">false</span>;
-<a name="l00111"></a>00111 <span class="keywordflow">for</span> (std::vector&lt;int&gt;::iterator i = <a class="code" href="classSocketEngine.html#fds">fds</a>.begin(); i != <a class="code" href="classSocketEngine.html#fds">fds</a>.end(); i++)
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keywordflow">if</span> (*i == fd)
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 <a class="code" href="classSocketEngine.html#fds">fds</a>.erase(i);
-<a name="l00116"></a>00116 <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">"Deleted fd %d"</span>,fd);
-<a name="l00117"></a>00117 found = <span class="keyword">true</span>;
-<a name="l00118"></a>00118 <span class="keywordflow">break</span>;
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121 <span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00122"></a>00122 <span class="preprocessor"></span> <span class="keyword">struct </span>kevent ke;
-<a name="l00123"></a>00123 EV_SET(&amp;ke, fd, <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] &amp; <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a> ? EVFILT_READ : EVFILT_WRITE, EV_DELETE, 0, 0, NULL);
-<a name="l00124"></a>00124 <span class="keywordtype">int</span> i = kevent(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, &amp;ke, 1, 0, 0, NULL);
-<a name="l00125"></a>00125 <span class="keywordflow">if</span> (i == -1)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <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">"kqueue: Failed to remove socket from queue!"</span>);
-<a name="l00128"></a>00128 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130 <span class="preprocessor">#endif</span>
-<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00132"></a>00132 <span class="preprocessor"></span> <span class="keyword">struct </span>epoll_event ev;
-<a name="l00133"></a>00133 <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] &amp;&amp; <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a> ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-<a name="l00134"></a>00134 ev.data.fd = fd;
-<a name="l00135"></a>00135 <span class="keywordtype">int</span> i = epoll_ctl(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, EPOLL_CTL_DEL, fd, &amp;ev);
-<a name="l00136"></a>00136 <span class="keywordflow">if</span> (i &lt; 0)
-<a name="l00137"></a>00137 {
-<a name="l00138"></a>00138 <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">"epoll: List deletion failure!"</span>);
-<a name="l00139"></a>00139 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00140"></a>00140 }
-<a name="l00141"></a>00141 <span class="preprocessor">#endif</span>
-<a name="l00142"></a>00142 <span class="preprocessor"></span> <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] = 0;
-<a name="l00143"></a>00143 <span class="keywordflow">return</span> found;
-<a name="l00144"></a>00144 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetName_28_29"></a><!-- doxytag: member="SocketEngine::GetName" ref="GetName_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> SocketEngine::GetName </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 socket engines name This returns the name of the engine for use in /VERSION responses.
-<p>
-
-<p>
-Definition at line <a class="el" href="socketengine_8cpp-source.html#l00193">193</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00194"></a>00194 {
-<a name="l00195"></a>00195 <span class="preprocessor">#ifdef USE_SELECT</span>
-<a name="l00196"></a>00196 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="stringliteral">"select"</span>;
-<a name="l00197"></a>00197 <span class="preprocessor">#endif</span>
-<a name="l00198"></a>00198 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00199"></a>00199 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="stringliteral">"kqueue"</span>;
-<a name="l00200"></a>00200 <span class="preprocessor">#endif</span>
-<a name="l00201"></a>00201 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00202"></a>00202 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="stringliteral">"epoll"</span>;
-<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>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetType_28int_20fd_29"></a><!-- doxytag: member="SocketEngine::GetType" ref="GetType_28int_20fd_29" args="(int fd)" --><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 SocketEngine::GetType </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fd</em> </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 type value for this file descriptor This function masks off the X_READBIT value so that the type of the socket can be obtained.
-<p>
-The core uses this to decide where to dispatch the event to. Please note that some engines such as select() have an upper limit of 1024 descriptors which may be active at any one time, where others such as kqueue have no practical limits at all.
-<p>
-Definition at line <a class="el" href="socketengine_8cpp-source.html#l00057">57</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.
-<p>
-References <a class="el" href="socketengine_8cpp-source.html#l00033">ref</a>, and <a class="el" href="socketengine_8h-source.html#l00041">X_EMPTY_SLOT</a>.<div class="fragment"><pre class="fragment"><a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> ((fd &lt; 0) || (fd &gt; 65535))
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">X_EMPTY_SLOT</a>;
-<a name="l00061"></a>00061 <span class="comment">/* Mask off the top bit used for 'read/write' state */</span>
-<a name="l00062"></a>00062 <span class="keywordflow">return</span> (<a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] &amp; ~0x80);
-<a name="l00063"></a>00063 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29"></a><!-- doxytag: member="SocketEngine::Wait" ref="Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29" args="(std::vector&lt; int &gt; &amp;fdlist)" --><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">bool SocketEngine::Wait </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">std::vector&lt; int &gt; &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>fdlist</em> </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>
-Waits for an event.
-<p>
-Please note that this doesnt wait long, only a couple of milliseconds. It returns a list of active file descriptors in the vector fdlist which the core may then act upon.
-<p>
-Definition at line <a class="el" href="socketengine_8cpp-source.html#l00146">146</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.
-<p>
-References <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="socketengine_8h-source.html#l00074">ke_list</a>, <a class="el" href="socketengine_8cpp-source.html#l00033">ref</a>, <a class="el" href="socketengine_8h-source.html#l00075">ts</a>, and <a class="el" href="socketengine_8h-source.html#l00055">X_READBIT</a>.<div class="fragment"><pre class="fragment"><a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 fdlist.clear();
-<a name="l00149"></a>00149 <span class="preprocessor">#ifdef USE_SELECT</span>
-<a name="l00150"></a>00150 <span class="preprocessor"></span> FD_ZERO(&amp;wfdset);
-<a name="l00151"></a>00151 FD_ZERO(&amp;rfdset);
-<a name="l00152"></a>00152 timeval tval;
-<a name="l00153"></a>00153 <span class="keywordtype">int</span> sresult;
-<a name="l00154"></a>00154 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> a = 0; a &lt; <a class="code" href="classSocketEngine.html#fds">fds</a>.size(); a++)
-<a name="l00155"></a>00155 {
-<a name="l00156"></a>00156 <span class="keywordflow">if</span> (<a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[<a class="code" href="classSocketEngine.html#fds">fds</a>[a]] &amp; <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a>)
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 FD_SET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;rfdset);
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160 <span class="keywordflow">else</span>
-<a name="l00161"></a>00161 {
-<a name="l00162"></a>00162 FD_SET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;wfdset);
-<a name="l00163"></a>00163 }
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166 tval.tv_sec = 0;
-<a name="l00167"></a>00167 tval.tv_usec = 100L;
-<a name="l00168"></a>00168 sresult = select(FD_SETSIZE, &amp;rfdset, &amp;wfdset, NULL, &amp;tval);
-<a name="l00169"></a>00169 <span class="keywordflow">if</span> (sresult &gt; 0)
-<a name="l00170"></a>00170 {
-<a name="l00171"></a>00171 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> a = 0; a &lt; <a class="code" href="classSocketEngine.html#fds">fds</a>.size(); a++)
-<a name="l00172"></a>00172 {
-<a name="l00173"></a>00173 <span class="keywordflow">if</span> ((FD_ISSET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;rfdset)) || (FD_ISSET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;wfdset)))
-<a name="l00174"></a>00174 fdlist.push_back(<a class="code" href="classSocketEngine.html#fds">fds</a>[a]);
-<a name="l00175"></a>00175 }
-<a name="l00176"></a>00176 }
-<a name="l00177"></a>00177 <span class="preprocessor">#endif</span>
-<a name="l00178"></a>00178 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00179"></a>00179 <span class="preprocessor"></span> <a class="code" href="classSocketEngine.html#ts">ts</a>.tv_nsec = 10000L;
-<a name="l00180"></a>00180 <a class="code" href="classSocketEngine.html#ts">ts</a>.tv_sec = 0;
-<a name="l00181"></a>00181 <span class="keywordtype">int</span> i = kevent(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, NULL, 0, &amp;<a class="code" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">ke_list</a>[0], 65535, &amp;<a class="code" href="classSocketEngine.html#ts">ts</a>);
-<a name="l00182"></a>00182 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; i; j++)
-<a name="l00183"></a>00183 fdlist.push_back(<a class="code" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">ke_list</a>[j].ident);
-<a name="l00184"></a>00184 <span class="preprocessor">#endif</span>
-<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00186"></a>00186 <span class="preprocessor"></span> <span class="keywordtype">int</span> i = epoll_wait(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, events, 65535, 100);
-<a name="l00187"></a>00187 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; i; j++)
-<a name="l00188"></a>00188 fdlist.push_back(events[j].data.fd);
-<a name="l00189"></a>00189 <span class="preprocessor">#endif</span>
-<a name="l00190"></a>00190 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00191"></a>00191 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="EngineHandle"></a><!-- doxytag: member="SocketEngine::EngineHandle" ref="EngineHandle" 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 <a class="el" href="classSocketEngine.html#EngineHandle">SocketEngine::EngineHandle</a><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="socketengine_8h-source.html#l00069">69</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-Referenced by <a class="el" href="socketengine_8cpp-source.html#l00065">AddFd()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">DelFd()</a>, <a class="el" href="socketengine_8cpp-source.html#l00035">SocketEngine()</a>, <a class="el" href="socketengine_8cpp-source.html#l00146">Wait()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00046">~SocketEngine()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="fds"></a><!-- doxytag: member="SocketEngine::fds" ref="fds" 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;int&gt; <a class="el" href="classSocketEngine.html#fds">SocketEngine::fds</a><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="socketengine_8h-source.html#l00068">68</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-Referenced by <a class="el" href="socketengine_8cpp-source.html#l00065">AddFd()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">DelFd()</a>, and <a class="el" href="socketengine_8cpp-source.html#l00146">Wait()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ke_5Flist_5B_36_35_35_33_35_5D"></a><!-- doxytag: member="SocketEngine::ke_list" ref="ke_5Flist_5B_36_35_35_33_35_5D" args="[65535]" --><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">struct kevent <a class="el" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">SocketEngine::ke_list</a>[65535]<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="socketengine_8h-source.html#l00074">74</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-Referenced by <a class="el" href="socketengine_8cpp-source.html#l00146">Wait()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ts"></a><!-- doxytag: member="SocketEngine::ts" ref="ts" 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">struct timespec <a class="el" href="classSocketEngine.html#ts">SocketEngine::ts</a><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="socketengine_8h-source.html#l00075">75</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-Referenced by <a class="el" href="socketengine_8cpp-source.html#l00146">Wait()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:23 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/classSocketEngine__coll__graph.gif b/docs/module-doc/classSocketEngine__coll__graph.gif
deleted file mode 100644
index c54e9e7b7..000000000
--- a/docs/module-doc/classSocketEngine__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classSocketEngine__coll__graph.map b/docs/module-doc/classSocketEngine__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classSocketEngine__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classSocketEngine__coll__graph.md5 b/docs/module-doc/classSocketEngine__coll__graph.md5
deleted file mode 100644
index 6f5c85054..000000000
--- a/docs/module-doc/classSocketEngine__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-baef8ac2d5158fc84cfa300ed15ca731 \ No newline at end of file
diff --git a/docs/module-doc/classVersion-members.html b/docs/module-doc/classVersion-members.html
deleted file mode 100644
index 8741a068f..000000000
--- a/docs/module-doc/classVersion-members.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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>Version Member List</h1>This is the complete list of members for <a class="el" href="classVersion.html">Version</a>, including all inherited members.<p><table>
- <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="classVersion.html#Build">Build</a></td><td><a class="el" href="classVersion.html">Version</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="classVersion.html#Flags">Flags</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#Major">Major</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#Minor">Minor</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#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 Mon Dec 19 18:05:24 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/classVersion.html b/docs/module-doc/classVersion.html
deleted file mode 100644
index c318b1666..000000000
--- a/docs/module-doc/classVersion.html
+++ /dev/null
@@ -1,238 +0,0 @@
-<!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: Version 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>Version Class Reference</h1><!-- doxytag: class="Version" --><!-- doxytag: inherits="classbase" -->Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="modules_8h-source.html">modules.h</a>&gt;</code>
-<p>
-Inheritance diagram for Version:<p><center><img src="classVersion__inherit__graph.gif" border="0" usemap="#Version__inherit__map" alt="Inheritance graph"></center>
-<map name="Version__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for Version:<p><center><img src="classVersion__coll__graph.gif" border="0" usemap="#Version__coll__map" alt="Collaboration graph"></center>
-<map name="Version__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,97,87,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classVersion-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="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></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVersion.html#Major">Major</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVersion.html#Minor">Minor</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVersion.html#Revision">Revision</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVersion.html#Build">Build</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classVersion.html#Flags">Flags</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module.
-<p>
-A class of type Version is returned by the GetVersion method of the <a class="el" href="classModule.html">Module</a> class.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00131">131</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="Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29"></a><!-- doxytag: member="Version::Version" ref="Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29" args="(int major, int minor, int revision, int build, int flags)" --><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">Version::Version </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>major</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>minor</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>revision</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>build</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>flags</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00158">158</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00158"></a>00158 : <a class="code" href="classVersion.html#Major">Major</a>(major), <a class="code" href="classVersion.html#Minor">Minor</a>(minor), <a class="code" href="classVersion.html#Revision">Revision</a>(revision), <a class="code" href="classVersion.html#Build">Build</a>(build), <a class="code" href="classVersion.html#Flags">Flags</a>(flags) { };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="Build"></a><!-- doxytag: member="Version::Build" ref="Build" 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">const int <a class="el" href="classVersion.html#Build">Version::Build</a> </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="modules_8h-source.html#l00134">134</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Flags"></a><!-- doxytag: member="Version::Flags" ref="Flags" 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">const int <a class="el" href="classVersion.html#Flags">Version::Flags</a> </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="modules_8h-source.html#l00134">134</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Major"></a><!-- doxytag: member="Version::Major" ref="Major" 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">const int <a class="el" href="classVersion.html#Major">Version::Major</a> </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="modules_8h-source.html#l00134">134</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Minor"></a><!-- doxytag: member="Version::Minor" ref="Minor" 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">const int <a class="el" href="classVersion.html#Minor">Version::Minor</a> </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="modules_8h-source.html#l00134">134</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Revision"></a><!-- doxytag: member="Version::Revision" ref="Revision" 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">const int <a class="el" href="classVersion.html#Revision">Version::Revision</a> </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="modules_8h-source.html#l00134">134</a> of file <a class="el" href="modules_8h-source.html">modules.h</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 Mon Dec 19 18:05:24 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/classVersion__coll__graph.gif b/docs/module-doc/classVersion__coll__graph.gif
deleted file mode 100644
index 50ee9702d..000000000
--- a/docs/module-doc/classVersion__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classVersion__coll__graph.map b/docs/module-doc/classVersion__coll__graph.map
deleted file mode 100644
index f3b09806a..000000000
--- a/docs/module-doc/classVersion__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,97 87,124
diff --git a/docs/module-doc/classVersion__coll__graph.md5 b/docs/module-doc/classVersion__coll__graph.md5
deleted file mode 100644
index 0adad4c34..000000000
--- a/docs/module-doc/classVersion__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-fefba61fe52901a468a48889da2a441a \ No newline at end of file
diff --git a/docs/module-doc/classVersion__inherit__graph.gif b/docs/module-doc/classVersion__inherit__graph.gif
deleted file mode 100644
index 319126975..000000000
--- a/docs/module-doc/classVersion__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classVersion__inherit__graph.map b/docs/module-doc/classVersion__inherit__graph.map
deleted file mode 100644
index 8b1d85be3..000000000
--- a/docs/module-doc/classVersion__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,7 87,34
diff --git a/docs/module-doc/classVersion__inherit__graph.md5 b/docs/module-doc/classVersion__inherit__graph.md5
deleted file mode 100644
index 01df9c106..000000000
--- a/docs/module-doc/classVersion__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-5251e2652b8ea61fa066d57081a1dee5 \ No newline at end of file
diff --git a/docs/module-doc/classWhoWasUser-members.html b/docs/module-doc/classWhoWasUser-members.html
deleted file mode 100644
index bc58dd9ba..000000000
--- a/docs/module-doc/classWhoWasUser-members.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!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>WhoWasUser Member List</h1>This is the complete list of members for <a class="el" href="classWhoWasUser.html">WhoWasUser</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">dhost</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#fullname_5BMAXGECOS_2B_31_5D">fullname</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#host_5B_31_36_30_5D">host</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#ident_5BIDENTMAX_2B_31_5D">ident</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#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 Mon Dec 19 18:05:24 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/classWhoWasUser.html b/docs/module-doc/classWhoWasUser.html
deleted file mode 100644
index dfcec2fe6..000000000
--- a/docs/module-doc/classWhoWasUser.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<!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: WhoWasUser 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>WhoWasUser Class Reference</h1><!-- doxytag: class="WhoWasUser" -->A lightweight userrec used by WHOWAS.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="users_8h-source.html">users.h</a>&gt;</code>
-<p>
-Collaboration diagram for WhoWasUser:<p><center><img src="classWhoWasUser__coll__graph.gif" border="0" usemap="#WhoWasUser__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classWhoWasUser-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 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="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a> [NICKMAX]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">ident</a> [IDENTMAX+1]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">dhost</a> [160]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWhoWasUser.html#host_5B_31_36_30_5D">host</a> [160]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a> [MAXGECOS+1]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWhoWasUser.html#server_5B_32_35_36_5D">server</a> [256]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWhoWasUser.html#signon">signon</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A lightweight userrec used by WHOWAS.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00336">336</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="dhost_5B_31_36_30_5D"></a><!-- doxytag: member="WhoWasUser::dhost" ref="dhost_5B_31_36_30_5D" args="[160]" --><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="classWhoWasUser.html#dhost_5B_31_36_30_5D">WhoWasUser::dhost</a>[160] </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="users_8h-source.html#l00341">341</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#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="fullname_5BMAXGECOS_2B_31_5D"></a><!-- doxytag: member="WhoWasUser::fullname" ref="fullname_5BMAXGECOS_2B_31_5D" args="[MAXGECOS+1]" --><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="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">WhoWasUser::fullname</a>[MAXGECOS+1] </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="users_8h-source.html#l00343">343</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#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="host_5B_31_36_30_5D"></a><!-- doxytag: member="WhoWasUser::host" ref="host_5B_31_36_30_5D" args="[160]" --><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="classWhoWasUser.html#host_5B_31_36_30_5D">WhoWasUser::host</a>[160] </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="users_8h-source.html#l00342">342</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#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ident_5BIDENTMAX_2B_31_5D"></a><!-- doxytag: member="WhoWasUser::ident" ref="ident_5BIDENTMAX_2B_31_5D" args="[IDENTMAX+1]" --><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="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">WhoWasUser::ident</a>[IDENTMAX+1] </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="users_8h-source.html#l00340">340</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#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="nick_5BNICKMAX_5D"></a><!-- doxytag: member="WhoWasUser::nick" ref="nick_5BNICKMAX_5D" args="[NICKMAX]" --><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="classWhoWasUser.html#nick_5BNICKMAX_5D">WhoWasUser::nick</a>[NICKMAX] </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="users_8h-source.html#l00339">339</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#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="server_5B_32_35_36_5D"></a><!-- doxytag: member="WhoWasUser::server" ref="server_5B_32_35_36_5D" args="[256]" --><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="classWhoWasUser.html#server_5B_32_35_36_5D">WhoWasUser::server</a>[256] </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="users_8h-source.html#l00344">344</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#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="signon"></a><!-- doxytag: member="WhoWasUser::signon" ref="signon" 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">time_t <a class="el" href="classWhoWasUser.html#signon">WhoWasUser::signon</a> </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="users_8h-source.html#l00345">345</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#l00471">AddWhoWas()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/classWhoWasUser__coll__graph.gif b/docs/module-doc/classWhoWasUser__coll__graph.gif
deleted file mode 100644
index 1322c5865..000000000
--- a/docs/module-doc/classWhoWasUser__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classWhoWasUser__coll__graph.map b/docs/module-doc/classWhoWasUser__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classWhoWasUser__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classWhoWasUser__coll__graph.md5 b/docs/module-doc/classWhoWasUser__coll__graph.md5
deleted file mode 100644
index 68ba38fc7..000000000
--- a/docs/module-doc/classWhoWasUser__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-5ef57f5c0e57327876d095482c1729ea \ No newline at end of file
diff --git a/docs/module-doc/classXLine-members.html b/docs/module-doc/classXLine-members.html
deleted file mode 100644
index 7cbdccd6a..000000000
--- a/docs/module-doc/classXLine-members.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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>XLine Member List</h1>This is the complete list of members for <a class="el" href="classXLine.html">XLine</a>, including all inherited members.<p><table>
- <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="classXLine.html#duration">duration</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#n_5Fmatches">n_matches</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#reason_5BMAXBUF_5D">reason</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#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 Mon Dec 19 18:05:24 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/classXLine.html b/docs/module-doc/classXLine.html
deleted file mode 100644
index 322ddc27b..000000000
--- a/docs/module-doc/classXLine.html
+++ /dev/null
@@ -1,192 +0,0 @@
-<!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: XLine 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>XLine Class Reference</h1><!-- doxytag: class="XLine" --><!-- doxytag: inherits="classbase" -->XLine is the base class for ban lines such as G lines and K lines.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="xline_8h-source.html">xline.h</a>&gt;</code>
-<p>
-Inheritance diagram for XLine:<p><center><img src="classXLine__inherit__graph.gif" border="0" usemap="#XLine__inherit__map" alt="Inheritance graph"></center>
-<map name="XLine__inherit__map">
-<area href="classELine.html" shape="rect" coords="7,156,63,183" alt="">
-<area href="classGLine.html" shape="rect" coords="87,156,146,183" alt="">
-<area href="classKLine.html" shape="rect" coords="170,156,226,183" alt="">
-<area href="classQLine.html" shape="rect" coords="250,156,308,183" alt="">
-<area href="classZLine.html" shape="rect" coords="332,156,388,183" alt="">
-<area href="classclassbase.html" shape="rect" coords="158,7,238,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for XLine:<p><center><img src="classXLine__coll__graph.gif" border="0" usemap="#XLine__coll__map" alt="Collaboration graph"></center>
-<map name="XLine__coll__map">
-<area href="classclassbase.html" shape="rect" coords="107,97,187,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classXLine-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 Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXLine.html#set_5Ftime">set_time</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The time the line was added. <a href="#set_5Ftime"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXLine.html#duration">duration</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The duration of the ban, or 0 if permenant. <a href="#duration"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXLine.html#source_5B_32_35_36_5D">source</a> [256]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Source of the ban. <a href="#source_5B_32_35_36_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXLine.html#reason_5BMAXBUF_5D">reason</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reason for the ban. <a href="#reason_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXLine.html#n_5Fmatches">n_matches</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of times the core matches the ban, for statistics. <a href="#n_5Fmatches"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-XLine is the base class for ban lines such as G lines and K lines.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00039">39</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="duration"></a><!-- doxytag: member="XLine::duration" ref="duration" 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">long <a class="el" href="classXLine.html#duration">XLine::duration</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The duration of the ban, or 0 if permenant.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00049">49</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="n_5Fmatches"></a><!-- doxytag: member="XLine::n_matches" ref="n_5Fmatches" 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">long <a class="el" href="classXLine.html#n_5Fmatches">XLine::n_matches</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Number of times the core matches the ban, for statistics.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00061">61</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="reason_5BMAXBUF_5D"></a><!-- doxytag: member="XLine::reason" ref="reason_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="classXLine.html#reason_5BMAXBUF_5D">XLine::reason</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Reason for the ban.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00057">57</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="set_5Ftime"></a><!-- doxytag: member="XLine::set_time" ref="set_5Ftime" 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">time_t <a class="el" href="classXLine.html#set_5Ftime">XLine::set_time</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The time the line was added.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00045">45</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="source_5B_32_35_36_5D"></a><!-- doxytag: member="XLine::source" ref="source_5B_32_35_36_5D" args="[256]" --><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="classXLine.html#source_5B_32_35_36_5D">XLine::source</a>[256] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Source of the ban.
-<p>
-This can be a servername or an oper nickname
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00053">53</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/classXLine__coll__graph.gif b/docs/module-doc/classXLine__coll__graph.gif
deleted file mode 100644
index 1c7669eb4..000000000
--- a/docs/module-doc/classXLine__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classXLine__coll__graph.map b/docs/module-doc/classXLine__coll__graph.map
deleted file mode 100644
index 64f9b3a84..000000000
--- a/docs/module-doc/classXLine__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 107,97 187,124
diff --git a/docs/module-doc/classXLine__coll__graph.md5 b/docs/module-doc/classXLine__coll__graph.md5
deleted file mode 100644
index 51fbebe96..000000000
--- a/docs/module-doc/classXLine__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-82db31fd0088117dc738aeaae0cdb2c0 \ No newline at end of file
diff --git a/docs/module-doc/classXLine__inherit__graph.gif b/docs/module-doc/classXLine__inherit__graph.gif
deleted file mode 100644
index ae65b5000..000000000
--- a/docs/module-doc/classXLine__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classXLine__inherit__graph.map b/docs/module-doc/classXLine__inherit__graph.map
deleted file mode 100644
index 7a144f968..000000000
--- a/docs/module-doc/classXLine__inherit__graph.map
+++ /dev/null
@@ -1,7 +0,0 @@
-base referer
-rect $classELine.html 7,156 63,183
-rect $classGLine.html 87,156 146,183
-rect $classKLine.html 170,156 226,183
-rect $classQLine.html 250,156 308,183
-rect $classZLine.html 332,156 388,183
-rect $classclassbase.html 158,7 238,33
diff --git a/docs/module-doc/classXLine__inherit__graph.md5 b/docs/module-doc/classXLine__inherit__graph.md5
deleted file mode 100644
index 2219ff62f..000000000
--- a/docs/module-doc/classXLine__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-cddf36af1a2c6a2fd34d1894fa3811da \ No newline at end of file
diff --git a/docs/module-doc/classZLine-members.html b/docs/module-doc/classZLine-members.html
deleted file mode 100644
index e72f71a2f..000000000
--- a/docs/module-doc/classZLine-members.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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>ZLine Member List</h1>This is the complete list of members for <a class="el" href="classZLine.html">ZLine</a>, including all inherited members.<p><table>
- <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="classXLine.html#duration">duration</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classZLine.html#ipaddr_5B_34_30_5D">ipaddr</a></td><td><a class="el" href="classZLine.html">ZLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classZLine.html#is_5Fglobal">is_global</a></td><td><a class="el" href="classZLine.html">ZLine</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classXLine.html#n_5Fmatches">n_matches</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#reason_5BMAXBUF_5D">reason</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#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 Mon Dec 19 18:05:24 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/classZLine.html b/docs/module-doc/classZLine.html
deleted file mode 100644
index 64da7e94b..000000000
--- a/docs/module-doc/classZLine.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!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: ZLine 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>ZLine Class Reference</h1><!-- doxytag: class="ZLine" --><!-- doxytag: inherits="XLine" -->ZLine class.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="xline_8h-source.html">xline.h</a>&gt;</code>
-<p>
-Inheritance diagram for ZLine:<p><center><img src="classZLine__inherit__graph.gif" border="0" usemap="#ZLine__inherit__map" alt="Inheritance graph"></center>
-<map name="ZLine__inherit__map">
-<area href="classXLine.html" shape="rect" coords="19,81,75,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ZLine:<p><center><img src="classZLine__coll__graph.gif" border="0" usemap="#ZLine__coll__map" alt="Collaboration graph"></center>
-<map name="ZLine__coll__map">
-<area href="classXLine.html" shape="rect" coords="108,204,164,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="79,97,159,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classZLine-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 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="classZLine.html#ipaddr_5B_34_30_5D">ipaddr</a> [40]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IP Address (xx.yy.zz.aa) to match against May contain wildcards. <a href="#ipaddr_5B_34_30_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZLine.html#is_5Fglobal">is_global</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set if this is a global Z:line (e.g. <a href="#is_5Fglobal"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-ZLine class.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00098">98</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="ipaddr_5B_34_30_5D"></a><!-- doxytag: member="ZLine::ipaddr" ref="ipaddr_5B_34_30_5D" args="[40]" --><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="classZLine.html#ipaddr_5B_34_30_5D">ZLine::ipaddr</a>[40] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-IP Address (xx.yy.zz.aa) to match against May contain wildcards.
-<p>
-
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00104">104</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="is_5Fglobal"></a><!-- doxytag: member="ZLine::is_global" ref="is_5Fglobal" 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">bool <a class="el" href="classZLine.html#is_5Fglobal">ZLine::is_global</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Set if this is a global Z:line (e.g.
-<p>
-it came from another server)
-<p>
-Definition at line <a class="el" href="xline_8h-source.html#l00108">108</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/classZLine__coll__graph.gif b/docs/module-doc/classZLine__coll__graph.gif
deleted file mode 100644
index 943e7c896..000000000
--- a/docs/module-doc/classZLine__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classZLine__coll__graph.map b/docs/module-doc/classZLine__coll__graph.map
deleted file mode 100644
index 028f82a6e..000000000
--- a/docs/module-doc/classZLine__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 108,204 164,231
-rect $classclassbase.html 79,97 159,124
diff --git a/docs/module-doc/classZLine__coll__graph.md5 b/docs/module-doc/classZLine__coll__graph.md5
deleted file mode 100644
index 43b1d4a38..000000000
--- a/docs/module-doc/classZLine__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-af58e7a846694641fbe05011643006a9 \ No newline at end of file
diff --git a/docs/module-doc/classZLine__inherit__graph.gif b/docs/module-doc/classZLine__inherit__graph.gif
deleted file mode 100644
index 411796d74..000000000
--- a/docs/module-doc/classZLine__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classZLine__inherit__graph.map b/docs/module-doc/classZLine__inherit__graph.map
deleted file mode 100644
index 37695eb4e..000000000
--- a/docs/module-doc/classZLine__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classXLine.html 19,81 75,108
-rect $classclassbase.html 7,7 87,33
diff --git a/docs/module-doc/classZLine__inherit__graph.md5 b/docs/module-doc/classZLine__inherit__graph.md5
deleted file mode 100644
index 565dfc233..000000000
--- a/docs/module-doc/classZLine__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-2100aaebeee27bb7ee02f038fdd48ad5 \ No newline at end of file
diff --git a/docs/module-doc/classchanrec-members.html b/docs/module-doc/classchanrec-members.html
deleted file mode 100644
index b653248a7..000000000
--- a/docs/module-doc/classchanrec-members.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!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>chanrec Member List</h1>This is the complete list of members for <a class="el" href="classchanrec.html">chanrec</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classchanrec.html#AddUser_28char_20_2Acastuser_29">AddUser</a>(char *castuser)</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
- <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="classchanrec.html#bans">bans</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#binarymodes">binarymodes</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#chanrec_28_29">chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</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="classchanrec.html#created">created</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#custom_5Fmodes_5BMAXMODES_5D">custom_modes</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#DelUser_28char_20_2Acastuser_29">DelUser</a>(char *castuser)</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extend</a>(std::string key, char *p)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">GetExt</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="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="classchanrec.html#GetModeParameter_28char_20mode_29">GetModeParameter</a>(char mode)</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classchanrec.html#GetUserCounter_28_29">GetUserCounter</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#GetUsers_28_29">GetUsers</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#internal_5Fuserlist">internal_userlist</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#IsCustomModeSet_28char_20mode_29">IsCustomModeSet</a>(char mode)</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classchanrec.html#key_5B_33_32_5D">key</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#limit">limit</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#name_5BCHANMAX_5D">name</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#setby_5BNICKMAX_5D">setby</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#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29">SetCustomMode</a>(char mode, bool mode_on)</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">SetCustomModeParam</a>(char mode, char *parameter, bool mode_on)</td><td><a class="el" href="classchanrec.html">chanrec</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="classchanrec.html#topic_5BMAXBUF_5D">topic</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#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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classchanrec.html b/docs/module-doc/classchanrec.html
deleted file mode 100644
index a8c1aa117..000000000
--- a/docs/module-doc/classchanrec.html
+++ /dev/null
@@ -1,944 +0,0 @@
-<!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: chanrec 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>chanrec Class Reference</h1><!-- doxytag: class="chanrec" --><!-- doxytag: inherits="Extensible" -->Holds all relevent information for a channel.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
-<p>
-Inheritance diagram for chanrec:<p><center><img src="classchanrec__inherit__graph.gif" border="0" usemap="#chanrec__inherit__map" alt="Inheritance graph"></center>
-<map name="chanrec__inherit__map">
-<area href="classExtensible.html" shape="rect" coords="7,81,89,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="8,7,88,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for chanrec:<p><center><img src="classchanrec__coll__graph.gif" border="0" usemap="#chanrec__coll__map" alt="Collaboration graph"></center>
-<map name="chanrec__coll__map">
-<area href="classExtensible.html" shape="rect" coords="68,204,151,231" alt="">
-<area href="classclassbase.html" shape="rect" coords="68,97,148,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classchanrec-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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29">SetCustomMode</a> (char mode, bool mode_on)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets or unsets a custom mode in the channels info. <a href="#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_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="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">SetCustomModeParam</a> (char mode, char *parameter, bool mode_on)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets or unsets the parameters for a custom mode in a channels info. <a href="#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#IsCustomModeSet_28char_20mode_29">IsCustomModeSet</a> (char mode)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a custom mode is set on a channel. <a href="#IsCustomModeSet_28char_20mode_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="classchanrec.html#GetModeParameter_28char_20mode_29">GetModeParameter</a> (char mode)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the parameter for a custom mode on a channel. <a href="#GetModeParameter_28char_20mode_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#GetUserCounter_28_29">GetUserCounter</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obtain the channel "user counter" This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks. <a href="#GetUserCounter_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="classchanrec.html#AddUser_28char_20_2Acastuser_29">AddUser</a> (char *castuser)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a user pointer to the internal reference list. <a href="#AddUser_28char_20_2Acastuser_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="classchanrec.html#DelUser_28char_20_2Acastuser_29">DelUser</a> (char *castuser)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a user pointer to the internal reference list. <a href="#DelUser_28char_20_2Acastuser_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; char * &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#GetUsers_28_29">GetUsers</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*. <a href="#GetUsers_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#chanrec_28_29">chanrec</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a channel record and initialises it with default values. <a href="#chanrec_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#_7Echanrec_28_29">~chanrec</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public 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="classchanrec.html#name_5BCHANMAX_5D">name</a> [CHANMAX]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The channels name. <a href="#name_5BCHANMAX_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a> [MAXMODES]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Custom modes for the channel. <a href="#custom_5Fmodes_5BMAXMODES_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; char * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!). <a href="#internal_5Fuserlist"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Channel topic. <a href="#topic_5BMAXBUF_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#created">created</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creation time. <a href="#created"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#topicset">topicset</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time topic was set. <a href="#topicset"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a> [NICKMAX]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The last user to set the topic. <a href="#setby_5BNICKMAX_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">short int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#limit">limit</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel user limit. <a href="#limit"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#key_5B_33_32_5D">key</a> [32]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains the channel key. <a href="#key_5B_33_32_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#binarymodes">binarymodes</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a bitmask of the CM_* builtin (RFC) binary mode symbols. <a href="#binarymodes"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="channels_8h.html#BanList">BanList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classchanrec.html#bans">bans</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The list of all bans set on the channel. <a href="#bans"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds all relevent information for a channel.
-<p>
-This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00103">103</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="chanrec_28_29"></a><!-- doxytag: member="chanrec::chanrec" ref="chanrec_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">chanrec::chanrec </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>
-Creates a channel record and initialises it with default values.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00073">73</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8h-source.html#l00147">binarymodes</a>, <a class="el" href="channels_8h-source.html#l00125">created</a>, <a class="el" href="channels_8h-source.html#l00112">custom_modes</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, <a class="el" href="channels_8h-source.html#l00143">key</a>, <a class="el" href="channels_8h-source.html#l00138">limit</a>, <a class="el" href="channels_8h-source.html#l00108">name</a>, <a class="el" href="channels_8h-source.html#l00133">setby</a>, <a class="el" href="channels_8h-source.html#l00122">topic</a>, and <a class="el" href="channels_8h-source.html#l00129">topicset</a>.<div class="fragment"><pre class="fragment"><a name="l00074"></a>00074 {
-<a name="l00075"></a>00075 strcpy(<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>,<span class="stringliteral">""</span>);
-<a name="l00076"></a>00076 strcpy(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,<span class="stringliteral">""</span>);
-<a name="l00077"></a>00077 strcpy(<a class="code" href="classchanrec.html#topic_5BMAXBUF_5D">topic</a>,<span class="stringliteral">""</span>);
-<a name="l00078"></a>00078 strcpy(<a class="code" href="classchanrec.html#setby_5BNICKMAX_5D">setby</a>,<span class="stringliteral">""</span>);
-<a name="l00079"></a>00079 strcpy(<a class="code" href="classchanrec.html#key_5B_33_32_5D">key</a>,<span class="stringliteral">""</span>);
-<a name="l00080"></a>00080 <a class="code" href="classchanrec.html#created">created</a> = <a class="code" href="classchanrec.html#topicset">topicset</a> = <a class="code" href="classchanrec.html#limit">limit</a> = 0;
-<a name="l00081"></a>00081 <a class="code" href="classchanrec.html#binarymodes">binarymodes</a> = 0;
-<a name="l00082"></a>00082 <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.clear();
-<a name="l00083"></a>00083 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7Echanrec_28_29"></a><!-- doxytag: member="chanrec::~chanrec" ref="_7Echanrec_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">virtual chanrec::~chanrec </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><code> [inline, virtual]</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="channels_8h-source.html#l00226">226</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<div class="fragment"><pre class="fragment"><a name="l00226"></a>00226 { <span class="comment">/* stub */</span> }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="AddUser_28char_20_2Acastuser_29"></a><!-- doxytag: member="chanrec::AddUser" ref="AddUser_28char_20_2Acastuser_29" args="(char *castuser)" --><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 chanrec::AddUser </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>castuser</em> </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>
-Add a user pointer to the internal reference list.
-<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>castuser</em>&nbsp;</td><td>This should be a pointer to a userrec, casted to char*</td></tr>
- </table>
-</dl>
-The data inserted into the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison.
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00166">166</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, and <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>.<div class="fragment"><pre class="fragment"><a name="l00167"></a>00167 {
-<a name="l00168"></a>00168 <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.push_back(castuser);
-<a name="l00169"></a>00169 <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">"Added casted user to channel's internal list"</span>);
-<a name="l00170"></a>00170 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DelUser_28char_20_2Acastuser_29"></a><!-- doxytag: member="chanrec::DelUser" ref="DelUser_28char_20_2Acastuser_29" args="(char *castuser)" --><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 chanrec::DelUser </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>castuser</em> </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>
-Delete a user pointer to the internal reference list.
-<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>castuser</em>&nbsp;</td><td>This should be a pointer to a userrec, casted to char*</td></tr>
- </table>
-</dl>
-The data removed from the reference list is a table as it is an arbitary pointer compared to other users by its memory address, as this is a very fast 32 or 64 bit integer comparison.
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00172">172</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="channels_8h-source.html#l00117">internal_userlist</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="channels_8h-source.html#l00108">name</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00173"></a>00173 {
-<a name="l00174"></a>00174 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator a = <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.begin(); a &lt; <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.end(); a++)
-<a name="l00175"></a>00175 {
-<a name="l00176"></a>00176 <span class="keywordflow">if</span> (*a == castuser)
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 <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">"Removed casted user from channel's internal list"</span>);
-<a name="l00179"></a>00179 <a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>.erase(a);
-<a name="l00180"></a>00180 <span class="keywordflow">return</span>;
-<a name="l00181"></a>00181 }
-<a name="l00182"></a>00182 }
-<a name="l00183"></a>00183 <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">"BUG BUG BUG! Attempt to remove an uncasted user from the internal list of %s!"</span>,<a class="code" href="classchanrec.html#name_5BCHANMAX_5D">name</a>);
-<a name="l00184"></a>00184 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetModeParameter_28char_20mode_29"></a><!-- doxytag: member="chanrec::GetModeParameter" ref="GetModeParameter_28char_20mode_29" args="(char mode)" --><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> chanrec::GetModeParameter </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>mode</em> </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 parameter for a custom mode on a channel.
-<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>mode</em>&nbsp;</td><td>The mode character you wish to query</td></tr>
- </table>
-</dl>
-For example if "+L #foo" is set, and you pass this method 'L', it will return 'foo'. If the mode is not set on the channel, or the mode has no parameters associated with it, it will return an empty string.<p>
-<dl compact><dt><b>Returns:</b></dt><dd>The parameter for this mode is returned, or an empty string</dd></dl>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00146">146</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8cpp-source.html#l00069">custom_mode_params</a>.<div class="fragment"><pre class="fragment"><a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
-<a name="l00149"></a>00149 {
-<a name="l00150"></a>00150 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
-<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-<a name="l00153"></a>00153 {
-<a name="l00154"></a>00154 <span class="keywordflow">return</span> i-&gt;parameter;
-<a name="l00155"></a>00155 }
-<a name="l00156"></a>00156 }
-<a name="l00157"></a>00157 }
-<a name="l00158"></a>00158 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00159"></a>00159 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetUserCounter_28_29"></a><!-- doxytag: member="chanrec::GetUserCounter" ref="GetUserCounter_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">long chanrec::GetUserCounter </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>
-Obtain the channel "user counter" This returns the channel reference counter, which is initialized to 0 when the channel is created and incremented/decremented upon joins, parts quits and kicks.
-<p>
-<dl compact><dt><b>Returns:</b></dt><dd>The number of users on this channel</dd></dl>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00161">161</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00162"></a>00162 {
-<a name="l00163"></a>00163 <span class="keywordflow">return</span> (this-&gt;internal_userlist.size());
-<a name="l00164"></a>00164 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetUsers_28_29"></a><!-- doxytag: member="chanrec::GetUsers" ref="GetUsers_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">std::vector&lt; char * &gt; * chanrec::GetUsers </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>
-Obrain the internal reference list The internal reference list contains a list of userrec* cast to char*.
-<p>
-These are used for rapid comparison to determine channel membership for PRIVMSG, NOTICE, QUIT, PART etc. The resulting pointer to the vector should be considered readonly and only modified via AddUser and DelUser.<p>
-<dl compact><dt><b>Returns:</b></dt><dd>This function returns a vector of userrec pointers, each of which has been casted to char* to prevent circular references</dd></dl>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00186">186</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</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#l00373">Server::GetUsers()</a>.<div class="fragment"><pre class="fragment"><a name="l00187"></a>00187 {
-<a name="l00188"></a>00188 <span class="keywordflow">return</span> &amp;<a class="code" href="classchanrec.html#internal_5Fuserlist">internal_userlist</a>;
-<a name="l00189"></a>00189 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="IsCustomModeSet_28char_20mode_29"></a><!-- doxytag: member="chanrec::IsCustomModeSet" ref="IsCustomModeSet_28char_20mode_29" args="(char mode)" --><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">bool chanrec::IsCustomModeSet </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>mode</em> </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 true if a custom mode is set on a channel.
-<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>mode</em>&nbsp;</td><td>The mode character you wish to query </td></tr>
- </table>
-</dl>
-<dl compact><dt><b>Returns:</b></dt><dd>True if the custom mode is set, false if otherwise</dd></dl>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00141">141</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <span class="keywordflow">return</span> (strchr(this-&gt;custom_modes,mode));
-<a name="l00144"></a>00144 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29"></a><!-- doxytag: member="chanrec::SetCustomMode" ref="SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29" args="(char mode, bool mode_on)" --><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 chanrec::SetCustomMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>mode</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>mode_on</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>
-Sets or unsets a custom mode in the channels info.
-<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>mode</em>&nbsp;</td><td>The mode character to set or unset </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>mode_on</em>&nbsp;</td><td>True if you want to set the mode or false if you want to remove it</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00085">85</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8h-source.html#l00112">custom_modes</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="channels_8cpp-source.html#l00110">SetCustomModeParam()</a>.<div class="fragment"><pre class="fragment"><a name="l00086"></a>00086 {
-<a name="l00087"></a>00087 <span class="keywordflow">if</span> (mode_on) {
-<a name="l00088"></a>00088 <span class="keyword">static</span> <span class="keywordtype">char</span> m[3];
-<a name="l00089"></a>00089 m[0] = mode;
-<a name="l00090"></a>00090 m[1] = <span class="charliteral">'\0'</span>;
-<a name="l00091"></a>00091 <span class="keywordflow">if</span> (!strchr(this-&gt;custom_modes,mode))
-<a name="l00092"></a>00092 {
-<a name="l00093"></a>00093 strlcat(<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>,m,MAXMODES);
-<a name="l00094"></a>00094 }
-<a name="l00095"></a>00095 <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">"Custom mode %c set"</span>,mode);
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097 <span class="keywordflow">else</span> {
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099 <a class="code" href="namespaceirc.html#string">std::string</a> a = this-&gt;<a class="code" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">custom_modes</a>;
-<a name="l00100"></a>00100 <span class="keywordtype">int</span> pos = a.find(mode);
-<a name="l00101"></a>00101 a.erase(pos,1);
-<a name="l00102"></a>00102 strncpy(this-&gt;custom_modes,a.c_str(),MAXMODES);
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104 <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">"Custom mode %c removed: modelist='%s'"</span>,mode,this-&gt;custom_modes);
-<a name="l00105"></a>00105 this-&gt;<a class="code" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">SetCustomModeParam</a>(mode,<span class="stringliteral">""</span>,<span class="keyword">false</span>);
-<a name="l00106"></a>00106 }
-<a name="l00107"></a>00107 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29"></a><!-- doxytag: member="chanrec::SetCustomModeParam" ref="SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29" args="(char mode, char *parameter, bool mode_on)" --><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 chanrec::SetCustomModeParam </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>mode</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>parameter</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>mode_on</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>
-Sets or unsets the parameters for a custom mode in a channels info.
-<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>mode</em>&nbsp;</td><td>The mode character to set or unset </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>parameter</em>&nbsp;</td><td>The parameter string to associate with this mode character </td></tr>
- <tr><td valign="top"></td><td valign="top"><em>mode_on</em>&nbsp;</td><td>True if you want to set the mode or false if you want to remove it</td></tr>
- </table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="channels_8cpp-source.html#l00110">110</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
-<p>
-References <a class="el" href="channels_8h-source.html#l00084">ModeParameter::channel</a>, <a class="el" href="channels_8cpp-source.html#l00069">custom_mode_params</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</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#l00082">ModeParameter::mode</a>, and <a class="el" href="channels_8h-source.html#l00083">ModeParameter::parameter</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00085">SetCustomMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00111"></a>00111 {
-<a name="l00112"></a>00112
-<a name="l00113"></a>00113 <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">"SetCustomModeParam called"</span>);
-<a name="l00114"></a>00114 <a class="code" href="classModeParameter.html">ModeParameter</a> M;
-<a name="l00115"></a>00115 M.<a class="code" href="classModeParameter.html#mode">mode</a> = mode;
-<a name="l00116"></a>00116 strlcpy(M.<a class="code" href="classModeParameter.html#channel_5BCHANMAX_5D">channel</a>,this-&gt;name,CHANMAX);
-<a name="l00117"></a>00117 strlcpy(M.<a class="code" href="classModeParameter.html#parameter_5BMAXBUF_5D">parameter</a>,parameter,MAXBUF);
-<a name="l00118"></a>00118 <span class="keywordflow">if</span> (mode_on)
-<a name="l00119"></a>00119 {
-<a name="l00120"></a>00120 <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">"Custom mode parameter %c %s added"</span>,mode,parameter);
-<a name="l00121"></a>00121 <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.push_back(M);
-<a name="l00122"></a>00122 }
-<a name="l00123"></a>00123 <span class="keywordflow">else</span>
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.size())
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <span class="keywordflow">for</span> (vector&lt;ModeParameter&gt;::iterator i = <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.begin(); i &lt; <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.end(); i++)
-<a name="l00128"></a>00128 {
-<a name="l00129"></a>00129 <span class="keywordflow">if</span> ((i-&gt;mode == mode) &amp;&amp; (!strcasecmp(this-&gt;name,i-&gt;channel)))
-<a name="l00130"></a>00130 {
-<a name="l00131"></a>00131 <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">"Custom mode parameter %c %s removed"</span>,mode,parameter);
-<a name="l00132"></a>00132 <a class="code" href="channels_8cpp.html#custom_5Fmode_5Fparams">custom_mode_params</a>.erase(i);
-<a name="l00133"></a>00133 <span class="keywordflow">return</span>;
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137 <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">"*** BUG *** Attempt to remove non-existent mode parameter!"</span>);
-<a name="l00138"></a>00138 }
-<a name="l00139"></a>00139 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="bans"></a><!-- doxytag: member="chanrec::bans" ref="bans" 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="channels_8h.html#BanList">BanList</a> <a class="el" href="classchanrec.html#bans">chanrec::bans</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The list of all bans set on the channel.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00151">151</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#l00194">add_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="binarymodes"></a><!-- doxytag: member="chanrec::binarymodes" ref="binarymodes" 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 <a class="el" href="classchanrec.html#binarymodes">chanrec::binarymodes</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Contains a bitmask of the CM_* builtin (RFC) binary mode symbols.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00147">147</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#l00194">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="created"></a><!-- doxytag: member="chanrec::created" ref="created" 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">time_t <a class="el" href="classchanrec.html#created">chanrec::created</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Creation time.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00125">125</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#l00073">chanrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="custom_5Fmodes_5BMAXMODES_5D"></a><!-- doxytag: member="chanrec::custom_modes" ref="custom_5Fmodes_5BMAXMODES_5D" args="[MAXMODES]" --><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="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">chanrec::custom_modes</a>[MAXMODES] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Custom modes for the channel.
-<p>
-Plugins may use this field in any way they see fit.
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00112">112</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#l00073">chanrec()</a>, and <a class="el" href="channels_8cpp-source.html#l00085">SetCustomMode()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="internal_5Fuserlist"></a><!-- doxytag: member="chanrec::internal_userlist" ref="internal_5Fuserlist" 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;char*&gt; <a class="el" href="classchanrec.html#internal_5Fuserlist">chanrec::internal_userlist</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-User list (casted to char*'s to stop forward declaration stuff) (chicken and egg scenario!).
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00117">117</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#l00166">AddUser()</a>, <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00172">DelUser()</a>, and <a class="el" href="channels_8cpp-source.html#l00186">GetUsers()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="key_5B_33_32_5D"></a><!-- doxytag: member="chanrec::key" ref="key_5B_33_32_5D" args="[32]" --><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="classchanrec.html#key_5B_33_32_5D">chanrec::key</a>[32] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Contains the channel key.
-<p>
-If this value is an empty string, there is no channel key in place.
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00143">143</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#l00194">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="limit"></a><!-- doxytag: member="chanrec::limit" ref="limit" 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">short int <a class="el" href="classchanrec.html#limit">chanrec::limit</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Contains the channel user limit.
-<p>
-If this value is zero, there is no limit in place.
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00138">138</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#l00194">add_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="name_5BCHANMAX_5D"></a><!-- doxytag: member="chanrec::name" ref="name_5BCHANMAX_5D" args="[CHANMAX]" --><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="classchanrec.html#name_5BCHANMAX_5D">chanrec::name</a>[CHANMAX] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The channels name.
-<p>
-
-<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#l00194">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00172">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#l00609">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>
-<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="classchanrec.html#setby_5BNICKMAX_5D">chanrec::setby</a>[NICKMAX] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The last user to set the topic.
-<p>
-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#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00609">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>
-<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="classchanrec.html#topic_5BMAXBUF_5D">chanrec::topic</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Channel topic.
-<p>
-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#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="topicset"></a><!-- doxytag: member="chanrec::topicset" ref="topicset" 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">time_t <a class="el" href="classchanrec.html#topicset">chanrec::topicset</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Time topic was set.
-<p>
-If no topic was ever set, this will be equal to <a class="el" href="classchanrec.html#created">chanrec::created</a>
-<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#l00073">chanrec()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, and <a class="el" href="modules_8cpp-source.html#l00609">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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classchanrec__coll__graph.gif b/docs/module-doc/classchanrec__coll__graph.gif
deleted file mode 100644
index 906eb0a7b..000000000
--- a/docs/module-doc/classchanrec__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classchanrec__coll__graph.map b/docs/module-doc/classchanrec__coll__graph.map
deleted file mode 100644
index de880759f..000000000
--- a/docs/module-doc/classchanrec__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classExtensible.html 68,204 151,231
-rect $classclassbase.html 68,97 148,124
diff --git a/docs/module-doc/classchanrec__coll__graph.md5 b/docs/module-doc/classchanrec__coll__graph.md5
deleted file mode 100644
index 39918d0c9..000000000
--- a/docs/module-doc/classchanrec__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-c0e1d49d19e3941fdfebb1c3d1c52727 \ No newline at end of file
diff --git a/docs/module-doc/classchanrec__inherit__graph.gif b/docs/module-doc/classchanrec__inherit__graph.gif
deleted file mode 100644
index 47c60cec1..000000000
--- a/docs/module-doc/classchanrec__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classchanrec__inherit__graph.map b/docs/module-doc/classchanrec__inherit__graph.map
deleted file mode 100644
index f8823aa1b..000000000
--- a/docs/module-doc/classchanrec__inherit__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classExtensible.html 7,81 89,108
-rect $classclassbase.html 8,7 88,33
diff --git a/docs/module-doc/classchanrec__inherit__graph.md5 b/docs/module-doc/classchanrec__inherit__graph.md5
deleted file mode 100644
index 49b9ccc27..000000000
--- a/docs/module-doc/classchanrec__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-9b119318df1cf9f708f4d7e96dbb9083 \ No newline at end of file
diff --git a/docs/module-doc/classclassbase-members.html b/docs/module-doc/classclassbase-members.html
deleted file mode 100644
index a0dc05c62..000000000
--- a/docs/module-doc/classclassbase-members.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!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>classbase Member List</h1>This is the complete list of members for <a class="el" href="classclassbase.html">classbase</a>, including all inherited members.<p><table>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classclassbase.html b/docs/module-doc/classclassbase.html
deleted file mode 100644
index d30459e0c..000000000
--- a/docs/module-doc/classclassbase.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!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: classbase 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>classbase Class Reference</h1><!-- doxytag: class="classbase" -->The base class for all inspircd classes.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="base_8h-source.html">base.h</a>&gt;</code>
-<p>
-Inheritance diagram for classbase:<p><center><img src="classclassbase__inherit__graph.gif" border="0" usemap="#classbase__inherit__map" alt="Inheritance graph"></center>
-<map name="classbase__inherit__map">
-<area href="classAdmin.html" shape="rect" coords="167,7,228,34" alt="">
-<area href="classConfigReader.html" shape="rect" coords="145,58,249,84" alt="">
-<area href="classConnectClass.html" shape="rect" coords="145,108,249,135" alt="">
-<area href="classExtensible.html" shape="rect" coords="156,159,239,186" alt="">
-<area href="classExtMode.html" shape="rect" coords="160,210,235,236" alt="">
-<area href="classFileReader.html" shape="rect" coords="153,260,241,287" alt="">
-<area href="classHostItem.html" shape="rect" coords="160,311,235,338" alt="">
-<area href="classInvited.html" shape="rect" coords="167,362,228,388" alt="">
-<area href="classModeParameter.html" shape="rect" coords="139,412,256,439" alt="">
-<area href="classModule.html" shape="rect" coords="164,463,231,490" alt="">
-<area href="classModuleFactory.html" shape="rect" coords="143,514,252,540" alt="">
-<area href="classModuleMessage.html" shape="rect" coords="137,564,257,591" alt="">
-<area href="classServer.html" shape="rect" coords="167,615,228,642" alt="">
-<area href="classServerConfig.html" shape="rect" coords="147,666,248,692" alt="">
-<area href="classucrec.html" shape="rect" coords="171,716,224,743" alt="">
-<area href="classVersion.html" shape="rect" coords="164,767,231,794" alt="">
-<area href="classXLine.html" shape="rect" coords="169,818,225,844" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for classbase:<p><center><img src="classclassbase__coll__graph.gif" border="0" usemap="#classbase__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classclassbase-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="classclassbase.html#classbase_28_29">classbase</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, Sets the object's time. <a href="#classbase_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclassbase.html#_7Eclassbase_28_29">~classbase</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclassbase.html#age">age</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time that the object was instantiated (used for TS calculation etc). <a href="#age"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The base class for all inspircd classes.
-<p>
-
-<p>
-Definition at line <a class="el" href="base_8h-source.html#l00030">30</a> of file <a class="el" href="base_8h-source.html">base.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="classbase_28_29"></a><!-- doxytag: member="classbase::classbase" ref="classbase_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">classbase::classbase </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><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Constructor, Sets the object's time.
-<p>
-
-<p>
-Definition at line <a class="el" href="base_8h-source.html#l00040">40</a> of file <a class="el" href="base_8h-source.html">base.h</a>.
-<p>
-References <a class="el" href="base_8h-source.html#l00035">age</a>.<div class="fragment"><pre class="fragment"><a name="l00040"></a>00040 { <a class="code" href="classclassbase.html#age">age</a> = time(NULL); }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7Eclassbase_28_29"></a><!-- doxytag: member="classbase::~classbase" ref="_7Eclassbase_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">classbase::~classbase </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><code> [inline]</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="base_8h-source.html#l00041">41</a> of file <a class="el" href="base_8h-source.html">base.h</a>.<div class="fragment"><pre class="fragment"><a name="l00041"></a>00041 { }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="age"></a><!-- doxytag: member="classbase::age" ref="age" 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">time_t <a class="el" href="classclassbase.html#age">classbase::age</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Time that the object was instantiated (used for TS calculation etc).
-<p>
-
-<p>
-Definition at line <a class="el" href="base_8h-source.html#l00035">35</a> of file <a class="el" href="base_8h-source.html">base.h</a>.
-<p>
-Referenced by <a class="el" href="base_8h-source.html#l00040">classbase()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classclassbase__coll__graph.gif b/docs/module-doc/classclassbase__coll__graph.gif
deleted file mode 100644
index b0d8ed452..000000000
--- a/docs/module-doc/classclassbase__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classclassbase__coll__graph.map b/docs/module-doc/classclassbase__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classclassbase__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classclassbase__coll__graph.md5 b/docs/module-doc/classclassbase__coll__graph.md5
deleted file mode 100644
index b4f319b22..000000000
--- a/docs/module-doc/classclassbase__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-619a64a1115cc48fd790f5e46cad7ebd \ No newline at end of file
diff --git a/docs/module-doc/classclassbase__inherit__graph.gif b/docs/module-doc/classclassbase__inherit__graph.gif
deleted file mode 100644
index 5f6fdd3fd..000000000
--- a/docs/module-doc/classclassbase__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classclassbase__inherit__graph.map b/docs/module-doc/classclassbase__inherit__graph.map
deleted file mode 100644
index 63be230b4..000000000
--- a/docs/module-doc/classclassbase__inherit__graph.map
+++ /dev/null
@@ -1,18 +0,0 @@
-base referer
-rect $classAdmin.html 167,7 228,34
-rect $classConfigReader.html 145,58 249,84
-rect $classConnectClass.html 145,108 249,135
-rect $classExtensible.html 156,159 239,186
-rect $classExtMode.html 160,210 235,236
-rect $classFileReader.html 153,260 241,287
-rect $classHostItem.html 160,311 235,338
-rect $classInvited.html 167,362 228,388
-rect $classModeParameter.html 139,412 256,439
-rect $classModule.html 164,463 231,490
-rect $classModuleFactory.html 143,514 252,540
-rect $classModuleMessage.html 137,564 257,591
-rect $classServer.html 167,615 228,642
-rect $classServerConfig.html 147,666 248,692
-rect $classucrec.html 171,716 224,743
-rect $classVersion.html 164,767 231,794
-rect $classXLine.html 169,818 225,844
diff --git a/docs/module-doc/classclassbase__inherit__graph.md5 b/docs/module-doc/classclassbase__inherit__graph.md5
deleted file mode 100644
index 90a8c0c47..000000000
--- a/docs/module-doc/classclassbase__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-a7cad757539041de468d74629f972ab7 \ No newline at end of file
diff --git a/docs/module-doc/classcommand__t-members.html b/docs/module-doc/classcommand__t-members.html
deleted file mode 100644
index 4f684cc11..000000000
--- a/docs/module-doc/classcommand__t-members.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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>command_t Member List</h1>This is the complete list of members for <a class="el" href="classcommand__t.html">command_t</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classcommand__t.html#command">command</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#command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29">command_t</a>(std::string cmd, char flags, int minpara)</td><td><a class="el" href="classcommand__t.html">command_t</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classcommand__t.html#flags_5Fneeded">flags_needed</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#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29_3D_30">Handle</a>(char **parameters, int pcnt, userrec *user)=0</td><td><a class="el" href="classcommand__t.html">command_t</a></td><td><code> [pure virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classcommand__t.html#min_5Fparams">min_params</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#source">source</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#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="classcommand__t.html#_7Ecommand_5Ft_28_29">~command_t</a>()</td><td><a class="el" href="classcommand__t.html">command_t</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classcommand__t.html b/docs/module-doc/classcommand__t.html
deleted file mode 100644
index 738c365c2..000000000
--- a/docs/module-doc/classcommand__t.html
+++ /dev/null
@@ -1,360 +0,0 @@
-<!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: command_t 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>command_t Class Reference</h1><!-- doxytag: class="command_t" -->A structure that defines a command.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="ctables_8h-source.html">ctables.h</a>&gt;</code>
-<p>
-Inheritance diagram for command_t:<p><center><img src="classcommand__t__inherit__graph.gif" border="0" usemap="#command__t__inherit__map" alt="Inheritance graph"></center>
-<map name="command__t__inherit__map">
-<area href="classcmd__mode.html" shape="rect" coords="8,82,96,108" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for command_t:<p><center><img src="classcommand__t__coll__graph.gif" border="0" usemap="#command__t__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classcommand__t-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="classcommand__t.html#command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29">command_t</a> (<a class="el" href="namespaceirc.html#string">std::string</a> cmd, char flags, int minpara)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcommand__t.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29_3D_30">Handle</a> (char **parameters, int pcnt, <a class="el" href="classuserrec.html">userrec</a> *user)=0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcommand__t.html#_7Ecommand_5Ft_28_29">~command_t</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</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="classcommand__t.html#command">command</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Command name. <a href="#command"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcommand__t.html#flags_5Fneeded">flags_needed</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User flags needed to execute the command or 0. <a href="#flags_5Fneeded"></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="classcommand__t.html#min_5Fparams">min_params</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Minimum number of parameters command takes. <a href="#min_5Fparams"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcommand__t.html#use_5Fcount">use_count</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">used by /stats m <a href="#use_5Fcount"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcommand__t.html#total_5Fbytes">total_bytes</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">used by /stats m <a href="#total_5Fbytes"></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="classcommand__t.html#source">source</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">used for resource tracking between modules <a href="#source"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-A structure that defines a command.
-<p>
-
-<p>
-Definition at line <a class="el" href="ctables_8h-source.html#l00029">29</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29"></a><!-- doxytag: member="command_t::command_t" ref="command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29" args="(std::string cmd, char flags, int minpara)" --><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">command_t::command_t </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>cmd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>flags</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>minpara</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [inline]</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="ctables_8h-source.html#l00051">51</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>.
-<p>
-References <a class="el" href="ctables_8h-source.html#l00049">source</a>, <a class="el" href="ctables_8h-source.html#l00046">total_bytes</a>, and <a class="el" href="ctables_8h-source.html#l00043">use_count</a>.<div class="fragment"><pre class="fragment"><a name="l00051"></a>00051 : <a class="code" href="classcommand__t.html#command">command</a>(cmd), <a class="code" href="classcommand__t.html#flags_5Fneeded">flags_needed</a>(flags), <a class="code" href="classcommand__t.html#min_5Fparams">min_params</a>(minpara)
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 <a class="code" href="classcommand__t.html#use_5Fcount">use_count</a> = <a class="code" href="classcommand__t.html#total_5Fbytes">total_bytes</a> = 0;
-<a name="l00054"></a>00054 <a class="code" href="classcommand__t.html#source">source</a> = <span class="stringliteral">"&lt;core&gt;"</span>;
-<a name="l00055"></a>00055 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7Ecommand_5Ft_28_29"></a><!-- doxytag: member="command_t::~command_t" ref="_7Ecommand_5Ft_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">virtual command_t::~command_t </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><code> [inline, virtual]</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="ctables_8h-source.html#l00059">59</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>.<div class="fragment"><pre class="fragment"><a name="l00059"></a>00059 {}
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29_3D_30"></a><!-- doxytag: member="command_t::Handle" ref="Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29_3D_30" args="(char **parameters, int pcnt, userrec *user)=0" --><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">virtual void command_t::Handle </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char **&nbsp;</td>
- <td class="mdname" nowrap> <em>parameters</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>pcnt</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [pure virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-
-<p>
-Implemented in <a class="el" href="classcmd__mode.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">cmd_mode</a>. </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="command"></a><!-- doxytag: member="command_t::command" ref="command" 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="classcommand__t.html#command">command_t::command</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Command name.
-<p>
-
-<p>
-Definition at line <a class="el" href="ctables_8h-source.html#l00034">34</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="flags_5Fneeded"></a><!-- doxytag: member="command_t::flags_needed" ref="flags_5Fneeded" 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 <a class="el" href="classcommand__t.html#flags_5Fneeded">command_t::flags_needed</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-User flags needed to execute the command or 0.
-<p>
-
-<p>
-Definition at line <a class="el" href="ctables_8h-source.html#l00037">37</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="min_5Fparams"></a><!-- doxytag: member="command_t::min_params" ref="min_5Fparams" 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 <a class="el" href="classcommand__t.html#min_5Fparams">command_t::min_params</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Minimum number of parameters command takes.
-<p>
-
-<p>
-Definition at line <a class="el" href="ctables_8h-source.html#l00040">40</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="source"></a><!-- doxytag: member="command_t::source" ref="source" 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="classcommand__t.html#source">command_t::source</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-used for resource tracking between modules
-<p>
-
-<p>
-Definition at line <a class="el" href="ctables_8h-source.html#l00049">49</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>.
-<p>
-Referenced by <a class="el" href="ctables_8h-source.html#l00051">command_t()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="total_5Fbytes"></a><!-- doxytag: member="command_t::total_bytes" ref="total_5Fbytes" 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">long <a class="el" href="classcommand__t.html#total_5Fbytes">command_t::total_bytes</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-used by /stats m
-<p>
-
-<p>
-Definition at line <a class="el" href="ctables_8h-source.html#l00046">46</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>.
-<p>
-Referenced by <a class="el" href="ctables_8h-source.html#l00051">command_t()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="use_5Fcount"></a><!-- doxytag: member="command_t::use_count" ref="use_5Fcount" 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">long <a class="el" href="classcommand__t.html#use_5Fcount">command_t::use_count</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-used by /stats m
-<p>
-
-<p>
-Definition at line <a class="el" href="ctables_8h-source.html#l00043">43</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>.
-<p>
-Referenced by <a class="el" href="ctables_8h-source.html#l00051">command_t()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classcommand__t__coll__graph.gif b/docs/module-doc/classcommand__t__coll__graph.gif
deleted file mode 100644
index 24aec3470..000000000
--- a/docs/module-doc/classcommand__t__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classcommand__t__coll__graph.map b/docs/module-doc/classcommand__t__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classcommand__t__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classcommand__t__coll__graph.md5 b/docs/module-doc/classcommand__t__coll__graph.md5
deleted file mode 100644
index 0ef3d64e9..000000000
--- a/docs/module-doc/classcommand__t__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-a870a1a889c9b48d45ed8d3fe3dde1c9 \ No newline at end of file
diff --git a/docs/module-doc/classcommand__t__inherit__graph.gif b/docs/module-doc/classcommand__t__inherit__graph.gif
deleted file mode 100644
index c5945effd..000000000
--- a/docs/module-doc/classcommand__t__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classcommand__t__inherit__graph.map b/docs/module-doc/classcommand__t__inherit__graph.map
deleted file mode 100644
index 7c32f56f5..000000000
--- a/docs/module-doc/classcommand__t__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classcmd__mode.html 8,82 96,108
diff --git a/docs/module-doc/classcommand__t__inherit__graph.md5 b/docs/module-doc/classcommand__t__inherit__graph.md5
deleted file mode 100644
index f6a379e71..000000000
--- a/docs/module-doc/classcommand__t__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-561f8c00e2c3919b70cd1ad50528624f \ No newline at end of file
diff --git a/docs/module-doc/classconnection-members.html b/docs/module-doc/classconnection-members.html
deleted file mode 100644
index 2a12401d9..000000000
--- a/docs/module-doc/classconnection-members.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!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>connection Member List</h1>This is the complete list of members for <a class="el" href="classconnection.html">connection</a>, including all inherited members.<p><table>
- <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="classconnection.html#bytes_5Fin">bytes_in</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#bytes_5Fout">bytes_out</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#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="classconnection.html#cmds_5Fin">cmds_in</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#cmds_5Fout">cmds_out</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#connection_28_29">connection</a>()</td><td><a class="el" href="classconnection.html">connection</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extend</a>(std::string key, char *p)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#fd">fd</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">GetExt</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="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="classconnection.html#haspassed">haspassed</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#host_5B_31_36_30_5D">host</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#ip_5B_31_36_5D">ip</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#lastping">lastping</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#nping">nping</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#port">port</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#registered">registered</a></td><td><a class="el" href="classconnection.html">connection</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="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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html
deleted file mode 100644
index ad5e9ef6a..000000000
--- a/docs/module-doc/classconnection.html
+++ /dev/null
@@ -1,531 +0,0 @@
-<!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: connection 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>connection Class Reference</h1><!-- doxytag: class="connection" --><!-- doxytag: inherits="Extensible" -->Please note: classes serverrec and userrec both inherit from class connection.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="connection_8h-source.html">connection.h</a>&gt;</code>
-<p>
-Inheritance diagram for connection:<p><center><img src="classconnection__inherit__graph.gif" border="0" usemap="#connection__inherit__map" alt="Inheritance graph"></center>
-<map name="connection__inherit__map">
-<area href="classuserrec.html" shape="rect" coords="16,231,83,257" alt="">
-<area href="classExtensible.html" shape="rect" coords="8,81,91,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="10,7,90,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for connection:<p><center><img src="classconnection__coll__graph.gif" border="0" usemap="#connection__coll__map" alt="Collaboration graph"></center>
-<map name="connection__coll__map">
-<area href="classExtensible.html" shape="rect" coords="86,236,168,263" alt="">
-<area href="classclassbase.html" shape="rect" coords="68,97,148,124" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classconnection-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="classconnection.html#connection_28_29">connection</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. <a href="#connection_28_29"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#fd">fd</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">File descriptor of the connection. <a href="#fd"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#host_5B_31_36_30_5D">host</a> [160]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hostname of connection. <a href="#host_5B_31_36_30_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#ip_5B_31_36_5D">ip</a> [16]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">IP of connection. <a href="#ip_5B_31_36_5D"></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="classconnection.html#bytes_5Fin">bytes_in</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stats counter for bytes inbound. <a href="#bytes_5Fin"></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="classconnection.html#bytes_5Fout">bytes_out</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stats counter for bytes outbound. <a href="#bytes_5Fout"></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="classconnection.html#cmds_5Fin">cmds_in</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stats counter for commands inbound. <a href="#cmds_5Fin"></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="classconnection.html#cmds_5Fout">cmds_out</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stats counter for commands outbound. <a href="#cmds_5Fout"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#haspassed">haspassed</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True if server/user has authenticated, false if otherwise. <a href="#haspassed"></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="classconnection.html#port">port</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Port number For a userrec, this is the port they connected to the network on. <a href="#port"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#registered">registered</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by userrec to indicate the registration status of the connection. <a href="#registered"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#lastping">lastping</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time the connection was last pinged. <a href="#lastping"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#signon">signon</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time the connection was created, set in the constructor. <a href="#signon"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Time that the connection last sent data, used to calculate idle time. <a href="#idle_5Flastmsg"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classconnection.html#nping">nping</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by PING checks with clients. <a href="#nping"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Please note: classes serverrec and userrec both inherit from class connection.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00037">37</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="connection_28_29"></a><!-- doxytag: member="connection::connection" ref="connection_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">connection::connection </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><code> [inline]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Default constructor.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00100">100</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
-<p>
-References <a class="el" href="connection_8h-source.html#l00042">fd</a>.<div class="fragment"><pre class="fragment"><a name="l00101"></a>00101 {
-<a name="l00102"></a>00102 this-&gt;<a class="code" href="classconnection.html#fd">fd</a> = -1;
-<a name="l00103"></a>00103 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="bytes_5Fin"></a><!-- doxytag: member="connection::bytes_in" ref="bytes_5Fin" 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 <a class="el" href="classconnection.html#bytes_5Fin">connection::bytes_in</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Stats counter for bytes inbound.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00054">54</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#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="bytes_5Fout"></a><!-- doxytag: member="connection::bytes_out" ref="bytes_5Fout" 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 <a class="el" href="classconnection.html#bytes_5Fout">connection::bytes_out</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Stats counter for bytes outbound.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00058">58</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#l00295">userrec::FlushWriteBuf()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="cmds_5Fin"></a><!-- doxytag: member="connection::cmds_in" ref="cmds_5Fin" 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 <a class="el" href="classconnection.html#cmds_5Fin">connection::cmds_in</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Stats counter for commands inbound.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00062">62</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#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="cmds_5Fout"></a><!-- doxytag: member="connection::cmds_out" ref="cmds_5Fout" 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 <a class="el" href="classconnection.html#cmds_5Fout">connection::cmds_out</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Stats counter for commands outbound.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00066">66</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#l00295">userrec::FlushWriteBuf()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="fd"></a><!-- doxytag: member="connection::fd" ref="fd" 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 <a class="el" href="classconnection.html#fd">connection::fd</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-File descriptor of the connection.
-<p>
-
-<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#l00194">add_channel()</a>, <a class="el" href="connection_8h-source.html#l00100">connection()</a>, <a class="el" href="modules_8cpp-source.html#l00834">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, <a class="el" href="modules_8cpp-source.html#l00440">Server::SendTo()</a>, <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">Server::UserToPseudo()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="haspassed"></a><!-- doxytag: member="connection::haspassed" ref="haspassed" 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">bool <a class="el" href="classconnection.html#haspassed">connection::haspassed</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-True if server/user has authenticated, false if otherwise.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00070">70</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#l00647">FullConnectUser()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="host_5B_31_36_30_5D"></a><!-- doxytag: member="connection::host" ref="host_5B_31_36_30_5D" args="[160]" --><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="classconnection.html#host_5B_31_36_30_5D">connection::host</a>[160] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Hostname of connection.
-<p>
-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#l00471">AddWhoWas()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="users_8cpp-source.html#l00116">userrec::GetFullRealHost()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">Server::UserToPseudo()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="idle_5Flastmsg"></a><!-- doxytag: member="connection::idle_lastmsg" ref="idle_5Flastmsg" 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">time_t <a class="el" href="classconnection.html#idle_5Flastmsg">connection::idle_lastmsg</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Time that the connection last sent data, used to calculate idle time.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00092">92</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#l00647">FullConnectUser()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ip_5B_31_36_5D"></a><!-- doxytag: member="connection::ip" ref="ip_5B_31_36_5D" args="[16]" --><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="classconnection.html#ip_5B_31_36_5D">connection::ip</a>[16] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-IP of connection.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00050">50</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#l00647">FullConnectUser()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="lastping"></a><!-- doxytag: member="connection::lastping" ref="lastping" 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">time_t <a class="el" href="classconnection.html#lastping">connection::lastping</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Time the connection was last pinged.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00084">84</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#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="nping"></a><!-- doxytag: member="connection::nping" ref="nping" 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">time_t <a class="el" href="classconnection.html#nping">connection::nping</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used by PING checks with clients.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00096">96</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#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="port"></a><!-- doxytag: member="connection::port" ref="port" 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 <a class="el" href="classconnection.html#port">connection::port</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Port number For a userrec, this is the port they connected to the network on.
-<p>
-For a serverrec this is the current listening port of the serverrec object.
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00076">76</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#l00647">FullConnectUser()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="registered"></a><!-- doxytag: member="connection::registered" ref="registered" 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 <a class="el" href="classconnection.html#registered">connection::registered</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used by userrec to indicate the registration status of the connection.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00080">80</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#l00731">ConnectUser()</a>, <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="signon"></a><!-- doxytag: member="connection::signon" ref="signon" 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">time_t <a class="el" href="classconnection.html#signon">connection::signon</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Time the connection was created, set in the constructor.
-<p>
-
-<p>
-Definition at line <a class="el" href="connection_8h-source.html#l00088">88</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#l00471">AddWhoWas()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classconnection__coll__graph.gif b/docs/module-doc/classconnection__coll__graph.gif
deleted file mode 100644
index a6b5a6bec..000000000
--- a/docs/module-doc/classconnection__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classconnection__coll__graph.map b/docs/module-doc/classconnection__coll__graph.map
deleted file mode 100644
index 75c36a9e9..000000000
--- a/docs/module-doc/classconnection__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classExtensible.html 86,236 168,263
-rect $classclassbase.html 68,97 148,124
diff --git a/docs/module-doc/classconnection__coll__graph.md5 b/docs/module-doc/classconnection__coll__graph.md5
deleted file mode 100644
index d87f68626..000000000
--- a/docs/module-doc/classconnection__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-f35feb2763df91938dc9b523e5feded3 \ No newline at end of file
diff --git a/docs/module-doc/classconnection__inherit__graph.gif b/docs/module-doc/classconnection__inherit__graph.gif
deleted file mode 100644
index 846cdf38c..000000000
--- a/docs/module-doc/classconnection__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classconnection__inherit__graph.map b/docs/module-doc/classconnection__inherit__graph.map
deleted file mode 100644
index 0eaacf386..000000000
--- a/docs/module-doc/classconnection__inherit__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $classuserrec.html 16,231 83,257
-rect $classExtensible.html 8,81 91,108
-rect $classclassbase.html 10,7 90,33
diff --git a/docs/module-doc/classconnection__inherit__graph.md5 b/docs/module-doc/classconnection__inherit__graph.md5
deleted file mode 100644
index 1234dd82a..000000000
--- a/docs/module-doc/classconnection__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-3199229d3dcf3119d7eac4a7ce792577 \ No newline at end of file
diff --git a/docs/module-doc/classes.html b/docs/module-doc/classes.html
deleted file mode 100644
index 39c542037..000000000
--- a/docs/module-doc/classes.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!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: Alphabetical 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="qindexHL" 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 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 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></tr><tr><td><a class="el" href="classAdmin.html">Admin</a>&nbsp;&nbsp;&nbsp;</td><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><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="classAES.html">AES</a>&nbsp;&nbsp;&nbsp;</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 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 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="classModeParser.html">ModeParser</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="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 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="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="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 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 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="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 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="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 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="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 class="el" href="classWhoWasUser.html">WhoWasUser</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classcmd__mode.html">cmd_mode</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 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="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 class="el" href="classXLine.html">XLine</a>&nbsp;&nbsp;&nbsp;</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 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="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 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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classserverstats-members.html b/docs/module-doc/classserverstats-members.html
deleted file mode 100644
index b2d74015c..000000000
--- a/docs/module-doc/classserverstats-members.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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>serverstats Member List</h1>This is the complete list of members for <a class="el" href="classserverstats.html">serverstats</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classserverstats.html#BoundPortCount">BoundPortCount</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#serverstats_28_29">serverstats</a>()</td><td><a class="el" href="classserverstats.html">serverstats</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classserverstats.html#statsAccept">statsAccept</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#statsCollisions">statsCollisions</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#statsConnects">statsConnects</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#statsDns">statsDns</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#statsDnsBad">statsDnsBad</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#statsDnsGood">statsDnsGood</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#statsRecv">statsRecv</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#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 Mon Dec 19 18:05:23 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/classserverstats.html b/docs/module-doc/classserverstats.html
deleted file mode 100644
index ab43c25c0..000000000
--- a/docs/module-doc/classserverstats.html
+++ /dev/null
@@ -1,389 +0,0 @@
-<!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: serverstats 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>serverstats Class Reference</h1><!-- doxytag: class="serverstats" --><code>#include &lt;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&gt;</code>
-<p>
-Collaboration diagram for serverstats:<p><center><img src="classserverstats__coll__graph.gif" border="0" usemap="#serverstats__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classserverstats-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="classserverstats.html#serverstats_28_29">serverstats</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsAccept">statsAccept</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsRefused">statsRefused</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsUnknown">statsUnknown</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsCollisions">statsCollisions</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsDns">statsDns</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsDnsGood">statsDnsGood</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsDnsBad">statsDnsBad</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsConnects">statsConnects</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsSent">statsSent</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#statsRecv">statsRecv</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classserverstats.html#BoundPortCount">BoundPortCount</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd_8h-source.html#l00074">74</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="serverstats_28_29"></a><!-- doxytag: member="serverstats::serverstats" ref="serverstats_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">serverstats::serverstats </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><code> [inline]</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#l00089">89</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-References <a class="el" href="inspircd_8h-source.html#l00087">BoundPortCount</a>, <a class="el" href="inspircd_8h-source.html#l00077">statsAccept</a>, <a class="el" href="inspircd_8h-source.html#l00080">statsCollisions</a>, <a class="el" href="inspircd_8h-source.html#l00084">statsConnects</a>, <a class="el" href="inspircd_8h-source.html#l00081">statsDns</a>, <a class="el" href="inspircd_8h-source.html#l00083">statsDnsBad</a>, <a class="el" href="inspircd_8h-source.html#l00082">statsDnsGood</a>, <a class="el" href="inspircd_8h-source.html#l00086">statsRecv</a>, <a class="el" href="inspircd_8h-source.html#l00078">statsRefused</a>, <a class="el" href="inspircd_8h-source.html#l00085">statsSent</a>, and <a class="el" href="inspircd_8h-source.html#l00079">statsUnknown</a>.<div class="fragment"><pre class="fragment"><a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <a class="code" href="classserverstats.html#statsAccept">statsAccept</a> = <a class="code" href="classserverstats.html#statsRefused">statsRefused</a> = <a class="code" href="classserverstats.html#statsUnknown">statsUnknown</a> = 0;
-<a name="l00092"></a>00092 <a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a> = <a class="code" href="classserverstats.html#statsDns">statsDns</a> = <a class="code" href="classserverstats.html#statsDnsGood">statsDnsGood</a> = 0;
-<a name="l00093"></a>00093 <a class="code" href="classserverstats.html#statsDnsBad">statsDnsBad</a> = <a class="code" href="classserverstats.html#statsConnects">statsConnects</a> = <a class="code" href="classserverstats.html#statsSent">statsSent</a> = <a class="code" href="classserverstats.html#statsRecv">statsRecv</a> = 0;
-<a name="l00094"></a>00094 <a class="code" href="classserverstats.html#BoundPortCount">BoundPortCount</a> = 0;
-<a name="l00095"></a>00095 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="BoundPortCount"></a><!-- doxytag: member="serverstats::BoundPortCount" ref="BoundPortCount" 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 <a class="el" href="classserverstats.html#BoundPortCount">serverstats::BoundPortCount</a> </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#l00087">87</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsAccept"></a><!-- doxytag: member="serverstats::statsAccept" ref="statsAccept" 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 <a class="el" href="classserverstats.html#statsAccept">serverstats::statsAccept</a> </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#l00077">77</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsCollisions"></a><!-- doxytag: member="serverstats::statsCollisions" ref="statsCollisions" 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 <a class="el" href="classserverstats.html#statsCollisions">serverstats::statsCollisions</a> </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#l00080">80</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>, and <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsConnects"></a><!-- doxytag: member="serverstats::statsConnects" ref="statsConnects" 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 <a class="el" href="classserverstats.html#statsConnects">serverstats::statsConnects</a> </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#l00084">84</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, and <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsDns"></a><!-- doxytag: member="serverstats::statsDns" ref="statsDns" 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 <a class="el" href="classserverstats.html#statsDns">serverstats::statsDns</a> </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#l00081">81</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsDnsBad"></a><!-- doxytag: member="serverstats::statsDnsBad" ref="statsDnsBad" 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 <a class="el" href="classserverstats.html#statsDnsBad">serverstats::statsDnsBad</a> </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#l00083">83</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsDnsGood"></a><!-- doxytag: member="serverstats::statsDnsGood" ref="statsDnsGood" 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 <a class="el" href="classserverstats.html#statsDnsGood">serverstats::statsDnsGood</a> </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#l00082">82</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsRecv"></a><!-- doxytag: member="serverstats::statsRecv" ref="statsRecv" 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 <a class="el" href="classserverstats.html#statsRecv">serverstats::statsRecv</a> </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#l00086">86</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsRefused"></a><!-- doxytag: member="serverstats::statsRefused" ref="statsRefused" 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 <a class="el" href="classserverstats.html#statsRefused">serverstats::statsRefused</a> </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#l00078">78</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsSent"></a><!-- doxytag: member="serverstats::statsSent" ref="statsSent" 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 <a class="el" href="classserverstats.html#statsSent">serverstats::statsSent</a> </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#l00085">85</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="statsUnknown"></a><!-- doxytag: member="serverstats::statsUnknown" ref="statsUnknown" 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 <a class="el" href="classserverstats.html#statsUnknown">serverstats::statsUnknown</a> </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#l00079">79</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="inspircd_8h-source.html#l00089">serverstats()</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 Mon Dec 19 18:05:23 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/classserverstats__coll__graph.gif b/docs/module-doc/classserverstats__coll__graph.gif
deleted file mode 100644
index 337b49865..000000000
--- a/docs/module-doc/classserverstats__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classserverstats__coll__graph.map b/docs/module-doc/classserverstats__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/classserverstats__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/classserverstats__coll__graph.md5 b/docs/module-doc/classserverstats__coll__graph.md5
deleted file mode 100644
index bdc97b9ee..000000000
--- a/docs/module-doc/classserverstats__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-fdefe64364c509e2b3a4a66fc7ca77f1 \ No newline at end of file
diff --git a/docs/module-doc/classstd_1_1char__traits.html b/docs/module-doc/classstd_1_1char__traits.html
deleted file mode 100644
index b6ad27a35..000000000
--- a/docs/module-doc/classstd_1_1char__traits.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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: char_traits 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>char_traits Class Reference</h1><!-- doxytag: class="std::char_traits" -->Inheritance diagram for char_traits:<p><center><img src="classstd_1_1char__traits__inherit__graph.gif" border="0" usemap="#char__traits__inherit__map" alt="Inheritance graph"></center>
-<map name="char__traits__inherit__map">
-<area href="structirc_1_1irc__char__traits.html" shape="rect" coords="7,82,185,108" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/classstd_1_1char__traits__inherit__graph.gif b/docs/module-doc/classstd_1_1char__traits__inherit__graph.gif
deleted file mode 100644
index 5928e8485..000000000
--- a/docs/module-doc/classstd_1_1char__traits__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classstd_1_1char__traits__inherit__graph.map b/docs/module-doc/classstd_1_1char__traits__inherit__graph.map
deleted file mode 100644
index 4f58100de..000000000
--- a/docs/module-doc/classstd_1_1char__traits__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $structirc_1_1irc__char__traits.html 7,82 185,108
diff --git a/docs/module-doc/classstd_1_1char__traits__inherit__graph.md5 b/docs/module-doc/classstd_1_1char__traits__inherit__graph.md5
deleted file mode 100644
index f839e280c..000000000
--- a/docs/module-doc/classstd_1_1char__traits__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-fb053a0129941b003b2a9b44035051d6 \ No newline at end of file
diff --git a/docs/module-doc/classucrec-members.html b/docs/module-doc/classucrec-members.html
deleted file mode 100644
index 7176c1b3a..000000000
--- a/docs/module-doc/classucrec-members.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!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>ucrec Member List</h1>This is the complete list of members for <a class="el" href="classucrec.html">ucrec</a>, including all inherited members.<p><table>
- <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="classucrec.html#channel">channel</a></td><td><a class="el" href="classucrec.html">ucrec</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="classucrec.html#uc_5Fmodes">uc_modes</a></td><td><a class="el" href="classucrec.html">ucrec</a></td><td></td></tr>
- <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 Mon Dec 19 18:05:23 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/classucrec.html b/docs/module-doc/classucrec.html
deleted file mode 100644
index d9fdf47e7..000000000
--- a/docs/module-doc/classucrec.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<!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: ucrec 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>ucrec Class Reference</h1><!-- doxytag: class="ucrec" --><!-- doxytag: inherits="classbase" -->Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="channels_8h-source.html">channels.h</a>&gt;</code>
-<p>
-Inheritance diagram for ucrec:<p><center><img src="classucrec__inherit__graph.gif" border="0" usemap="#ucrec__inherit__map" alt="Inheritance graph"></center>
-<map name="ucrec__inherit__map">
-<area href="classclassbase.html" shape="rect" coords="7,7,87,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for ucrec:<p><center><img src="classucrec__coll__graph.gif" border="0" usemap="#ucrec__coll__map" alt="Collaboration graph"></center>
-<map name="ucrec__coll__map">
-<area href="classclassbase.html" shape="rect" coords="7,177,87,204" alt="">
-<area href="classchanrec.html" shape="rect" coords="221,177,291,204" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classucrec-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="classucrec.html#ucrec_28_29">ucrec</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classucrec.html#_7Eucrec_28_29">~ucrec</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public 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="classucrec.html#uc_5Fmodes">uc_modes</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Contains a bitmask of the UCMODE_OP . <a href="#uc_5Fmodes"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classucrec.html#channel">channel</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Points to the channel record where the given modes apply. <a href="#channel"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds a user's modes on a channel This class associates a users privilages with a channel by creating a pointer link between a userrec and chanrec class.
-<p>
-The uc_modes member holds a bitmask of which privilages the user has on the channel, such as op, voice, etc.
-<p>
-
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00243">243</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="ucrec_28_29"></a><!-- doxytag: member="ucrec::ucrec" ref="ucrec_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">ucrec::ucrec </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><code> [inline]</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="channels_8h-source.html#l00256">256</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<div class="fragment"><pre class="fragment"><a name="l00256"></a>00256 { <span class="comment">/* stub */</span> }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7Eucrec_28_29"></a><!-- doxytag: member="ucrec::~ucrec" ref="_7Eucrec_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">virtual ucrec::~ucrec </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><code> [inline, virtual]</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="channels_8h-source.html#l00257">257</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<div class="fragment"><pre class="fragment"><a name="l00257"></a>00257 { <span class="comment">/* stub */</span> }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="channel"></a><!-- doxytag: member="ucrec::channel" ref="channel" 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="classchanrec.html">chanrec</a>* <a class="el" href="classucrec.html#channel">ucrec::channel</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Points to the channel record where the given modes apply.
-<p>
-If the record is not in use, this value will be NULL.
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00254">254</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, and <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="uc_5Fmodes"></a><!-- doxytag: member="ucrec::uc_modes" ref="uc_5Fmodes" 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 <a class="el" href="classucrec.html#uc_5Fmodes">ucrec::uc_modes</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Contains a bitmask of the UCMODE_OP .
-<p>
-.. UCMODE_FOUNDER values. If this value is zero, the user has no privilages upon the channel.
-<p>
-Definition at line <a class="el" href="channels_8h-source.html#l00249">249</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, and <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:23 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/classucrec__coll__graph.gif b/docs/module-doc/classucrec__coll__graph.gif
deleted file mode 100644
index e932389b2..000000000
--- a/docs/module-doc/classucrec__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classucrec__coll__graph.map b/docs/module-doc/classucrec__coll__graph.map
deleted file mode 100644
index af737e7f3..000000000
--- a/docs/module-doc/classucrec__coll__graph.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classclassbase.html 7,177 87,204
-rect $classchanrec.html 221,177 291,204
diff --git a/docs/module-doc/classucrec__coll__graph.md5 b/docs/module-doc/classucrec__coll__graph.md5
deleted file mode 100644
index 7e9e941c2..000000000
--- a/docs/module-doc/classucrec__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-706c63fd96074c4a0518e46eb7b6b76a \ No newline at end of file
diff --git a/docs/module-doc/classucrec__inherit__graph.gif b/docs/module-doc/classucrec__inherit__graph.gif
deleted file mode 100644
index 8cafd8f8a..000000000
--- a/docs/module-doc/classucrec__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classucrec__inherit__graph.map b/docs/module-doc/classucrec__inherit__graph.map
deleted file mode 100644
index 8b1d85be3..000000000
--- a/docs/module-doc/classucrec__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classclassbase.html 7,7 87,34
diff --git a/docs/module-doc/classucrec__inherit__graph.md5 b/docs/module-doc/classucrec__inherit__graph.md5
deleted file mode 100644
index 6e04d789d..000000000
--- a/docs/module-doc/classucrec__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-2b8403e912c911fe8172382e6f43f2ea \ No newline at end of file
diff --git a/docs/module-doc/classuserrec-members.html b/docs/module-doc/classuserrec-members.html
deleted file mode 100644
index c1bcdc08e..000000000
--- a/docs/module-doc/classuserrec-members.html
+++ /dev/null
@@ -1,77 +0,0 @@
-<!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>userrec Member List</h1>This is the complete list of members for <a class="el" href="classuserrec.html">userrec</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#AddBuffer_28std_3A_3Astring_20a_29">AddBuffer</a>(std::string a)</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#AddWriteBuf_28std_3A_3Astring_20data_29">AddWriteBuf</a>(std::string data)</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <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="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">awaymsg</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#BufferIsReady_28_29">BufferIsReady</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#bytes_5Fin">bytes_in</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#bytes_5Fout">bytes_out</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#chans">chans</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#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="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#cmds_5Fin">cmds_in</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#cmds_5Fout">cmds_out</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#connection_28_29">connection</a>()</td><td><a class="el" href="classconnection.html">connection</a></td><td><code> [inline]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#dns_5Fdone">dns_done</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#Extend_28std_3A_3Astring_20key_2C_20char_20_2Ap_29">Extend</a>(std::string key, char *p)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#fd">fd</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#flood">flood</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#GetBuffer_28_29">GetBuffer</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">GetExt</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="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="classuserrec.html#GetFullHost_28_29">GetFullHost</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#GetFullRealHost_28_29">GetFullRealHost</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#GetInviteList_28_29">GetInviteList</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#GetWriteError_28_29">GetWriteError</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#haspassed">haspassed</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#HasPermission_28std_3A_3Astring_20_26command_29">HasPermission</a>(std::string &amp;command)</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#host_5B_31_36_30_5D">host</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#invites">invites</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [private]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#InviteTo_28irc_3A_3Astring_20_26channel_29">InviteTo</a>(irc::string &amp;channel)</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#ip_5B_31_36_5D">ip</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">IsInvited</a>(irc::string &amp;channel)</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#lastping">lastping</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#lines_5Fin">lines_in</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#modes_5B_35_34_5D">modes</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#nping">nping</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#oper_5BNICKMAX_5D">oper</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#password_5BMAXBUF_5D">password</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#pingmax">pingmax</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#port">port</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29">ReadData</a>(void *buffer, size_t size)</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#recvq">recvq</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#recvqmax">recvqmax</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classconnection.html#registered">registered</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">RemoveInvite</a>(irc::string &amp;channel)</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [virtual]</code></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#reset_5Fdue">reset_due</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#sendq">sendq</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#sendqmax">sendqmax</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#server">server</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(std::string error)</td><td><a class="el" href="classuserrec.html">userrec</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="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="classuserrec.html#threshold">threshold</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#timeout">timeout</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <tr class="memlist"><td><a class="el" href="classuserrec.html#userrec_28_29">userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
- <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 Mon Dec 19 18:05:24 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/classuserrec.html b/docs/module-doc/classuserrec.html
deleted file mode 100644
index 0901107cd..000000000
--- a/docs/module-doc/classuserrec.html
+++ /dev/null
@@ -1,1730 +0,0 @@
-<!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: userrec 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>userrec Class Reference</h1><!-- doxytag: class="userrec" --><!-- doxytag: inherits="connection" -->Holds all information about a user This class stores all information about a user connected to the irc server.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="users_8h-source.html">users.h</a>&gt;</code>
-<p>
-Inheritance diagram for userrec:<p><center><img src="classuserrec__inherit__graph.gif" border="0" usemap="#userrec__inherit__map" alt="Inheritance graph"></center>
-<map name="userrec__inherit__map">
-<area href="classconnection.html" shape="rect" coords="7,156,92,183" alt="">
-<area href="classExtensible.html" shape="rect" coords="8,81,91,108" alt="">
-<area href="classclassbase.html" shape="rect" coords="10,7,90,33" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for userrec:<p><center><img src="classuserrec__coll__graph.gif" border="0" usemap="#userrec__coll__map" alt="Collaboration graph"></center>
-<map name="userrec__coll__map">
-<area href="classconnection.html" shape="rect" coords="209,355,295,382" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="classuserrec-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="classuserrec.html#userrec_28_29">userrec</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#GetFullHost_28_29">GetFullHost</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. <a href="#GetFullHost_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#GetFullRealHost_28_29">GetFullRealHost</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. <a href="#GetFullRealHost_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">IsInvited</a> (<a class="el" href="namespaceirc.html#string">irc::string</a> &amp;channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if a user is invited to a channel. <a href="#IsInvited_28irc_3A_3Astring_20_26channel_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="classuserrec.html#InviteTo_28irc_3A_3Astring_20_26channel_29">InviteTo</a> (<a class="el" href="namespaceirc.html#string">irc::string</a> &amp;channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a channel to a users invite list (invites them to a channel). <a href="#InviteTo_28irc_3A_3Astring_20_26channel_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="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">RemoveInvite</a> (<a class="el" href="namespaceirc.html#string">irc::string</a> &amp;channel)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a channel from a users invite list. <a href="#RemoveInvite_28irc_3A_3Astring_20_26channel_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#HasPermission_28std_3A_3Astring_20_26command_29">HasPermission</a> (<a class="el" href="namespaceirc.html#string">std::string</a> &amp;command)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true or false for if a user can execute a privilaged oper command. <a href="#HasPermission_28std_3A_3Astring_20_26command_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="classuserrec.html#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29">ReadData</a> (void *buffer, size_t size)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calls read() to read some data for this user using their fd. <a href="#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#AddBuffer_28std_3A_3Astring_20a_29">AddBuffer</a> (<a class="el" href="namespaceirc.html#string">std::string</a> a)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method adds data to the buffer of the user. <a href="#AddBuffer_28std_3A_3Astring_20a_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#BufferIsReady_28_29">BufferIsReady</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns true if the buffer contains at least one carriage return character (e.g. <a href="#BufferIsReady_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="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function clears the entire buffer by setting it to an empty string. <a href="#ClearBuffer_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="classuserrec.html#GetBuffer_28_29">GetBuffer</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns the first available string at the tail end of the buffer and advances the tail end of the buffer past the string. <a href="#GetBuffer_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="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a> (<a class="el" href="namespaceirc.html#string">std::string</a> error)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the write error for a connection. <a href="#SetWriteError_28std_3A_3Astring_20error_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="classuserrec.html#GetWriteError_28_29">GetWriteError</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the write error which last occured on this connection or an empty string if none occured. <a href="#GetWriteError_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="classuserrec.html#AddWriteBuf_28std_3A_3Astring_20data_29">AddWriteBuf</a> (<a class="el" href="namespaceirc.html#string">std::string</a> data)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds to the user's write buffer. <a href="#AddWriteBuf_28std_3A_3Astring_20data_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="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes as much of the user's buffer to the file descriptor as possible. <a href="#FlushWriteBuf_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="users_8h.html#InvitedList">InvitedList</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#GetInviteList_28_29">GetInviteList</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the list of channels this user has been invited to but has not yet joined. <a href="#GetInviteList_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="classuserrec.html#CloseSocket_28_29">CloseSocket</a> ()</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shuts down and closes the user's socket. <a href="#CloseSocket_28_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#_7Euserrec_28_29">~userrec</a> ()</td></tr>
-
-<tr><td colspan="2"><br><h2>Public 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="classuserrec.html#nick_5BNICKMAX_5D">nick</a> [NICKMAX]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The users nickname. <a href="#nick_5BNICKMAX_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a> [IDENTMAX+2]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The users ident reply. <a href="#ident_5BIDENTMAX_2B_32_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a> [160]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The host displayed to non-opers (used for cloaking etc). <a href="#dhost_5B_31_36_30_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a> [MAXGECOS+1]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The users full name. <a href="#fullname_5BMAXGECOS_2B_31_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#modes_5B_35_34_5D">modes</a> [54]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The user's mode string. <a href="#modes_5B_35_34_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classucrec.html">ucrec</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#chans">chans</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#server">server</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The server the user is connected to. <a href="#server"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">awaymsg</a> [MAXAWAY+1]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The user's away message. <a href="#awaymsg_5BMAXAWAY_2B_31_5D"></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="classuserrec.html#flood">flood</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood. <a href="#flood"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#timeout">timeout</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected. <a href="#timeout"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#oper_5BNICKMAX_5D">oper</a> [NICKMAX]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The oper type they logged in as, if they are an oper. <a href="#oper_5BNICKMAX_5D"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#dns_5Fdone">dns_done</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True when <a class="el" href="classDNS.html">DNS</a> lookups are completed. <a href="#dns_5Fdone"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#pingmax">pingmax</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Number of seconds between PINGs for this user (set from &lt;connect:allow&gt; tag. <a href="#pingmax"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#password_5BMAXBUF_5D">password</a> [MAXBUF]</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Password specified by the user when they registered. <a href="#password_5BMAXBUF_5D"></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="classuserrec.html#recvq">recvq</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User's receive queue. <a href="#recvq"></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="classuserrec.html#sendq">sendq</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">User's send queue. <a href="#sendq"></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="classuserrec.html#lines_5Fin">lines_in</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flood counters. <a href="#lines_5Fin"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#reset_5Fdue">reset_due</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#threshold">threshold</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="classuserrec.html#WriteError">WriteError</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#sendqmax">sendqmax</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum size this user's sendq can become. <a href="#sendqmax"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#recvqmax">recvqmax</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Maximum size this user's recvq can become. <a href="#recvqmax"></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="users_8h.html#InvitedList">InvitedList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classuserrec.html#invites">invites</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A list of channels the user has a pending invite to. <a href="#invites"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-Holds all information about a user This class stores all information about a user connected to the irc server.
-<p>
-Everything about a connection is stored here primarily, from the user's socket ID (file descriptor) through to the user's nickname and hostname. Use the Find method of the server class to locate a specific user by nickname.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00115">115</a> of file <a class="el" href="users_8h-source.html">users.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
-<a class="anchor" name="userrec_28_29"></a><!-- doxytag: member="userrec::userrec" ref="userrec_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">userrec::userrec </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00063">63</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00162">awaymsg</a>, <a class="el" href="connection_8h-source.html#l00054">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00058">connection::bytes_out</a>, <a class="el" href="users_8h-source.html#l00153">chans</a>, <a class="el" href="connection_8h-source.html#l00062">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00066">connection::cmds_out</a>, <a class="el" href="users_8h-source.html#l00138">dhost</a>, <a class="el" href="users_8h-source.html#l00185">dns_done</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr()</a>, <a class="el" href="users_8h-source.html#l00168">flood</a>, <a class="el" href="users_8h-source.html#l00142">fullname</a>, <a class="el" href="connection_8h-source.html#l00070">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">ident</a>, <a class="el" href="connection_8h-source.html#l00092">connection::idle_lastmsg</a>, <a class="el" href="users_8h-source.html#l00121">invites</a>, <a class="el" href="connection_8h-source.html#l00050">connection::ip</a>, <a class="el" href="connection_8h-source.html#l00084">connection::lastping</a>, <a class="el" href="users_8h-source.html#l00210">lines_in</a>, <a class="el" href="users_8h-source.html#l00151">modes</a>, <a class="el" href="users_8h-source.html#l00128">nick</a>, <a class="el" href="connection_8h-source.html#l00096">connection::nping</a>, <a class="el" href="users_8h-source.html#l00181">oper</a>, <a class="el" href="connection_8h-source.html#l00076">connection::port</a>, <a class="el" href="users_8h-source.html#l00201">recvq</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="users_8h-source.html#l00211">reset_due</a>, <a class="el" href="users_8h-source.html#l00206">sendq</a>, <a class="el" href="users_8h-source.html#l00157">server</a>, <a class="el" href="inspircd__io_8h-source.html#l00069">ServerConfig::ServerName</a>, <a class="el" href="connection_8h-source.html#l00088">connection::signon</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</a>, and <a class="el" href="users_8h-source.html#l00174">timeout</a>.<div class="fragment"><pre class="fragment"><a name="l00064"></a>00064 {
-<a name="l00065"></a>00065 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
-<a name="l00066"></a>00066 strcpy(<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<span class="stringliteral">""</span>);
-<a name="l00067"></a>00067 strcpy(<a class="code" href="classconnection.html#ip_5B_31_36_5D">ip</a>,<span class="stringliteral">"127.0.0.1"</span>);
-<a name="l00068"></a>00068 <a class="code" href="classuserrec.html#timeout">timeout</a> = 0;
-<a name="l00069"></a>00069 strcpy(<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,<span class="stringliteral">""</span>);
-<a name="l00070"></a>00070 strcpy(<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,<span class="stringliteral">""</span>);
-<a name="l00071"></a>00071 strcpy(<a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>,<span class="stringliteral">""</span>);
-<a name="l00072"></a>00072 strcpy(<a class="code" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,<span class="stringliteral">""</span>);
-<a name="l00073"></a>00073 strcpy(<a class="code" href="classuserrec.html#modes_5B_35_34_5D">modes</a>,<span class="stringliteral">""</span>);
-<a name="l00074"></a>00074 <a class="code" href="classuserrec.html#server">server</a> = (<span class="keywordtype">char</span>*)<a class="code" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a>(<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>);
-<a name="l00075"></a>00075 strcpy(<a class="code" href="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">awaymsg</a>,<span class="stringliteral">""</span>);
-<a name="l00076"></a>00076 strcpy(<a class="code" href="classuserrec.html#oper_5BNICKMAX_5D">oper</a>,<span class="stringliteral">""</span>);
-<a name="l00077"></a>00077 <a class="code" href="classuserrec.html#reset_5Fdue">reset_due</a> = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00078"></a>00078 <a class="code" href="classuserrec.html#lines_5Fin">lines_in</a> = 0;
-<a name="l00079"></a>00079 <a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="classconnection.html#lastping">lastping</a> = <a class="code" href="classconnection.html#signon">signon</a> = <a class="code" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a> = <a class="code" href="classconnection.html#nping">nping</a> = <a class="code" href="classconnection.html#registered">registered</a> = 0;
-<a name="l00080"></a>00080 <a class="code" href="classuserrec.html#flood">flood</a> = <a class="code" href="classconnection.html#port">port</a> = <a class="code" href="classconnection.html#bytes_5Fin">bytes_in</a> = <a class="code" href="classconnection.html#bytes_5Fout">bytes_out</a> = <a class="code" href="classconnection.html#cmds_5Fin">cmds_in</a> = <a class="code" href="classconnection.html#cmds_5Fout">cmds_out</a> = 0;
-<a name="l00081"></a>00081 <a class="code" href="classconnection.html#haspassed">haspassed</a> = <span class="keyword">false</span>;
-<a name="l00082"></a>00082 <a class="code" href="classuserrec.html#dns_5Fdone">dns_done</a> = <span class="keyword">false</span>;
-<a name="l00083"></a>00083 <a class="code" href="classuserrec.html#recvq">recvq</a> = <span class="stringliteral">""</span>;
-<a name="l00084"></a>00084 <a class="code" href="classuserrec.html#sendq">sendq</a> = <span class="stringliteral">""</span>;
-<a name="l00085"></a>00085 <a class="code" href="classuserrec.html#chans">chans</a>.clear();
-<a name="l00086"></a>00086 <a class="code" href="classuserrec.html#invites">invites</a>.clear();
-<a name="l00087"></a>00087 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="_7Euserrec_28_29"></a><!-- doxytag: member="userrec::~userrec" ref="_7Euserrec_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">userrec::~userrec </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><code> [virtual]</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="users_8cpp-source.html#l00089">89</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="AddBuffer_28std_3A_3Astring_20a_29"></a><!-- doxytag: member="userrec::AddBuffer" ref="AddBuffer_28std_3A_3Astring_20a_29" args="(std::string a)" --><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">bool userrec::AddBuffer </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>a</em> </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>
-This method adds data to the buffer of the user.
-<p>
-The buffer can grow to any size within limits of the available memory, managed by the size of a <a class="el" href="namespaceirc.html#string">std::string</a>, however if any individual line in the buffer grows over 600 bytes in length (which is 88 chars over the RFC-specified limit per line) then the method will return false and the text will not be inserted.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00219">219</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00201">recvq</a>, <a class="el" href="users_8h-source.html#l00224">recvqmax</a>, <a class="el" href="users_8cpp-source.html#l00317">SetWriteError()</a>, and <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="l00220"></a>00220 {
-<a name="l00221"></a>00221 <a class="code" href="namespaceirc.html#string">std::string</a> b = <span class="stringliteral">""</span>;
-<a name="l00222"></a>00222 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; a.length(); i++)
-<a name="l00223"></a>00223 <span class="keywordflow">if</span> ((a[i] != <span class="charliteral">'\r'</span>) &amp;&amp; (a[i] != <span class="charliteral">'\0'</span>) &amp;&amp; (a[i] != 7))
-<a name="l00224"></a>00224 b = b + a[i];
-<a name="l00225"></a>00225 std::stringstream stream(<a class="code" href="classuserrec.html#recvq">recvq</a>);
-<a name="l00226"></a>00226 stream &lt;&lt; b;
-<a name="l00227"></a>00227 <a class="code" href="classuserrec.html#recvq">recvq</a> = stream.str();
-<a name="l00228"></a>00228 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0;
-<a name="l00229"></a>00229 <span class="comment">// count the size of the first line in the buffer.</span>
-<a name="l00230"></a>00230 <span class="keywordflow">while</span> (i &lt; <a class="code" href="classuserrec.html#recvq">recvq</a>.length())
-<a name="l00231"></a>00231 {
-<a name="l00232"></a>00232 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a>[i++] == <span class="charliteral">'\n'</span>)
-<a name="l00233"></a>00233 <span class="keywordflow">break</span>;
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a>.length() &gt; (unsigned)this-&gt;<a class="code" href="classuserrec.html#recvqmax">recvqmax</a>)
-<a name="l00236"></a>00236 {
-<a name="l00237"></a>00237 this-&gt;<a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(<span class="stringliteral">"RecvQ exceeded"</span>);
-<a name="l00238"></a>00238 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** User %s RecvQ of %d exceeds connect class maximum of %d"</span>,this-&gt;nick,<a class="code" href="classuserrec.html#recvq">recvq</a>.length(),this-&gt;<a class="code" href="classuserrec.html#recvqmax">recvqmax</a>);
-<a name="l00239"></a>00239 }
-<a name="l00240"></a>00240 <span class="comment">// return false if we've had more than 600 characters WITHOUT</span>
-<a name="l00241"></a>00241 <span class="comment">// a carriage return (this is BAD, drop the socket)</span>
-<a name="l00242"></a>00242 <span class="keywordflow">return</span> (i &lt; 600);
-<a name="l00243"></a>00243 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddWriteBuf_28std_3A_3Astring_20data_29"></a><!-- doxytag: member="userrec::AddWriteBuf" ref="AddWriteBuf_28std_3A_3Astring_20data_29" args="(std::string data)" --><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 userrec::AddWriteBuf </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>data</em> </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>
-Adds to the user's write buffer.
-<p>
-You may add any amount of text up to this users sendq value, if you exceed the sendq value, <a class="el" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError()</a> will be called to set the users error string to "SendQ exceeded", and further buffer adds will be dropped.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00275">275</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00206">sendq</a>, <a class="el" href="users_8h-source.html#l00220">sendqmax</a>, <a class="el" href="users_8cpp-source.html#l00317">SetWriteError()</a>, and <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="l00276"></a>00276 {
-<a name="l00277"></a>00277 <span class="keywordflow">if</span> (this-&gt;GetWriteError() != <span class="stringliteral">""</span>)
-<a name="l00278"></a>00278 <span class="keywordflow">return</span>;
-<a name="l00279"></a>00279 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#sendq">sendq</a>.length() + data.length() &gt; (unsigned)this-&gt;<a class="code" href="classuserrec.html#sendqmax">sendqmax</a>)
-<a name="l00280"></a>00280 {
-<a name="l00281"></a>00281 <span class="comment">/* Fix by brain - Set the error text BEFORE calling writeopers, because</span>
-<a name="l00282"></a>00282 <span class="comment"> * if we dont it'll recursively call here over and over again trying</span>
-<a name="l00283"></a>00283 <span class="comment"> * to repeatedly add the text to the sendq!</span>
-<a name="l00284"></a>00284 <span class="comment"> */</span>
-<a name="l00285"></a>00285 this-&gt;<a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(<span class="stringliteral">"SendQ exceeded"</span>);
-<a name="l00286"></a>00286 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** User %s SendQ of %d exceeds connect class maximum of %d"</span>,this-&gt;nick,<a class="code" href="classuserrec.html#sendq">sendq</a>.length() + data.length(),this-&gt;<a class="code" href="classuserrec.html#sendqmax">sendqmax</a>);
-<a name="l00287"></a>00287 <span class="keywordflow">return</span>;
-<a name="l00288"></a>00288 }
-<a name="l00289"></a>00289 std::stringstream stream;
-<a name="l00290"></a>00290 stream &lt;&lt; <a class="code" href="classuserrec.html#sendq">sendq</a> &lt;&lt; data;
-<a name="l00291"></a>00291 <a class="code" href="classuserrec.html#sendq">sendq</a> = stream.str();
-<a name="l00292"></a>00292 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="BufferIsReady_28_29"></a><!-- doxytag: member="userrec::BufferIsReady" ref="BufferIsReady_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">bool userrec::BufferIsReady </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>
-This method returns true if the buffer contains at least one carriage return character (e.g.
-<p>
-one complete line may be read)
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00245">245</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00201">recvq</a>.<div class="fragment"><pre class="fragment"><a name="l00246"></a>00246 {
-<a name="l00247"></a>00247 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="classuserrec.html#recvq">recvq</a>.length(); i++)
-<a name="l00248"></a>00248 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a>[i] == <span class="charliteral">'\n'</span>)
-<a name="l00249"></a>00249 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00250"></a>00250 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00251"></a>00251 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ClearBuffer_28_29"></a><!-- doxytag: member="userrec::ClearBuffer" ref="ClearBuffer_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">void userrec::ClearBuffer </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>
-This function clears the entire buffer by setting it to an empty string.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00253">253</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00201">recvq</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">Server::UserToPseudo()</a>.<div class="fragment"><pre class="fragment"><a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 <a class="code" href="classuserrec.html#recvq">recvq</a> = <span class="stringliteral">""</span>;
-<a name="l00256"></a>00256 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="CloseSocket_28_29"></a><!-- doxytag: member="userrec::CloseSocket" ref="CloseSocket_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">void userrec::CloseSocket </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>
-Shuts down and closes the user's socket.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00093">93</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, and <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>.<div class="fragment"><pre class="fragment"><a name="l00094"></a>00094 {
-<a name="l00095"></a>00095 shutdown(this-&gt;fd,2);
-<a name="l00096"></a>00096 close(this-&gt;fd);
-<a name="l00097"></a>00097 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FlushWriteBuf_28_29"></a><!-- doxytag: member="userrec::FlushWriteBuf" ref="FlushWriteBuf_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">void userrec::FlushWriteBuf </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>
-Flushes as much of the user's buffer to the file descriptor as possible.
-<p>
-This function may not always flush the entire buffer, rather instead as much of it as it possibly can. If the send() call fails to send the entire buffer, the buffer position is advanced forwards and the rest of the data sent at the next call to this method.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00295">295</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="connection_8h-source.html#l00058">connection::bytes_out</a>, <a class="el" href="connection_8h-source.html#l00066">connection::cmds_out</a>, <a class="el" href="users_8h-source.html#l00206">sendq</a>, and <a class="el" href="users_8cpp-source.html#l00317">SetWriteError()</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, and <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>.<div class="fragment"><pre class="fragment"><a name="l00296"></a>00296 {
-<a name="l00297"></a>00297 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#sendq">sendq</a>.length())
-<a name="l00298"></a>00298 {
-<a name="l00299"></a>00299 <span class="keywordtype">char</span>* tb = (<span class="keywordtype">char</span>*)this-&gt;<a class="code" href="classuserrec.html#sendq">sendq</a>.c_str();
-<a name="l00300"></a>00300 <span class="keywordtype">int</span> n_sent = write(this-&gt;fd,tb,this-&gt;sendq.length());
-<a name="l00301"></a>00301 <span class="keywordflow">if</span> (n_sent == -1)
-<a name="l00302"></a>00302 {
-<a name="l00303"></a>00303 this-&gt;<a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(strerror(errno));
-<a name="l00304"></a>00304 }
-<a name="l00305"></a>00305 <span class="keywordflow">else</span>
-<a name="l00306"></a>00306 {
-<a name="l00307"></a>00307 <span class="comment">// advance the queue</span>
-<a name="l00308"></a>00308 tb += n_sent;
-<a name="l00309"></a>00309 this-&gt;<a class="code" href="classuserrec.html#sendq">sendq</a> = tb;
-<a name="l00310"></a>00310 <span class="comment">// update the user's stats counters</span>
-<a name="l00311"></a>00311 this-&gt;<a class="code" href="classconnection.html#bytes_5Fout">bytes_out</a> += n_sent;
-<a name="l00312"></a>00312 this-&gt;<a class="code" href="classconnection.html#cmds_5Fout">cmds_out</a>++;
-<a name="l00313"></a>00313 }
-<a name="l00314"></a>00314 }
-<a name="l00315"></a>00315 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetBuffer_28_29"></a><!-- doxytag: member="userrec::GetBuffer" ref="GetBuffer_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> userrec::GetBuffer </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>
-This method returns the first available string at the tail end of the buffer and advances the tail end of the buffer past the string.
-<p>
-This means it is a one way operation in a similar way to strtok(), and multiple calls return multiple lines if they are available. The results of this function if there are no lines to be read are unknown, always use <a class="el" href="classuserrec.html#BufferIsReady_28_29">BufferIsReady()</a> to check if it is ok to read the buffer before calling <a class="el" href="classuserrec.html#GetBuffer_28_29">GetBuffer()</a>.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00258">258</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00201">recvq</a>.<div class="fragment"><pre class="fragment"><a name="l00259"></a>00259 {
-<a name="l00260"></a>00260 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a> == <span class="stringliteral">""</span>)
-<a name="l00261"></a>00261 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00262"></a>00262 <span class="keywordtype">char</span>* line = (<span class="keywordtype">char</span>*)<a class="code" href="classuserrec.html#recvq">recvq</a>.c_str();
-<a name="l00263"></a>00263 <a class="code" href="namespaceirc.html#string">std::string</a> ret = <span class="stringliteral">""</span>;
-<a name="l00264"></a>00264 <span class="keywordflow">while</span> ((*line != <span class="charliteral">'\n'</span>) &amp;&amp; (strlen(line)))
-<a name="l00265"></a>00265 {
-<a name="l00266"></a>00266 ret = ret + *line;
-<a name="l00267"></a>00267 line++;
-<a name="l00268"></a>00268 }
-<a name="l00269"></a>00269 <span class="keywordflow">if</span> ((*line == <span class="charliteral">'\n'</span>) || (*line == <span class="charliteral">'\r'</span>))
-<a name="l00270"></a>00270 line++;
-<a name="l00271"></a>00271 <a class="code" href="classuserrec.html#recvq">recvq</a> = line;
-<a name="l00272"></a>00272 <span class="keywordflow">return</span> ret;
-<a name="l00273"></a>00273 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetFullHost_28_29"></a><!-- doxytag: member="userrec::GetFullHost" ref="GetFullHost_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 * userrec::GetFullHost </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00099">99</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00138">dhost</a>, <a class="el" href="users_8h-source.html#l00133">ident</a>, and <a class="el" href="users_8h-source.html#l00128">nick</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00100"></a>00100 {
-<a name="l00101"></a>00101 <span class="keyword">static</span> <span class="keywordtype">char</span> result[MAXBUF];
-<a name="l00102"></a>00102 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,<a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>);
-<a name="l00103"></a>00103 <span class="keywordflow">return</span> result;
-<a name="l00104"></a>00104 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetFullRealHost_28_29"></a><!-- doxytag: member="userrec::GetFullRealHost" ref="GetFullRealHost_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 * userrec::GetFullRealHost </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><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form.
-<p>
-If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00116">116</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">ident</a>, and <a class="el" href="users_8h-source.html#l00128">nick</a>.<div class="fragment"><pre class="fragment"><a name="l00117"></a>00117 {
-<a name="l00118"></a>00118 <span class="keyword">static</span> <span class="keywordtype">char</span> fresult[MAXBUF];
-<a name="l00119"></a>00119 snprintf(fresult,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>);
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> fresult;
-<a name="l00121"></a>00121 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetInviteList_28_29"></a><!-- doxytag: member="userrec::GetInviteList" ref="GetInviteList_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="users_8h.html#InvitedList">InvitedList</a> * userrec::GetInviteList </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 list of channels this user has been invited to but has not yet joined.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00136">136</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00121">invites</a>.<div class="fragment"><pre class="fragment"><a name="l00137"></a>00137 {
-<a name="l00138"></a>00138 <span class="keywordflow">return</span> &amp;<a class="code" href="classuserrec.html#invites">invites</a>;
-<a name="l00139"></a>00139 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="GetWriteError_28_29"></a><!-- doxytag: member="userrec::GetWriteError" ref="GetWriteError_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> userrec::GetWriteError </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 write error which last occured on this connection or an empty string if none occured.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00325">325</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00216">WriteError</a>.<div class="fragment"><pre class="fragment"><a name="l00326"></a>00326 {
-<a name="l00327"></a>00327 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classuserrec.html#WriteError">WriteError</a>;
-<a name="l00328"></a>00328 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="HasPermission_28std_3A_3Astring_20_26command_29"></a><!-- doxytag: member="userrec::HasPermission" ref="HasPermission_28std_3A_3Astring_20_26command_29" args="(std::string &amp;command)" --><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">bool userrec::HasPermission </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>command</em> </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 true or false for if a user can execute a privilaged oper command.
-<p>
-This is done by looking up their oper type from <a class="el" href="classuserrec.html#oper_5BNICKMAX_5D">userrec::oper</a>, then referencing this to their oper classes and checking the commands they can execute.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00165">165</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00239">ServerConfig::config_f</a>, <a class="el" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ServerConfig::ConfValue()</a>, and <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="l00166"></a>00166 {
-<a name="l00167"></a>00167 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-<a name="l00168"></a>00168 <span class="keywordtype">char</span>* mycmd;
-<a name="l00169"></a>00169 <span class="keywordtype">char</span>* savept;
-<a name="l00170"></a>00170 <span class="keywordtype">char</span>* savept2;
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172 <span class="comment">// users on u-lined servers can completely bypass</span>
-<a name="l00173"></a>00173 <span class="comment">// all permissions based checks.</span>
-<a name="l00174"></a>00174 <span class="comment">//</span>
-<a name="l00175"></a>00175 <span class="comment">// of course, if this is sent to a remote server and this</span>
-<a name="l00176"></a>00176 <span class="comment">// server is not ulined there, then that other server</span>
-<a name="l00177"></a>00177 <span class="comment">// silently drops the command.</span>
-<a name="l00178"></a>00178 <span class="keywordflow">if</span> (<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(this-&gt;server))
-<a name="l00179"></a>00179 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="comment">// are they even an oper at all?</span>
-<a name="l00182"></a>00182 <span class="keywordflow">if</span> (strchr(this-&gt;modes,<span class="charliteral">'o'</span>))
-<a name="l00183"></a>00183 {
-<a name="l00184"></a>00184 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j &lt; Config-&gt;ConfValueEnum(<span class="stringliteral">"type"</span>,&amp;<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>); j++)
-<a name="l00185"></a>00185 {
-<a name="l00186"></a>00186 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&amp;<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00187"></a>00187 <span class="keywordflow">if</span> (!strcmp(TypeName,this-&gt;oper))
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&amp;<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00190"></a>00190 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&amp;savept);
-<a name="l00191"></a>00191 <span class="keywordflow">while</span> (myclass)
-<a name="l00192"></a>00192 {
-<a name="l00193"></a>00193 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k &lt; Config-&gt;ConfValueEnum(<span class="stringliteral">"class"</span>,&amp;<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>); k++)
-<a name="l00194"></a>00194 {
-<a name="l00195"></a>00195 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&amp;<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00196"></a>00196 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
-<a name="l00197"></a>00197 {
-<a name="l00198"></a>00198 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&amp;<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00199"></a>00199 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&amp;savept2);
-<a name="l00200"></a>00200 <span class="keywordflow">while</span> (mycmd)
-<a name="l00201"></a>00201 {
-<a name="l00202"></a>00202 <span class="keywordflow">if</span> ((!strcasecmp(mycmd,command.c_str())) || (*mycmd == <span class="charliteral">'*'</span>))
-<a name="l00203"></a>00203 {
-<a name="l00204"></a>00204 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept2);
-<a name="l00207"></a>00207 }
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209 }
-<a name="l00210"></a>00210 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept);
-<a name="l00211"></a>00211 }
-<a name="l00212"></a>00212 }
-<a name="l00213"></a>00213 }
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00216"></a>00216 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="InviteTo_28irc_3A_3Astring_20_26channel_29"></a><!-- doxytag: member="userrec::InviteTo" ref="InviteTo_28irc_3A_3Astring_20_26channel_29" args="(irc::string &amp;channel)" --><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 userrec::InviteTo </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">irc::string</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Adds a channel to a users invite list (invites them to a channel).
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00141">141</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00046">Invited::channel</a>, and <a class="el" href="users_8h-source.html#l00121">invites</a>.<div class="fragment"><pre class="fragment"><a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <a class="code" href="classInvited.html">Invited</a> i;
-<a name="l00144"></a>00144 i.<a class="code" href="classInvited.html#channel">channel</a> = channel;
-<a name="l00145"></a>00145 <a class="code" href="classuserrec.html#invites">invites</a>.push_back(i);
-<a name="l00146"></a>00146 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="IsInvited_28irc_3A_3Astring_20_26channel_29"></a><!-- doxytag: member="userrec::IsInvited" ref="IsInvited_28irc_3A_3Astring_20_26channel_29" args="(irc::string &amp;channel)" --><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">bool userrec::IsInvited </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">irc::string</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Returns true if a user is invited to a channel.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00123">123</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00121">invites</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#invites">invites</a>.begin(); i != <a class="code" href="classuserrec.html#invites">invites</a>.end(); i++)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <a class="code" href="namespaceirc.html#string">irc::string</a> compare = i-&gt;channel;
-<a name="l00128"></a>00128 <span class="keywordflow">if</span> (compare == channel)
-<a name="l00129"></a>00129 {
-<a name="l00130"></a>00130 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132 }
-<a name="l00133"></a>00133 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00134"></a>00134 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29"></a><!-- doxytag: member="userrec::ReadData" ref="ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29" args="(void *buffer, size_t size)" --><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 userrec::ReadData </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void *&nbsp;</td>
- <td class="mdname" nowrap> <em>buffer</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t&nbsp;</td>
- <td class="mdname" nowrap> <em>size</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>
-Calls read() to read some data for this user using their fd.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00106">106</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.<div class="fragment"><pre class="fragment"><a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 <span class="keywordflow">if</span> (this-&gt;fd &gt; -1)
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 <span class="keywordflow">return</span> read(this-&gt;fd, buffer, size);
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00113"></a>00113 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="RemoveInvite_28irc_3A_3Astring_20_26channel_29"></a><!-- doxytag: member="userrec::RemoveInvite" ref="RemoveInvite_28irc_3A_3Astring_20_26channel_29" args="(irc::string &amp;channel)" --><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 userrec::RemoveInvite </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">irc::string</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>channel</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [virtual]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Removes a channel from a users invite list.
-<p>
-This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00148">148</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="users_8h-source.html#l00121">invites</a>, and <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>.<div class="fragment"><pre class="fragment"><a name="l00149"></a>00149 {
-<a name="l00150"></a>00150 <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">"Removing invites"</span>);
-<a name="l00151"></a>00151 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#invites">invites</a>.size())
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#invites">invites</a>.begin(); i != <a class="code" href="classuserrec.html#invites">invites</a>.end(); i++)
-<a name="l00154"></a>00154 {
-<a name="l00155"></a>00155 <a class="code" href="namespaceirc.html#string">irc::string</a> compare = i-&gt;channel;
-<a name="l00156"></a>00156 <span class="keywordflow">if</span> (compare == channel)
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 <a class="code" href="classuserrec.html#invites">invites</a>.erase(i);
-<a name="l00159"></a>00159 <span class="keywordflow">return</span>;
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="SetWriteError_28std_3A_3Astring_20error_29"></a><!-- doxytag: member="userrec::SetWriteError" ref="SetWriteError_28std_3A_3Astring_20error_29" args="(std::string error)" --><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 userrec::SetWriteError </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>error</em> </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>
-Sets the write error for a connection.
-<p>
-This is done because the actual disconnect of a client may occur at an inopportune time such as half way through /LIST output. The WriteErrors of clients are checked at a more ideal time (in the mainloop) and errored clients purged.
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00317">317</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>, and <a class="el" href="users_8h-source.html#l00216">WriteError</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00219">AddBuffer()</a>, <a class="el" href="users_8cpp-source.html#l00275">AddWriteBuf()</a>, and <a class="el" href="users_8cpp-source.html#l00295">FlushWriteBuf()</a>.<div class="fragment"><pre class="fragment"><a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <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">"Setting error string for %s to '%s'"</span>,this-&gt;nick,error.c_str());
-<a name="l00320"></a>00320 <span class="comment">// don't try to set the error twice, its already set take the first string.</span>
-<a name="l00321"></a>00321 <span class="keywordflow">if</span> (this-&gt;WriteError == <span class="stringliteral">""</span>)
-<a name="l00322"></a>00322 this-&gt;<a class="code" href="classuserrec.html#WriteError">WriteError</a> = error;
-<a name="l00323"></a>00323 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="awaymsg_5BMAXAWAY_2B_31_5D"></a><!-- doxytag: member="userrec::awaymsg" ref="awaymsg_5BMAXAWAY_2B_31_5D" args="[MAXAWAY+1]" --><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="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">userrec::awaymsg</a>[MAXAWAY+1] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The user's away message.
-<p>
-If this string is empty, the user is not marked as away.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00162">162</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#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="chans"></a><!-- doxytag: member="userrec::chans" ref="chans" 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="classucrec.html">ucrec</a>&gt; <a class="el" href="classuserrec.html#chans">userrec::chans</a> </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="users_8h-source.html#l00153">153</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#l00194">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#l00609">Server::PseudoToUser()</a>, and <a class="el" href="users_8cpp-source.html#l00063">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>
-<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="classuserrec.html#dhost_5B_31_36_30_5D">userrec::dhost</a>[160] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The host displayed to non-opers (used for cloaking etc).
-<p>
-This usually matches the value of <a class="el" href="classconnection.html#host_5B_31_36_30_5D">userrec::host</a>.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00138">138</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#l00471">AddWhoWas()</a>, <a class="el" href="users_8cpp-source.html#l00099">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="dns_5Fdone"></a><!-- doxytag: member="userrec::dns_done" ref="dns_5Fdone" 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">bool <a class="el" href="classuserrec.html#dns_5Fdone">userrec::dns_done</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-True when <a class="el" href="classDNS.html">DNS</a> lookups are completed.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00185">185</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#l00731">ConnectUser()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="flood"></a><!-- doxytag: member="userrec::flood" ref="flood" 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 <a class="el" href="classuserrec.html#flood">userrec::flood</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00168">168</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#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="fullname_5BMAXGECOS_2B_31_5D"></a><!-- doxytag: member="userrec::fullname" ref="fullname_5BMAXGECOS_2B_31_5D" args="[MAXGECOS+1]" --><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="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">userrec::fullname</a>[MAXGECOS+1] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The users full name.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00142">142</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#l00471">AddWhoWas()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ident_5BIDENTMAX_2B_32_5D"></a><!-- doxytag: member="userrec::ident" ref="ident_5BIDENTMAX_2B_32_5D" args="[IDENTMAX+2]" --><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="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">userrec::ident</a>[IDENTMAX+2] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The users ident reply.
-<p>
-Two characters are added to the user-defined limit to compensate for the tilde etc.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00133">133</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#l00471">AddWhoWas()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="users_8cpp-source.html#l00099">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00116">GetFullRealHost()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">Server::UserToPseudo()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="invites"></a><!-- doxytag: member="userrec::invites" ref="invites" 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="users_8h.html#InvitedList">InvitedList</a> <a class="el" href="classuserrec.html#invites">userrec::invites</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 channels the user has a pending invite to.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00121">121</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#l00136">GetInviteList()</a>, <a class="el" href="users_8cpp-source.html#l00141">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00123">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00148">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="lines_5Fin"></a><!-- doxytag: member="userrec::lines_in" ref="lines_5Fin" 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 <a class="el" href="classuserrec.html#lines_5Fin">userrec::lines_in</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Flood counters.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00210">210</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#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="modes_5B_35_34_5D"></a><!-- doxytag: member="userrec::modes" ref="modes_5B_35_34_5D" args="[54]" --><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="classuserrec.html#modes_5B_35_34_5D">userrec::modes</a>[54] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The user's mode string.
-<p>
-This may contain any of the following RFC characters: o, w, s, i Your module may define other mode characters as it sees fit. it is limited to length 54, as there can only be a maximum of 52 user modes (26 upper, 26 lower case) a null terminating char, and an optional + character.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00151">151</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#l00194">add_channel()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="nick_5BNICKMAX_5D"></a><!-- doxytag: member="userrec::nick" ref="nick_5BNICKMAX_5D" args="[NICKMAX]" --><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="classuserrec.html#nick_5BNICKMAX_5D">userrec::nick</a>[NICKMAX] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The users nickname.
-<p>
-An invalid nickname indicates an unregistered connection prior to the NICK command.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00128">128</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#l00194">add_channel()</a>, <a class="el" href="users_8cpp-source.html#l00471">AddWhoWas()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00834">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="users_8cpp-source.html#l00099">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00116">GetFullRealHost()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="oper_5BNICKMAX_5D"></a><!-- doxytag: member="userrec::oper" ref="oper_5BNICKMAX_5D" args="[NICKMAX]" --><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="classuserrec.html#oper_5BNICKMAX_5D">userrec::oper</a>[NICKMAX] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The oper type they logged in as, if they are an oper.
-<p>
-This is used to check permissions in operclasses, so that we can say 'yay' or 'nay' to any commands they issue. The value of this is the value of a valid 'type name=' tag.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00181">181</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#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="password_5BMAXBUF_5D"></a><!-- doxytag: member="userrec::password" ref="password_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="classuserrec.html#password_5BMAXBUF_5D">userrec::password</a>[MAXBUF] </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Password specified by the user when they registered.
-<p>
-This is stored even if the &lt;connect&gt; block doesnt need a password, so that modules may check it.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00195">195</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="pingmax"></a><!-- doxytag: member="userrec::pingmax" ref="pingmax" 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">unsigned int <a class="el" href="classuserrec.html#pingmax">userrec::pingmax</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Number of seconds between PINGs for this user (set from &lt;connect:allow&gt; tag.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00189">189</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="recvq"></a><!-- doxytag: member="userrec::recvq" ref="recvq" 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="classuserrec.html#recvq">userrec::recvq</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-User's receive queue.
-<p>
-Lines from the IRCd awaiting processing are stored here. Upgraded april 2005, old system a bit hairy.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00201">201</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#l00219">AddBuffer()</a>, <a class="el" href="users_8cpp-source.html#l00245">BufferIsReady()</a>, <a class="el" href="users_8cpp-source.html#l00253">ClearBuffer()</a>, <a class="el" href="users_8cpp-source.html#l00258">GetBuffer()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="recvqmax"></a><!-- doxytag: member="userrec::recvqmax" ref="recvqmax" 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">long <a class="el" href="classuserrec.html#recvqmax">userrec::recvqmax</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maximum size this user's recvq can become.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00224">224</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#l00219">AddBuffer()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="reset_5Fdue"></a><!-- doxytag: member="userrec::reset_due" ref="reset_5Fdue" 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">time_t <a class="el" href="classuserrec.html#reset_5Fdue">userrec::reset_due</a> </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="users_8h-source.html#l00211">211</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#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="sendq"></a><!-- doxytag: member="userrec::sendq" ref="sendq" 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="classuserrec.html#sendq">userrec::sendq</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-User's send queue.
-<p>
-Lines waiting to be sent are stored here until their buffer is flushed.
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00206">206</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#l00275">AddWriteBuf()</a>, <a class="el" href="users_8cpp-source.html#l00295">FlushWriteBuf()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="sendqmax"></a><!-- doxytag: member="userrec::sendqmax" ref="sendqmax" 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">long <a class="el" href="classuserrec.html#sendqmax">userrec::sendqmax</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Maximum size this user's sendq can become.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00220">220</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#l00275">AddWriteBuf()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="server"></a><!-- doxytag: member="userrec::server" ref="server" 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* <a class="el" href="classuserrec.html#server">userrec::server</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The server the user is connected to.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00157">157</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#l00471">AddWhoWas()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="threshold"></a><!-- doxytag: member="userrec::threshold" ref="threshold" 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">long <a class="el" href="classuserrec.html#threshold">userrec::threshold</a> </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="users_8h-source.html#l00212">212</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="timeout"></a><!-- doxytag: member="userrec::timeout" ref="timeout" 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">unsigned int <a class="el" href="classuserrec.html#timeout">userrec::timeout</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Number of seconds this user is given to send USER/NICK If they do not send their details in this time limit they will be disconnected.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00174">174</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#l00063">userrec()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="WriteError"></a><!-- doxytag: member="userrec::WriteError" ref="WriteError" 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="classuserrec.html#WriteError">userrec::WriteError</a> </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="users_8h-source.html#l00216">216</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#l00325">GetWriteError()</a>, and <a class="el" href="users_8cpp-source.html#l00317">SetWriteError()</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/classuserrec__coll__graph.gif b/docs/module-doc/classuserrec__coll__graph.gif
deleted file mode 100644
index 956286835..000000000
--- a/docs/module-doc/classuserrec__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classuserrec__coll__graph.map b/docs/module-doc/classuserrec__coll__graph.map
deleted file mode 100644
index 4bdefc2dc..000000000
--- a/docs/module-doc/classuserrec__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classconnection.html 209,355 295,382
diff --git a/docs/module-doc/classuserrec__coll__graph.md5 b/docs/module-doc/classuserrec__coll__graph.md5
deleted file mode 100644
index a057083b0..000000000
--- a/docs/module-doc/classuserrec__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-b466bb927c1e2d01107d80d37ebcffbc \ No newline at end of file
diff --git a/docs/module-doc/classuserrec__inherit__graph.gif b/docs/module-doc/classuserrec__inherit__graph.gif
deleted file mode 100644
index a1cc1a0a8..000000000
--- a/docs/module-doc/classuserrec__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/classuserrec__inherit__graph.map b/docs/module-doc/classuserrec__inherit__graph.map
deleted file mode 100644
index 7b98b616f..000000000
--- a/docs/module-doc/classuserrec__inherit__graph.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $classconnection.html 7,156 92,183
-rect $classExtensible.html 8,81 91,108
-rect $classclassbase.html 10,7 90,33
diff --git a/docs/module-doc/classuserrec__inherit__graph.md5 b/docs/module-doc/classuserrec__inherit__graph.md5
deleted file mode 100644
index e45c258a7..000000000
--- a/docs/module-doc/classuserrec__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-48134c77983f0184ab60e531fb8c80f4 \ No newline at end of file
diff --git a/docs/module-doc/commands_8h-source.html b/docs/module-doc/commands_8h-source.html
deleted file mode 100644
index 34bc6dcfc..000000000
--- a/docs/module-doc/commands_8h-source.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!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: commands.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>commands.h</h1><a href="commands_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 __COMMANDS_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __COMMANDS_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="l00031"></a>00031 <span class="keywordtype">char</span>* <a class="code" href="commands_8h.html#CleanFilename_28char_20_2Aname_29">CleanFilename</a>(<span class="keywordtype">char</span>* name);
-<a name="l00032"></a>00032 <span class="keywordtype">bool</span> <a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* server);
-<a name="l00033"></a>00033 <span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* str);
-<a name="l00034"></a>00034 <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="l00035"></a>00035 <span class="keywordtype">bool</span> <a class="code" href="commands_8h.html#host_5Fmatches_5Feveryone_28std_3A_3Astring_20mask_2C_20userrec_20_2Auser_29">host_matches_everyone</a>(<a class="code" href="namespaceirc.html#string">std::string</a> mask, <a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00036"></a>00036 <span class="keywordtype">bool</span> <a class="code" href="commands_8h.html#ip_5Fmatches_5Feveryone_28std_3A_3Astring_20ip_2C_20userrec_20_2Auser_29">ip_matches_everyone</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ip, <a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00037"></a>00037 <span class="keywordtype">bool</span> <a class="code" href="commands_8h.html#nick_5Fmatches_5Feveryone_28std_3A_3Astring_20nick_2C_20userrec_20_2Auser_29">nick_matches_everyone</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick, <a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00038"></a>00038 <span class="keywordtype">int</span> <a class="code" href="commands_8h.html#operstrcmp_28char_20_2Adata_2C_20char_20_2Ainput_29">operstrcmp</a>(<span class="keywordtype">char</span>* data,<span class="keywordtype">char</span>* input);
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="comment">/* XXX Serious WTFness XXX</span>
-<a name="l00041"></a>00041 <span class="comment"> *</span>
-<a name="l00042"></a>00042 <span class="comment"> * Well, unless someone invents a wildcard or</span>
-<a name="l00043"></a>00043 <span class="comment"> * regexp #include, and makes it a standard,</span>
-<a name="l00044"></a>00044 <span class="comment"> * we're stuck with this way of including all</span>
-<a name="l00045"></a>00045 <span class="comment"> * the commands.</span>
-<a name="l00046"></a>00046 <span class="comment"> */</span>
-<a name="l00047"></a>00047
-<a name="l00048"></a>00048 <span class="preprocessor">#include "cmd_admin.h"</span>
-<a name="l00049"></a>00049 <span class="preprocessor">#include "cmd_away.h"</span>
-<a name="l00050"></a>00050 <span class="preprocessor">#include "cmd_commands.h"</span>
-<a name="l00051"></a>00051 <span class="preprocessor">#include "cmd_connect.h"</span>
-<a name="l00052"></a>00052 <span class="preprocessor">#include "cmd_die.h"</span>
-<a name="l00053"></a>00053 <span class="preprocessor">#include "cmd_eline.h"</span>
-<a name="l00054"></a>00054 <span class="preprocessor">#include "cmd_gline.h"</span>
-<a name="l00055"></a>00055 <span class="preprocessor">#include "cmd_info.h"</span>
-<a name="l00056"></a>00056 <span class="preprocessor">#include "cmd_invite.h"</span>
-<a name="l00057"></a>00057 <span class="preprocessor">#include "cmd_ison.h"</span>
-<a name="l00058"></a>00058 <span class="preprocessor">#include "cmd_join.h"</span>
-<a name="l00059"></a>00059 <span class="preprocessor">#include "cmd_kick.h"</span>
-<a name="l00060"></a>00060 <span class="preprocessor">#include "cmd_kill.h"</span>
-<a name="l00061"></a>00061 <span class="preprocessor">#include "cmd_kline.h"</span>
-<a name="l00062"></a>00062 <span class="preprocessor">#include "cmd_links.h"</span>
-<a name="l00063"></a>00063 <span class="preprocessor">#include "cmd_list.h"</span>
-<a name="l00064"></a>00064 <span class="preprocessor">#include "cmd_loadmodule.h"</span>
-<a name="l00065"></a>00065 <span class="preprocessor">#include "cmd_lusers.h"</span>
-<a name="l00066"></a>00066 <span class="preprocessor">#include "cmd_map.h"</span>
-<a name="l00067"></a>00067 <span class="preprocessor">#include "cmd_modules.h"</span>
-<a name="l00068"></a>00068 <span class="preprocessor">#include "cmd_motd.h"</span>
-<a name="l00069"></a>00069 <span class="preprocessor">#include "cmd_names.h"</span>
-<a name="l00070"></a>00070 <span class="preprocessor">#include "cmd_nick.h"</span>
-<a name="l00071"></a>00071 <span class="preprocessor">#include "cmd_notice.h"</span>
-<a name="l00072"></a>00072 <span class="preprocessor">#include "cmd_oper.h"</span>
-<a name="l00073"></a>00073 <span class="preprocessor">#include "cmd_part.h"</span>
-<a name="l00074"></a>00074 <span class="preprocessor">#include "cmd_pass.h"</span>
-<a name="l00075"></a>00075 <span class="preprocessor">#include "cmd_ping.h"</span>
-<a name="l00076"></a>00076 <span class="preprocessor">#include "cmd_pong.h"</span>
-<a name="l00077"></a>00077 <span class="preprocessor">#include "cmd_privmsg.h"</span>
-<a name="l00078"></a>00078 <span class="preprocessor">#include "cmd_qline.h"</span>
-<a name="l00079"></a>00079 <span class="preprocessor">#include "cmd_quit.h"</span>
-<a name="l00080"></a>00080 <span class="preprocessor">#include "cmd_rehash.h"</span>
-<a name="l00081"></a>00081 <span class="preprocessor">#include "cmd_restart.h"</span>
-<a name="l00082"></a>00082 <span class="preprocessor">#include "cmd_rules.h"</span>
-<a name="l00083"></a>00083 <span class="preprocessor">#include "cmd_server.h"</span>
-<a name="l00084"></a>00084 <span class="preprocessor">#include "cmd_squit.h"</span>
-<a name="l00085"></a>00085 <span class="preprocessor">#include "cmd_stats.h"</span>
-<a name="l00086"></a>00086 <span class="preprocessor">#include "cmd_summon.h"</span>
-<a name="l00087"></a>00087 <span class="preprocessor">#include "cmd_time.h"</span>
-<a name="l00088"></a>00088 <span class="preprocessor">#include "cmd_topic.h"</span>
-<a name="l00089"></a>00089 <span class="preprocessor">#include "cmd_trace.h"</span>
-<a name="l00090"></a>00090 <span class="preprocessor">#include "cmd_unloadmodule.h"</span>
-<a name="l00091"></a>00091 <span class="preprocessor">#include "cmd_user.h"</span>
-<a name="l00092"></a>00092 <span class="preprocessor">#include "cmd_userhost.h"</span>
-<a name="l00093"></a>00093 <span class="preprocessor">#include "cmd_users.h"</span>
-<a name="l00094"></a>00094 <span class="preprocessor">#include "cmd_version.h"</span>
-<a name="l00095"></a>00095 <span class="preprocessor">#include "cmd_wallops.h"</span>
-<a name="l00096"></a>00096 <span class="preprocessor">#include "cmd_who.h"</span>
-<a name="l00097"></a>00097 <span class="preprocessor">#include "cmd_whois.h"</span>
-<a name="l00098"></a>00098 <span class="preprocessor">#include "cmd_whowas.h"</span>
-<a name="l00099"></a>00099 <span class="preprocessor">#include "cmd_zline.h"</span>
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/commands_8h.html b/docs/module-doc/commands_8h.html
deleted file mode 100644
index 227b4714a..000000000
--- a/docs/module-doc/commands_8h.html
+++ /dev/null
@@ -1,403 +0,0 @@
-<!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: commands.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>commands.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>
-<code>#include &quot;cmd_admin.h&quot;</code><br>
-<code>#include &quot;cmd_away.h&quot;</code><br>
-<code>#include &quot;cmd_commands.h&quot;</code><br>
-<code>#include &quot;cmd_connect.h&quot;</code><br>
-<code>#include &quot;cmd_die.h&quot;</code><br>
-<code>#include &quot;cmd_eline.h&quot;</code><br>
-<code>#include &quot;cmd_gline.h&quot;</code><br>
-<code>#include &quot;cmd_info.h&quot;</code><br>
-<code>#include &quot;cmd_invite.h&quot;</code><br>
-<code>#include &quot;cmd_ison.h&quot;</code><br>
-<code>#include &quot;cmd_join.h&quot;</code><br>
-<code>#include &quot;cmd_kick.h&quot;</code><br>
-<code>#include &quot;cmd_kill.h&quot;</code><br>
-<code>#include &quot;cmd_kline.h&quot;</code><br>
-<code>#include &quot;cmd_links.h&quot;</code><br>
-<code>#include &quot;cmd_list.h&quot;</code><br>
-<code>#include &quot;cmd_loadmodule.h&quot;</code><br>
-<code>#include &quot;cmd_lusers.h&quot;</code><br>
-<code>#include &quot;cmd_map.h&quot;</code><br>
-<code>#include &quot;cmd_modules.h&quot;</code><br>
-<code>#include &quot;cmd_motd.h&quot;</code><br>
-<code>#include &quot;cmd_names.h&quot;</code><br>
-<code>#include &quot;cmd_nick.h&quot;</code><br>
-<code>#include &quot;cmd_notice.h&quot;</code><br>
-<code>#include &quot;cmd_oper.h&quot;</code><br>
-<code>#include &quot;cmd_part.h&quot;</code><br>
-<code>#include &quot;cmd_pass.h&quot;</code><br>
-<code>#include &quot;cmd_ping.h&quot;</code><br>
-<code>#include &quot;cmd_pong.h&quot;</code><br>
-<code>#include &quot;cmd_privmsg.h&quot;</code><br>
-<code>#include &quot;cmd_qline.h&quot;</code><br>
-<code>#include &quot;cmd_quit.h&quot;</code><br>
-<code>#include &quot;cmd_rehash.h&quot;</code><br>
-<code>#include &quot;cmd_restart.h&quot;</code><br>
-<code>#include &quot;cmd_rules.h&quot;</code><br>
-<code>#include &quot;cmd_server.h&quot;</code><br>
-<code>#include &quot;cmd_squit.h&quot;</code><br>
-<code>#include &quot;cmd_stats.h&quot;</code><br>
-<code>#include &quot;cmd_summon.h&quot;</code><br>
-<code>#include &quot;cmd_time.h&quot;</code><br>
-<code>#include &quot;cmd_topic.h&quot;</code><br>
-<code>#include &quot;cmd_trace.h&quot;</code><br>
-<code>#include &quot;cmd_unloadmodule.h&quot;</code><br>
-<code>#include &quot;cmd_user.h&quot;</code><br>
-<code>#include &quot;cmd_userhost.h&quot;</code><br>
-<code>#include &quot;cmd_users.h&quot;</code><br>
-<code>#include &quot;cmd_version.h&quot;</code><br>
-<code>#include &quot;cmd_wallops.h&quot;</code><br>
-<code>#include &quot;cmd_who.h&quot;</code><br>
-<code>#include &quot;cmd_whois.h&quot;</code><br>
-<code>#include &quot;cmd_whowas.h&quot;</code><br>
-<code>#include &quot;cmd_zline.h&quot;</code><br>
-
-<p>
-Include dependency graph for commands.h:<p><center><img src="commands_8h__incl.gif" border="0" usemap="#commands.h_map" alt=""></center>
-<map name="commands.h_map">
-<area href="users_8h-source.html" shape="rect" coords="198,260,262,287" alt="">
-<area href="channels_8h-source.html" shape="rect" coords="355,311,440,337" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="commands_8h__dep__incl.gif" border="0" usemap="#commands.hdep_map" alt=""></center>
-<map name="commands.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="155,7,253,33" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="155,57,253,84" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="164,108,244,135" alt="">
-</map>
-
-<p>
-<a href="commands_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>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="commands_8h.html#CleanFilename_28char_20_2Aname_29">CleanFilename</a> (char *name)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a> (const char *server)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a> (const char *str)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" 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="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classuserrec.html">userrec</a> *dest, unsigned long signon, unsigned long idle, char *nick)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="commands_8h.html#host_5Fmatches_5Feveryone_28std_3A_3Astring_20mask_2C_20userrec_20_2Auser_29">host_matches_everyone</a> (<a class="el" href="namespaceirc.html#string">std::string</a> mask, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="commands_8h.html#ip_5Fmatches_5Feveryone_28std_3A_3Astring_20ip_2C_20userrec_20_2Auser_29">ip_matches_everyone</a> (<a class="el" href="namespaceirc.html#string">std::string</a> ip, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="commands_8h.html#nick_5Fmatches_5Feveryone_28std_3A_3Astring_20nick_2C_20userrec_20_2Auser_29">nick_matches_everyone</a> (<a class="el" href="namespaceirc.html#string">std::string</a> nick, <a class="el" href="classuserrec.html">userrec</a> *user)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="commands_8h.html#operstrcmp_28char_20_2Adata_2C_20char_20_2Ainput_29">operstrcmp</a> (char *data, char *input)</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="CleanFilename_28char_20_2Aname_29"></a><!-- doxytag: member="commands.h::CleanFilename" ref="CleanFilename_28char_20_2Aname_29" args="(char *name)" --><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* CleanFilename </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>name</em> </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="do_5Fwhois_28userrec_20_2Auser_2C_20userrec_20_2Adest_2C_20unsigned_20long_20signon_2C_20unsigned_20long_20idle_2C_20char_20_2Anick_29"></a><!-- doxytag: member="commands.h::do_whois" ref="do_5Fwhois_28userrec_20_2Auser_2C_20userrec_20_2Adest_2C_20unsigned_20long_20signon_2C_20unsigned_20long_20idle_2C_20char_20_2Anick_29" args="(userrec *user, userrec *dest, unsigned long signon, unsigned long idle, char *nick)" --><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 do_whois </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="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned long&nbsp;</td>
- <td class="mdname" nowrap> <em>signon</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>unsigned long&nbsp;</td>
- <td class="mdname" nowrap> <em>idle</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>nick</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="duration_28const_20char_20_2Astr_29"></a><!-- doxytag: member="commands.h::duration" ref="duration_28const_20char_20_2Astr_29" args="(const char *str)" --><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">long duration </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>str</em> </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#l00689">Server::CalcDuration()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="host_5Fmatches_5Feveryone_28std_3A_3Astring_20mask_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="commands.h::host_matches_everyone" ref="host_5Fmatches_5Feveryone_28std_3A_3Astring_20mask_2C_20userrec_20_2Auser_29" args="(std::string mask, userrec *user)" --><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">bool host_matches_everyone </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>mask</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ip_5Fmatches_5Feveryone_28std_3A_3Astring_20ip_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="commands.h::ip_matches_everyone" ref="ip_5Fmatches_5Feveryone_28std_3A_3Astring_20ip_2C_20userrec_20_2Auser_29" args="(std::string ip, userrec *user)" --><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">bool ip_matches_everyone </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>ip</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="is_5Fuline_28const_20char_20_2Aserver_29"></a><!-- doxytag: member="commands.h::is_uline" ref="is_5Fuline_28const_20char_20_2Aserver_29" args="(const char *server)" --><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">bool is_uline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>server</em> </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="users_8cpp-source.html#l00165">userrec::HasPermission()</a>, <a class="el" href="modules_8cpp-source.html#l00395">Server::IsUlined()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="nick_5Fmatches_5Feveryone_28std_3A_3Astring_20nick_2C_20userrec_20_2Auser_29"></a><!-- doxytag: member="commands.h::nick_matches_everyone" ref="nick_5Fmatches_5Feveryone_28std_3A_3Astring_20nick_2C_20userrec_20_2Auser_29" args="(std::string nick, userrec *user)" --><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">bool nick_matches_everyone </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname" nowrap> <em>nick</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>user</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="operstrcmp_28char_20_2Adata_2C_20char_20_2Ainput_29"></a><!-- doxytag: member="commands.h::operstrcmp" ref="operstrcmp_28char_20_2Adata_2C_20char_20_2Ainput_29" args="(char *data, char *input)" --><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 operstrcmp </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>data</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>input</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>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/commands_8h__dep__incl.gif b/docs/module-doc/commands_8h__dep__incl.gif
deleted file mode 100644
index ce28e5786..000000000
--- a/docs/module-doc/commands_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/commands_8h__dep__incl.map b/docs/module-doc/commands_8h__dep__incl.map
deleted file mode 100644
index 26890d2cd..000000000
--- a/docs/module-doc/commands_8h__dep__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 155,7 253,33
-rect $modules_8cpp-source.html 155,57 253,84
-rect $users_8cpp-source.html 164,108 244,135
diff --git a/docs/module-doc/commands_8h__dep__incl.md5 b/docs/module-doc/commands_8h__dep__incl.md5
deleted file mode 100644
index d45b67fd3..000000000
--- a/docs/module-doc/commands_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-779a17861bcecad946539378f1f9eeb8 \ No newline at end of file
diff --git a/docs/module-doc/commands_8h__incl.gif b/docs/module-doc/commands_8h__incl.gif
deleted file mode 100644
index 195c5a2af..000000000
--- a/docs/module-doc/commands_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/commands_8h__incl.map b/docs/module-doc/commands_8h__incl.map
deleted file mode 100644
index 3712e88fb..000000000
--- a/docs/module-doc/commands_8h__incl.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $users_8h-source.html 198,260 262,287
-rect $channels_8h-source.html 355,311 440,337
diff --git a/docs/module-doc/commands_8h__incl.md5 b/docs/module-doc/commands_8h__incl.md5
deleted file mode 100644
index cb82238d9..000000000
--- a/docs/module-doc/commands_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-a53e792c40a1f2a94bc199e5679cfe9b \ No newline at end of file
diff --git a/docs/module-doc/connection_8h-source.html b/docs/module-doc/connection_8h-source.html
deleted file mode 100644
index 04b908f9e..000000000
--- a/docs/module-doc/connection_8h-source.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!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: connection.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>connection.h</h1><a href="connection_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-2004 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">#include "inspircd_config.h"</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="base_8h.html">base.h</a>"</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;map&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;netdb.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;errno.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;time.h&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;deque&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00031"></a>00031
-<a name="l00032"></a>00032 <span class="preprocessor">#ifndef __CONNECTION_H__</span>
-<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor">#define __CONNECTION_H__</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span>
-<a name="l00037"></a><a class="code" href="classconnection.html">00037</a> <span class="keyword">class </span><a class="code" href="classconnection.html">connection</a> : <span class="keyword">public</span> <a class="code" href="classExtensible.html">Extensible</a>
-<a name="l00038"></a>00038 {
-<a name="l00039"></a>00039 <span class="keyword">public</span>:
-<a name="l00042"></a><a class="code" href="classconnection.html#fd">00042</a> <span class="keywordtype">int</span> <a class="code" href="classconnection.html#fd">fd</a>;
-<a name="l00043"></a>00043
-<a name="l00046"></a><a class="code" href="classconnection.html#host_5B_31_36_30_5D">00046</a> <span class="keywordtype">char</span> <a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>[160];
-<a name="l00047"></a>00047
-<a name="l00050"></a><a class="code" href="classconnection.html#ip_5B_31_36_5D">00050</a> <span class="keywordtype">char</span> <a class="code" href="classconnection.html#ip_5B_31_36_5D">ip</a>[16];
-<a name="l00051"></a>00051
-<a name="l00054"></a><a class="code" href="classconnection.html#bytes_5Fin">00054</a> <span class="keywordtype">int</span> <a class="code" href="classconnection.html#bytes_5Fin">bytes_in</a>;
-<a name="l00055"></a>00055
-<a name="l00058"></a><a class="code" href="classconnection.html#bytes_5Fout">00058</a> <span class="keywordtype">int</span> <a class="code" href="classconnection.html#bytes_5Fout">bytes_out</a>;
-<a name="l00059"></a>00059
-<a name="l00062"></a><a class="code" href="classconnection.html#cmds_5Fin">00062</a> <span class="keywordtype">int</span> <a class="code" href="classconnection.html#cmds_5Fin">cmds_in</a>;
-<a name="l00063"></a>00063
-<a name="l00066"></a><a class="code" href="classconnection.html#cmds_5Fout">00066</a> <span class="keywordtype">int</span> <a class="code" href="classconnection.html#cmds_5Fout">cmds_out</a>;
-<a name="l00067"></a>00067
-<a name="l00070"></a><a class="code" href="classconnection.html#haspassed">00070</a> <span class="keywordtype">bool</span> <a class="code" href="classconnection.html#haspassed">haspassed</a>;
-<a name="l00071"></a>00071
-<a name="l00076"></a><a class="code" href="classconnection.html#port">00076</a> <span class="keywordtype">int</span> <a class="code" href="classconnection.html#port">port</a>;
-<a name="l00077"></a>00077
-<a name="l00080"></a><a class="code" href="classconnection.html#registered">00080</a> <span class="keywordtype">char</span> <a class="code" href="classconnection.html#registered">registered</a>;
-<a name="l00081"></a>00081
-<a name="l00084"></a><a class="code" href="classconnection.html#lastping">00084</a> time_t <a class="code" href="classconnection.html#lastping">lastping</a>;
-<a name="l00085"></a>00085
-<a name="l00088"></a><a class="code" href="classconnection.html#signon">00088</a> time_t <a class="code" href="classconnection.html#signon">signon</a>;
-<a name="l00089"></a>00089
-<a name="l00092"></a><a class="code" href="classconnection.html#idle_5Flastmsg">00092</a> time_t <a class="code" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a>;
-<a name="l00093"></a>00093
-<a name="l00096"></a><a class="code" href="classconnection.html#nping">00096</a> time_t <a class="code" href="classconnection.html#nping">nping</a>;
-<a name="l00097"></a>00097
-<a name="l00100"></a><a class="code" href="classconnection.html#connection_28_29">00100</a> <a class="code" href="classconnection.html#connection_28_29">connection</a>()
-<a name="l00101"></a>00101 {
-<a name="l00102"></a>00102 this-&gt;<a class="code" href="classconnection.html#fd">fd</a> = -1;
-<a name="l00103"></a>00103 }
-<a name="l00104"></a>00104 };
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/connection_8h.html b/docs/module-doc/connection_8h.html
deleted file mode 100644
index bedff3b00..000000000
--- a/docs/module-doc/connection_8h.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!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: connection.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>connection.h File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="base_8h-source.html">base.h</a>&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;map&gt;</code><br>
-<code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include &lt;sys/socket.h&gt;</code><br>
-<code>#include &lt;netdb.h&gt;</code><br>
-<code>#include &lt;netinet/in.h&gt;</code><br>
-<code>#include &lt;unistd.h&gt;</code><br>
-<code>#include &lt;errno.h&gt;</code><br>
-<code>#include &lt;time.h&gt;</code><br>
-<code>#include &lt;vector&gt;</code><br>
-<code>#include &lt;deque&gt;</code><br>
-<code>#include &lt;sstream&gt;</code><br>
-
-<p>
-Include dependency graph for connection.h:<p><center><img src="connection_8h__incl.gif" border="0" usemap="#connection.h_map" alt=""></center>
-<map name="connection.h_map">
-<area href="base_8h-source.html" shape="rect" coords="171,108,232,135" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="connection_8h__dep__incl.gif" border="0" usemap="#connection.hdep_map" alt=""></center>
-<map name="connection.hdep_map">
-<area href="users_8cpp-source.html" shape="rect" coords="268,32,348,59" alt="">
-<area href="users_8h-source.html" shape="rect" coords="155,58,219,84" alt="">
-</map>
-
-<p>
-<a href="connection_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="classconnection.html">connection</a></td></tr>
-
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/connection_8h__dep__incl.gif b/docs/module-doc/connection_8h__dep__incl.gif
deleted file mode 100644
index 7b447f6ad..000000000
--- a/docs/module-doc/connection_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/connection_8h__dep__incl.map b/docs/module-doc/connection_8h__dep__incl.map
deleted file mode 100644
index 537d63375..000000000
--- a/docs/module-doc/connection_8h__dep__incl.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $users_8cpp-source.html 268,32 348,59
-rect $users_8h-source.html 155,58 219,84
diff --git a/docs/module-doc/connection_8h__dep__incl.md5 b/docs/module-doc/connection_8h__dep__incl.md5
deleted file mode 100644
index 805703248..000000000
--- a/docs/module-doc/connection_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-0e1861daaddbab4521f1d2933037aa81 \ No newline at end of file
diff --git a/docs/module-doc/connection_8h__incl.gif b/docs/module-doc/connection_8h__incl.gif
deleted file mode 100644
index 6ce5349e8..000000000
--- a/docs/module-doc/connection_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/connection_8h__incl.map b/docs/module-doc/connection_8h__incl.map
deleted file mode 100644
index 18d7625a2..000000000
--- a/docs/module-doc/connection_8h__incl.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $base_8h-source.html 171,108 232,135
diff --git a/docs/module-doc/connection_8h__incl.md5 b/docs/module-doc/connection_8h__incl.md5
deleted file mode 100644
index fd8b11637..000000000
--- a/docs/module-doc/connection_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-58c73d261dc41f418721e3c765d392c8 \ No newline at end of file
diff --git a/docs/module-doc/ctables_8h-source.html b/docs/module-doc/ctables_8h-source.html
deleted file mode 100644
index 87cfd3db4..000000000
--- a/docs/module-doc/ctables_8h-source.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!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: ctables.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>ctables.h</h1><a href="ctables_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-2004 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 __CTABLES_H__</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __CTABLES_H__</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;deque&gt;</span>
-<a name="l00022"></a>00022
-<a name="l00023"></a>00023 <span class="keyword">class </span><a class="code" href="classuserrec.html">userrec</a>;
-<a name="l00024"></a>00024
-<a name="l00025"></a>00025 <span class="comment">/*typedef void (handlerfunc) (char**, int, userrec*);*/</span>
-<a name="l00026"></a>00026
-<a name="l00029"></a><a class="code" href="classcommand__t.html">00029</a> <span class="keyword">class </span><a class="code" href="classcommand__t.html">command_t</a>
-<a name="l00030"></a>00030 {
-<a name="l00031"></a>00031 <span class="keyword">public</span>:
-<a name="l00034"></a><a class="code" href="classcommand__t.html#command">00034</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classcommand__t.html#command">command</a>;
-<a name="l00037"></a><a class="code" href="classcommand__t.html#flags_5Fneeded">00037</a> <span class="keywordtype">char</span> <a class="code" href="classcommand__t.html#flags_5Fneeded">flags_needed</a>;
-<a name="l00040"></a><a class="code" href="classcommand__t.html#min_5Fparams">00040</a> <span class="keywordtype">int</span> <a class="code" href="classcommand__t.html#min_5Fparams">min_params</a>;
-<a name="l00043"></a><a class="code" href="classcommand__t.html#use_5Fcount">00043</a> <span class="keywordtype">long</span> <a class="code" href="classcommand__t.html#use_5Fcount">use_count</a>;
-<a name="l00046"></a><a class="code" href="classcommand__t.html#total_5Fbytes">00046</a> <span class="keywordtype">long</span> <a class="code" href="classcommand__t.html#total_5Fbytes">total_bytes</a>;
-<a name="l00049"></a><a class="code" href="classcommand__t.html#source">00049</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classcommand__t.html#source">source</a>;
-<a name="l00050"></a>00050
-<a name="l00051"></a><a class="code" href="classcommand__t.html#command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29">00051</a> <a class="code" href="classcommand__t.html#command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29">command_t</a>(<a class="code" href="namespaceirc.html#string">std::string</a> cmd, <span class="keywordtype">char</span> flags, <span class="keywordtype">int</span> minpara) : <a class="code" href="classcommand__t.html#command">command</a>(cmd), <a class="code" href="classcommand__t.html#flags_5Fneeded">flags_needed</a>(flags), <a class="code" href="classcommand__t.html#min_5Fparams">min_params</a>(minpara)
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 <a class="code" href="classcommand__t.html#use_5Fcount">use_count</a> = <a class="code" href="classcommand__t.html#total_5Fbytes">total_bytes</a> = 0;
-<a name="l00054"></a>00054 <a class="code" href="classcommand__t.html#source">source</a> = <span class="stringliteral">"&lt;core&gt;"</span>;
-<a name="l00055"></a>00055 }
-<a name="l00056"></a>00056
-<a name="l00057"></a>00057 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classcommand__t.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29_3D_30">Handle</a>(<span class="keywordtype">char</span>** parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a>* user) = 0;
-<a name="l00058"></a>00058
-<a name="l00059"></a><a class="code" href="classcommand__t.html#_7Ecommand_5Ft_28_29">00059</a> <span class="keyword">virtual</span> <a class="code" href="classcommand__t.html#_7Ecommand_5Ft_28_29">~command_t</a>() {}
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061
-<a name="l00062"></a><a class="code" href="ctables_8h.html#command_5Ftable">00062</a> <span class="keyword">typedef</span> std::deque&lt;command_t*&gt; <a class="code" href="ctables_8h.html#command_5Ftable">command_table</a>;
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="preprocessor">#endif</span>
-<a name="l00065"></a>00065 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/ctables_8h.html b/docs/module-doc/ctables_8h.html
deleted file mode 100644
index ae122df2f..000000000
--- a/docs/module-doc/ctables_8h.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!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: ctables.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>ctables.h File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &lt;deque&gt;</code><br>
-
-<p>
-Include dependency graph for ctables.h:<p><center><img src="ctables_8h__incl.gif" border="0" usemap="#ctables.h_map" alt=""></center>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="ctables_8h__dep__incl.gif" border="0" usemap="#ctables.hdep_map" alt=""></center>
-<map name="ctables.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="400,108,499,135" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="400,184,499,211" alt="">
-<area href="modules_8h-source.html" shape="rect" coords="134,108,216,135" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="266,159,351,185" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="275,209,342,236" alt="">
-</map>
-
-<p>
-<a href="ctables_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="classcommand__t.html">command_t</a></td></tr>
-
-<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>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::deque&lt; <a class="el" href="classcommand__t.html">command_t</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="ctables_8h.html#command_5Ftable">command_table</a></td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="command_5Ftable"></a><!-- doxytag: member="ctables.h::command_table" ref="command_5Ftable" 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">typedef std::deque&lt;<a class="el" href="classcommand__t.html">command_t</a>*&gt; <a class="el" href="ctables_8h.html#command_5Ftable">command_table</a> </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="ctables_8h-source.html#l00062">62</a> of file <a class="el" href="ctables_8h-source.html">ctables.h</a>. </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/ctables_8h__dep__incl.gif b/docs/module-doc/ctables_8h__dep__incl.gif
deleted file mode 100644
index d91d35317..000000000
--- a/docs/module-doc/ctables_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ctables_8h__dep__incl.map b/docs/module-doc/ctables_8h__dep__incl.map
deleted file mode 100644
index 23354987f..000000000
--- a/docs/module-doc/ctables_8h__dep__incl.map
+++ /dev/null
@@ -1,6 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 400,108 499,135
-rect $modules_8cpp-source.html 400,184 499,211
-rect $modules_8h-source.html 134,108 216,135
-rect $typedefs_8h-source.html 266,159 351,185
-rect $mode_8h-source.html 275,209 342,236
diff --git a/docs/module-doc/ctables_8h__dep__incl.md5 b/docs/module-doc/ctables_8h__dep__incl.md5
deleted file mode 100644
index c35f9be47..000000000
--- a/docs/module-doc/ctables_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-1cb19b8d7a8ce1acf4cdb02da02f3f37 \ No newline at end of file
diff --git a/docs/module-doc/ctables_8h__incl.gif b/docs/module-doc/ctables_8h__incl.gif
deleted file mode 100644
index 60de0f9c6..000000000
--- a/docs/module-doc/ctables_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ctables_8h__incl.map b/docs/module-doc/ctables_8h__incl.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/ctables_8h__incl.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/ctables_8h__incl.md5 b/docs/module-doc/ctables_8h__incl.md5
deleted file mode 100644
index cd96c12ea..000000000
--- a/docs/module-doc/ctables_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-40fd955ba897df932e17c7525207162b \ No newline at end of file
diff --git a/docs/module-doc/cull__list_8h-source.html b/docs/module-doc/cull__list_8h-source.html
deleted file mode 100644
index b0a640033..000000000
--- a/docs/module-doc/cull__list_8h-source.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/cull__list_8h.html b/docs/module-doc/cull__list_8h.html
deleted file mode 100644
index 8471da4d1..000000000
--- a/docs/module-doc/cull__list_8h.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!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,209,347,236" alt="">
-<area href="connection_8h-source.html" shape="rect" coords="255,412,354,439" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="258,311,351,337" 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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/cull__list_8h__incl.gif b/docs/module-doc/cull__list_8h__incl.gif
deleted file mode 100644
index bd450b9da..000000000
--- a/docs/module-doc/cull__list_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/cull__list_8h__incl.map b/docs/module-doc/cull__list_8h__incl.map
deleted file mode 100644
index 83585e216..000000000
--- a/docs/module-doc/cull__list_8h__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $users_8h-source.html 138,260 202,287
-rect $channels_8h-source.html 262,209 347,236
-rect $connection_8h-source.html 255,412 354,439
-rect $hashcomp_8h-source.html 258,311 351,337
diff --git a/docs/module-doc/cull__list_8h__incl.md5 b/docs/module-doc/cull__list_8h__incl.md5
deleted file mode 100644
index 8e48434f9..000000000
--- a/docs/module-doc/cull__list_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-15a1b582a0c3999d28743f4a72ab2570 \ No newline at end of file
diff --git a/docs/module-doc/dir_000000.html b/docs/module-doc/dir_000000.html
deleted file mode 100644
index 0ce61d458..000000000
--- a/docs/module-doc/dir_000000.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!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: /home/ Directory 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></div>
-<h1>home Directory Reference</h1>
-<p>
-<p><center><img src="dir_000000_dep.gif" border="0" usemap="#dir_000000_dep_map" alt="/home/"></center>
-<map name="dir_000000_dep_map">
-<area href="dir_000001.html" shape="rect" coords="28,39,100,87" alt="">
-<area href="dir_000000.html" shape="rect" coords="17,17,207,97" alt="">
-</map>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
-<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 Mon Dec 19 18:05:24 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/dir_000000_dep.gif b/docs/module-doc/dir_000000_dep.gif
deleted file mode 100644
index 62bb6fe7e..000000000
--- a/docs/module-doc/dir_000000_dep.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/dir_000000_dep.map b/docs/module-doc/dir_000000_dep.map
deleted file mode 100644
index a77bf1144..000000000
--- a/docs/module-doc/dir_000000_dep.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect dir_000001.html 28,39 100,87
-rect dir_000000.html 17,17 207,97
diff --git a/docs/module-doc/dir_000001.html b/docs/module-doc/dir_000001.html
deleted file mode 100644
index ecb78c333..000000000
--- a/docs/module-doc/dir_000001.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!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: /home/brain/ Directory 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></div>
-<h1>brain Directory Reference</h1>
-<p>
-<p><center><img src="dir_000001_dep.gif" border="0" usemap="#dir_000001_dep_map" alt="/home/brain/"></center>
-<map name="dir_000001_dep_map">
-<area href="dir_000002.html" shape="rect" coords="39,76,132,124" alt="">
-<area href="dir_000001.html" shape="rect" coords="28,55,239,135" alt="">
-<area href="dir_000000.html" shape="rect" coords="18,17,250,145" alt="">
-</map>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
-<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 Mon Dec 19 18:05:24 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/dir_000001_dep.gif b/docs/module-doc/dir_000001_dep.gif
deleted file mode 100644
index dcea55c5c..000000000
--- a/docs/module-doc/dir_000001_dep.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/dir_000001_dep.map b/docs/module-doc/dir_000001_dep.map
deleted file mode 100644
index 88e9d2230..000000000
--- a/docs/module-doc/dir_000001_dep.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect dir_000002.html 39,76 132,124
-rect dir_000001.html 28,55 239,135
-rect dir_000000.html 18,17 250,145
diff --git a/docs/module-doc/dir_000002.html b/docs/module-doc/dir_000002.html
deleted file mode 100644
index b3e930e3c..000000000
--- a/docs/module-doc/dir_000002.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!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: /home/brain/inspircd-cvs/ Directory 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></div>
-<h1>inspircd-cvs Directory Reference</h1>
-<p>
-<p><center><img src="dir_000002_dep.gif" border="0" usemap="#dir_000002_dep_map" alt="/home/brain/inspircd-cvs/"></center>
-<map name="dir_000002_dep_map">
-<area href="dir_000003.html" shape="rect" coords="39,76,111,124" alt="">
-<area href="dir_000002.html" shape="rect" coords="28,55,239,135" alt="">
-<area href="dir_000001.html" shape="rect" coords="18,17,250,145" alt="">
-</map>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
-<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 Mon Dec 19 18:05:24 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/dir_000002_dep.gif b/docs/module-doc/dir_000002_dep.gif
deleted file mode 100644
index 370b51966..000000000
--- a/docs/module-doc/dir_000002_dep.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/dir_000002_dep.map b/docs/module-doc/dir_000002_dep.map
deleted file mode 100644
index 43c7f8647..000000000
--- a/docs/module-doc/dir_000002_dep.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect dir_000003.html 39,76 111,124
-rect dir_000002.html 28,55 239,135
-rect dir_000001.html 18,17 250,145
diff --git a/docs/module-doc/dir_000003.html b/docs/module-doc/dir_000003.html
deleted file mode 100644
index 1ec214380..000000000
--- a/docs/module-doc/dir_000003.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!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: /home/brain/inspircd-cvs/inspircd/ Directory 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></div>
-<h1>inspircd Directory Reference</h1>
-<p>
-<p><center><img src="dir_000003_dep.gif" border="0" usemap="#dir_000003_dep_map" alt="/home/brain/inspircd-cvs/inspircd/"></center>
-<map name="dir_000003_dep_map">
-<area href="dir_000004.html" shape="rect" coords="39,172,111,220" alt="">
-<area href="dir_000005.html" shape="rect" coords="39,76,111,124" alt="">
-<area href="dir_000005_000004.html" shape="rect" coords="75,147,90,160" alt="">
-<area href="dir_000005_000004.html" shape="rect" coords="71,168,79,176" alt="">
-<area href="dir_000003.html" shape="rect" coords="28,55,217,231" alt="">
-<area href="dir_000002.html" shape="rect" coords="17,17,228,241" alt="">
-</map>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Directories</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">directory &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dir_000004.html">include</a></td></tr>
-
-<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 Mon Dec 19 18:05:24 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/dir_000003_dep.gif b/docs/module-doc/dir_000003_dep.gif
deleted file mode 100644
index b920a467f..000000000
--- a/docs/module-doc/dir_000003_dep.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/dir_000003_dep.map b/docs/module-doc/dir_000003_dep.map
deleted file mode 100644
index da683e754..000000000
--- a/docs/module-doc/dir_000003_dep.map
+++ /dev/null
@@ -1,7 +0,0 @@
-base referer
-rect dir_000004.html 39,172 111,220
-rect dir_000005.html 39,76 111,124
-rect dir_000005_000004.html 75,147 90,160
-rect dir_000005_000004.html 71,168 79,176
-rect dir_000003.html 28,55 217,231
-rect dir_000002.html 17,17 228,241
diff --git a/docs/module-doc/dir_000004.html b/docs/module-doc/dir_000004.html
deleted file mode 100644
index bddd65366..000000000
--- a/docs/module-doc/dir_000004.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!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: /home/brain/inspircd-cvs/inspircd/include/ Directory 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>include Directory Reference</h1>
-<p>
-<p><center><img src="dir_000004_dep.gif" border="0" usemap="#dir_000004_dep_map" alt="/home/brain/inspircd-cvs/inspircd/include/"></center>
-<map name="dir_000004_dep_map">
-<area href="dir_000004.html" shape="rect" coords="28,55,100,103" alt="">
-<area href="dir_000003.html" shape="rect" coords="17,17,111,113" alt="">
-</map>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Files</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="aes_8h.html">aes.h</a> <a href="aes_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="base_8h.html">base.h</a> <a href="base_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="channels_8h.html">channels.h</a> <a href="channels_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="commands_8h.html">commands.h</a> <a href="commands_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="connection_8h.html">connection.h</a> <a href="connection_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="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>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcomp_8h.html">hashcomp.h</a> <a href="hashcomp_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="inspircd_8h.html">inspircd.h</a> <a href="inspircd_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="inspircd__io_8h.html">inspircd_io.h</a> <a href="inspircd__io_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="message_8h.html">message.h</a> <a href="message_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="mode_8h.html">mode.h</a> <a href="mode_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="modules_8h.html">modules.h</a> <a href="modules_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="socket_8h.html">socket.h</a> <a href="socket_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="socketengine_8h.html">socketengine.h</a> <a href="socketengine_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="typedefs_8h.html">typedefs.h</a> <a href="typedefs_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="userprocess_8h.html">userprocess.h</a> <a href="userprocess_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="users_8h.html">users.h</a> <a href="users_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="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 Mon Dec 19 18:05:24 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/dir_000004_dep.gif b/docs/module-doc/dir_000004_dep.gif
deleted file mode 100644
index 4db6c66d6..000000000
--- a/docs/module-doc/dir_000004_dep.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/dir_000004_dep.map b/docs/module-doc/dir_000004_dep.map
deleted file mode 100644
index 308579c47..000000000
--- a/docs/module-doc/dir_000004_dep.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect dir_000004.html 28,55 100,103
-rect dir_000003.html 17,17 111,113
diff --git a/docs/module-doc/dir_000005.html b/docs/module-doc/dir_000005.html
deleted file mode 100644
index dd6649873..000000000
--- a/docs/module-doc/dir_000005.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!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: /home/brain/inspircd-cvs/inspircd/src/ Directory 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_000005.html">src</a></div>
-<h1>src Directory Reference</h1>
-<p>
-<p><center><img src="dir_000005_dep.gif" border="0" usemap="#dir_000005_dep_map" alt="/home/brain/inspircd-cvs/inspircd/src/"></center>
-<map name="dir_000005_dep_map">
-<area href="dir_000005.html" shape="rect" coords="28,55,100,103" alt="">
-<area href="dir_000004.html" shape="rect" coords="28,151,100,199" alt="">
-<area href="dir_000005_000004.html" shape="rect" coords="65,125,79,139" alt="">
-<area href="dir_000005_000004.html" shape="rect" coords="60,147,68,155" alt="">
-<area href="dir_000003.html" shape="rect" coords="17,17,111,113" alt="">
-</map>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Files</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">file &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="channels_8cpp.html">channels.cpp</a> <a href="channels_8cpp-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="modules_8cpp.html">modules.cpp</a> <a href="modules_8cpp-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="socket_8cpp.html">socket.cpp</a> <a href="socket_8cpp-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="socketengine_8cpp.html">socketengine.cpp</a> <a href="socketengine_8cpp-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="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 Mon Dec 19 18:05:24 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/dir_000005_000004.html b/docs/module-doc/dir_000005_000004.html
deleted file mode 100644
index cbaf8be42..000000000
--- a/docs/module-doc/dir_000005_000004.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!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: /home/brain/inspircd-cvs/inspircd/src/ -&gt; include Relation</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_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="hashcomp_8h.html">hashcomp.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="message_8h.html">message.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="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="typedefs_8h.html">typedefs.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><tr class="dirtab"><td class="dirtab"><a class="el" href="users_8cpp.html">users.cpp</a></td><td class="dirtab"><a class="el" href="xline_8h.html">xline.h</a></td></tr></table><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/dir_000005_dep.gif b/docs/module-doc/dir_000005_dep.gif
deleted file mode 100644
index b101b5fba..000000000
--- a/docs/module-doc/dir_000005_dep.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/dir_000005_dep.map b/docs/module-doc/dir_000005_dep.map
deleted file mode 100644
index 230315694..000000000
--- a/docs/module-doc/dir_000005_dep.map
+++ /dev/null
@@ -1,6 +0,0 @@
-base referer
-rect dir_000005.html 28,55 100,103
-rect dir_000004.html 28,151 100,199
-rect dir_000005_000004.html 65,125 79,139
-rect dir_000005_000004.html 60,147 68,155
-rect dir_000003.html 17,17 111,113
diff --git a/docs/module-doc/dirs.html b/docs/module-doc/dirs.html
deleted file mode 100644
index 7393f9f15..000000000
--- a/docs/module-doc/dirs.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!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: Directory Hierarchy</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="qindexHL" 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 Directories</h1>This directory hierarchy is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="dir_000000.html">home</a>
-<ul>
-<li><a class="el" href="dir_000001.html">brain</a>
-<ul>
-<li><a class="el" href="dir_000002.html">inspircd-cvs</a>
-<ul>
-<li><a class="el" href="dir_000003.html">inspircd</a>
-<ul>
-<li><a class="el" href="dir_000004.html">include</a>
-<li><a class="el" href="dir_000005.html">src</a>
-</ul>
-</ul>
-</ul>
-</ul>
-</ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/dns_8h-source.html b/docs/module-doc/dns_8h-source.html
deleted file mode 100644
index e4eb4d4f4..000000000
--- a/docs/module-doc/dns_8h-source.html
+++ /dev/null
@@ -1,84 +0,0 @@
-<!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: dns.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>dns.h</h1><a href="dns_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">dns.h - dns library declarations based on firedns Copyright (C) 2002 Ian Gulliver</span>
-<a name="l00003"></a>00003 <span class="comment"></span>
-<a name="l00004"></a>00004 <span class="comment">This program is free software; you can redistribute it and/or modify</span>
-<a name="l00005"></a>00005 <span class="comment">it under the terms of version 2 of the GNU General Public License as</span>
-<a name="l00006"></a>00006 <span class="comment">published by the Free Software Foundation.</span>
-<a name="l00007"></a>00007 <span class="comment"></span>
-<a name="l00008"></a>00008 <span class="comment">This program is distributed in the hope that it will be useful,</span>
-<a name="l00009"></a>00009 <span class="comment">but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
-<a name="l00010"></a>00010 <span class="comment">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
-<a name="l00011"></a>00011 <span class="comment">GNU General Public License for more details.</span>
-<a name="l00012"></a>00012 <span class="comment"></span>
-<a name="l00013"></a>00013 <span class="comment">You should have received a copy of the GNU General Public License</span>
-<a name="l00014"></a>00014 <span class="comment">along with this program; if not, write to the Free Software</span>
-<a name="l00015"></a>00015 <span class="comment">Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
-<a name="l00016"></a>00016 <span class="comment">*/</span>
-<a name="l00017"></a>00017
-<a name="l00018"></a>00018 <span class="preprocessor">#ifndef _DNS_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define _DNS_H</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00025"></a>00025
-<a name="l00026"></a><a class="code" href="structdns__ip4list.html">00026</a> <span class="keyword">struct </span><a class="code" href="structdns__ip4list.html">dns_ip4list</a> {
-<a name="l00027"></a><a class="code" href="structdns__ip4list.html#ip">00027</a> in_addr <a class="code" href="structdns__ip4list.html#ip">ip</a>;
-<a name="l00028"></a><a class="code" href="structdns__ip4list.html#next">00028</a> <a class="code" href="structdns__ip4list.html">dns_ip4list</a> *<a class="code" href="structdns__ip4list.html#next">next</a>;
-<a name="l00029"></a>00029 };
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031
-<a name="l00035"></a><a class="code" href="classDNS.html">00035</a> <span class="keyword">class </span><a class="code" href="classDNS.html">DNS</a>
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <span class="keyword">private</span>:
-<a name="l00038"></a><a class="code" href="classDNS.html#binip">00038</a> in_addr *<a class="code" href="classDNS.html#binip">binip</a>;
-<a name="l00039"></a><a class="code" href="classDNS.html#result">00039</a> <span class="keywordtype">char</span>* <a class="code" href="classDNS.html#result">result</a>;
-<a name="l00040"></a><a class="code" href="classDNS.html#localbuf_5B_31_30_32_34_5D">00040</a> <span class="keywordtype">char</span> <a class="code" href="classDNS.html#localbuf_5B_31_30_32_34_5D">localbuf</a>[1024];
-<a name="l00041"></a><a class="code" href="classDNS.html#t">00041</a> <span class="keywordtype">int</span> <a class="code" href="classDNS.html#t">t</a>;
-<a name="l00042"></a>00042 <span class="keywordtype">void</span> <a class="code" href="classDNS.html#dns_5Finit_28_29">dns_init</a>();
-<a name="l00043"></a><a class="code" href="classDNS.html#myfd">00043</a> <span class="keywordtype">int</span> <a class="code" href="classDNS.html#myfd">myfd</a>;
-<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="classDNS.html#dns_5Finit_5F_32_28const_20char_20_2Adnsserver_29">dns_init_2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* dnsserver);
-<a name="l00045"></a>00045 in_addr *<a class="code" href="classDNS.html#dns_5Faton_34_28const_20char_20_2Aconst_20ipstring_29">dns_aton4</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ipstring);
-<a name="l00046"></a>00046 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#dns_5Fntoa_34_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_ntoa4</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip);
-<a name="l00047"></a>00047 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#dns_5Fgetip_34_28const_20char_20_2Aconst_20name_29">dns_getip4</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name);
-<a name="l00048"></a>00048 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#dns_5Fgetip_34list_28const_20char_20_2Aconst_20name_29">dns_getip4list</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name);
-<a name="l00049"></a>00049 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#dns_5Fgetname_34_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_getname4</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip);
-<a name="l00050"></a>00050 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#dns_5Fgetresult_28const_20int_20fd_29">dns_getresult</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> fd);
-<a name="l00051"></a>00051 in_addr *<a class="code" href="classDNS.html#dns_5Faton_34_5Fs_28const_20char_20_2Aconst_20ipstring_2C_20in_5Faddr_20_2Aconst_20ip_29">dns_aton4_s</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ipstring, in_addr * <span class="keyword">const</span> ip);
-<a name="l00052"></a>00052 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#dns_5Fntoa_34_5Fs_28const_20in_5Faddr_20_2Aconst_20ip_2C_20char_20_2Aconst_20result_29">dns_ntoa4_s</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip, <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classDNS.html#result">result</a>);
-<a name="l00053"></a>00053 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#dns_5Fgetresult_5Fs_28const_20int_20fd_2C_20char_20_2Aconst_20result_29">dns_getresult_s</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> fd, <span class="keywordtype">char</span> * <span class="keyword">const</span> <a class="code" href="classDNS.html#result">result</a>);
-<a name="l00054"></a>00054 in_addr *<a class="code" href="classDNS.html#dns_5Faton_34_5Fr_28const_20char_20_2Aconst_20ipstring_29">dns_aton4_r</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ipstring);
-<a name="l00055"></a>00055 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#dns_5Fntoa_34_5Fr_28const_20in_5Faddr_20_2Aconst_20ip_29">dns_ntoa4_r</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip);
-<a name="l00056"></a>00056 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#dns_5Fgetresult_5Fr_28const_20int_20fd_29">dns_getresult_r</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> fd);
-<a name="l00057"></a>00057 <span class="keyword">public</span>:
-<a name="l00064"></a>00064 <a class="code" href="classDNS.html#DNS_28_29">DNS</a>();
-<a name="l00068"></a>00068 <a class="code" href="classDNS.html#DNS_28_29">DNS</a>(<a class="code" href="namespaceirc.html#string">std::string</a> dnsserver);
-<a name="l00071"></a>00071 <a class="code" href="classDNS.html#_7EDNS_28_29">~DNS</a>();
-<a name="l00076"></a>00076 <span class="keywordtype">bool</span> <a class="code" href="classDNS.html#ReverseLookup_28std_3A_3Astring_20ip_29">ReverseLookup</a>(<a class="code" href="namespaceirc.html#string">std::string</a> ip);
-<a name="l00080"></a>00080 <span class="keywordtype">bool</span> <a class="code" href="classDNS.html#ForwardLookup_28std_3A_3Astring_20host_29">ForwardLookup</a>(<a class="code" href="namespaceirc.html#string">std::string</a> host);
-<a name="l00084"></a>00084 <span class="keywordtype">bool</span> <a class="code" href="classDNS.html#HasResult_28_29">HasResult</a>();
-<a name="l00087"></a>00087 <span class="keywordtype">bool</span> <a class="code" href="classDNS.html#HasResult_28_29">HasResult</a>(<span class="keywordtype">int</span> fd);
-<a name="l00091"></a>00091 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classDNS.html#GetResult_28_29">GetResult</a>();
-<a name="l00092"></a>00092 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classDNS.html#GetResultIP_28_29">GetResultIP</a>();
-<a name="l00096"></a>00096 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#GetFD_28_29">GetFD</a>();
-<a name="l00097"></a>00097 <span class="keywordtype">void</span> <a class="code" href="classDNS.html#SetNS_28std_3A_3Astring_20dnsserver_29">SetNS</a>(<a class="code" href="namespaceirc.html#string">std::string</a> dnsserver);
-<a name="l00098"></a>00098 };
-<a name="l00099"></a>00099
-<a name="l00105"></a>00105 <span class="keywordtype">void</span>* <a class="code" href="dns_8h.html#dns_5Ftask_28void_20_2Aarg_29">dns_task</a>(<span class="keywordtype">void</span>* arg);
-<a name="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/dns_8h.html b/docs/module-doc/dns_8h.html
deleted file mode 100644
index 6ab491fea..000000000
--- a/docs/module-doc/dns_8h.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!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: dns.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>dns.h File Reference</h1><code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include &lt;sys/socket.h&gt;</code><br>
-<code>#include &lt;netinet/in.h&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-
-<p>
-Include dependency graph for dns.h:<p><center><img src="dns_8h__incl.gif" border="0" usemap="#dns.h_map" alt=""></center>
-
-<p>
-<a href="dns_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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDNS.html">DNS</a></td></tr>
-
-<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>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="dns_8h.html#dns_5Ftask_28void_20_2Aarg_29">dns_task</a> (void *arg)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is the handler function for multi-threaded <a class="el" href="classDNS.html">DNS</a>. <a href="#dns_5Ftask_28void_20_2Aarg_29"></a><br></td></tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="dns_5Ftask_28void_20_2Aarg_29"></a><!-- doxytag: member="dns.h::dns_task" ref="dns_5Ftask_28void_20_2Aarg_29" args="(void *arg)" --><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* dns_task </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>arg</em> </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>
-This is the handler function for multi-threaded <a class="el" href="classDNS.html">DNS</a>.
-<p>
-It cannot be a class member as pthread will not let us create a thread whos handler function is a member of a class (ugh). </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/dns_8h__incl.gif b/docs/module-doc/dns_8h__incl.gif
deleted file mode 100644
index fbd894395..000000000
--- a/docs/module-doc/dns_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/dns_8h__incl.map b/docs/module-doc/dns_8h__incl.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/dns_8h__incl.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/dns_8h__incl.md5 b/docs/module-doc/dns_8h__incl.md5
deleted file mode 100644
index e01598ff2..000000000
--- a/docs/module-doc/dns_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-9ab4e88ae0e10757c336478c1ab496c5 \ No newline at end of file
diff --git a/docs/module-doc/doxygen.png b/docs/module-doc/doxygen.png
deleted file mode 100644
index 936b7805c..000000000
--- a/docs/module-doc/doxygen.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/files.html b/docs/module-doc/files.html
deleted file mode 100644
index ce0953bde..000000000
--- a/docs/module-doc/files.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!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: File Index</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="qindexHL" 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 File List</h1>Here is a list of all files with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="aes_8h.html">aes.h</a> <a href="aes_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="base_8h.html">base.h</a> <a href="base_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="channels_8cpp.html">channels.cpp</a> <a href="channels_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="channels_8h.html">channels.h</a> <a href="channels_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <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>
- <tr><td class="indexkey"><a class="el" href="inspircd_8h.html">inspircd.h</a> <a href="inspircd_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="inspircd__io_8h.html">inspircd_io.h</a> <a href="inspircd__io_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="message_8h.html">message.h</a> <a href="message_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="mode_8h.html">mode.h</a> <a href="mode_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="modules_8cpp.html">modules.cpp</a> <a href="modules_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="modules_8h.html">modules.h</a> <a href="modules_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="socket_8cpp.html">socket.cpp</a> <a href="socket_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="socket_8h.html">socket.h</a> <a href="socket_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="socketengine_8cpp.html">socketengine.cpp</a> <a href="socketengine_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="socketengine_8h.html">socketengine.h</a> <a href="socketengine_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="typedefs_8h.html">typedefs.h</a> <a href="typedefs_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="userprocess_8h.html">userprocess.h</a> <a href="userprocess_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <tr><td class="indexkey"><a class="el" href="users_8cpp.html">users.cpp</a> <a href="users_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
- <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/ftv2blank.png b/docs/module-doc/ftv2blank.png
deleted file mode 100644
index 3f626d64f..000000000
--- a/docs/module-doc/ftv2blank.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2doc.png b/docs/module-doc/ftv2doc.png
deleted file mode 100644
index 2d16532a6..000000000
--- a/docs/module-doc/ftv2doc.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2folderclosed.png b/docs/module-doc/ftv2folderclosed.png
deleted file mode 100644
index fc9426819..000000000
--- a/docs/module-doc/ftv2folderclosed.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2folderopen.png b/docs/module-doc/ftv2folderopen.png
deleted file mode 100644
index 30e9a2c37..000000000
--- a/docs/module-doc/ftv2folderopen.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2lastnode.png b/docs/module-doc/ftv2lastnode.png
deleted file mode 100644
index f1fc64e48..000000000
--- a/docs/module-doc/ftv2lastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2link.png b/docs/module-doc/ftv2link.png
deleted file mode 100644
index f2549516c..000000000
--- a/docs/module-doc/ftv2link.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2mlastnode.png b/docs/module-doc/ftv2mlastnode.png
deleted file mode 100644
index 0de7e451f..000000000
--- a/docs/module-doc/ftv2mlastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2mnode.png b/docs/module-doc/ftv2mnode.png
deleted file mode 100644
index 72f185b0b..000000000
--- a/docs/module-doc/ftv2mnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2node.png b/docs/module-doc/ftv2node.png
deleted file mode 100644
index c23e9f943..000000000
--- a/docs/module-doc/ftv2node.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2plastnode.png b/docs/module-doc/ftv2plastnode.png
deleted file mode 100644
index 1bc6181ab..000000000
--- a/docs/module-doc/ftv2plastnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2pnode.png b/docs/module-doc/ftv2pnode.png
deleted file mode 100644
index 2f6070ca2..000000000
--- a/docs/module-doc/ftv2pnode.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/ftv2vertline.png b/docs/module-doc/ftv2vertline.png
deleted file mode 100644
index f5a03787b..000000000
--- a/docs/module-doc/ftv2vertline.png
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/functions.html b/docs/module-doc/functions.html
deleted file mode 100644
index a1ae2ed15..000000000
--- a/docs/module-doc/functions.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindexHL" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>a
-: <a class="el" href="classAES.html#a_5BMAX_5FBC_5D">AES</a><li>AddBan()
-: <a class="el" href="classModeParser.html#AddBan_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>AddBuffer()
-: <a class="el" href="classuserrec.html#AddBuffer_28std_3A_3Astring_20a_29">userrec</a><li>AddCommand()
-: <a class="el" href="classServer.html#AddCommand_28command_5Ft_20_2Af_29">Server</a><li>AddELine()
-: <a class="el" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddExtendedListMode()
-: <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>AddIOHook()
-: <a class="el" href="classServerConfig.html#AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29">ServerConfig</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
-: <a class="el" href="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">ServerConfig</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>addy
-: <a class="el" href="classInspSocket.html#addy">InspSocket</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><li>AdminEmail
-: <a class="el" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">ServerConfig</a><li>AdminName
-: <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>AES()
-: <a class="el" href="classAES.html#AES_28_29">AES</a><li>age
-: <a class="el" href="classclassbase.html#age">classbase</a><li>AllowedUmode()
-: <a class="el" href="classModeParser.html#AllowedUmode_28char_20umode_2C_20char_20_2Asourcemodes_2C_20bool_20adding_2C_20bool_20serveroverride_29">ModeParser</a><li>AllowHalfop
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x62.html b/docs/module-doc/functions_0x62.html
deleted file mode 100644
index ca0a23a0e..000000000
--- a/docs/module-doc/functions_0x62.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindexHL" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>bans
-: <a class="el" href="classchanrec.html#bans">chanrec</a><li>binarymodes
-: <a class="el" href="classchanrec.html#binarymodes">chanrec</a><li>binip
-: <a class="el" href="classDNS.html#binip">DNS</a><li>bits
-: <a class="el" href="classBoolSet.html#bits">BoolSet</a><li>BoolSet()
-: <a class="el" href="classBoolSet.html#BoolSet_28char_20bitmask_29">BoolSet</a><li>BoundPortCount
-: <a class="el" href="classserverstats.html#BoundPortCount">serverstats</a><li>Buffer
-: <a class="el" href="classInspSocket.html#Buffer">InspSocket</a><li>BufferIsReady()
-: <a class="el" href="classuserrec.html#BufferIsReady_28_29">userrec</a><li>Build
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x63.html b/docs/module-doc/functions_0x63.html
deleted file mode 100644
index 7a8bb4ae6..000000000
--- a/docs/module-doc/functions_0x63.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindexHL" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cache
-: <a class="el" href="classConfigReader.html#cache">ConfigReader</a><li>CalcDuration()
-: <a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server</a><li>CallCommandHandler()
-: <a class="el" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server</a><li>CBC
-: <a class="el" href="classAES.html#_40_30CBC">AES</a><li>CFB
-: <a class="el" href="classAES.html#_40_30CFB">AES</a><li>ChangeGECOS()
-: <a class="el" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">Server</a><li>ChangeHost()
-: <a class="el" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">Server</a><li>ChangeUserNick()
-: <a class="el" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">Server</a><li>ChanMode()
-: <a class="el" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server</a><li>channel
-: <a class="el" href="classInvited.html#channel">Invited</a>, <a class="el" href="classucrec.html#channel">ucrec</a>, <a class="el" href="classModeParameter.html#channel_5BCHANMAX_5D">ModeParameter</a><li>chanrec()
-: <a class="el" href="classchanrec.html#chanrec_28_29">chanrec</a><li>chans
-: <a class="el" href="classuserrec.html#chans">userrec</a><li>classbase()
-: <a class="el" href="classclassbase.html#classbase_28_29">classbase</a><li>Classes
-: <a class="el" href="classServerConfig.html#Classes">ServerConfig</a><li>ClearBuffer()
-: <a class="el" href="classuserrec.html#ClearBuffer_28_29">userrec</a><li>ClearStack()
-: <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig</a><li>client
-: <a class="el" href="classInspSocket.html#client">InspSocket</a><li>Close()
-: <a class="el" href="classInspSocket.html#Close_28_29">InspSocket</a><li>CloseSocket()
-: <a class="el" href="classuserrec.html#CloseSocket_28_29">userrec</a><li>cmd_mode()
-: <a class="el" href="classcmd__mode.html#cmd_5Fmode_28_29">cmd_mode</a><li>cmds_in
-: <a class="el" href="classconnection.html#cmds_5Fin">connection</a><li>cmds_out
-: <a class="el" href="classconnection.html#cmds_5Fout">connection</a><li>command
-: <a class="el" href="classcommand__t.html#command">command_t</a><li>command_t()
-: <a class="el" href="classcommand__t.html#command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29">command_t</a><li>CommonChannels()
-: <a class="el" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">Server</a><li>compare()
-: <a class="el" href="structirc_1_1irc__char__traits.html#compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29">irc::irc_char_traits</a><li>CompressModes()
-: <a class="el" href="classModeParser.html#CompressModes_28std_3A_3Astring_20modes_2C_20bool_20channelmodes_29">ModeParser</a><li>config_f
-: <a class="el" href="classServerConfig.html#config_5Ff">ServerConfig</a><li>ConfigReader()
-: <a class="el" href="classConfigReader.html#ConfigReader_28std_3A_3Astring_20filename_29">ConfigReader</a><li>ConfProcess()
-: <a class="el" href="classServerConfig.html#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29">ServerConfig</a><li>ConfValue()
-: <a class="el" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ServerConfig</a><li>ConfValueEnum()
-: <a class="el" href="classServerConfig.html#ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29">ServerConfig</a><li>ConnectClass()
-: <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>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>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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x64.html b/docs/module-doc/functions_0x64.html
deleted file mode 100644
index 7a1b79f2a..000000000
--- a/docs/module-doc/functions_0x64.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindexHL" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>data
-: <a class="el" href="classEvent.html#data">Event</a>, <a class="el" href="classRequest.html#data">Request</a>, <a class="el" href="classHostItem.html#data_5BMAXBUF_5D">HostItem</a><li>debugging
-: <a class="el" href="classServerConfig.html#debugging">ServerConfig</a><li>Decrypt()
-: <a class="el" href="classAES.html#Decrypt_28char_20const_20_2Ain_2C_20char_20_2Aresult_2C_20size_5Ft_20n_2C_20int_20iMode_3DECB_29">AES</a><li>DecryptBlock()
-: <a class="el" href="classAES.html#DecryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>DEFAULT_BLOCK_SIZE
-: <a class="el" href="classAES.html#_40_31DEFAULT_5FBLOCK_5FSIZE">AES</a><li>DefDecryptBlock()
-: <a class="el" href="classAES.html#DefDecryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>DefEncryptBlock()
-: <a class="el" href="classAES.html#DefEncryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>DelELine()
-: <a class="el" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">Server</a><li>DelFd()
-: <a class="el" href="classSocketEngine.html#DelFd_28int_20fd_29">SocketEngine</a><li>DelGLine()
-: <a class="el" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">Server</a><li>DelIOHook()
-: <a class="el" href="classServerConfig.html#DelIOHook_28int_20port_29">ServerConfig</a><li>DelKLine()
-: <a class="el" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">Server</a><li>DelQLine()
-: <a class="el" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">Server</a><li>DelSocket()
-: <a class="el" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">Server</a><li>DelUser()
-: <a class="el" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">chanrec</a><li>DelZLine()
-: <a class="el" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">Server</a><li>dest
-: <a class="el" href="classRequest.html#dest">Request</a><li>dhost
-: <a class="el" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#dhost_5B_31_36_30_5D">userrec</a><li>DieDelay
-: <a class="el" href="classServerConfig.html#DieDelay">ServerConfig</a><li>diepass
-: <a class="el" href="classServerConfig.html#diepass_5BMAXBUF_5D">ServerConfig</a><li>DieValue
-: <a class="el" href="classServerConfig.html#DieValue_5BMAXBUF_5D">ServerConfig</a><li>DisabledCommands
-: <a class="el" href="classServerConfig.html#DisabledCommands_5BMAXBUF_5D">ServerConfig</a><li>DNS()
-: <a class="el" href="classDNS.html#DNS_28std_3A_3Astring_20dnsserver_29">DNS</a><li>dns_aton4()
-: <a class="el" href="classDNS.html#dns_5Faton_34_28const_20char_20_2Aconst_20ipstring_29">DNS</a><li>dns_aton4_r()
-: <a class="el" href="classDNS.html#dns_5Faton_34_5Fr_28const_20char_20_2Aconst_20ipstring_29">DNS</a><li>dns_aton4_s()
-: <a class="el" href="classDNS.html#dns_5Faton_34_5Fs_28const_20char_20_2Aconst_20ipstring_2C_20in_5Faddr_20_2Aconst_20ip_29">DNS</a><li>dns_done
-: <a class="el" href="classuserrec.html#dns_5Fdone">userrec</a><li>dns_getip4()
-: <a class="el" href="classDNS.html#dns_5Fgetip_34_28const_20char_20_2Aconst_20name_29">DNS</a><li>dns_getip4list()
-: <a class="el" href="classDNS.html#dns_5Fgetip_34list_28const_20char_20_2Aconst_20name_29">DNS</a><li>dns_getname4()
-: <a class="el" href="classDNS.html#dns_5Fgetname_34_28const_20in_5Faddr_20_2Aconst_20ip_29">DNS</a><li>dns_getresult()
-: <a class="el" href="classDNS.html#dns_5Fgetresult_28const_20int_20fd_29">DNS</a><li>dns_getresult_r()
-: <a class="el" href="classDNS.html#dns_5Fgetresult_5Fr_28const_20int_20fd_29">DNS</a><li>dns_getresult_s()
-: <a class="el" href="classDNS.html#dns_5Fgetresult_5Fs_28const_20int_20fd_2C_20char_20_2Aconst_20result_29">DNS</a><li>dns_init()
-: <a class="el" href="classDNS.html#dns_5Finit_28_29">DNS</a><li>dns_init_2()
-: <a class="el" href="classDNS.html#dns_5Finit_5F_32_28const_20char_20_2Adnsserver_29">DNS</a><li>dns_ntoa4()
-: <a class="el" href="classDNS.html#dns_5Fntoa_34_28const_20in_5Faddr_20_2Aconst_20ip_29">DNS</a><li>dns_ntoa4_r()
-: <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>dns_timeout
-: <a class="el" href="classServerConfig.html#dns_5Ftimeout">ServerConfig</a><li>DNSServer
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x65.html b/docs/module-doc/functions_0x65.html
deleted file mode 100644
index e7bc98ee4..000000000
--- a/docs/module-doc/functions_0x65.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindexHL" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>ECB
-: <a class="el" href="classAES.html#_40_30ECB">AES</a><li>Email
-: <a class="el" href="classAdmin.html#Email">Admin</a><li>Encrypt()
-: <a class="el" href="classAES.html#Encrypt_28char_20const_20_2Ain_2C_20char_20_2Aresult_2C_20size_5Ft_20n_2C_20int_20iMode_3DECB_29">AES</a><li>EncryptBlock()
-: <a class="el" href="classAES.html#EncryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>EngineHandle
-: <a class="el" href="classSocketEngine.html#EngineHandle">SocketEngine</a><li>EnumConf()
-: <a class="el" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">ServerConfig</a><li>Enumerate()
-: <a class="el" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">ConfigReader</a><li>EnumerateValues()
-: <a class="el" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">ConfigReader</a><li>EnumValues()
-: <a class="el" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">ServerConfig</a><li>eq()
-: <a class="el" href="structirc_1_1irc__char__traits.html#eq_28char_20c_31st_2C_20char_20c_32nd_29">irc::irc_char_traits</a><li>erase_factory()
-: <a class="el" href="classInspIRCd.html#erase_5Ffactory_28int_20j_29">InspIRCd</a><li>erase_module()
-: <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>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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x66.html b/docs/module-doc/functions_0x66.html
deleted file mode 100644
index 2a11f7659..000000000
--- a/docs/module-doc/functions_0x66.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindexHL" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>fc
-: <a class="el" href="classFileReader.html#fc">FileReader</a><li>fd
-: <a class="el" href="classInspSocket.html#fd">InspSocket</a>, <a class="el" href="classconnection.html#fd">connection</a><li>fds
-: <a class="el" href="classSocketEngine.html#fds">SocketEngine</a><li>fgets_safe()
-: <a class="el" href="classServerConfig.html#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29">ServerConfig</a><li>FileReader()
-: <a class="el" href="classFileReader.html#FileReader_28std_3A_3Astring_20filename_29">FileReader</a><li>FileSize()
-: <a class="el" href="classFileReader.html#FileSize_28_29">FileReader</a><li>find()
-: <a class="el" href="structirc_1_1irc__char__traits.html#find_28const_20char_20_2As_31_2C_20int_20n_2C_20char_20c_29">irc::irc_char_traits</a><li>FindChannel()
-: <a class="el" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">Server</a><li>FindDescriptor()
-: <a class="el" href="classServer.html#FindDescriptor_28int_20socket_29">Server</a><li>FindModule()
-: <a class="el" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">Server</a><li>FindNick()
-: <a class="el" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">Server</a><li>Flags
-: <a class="el" href="classVersion.html#Flags">Version</a><li>flags_needed
-: <a class="el" href="classcommand__t.html#flags_5Fneeded">command_t</a><li>flood
-: <a class="el" href="classuserrec.html#flood">userrec</a>, <a class="el" href="classConnectClass.html#flood">ConnectClass</a><li>FlushWriteBuf()
-: <a class="el" href="classuserrec.html#FlushWriteBuf_28_29">userrec</a><li>FlushWriteBuffer()
-: <a class="el" href="classInspSocket.html#FlushWriteBuffer_28_29">InspSocket</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x67.html b/docs/module-doc/functions_0x67.html
deleted file mode 100644
index 9c1f3f76d..000000000
--- a/docs/module-doc/functions_0x67.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindexHL" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>Get()
-: <a class="el" href="classBoolSet.html#Get_28int_20number_29">BoolSet</a><li>GetAdmin()
-: <a class="el" href="classServer.html#GetAdmin_28_29">Server</a><li>GetBlockSize()
-: <a class="el" href="classAES.html#GetBlockSize_28_29">AES</a><li>GetBuffer()
-: <a class="el" href="classuserrec.html#GetBuffer_28_29">userrec</a><li>GetConfig()
-: <a class="el" href="classServer.html#GetConfig_28_29">Server</a><li>GetData()
-: <a class="el" href="classEvent.html#GetData_28_29">Event</a>, <a class="el" href="classRequest.html#GetData_28_29">Request</a><li>GetDest()
-: <a class="el" href="classRequest.html#GetDest_28_29">Request</a><li>GetError()
-: <a class="el" href="classConfigReader.html#GetError_28_29">ConfigReader</a><li>GetEventID()
-: <a class="el" href="classEvent.html#GetEventID_28_29">Event</a><li>GetExt()
-: <a class="el" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">Extensible</a><li>GetExtList()
-: <a class="el" href="classExtensible.html#GetExtList_28std_3A_3Adeque_3C_20std_3A_3Astring_20_3E_20_26list_29">Extensible</a><li>GetFd()
-: <a class="el" href="classInspSocket.html#GetFd_28_29">InspSocket</a><li>GetFD()
-: <a class="el" href="classDNS.html#GetFD_28_29">DNS</a><li>GetFullHost()
-: <a class="el" href="classuserrec.html#GetFullHost_28_29">userrec</a><li>GetFullRealHost()
-: <a class="el" href="classuserrec.html#GetFullRealHost_28_29">userrec</a><li>GetInviteList()
-: <a class="el" href="classuserrec.html#GetInviteList_28_29">userrec</a><li>GetIOHook()
-: <a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">ServerConfig</a><li>GetIP()
-: <a class="el" href="classInspSocket.html#GetIP_28_29">InspSocket</a><li>GetKeyLength()
-: <a class="el" href="classAES.html#GetKeyLength_28_29">AES</a><li>GetLine()
-: <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>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>GetRevision()
-: <a class="el" href="classInspIRCd.html#GetRevision_28_29">InspIRCd</a><li>GetRounds()
-: <a class="el" href="classAES.html#GetRounds_28_29">AES</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>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="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><li>GiveHops()
-: <a class="el" href="classModeParser.html#GiveHops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>GiveOps()
-: <a class="el" href="classModeParser.html#GiveOps_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>GiveVoice()
-: <a class="el" href="classModeParser.html#GiveVoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x68.html b/docs/module-doc/functions_0x68.html
deleted file mode 100644
index 56c4440fb..000000000
--- a/docs/module-doc/functions_0x68.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindexHL" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>Handle()
-: <a class="el" href="classcmd__mode.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">cmd_mode</a>, <a class="el" href="classcommand__t.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29_3D_30">command_t</a><li>haspassed
-: <a class="el" href="classconnection.html#haspassed">connection</a><li>HasPermission()
-: <a class="el" href="classuserrec.html#HasPermission_28std_3A_3Astring_20_26command_29">userrec</a><li>HasResult()
-: <a class="el" href="classDNS.html#HasResult_28int_20fd_29">DNS</a><li>host
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x69.html b/docs/module-doc/functions_0x69.html
deleted file mode 100644
index fba0aca00..000000000
--- a/docs/module-doc/functions_0x69.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindexHL" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>ibuf
-: <a class="el" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">InspSocket</a><li>id
-: <a class="el" href="classEvent.html#id">Event</a><li>ident
-: <a class="el" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">userrec</a><li>idle_lastmsg
-: <a class="el" href="classconnection.html#idle_5Flastmsg">connection</a><li>include_stack
-: <a class="el" href="classServerConfig.html#include_5Fstack">ServerConfig</a><li>InspIRCd()
-: <a class="el" href="classInspIRCd.html#InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29">InspIRCd</a><li>InspSocket()
-: <a class="el" href="classInspSocket.html#InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29">InspSocket</a><li>internal_userlist
-: <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_28irc_3A_3Astring_20_26channel_29">userrec</a><li>IOHookModule
-: <a class="el" href="classServerConfig.html#IOHookModule">ServerConfig</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="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()
-: <a class="el" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">userrec</a><li>IsNick()
-: <a class="el" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">Server</a><li>IsOnChannel()
-: <a class="el" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server</a><li>IsUlined()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x6a.html b/docs/module-doc/functions_0x6a.html
deleted file mode 100644
index 0eb29aaa4..000000000
--- a/docs/module-doc/functions_0x6a.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindexHL" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x6b.html b/docs/module-doc/functions_0x6b.html
deleted file mode 100644
index d72430a35..000000000
--- a/docs/module-doc/functions_0x6b.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindexHL" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x6c.html b/docs/module-doc/functions_0x6c.html
deleted file mode 100644
index ee48bf0f3..000000000
--- a/docs/module-doc/functions_0x6c.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindexHL" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>lastping
-: <a class="el" href="classconnection.html#lastping">connection</a><li>length
-: <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>, <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
-: <a class="el" href="classDNS.html#localbuf_5B_31_30_32_34_5D">DNS</a><li>Log()
-: <a class="el" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">Server</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><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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x6d.html b/docs/module-doc/functions_0x6d.html
deleted file mode 100644
index 356004bc9..000000000
--- a/docs/module-doc/functions_0x6d.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindexHL" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>m_bKeyInit
-: <a class="el" href="classAES.html#m_5FbKeyInit">AES</a><li>m_blockSize
-: <a class="el" href="classAES.html#m_5FblockSize">AES</a><li>m_chain
-: <a class="el" href="classAES.html#m_5Fchain_5BMAX_5FBLOCK_5FSIZE_5D">AES</a><li>m_chain0
-: <a class="el" href="classAES.html#m_5Fchain_30_5BMAX_5FBLOCK_5FSIZE_5D">AES</a><li>m_iROUNDS
-: <a class="el" href="classAES.html#m_5FiROUNDS">AES</a><li>m_Kd
-: <a class="el" href="classAES.html#m_5FKd_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">AES</a><li>m_Ke
-: <a class="el" href="classAES.html#m_5FKe_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">AES</a><li>m_keylength
-: <a class="el" href="classAES.html#m_5Fkeylength">AES</a><li>Major
-: <a class="el" href="classVersion.html#Major">Version</a><li>MakeKey()
-: <a class="el" href="classAES.html#MakeKey_28char_20const_20_2Akey_2C_20char_20const_20_2Achain_2C_20int_20keylength_3DDEFAULT_5FBLOCK_5FSIZE_2C_20int_20blockSize_3DDEFAULT_5FBLOCK_5FSIZE_29">AES</a><li>MakeLowerMap()
-: <a class="el" href="classInspIRCd.html#MakeLowerMap_28_29">InspIRCd</a><li>MatchText()
-: <a class="el" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">Server</a><li>MAX_BC
-: <a class="el" href="classAES.html#_40_32MAX_5FBC">AES</a><li>MAX_BLOCK_SIZE
-: <a class="el" href="classAES.html#_40_32MAX_5FBLOCK_5FSIZE">AES</a><li>MAX_KC
-: <a class="el" href="classAES.html#_40_32MAX_5FKC">AES</a><li>MAX_ROUNDS
-: <a class="el" href="classAES.html#_40_32MAX_5FROUNDS">AES</a><li>MaxConn
-: <a class="el" href="classServerConfig.html#MaxConn">ServerConfig</a><li>MaxWhoResults
-: <a class="el" href="classServerConfig.html#MaxWhoResults">ServerConfig</a><li>min_params
-: <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>ModeGrok
-: <a class="el" href="classInspIRCd.html#ModeGrok">InspIRCd</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>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">ServerConfig</a><li>motd
-: <a class="el" href="classServerConfig.html#motd_5BMAXBUF_5D">ServerConfig</a><li>Mul()
-: <a class="el" href="classAES.html#Mul_28int_20a_2C_20int_20b_29">AES</a><li>Mul4()
-: <a class="el" href="classAES.html#Mul_34_28int_20a_2C_20char_20b_5B_5D_29">AES</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x6e.html b/docs/module-doc/functions_0x6e.html
deleted file mode 100644
index ab51b7390..000000000
--- a/docs/module-doc/functions_0x6e.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindexHL" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>n_matches
-: <a class="el" href="classXLine.html#n_5Fmatches">XLine</a><li>Name
-: <a class="el" href="classAdmin.html#Name">Admin</a><li>name
-: <a class="el" href="classchanrec.html#name_5BCHANMAX_5D">chanrec</a><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><li>needsoper
-: <a class="el" href="classExtMode.html#needsoper">ExtMode</a><li>NetBufferSize
-: <a class="el" href="classServerConfig.html#NetBufferSize">ServerConfig</a><li>Network
-: <a class="el" href="classServerConfig.html#Network_5BMAXBUF_5D">ServerConfig</a><li>next
-: <a class="el" href="structdns__ip4list.html#next">dns_ip4list</a><li>Nick
-: <a class="el" href="classAdmin.html#Nick">Admin</a><li>nick
-: <a class="el" href="classQLine.html#nick_5B_36_34_5D">QLine</a>, <a class="el" href="classWhoWasUser.html#nick_5BNICKMAX_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#nick_5BNICKMAX_5D">userrec</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x6f.html b/docs/module-doc/functions_0x6f.html
deleted file mode 100644
index 6a4f07435..000000000
--- a/docs/module-doc/functions_0x6f.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindexHL" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>On005Numeric()
-: <a class="el" href="classModule.html#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29">Module</a><li>OnAccessCheck()
-: <a class="el" href="classModule.html#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29">Module</a><li>OnAddBan()
-: <a class="el" href="classModule.html#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">Module</a><li>OnAddELine()
-: <a class="el" href="classModule.html#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnAddGLine()
-: <a class="el" href="classModule.html#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnAddKLine()
-: <a class="el" href="classModule.html#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnAddQLine()
-: <a class="el" href="classModule.html#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29">Module</a><li>OnAddZLine()
-: <a class="el" href="classModule.html#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29">Module</a><li>OnBackgroundTimer()
-: <a class="el" href="classModule.html#OnBackgroundTimer_28time_5Ft_20curtime_29">Module</a><li>OnChangeHost()
-: <a class="el" href="classModule.html#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module</a><li>OnChangeLocalUserGECOS()
-: <a class="el" href="classModule.html#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module</a><li>OnChangeLocalUserHost()
-: <a class="el" href="classModule.html#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module</a><li>OnChangeName()
-: <a class="el" href="classModule.html#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">Module</a><li>OnCheckBan()
-: <a class="el" href="classModule.html#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module</a><li>OnCheckInvite()
-: <a class="el" href="classModule.html#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module</a><li>OnCheckKey()
-: <a class="el" href="classModule.html#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29">Module</a><li>OnCheckLimit()
-: <a class="el" href="classModule.html#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module</a><li>OnCheckReady()
-: <a class="el" href="classModule.html#OnCheckReady_28userrec_20_2Auser_29">Module</a><li>OnCleanup()
-: <a class="el" href="classModule.html#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29">Module</a><li>OnClose()
-: <a class="el" href="classInspSocket.html#OnClose_28_29">InspSocket</a><li>OnConnected()
-: <a class="el" href="classInspSocket.html#OnConnected_28_29">InspSocket</a><li>OnDataReady()
-: <a class="el" href="classInspSocket.html#OnDataReady_28_29">InspSocket</a><li>OnDecodeMetaData()
-: <a class="el" href="classModule.html#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">Module</a><li>OnDelBan()
-: <a class="el" href="classModule.html#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">Module</a><li>OnDelELine()
-: <a class="el" href="classModule.html#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnDelGLine()
-: <a class="el" href="classModule.html#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnDelKLine()
-: <a class="el" href="classModule.html#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnDelQLine()
-: <a class="el" href="classModule.html#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29">Module</a><li>OnDelZLine()
-: <a class="el" href="classModule.html#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29">Module</a><li>OnDisconnect()
-: <a class="el" href="classInspSocket.html#OnDisconnect_28_29">InspSocket</a><li>OnError()
-: <a class="el" href="classInspSocket.html#OnError_28InspSocketError_20e_29">InspSocket</a><li>OnEvent()
-: <a class="el" href="classModule.html#OnEvent_28Event_20_2Aevent_29">Module</a><li>OnExtendedMode()
-: <a class="el" href="classModule.html#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29">Module</a><li>OnGetServerDescription()
-: <a class="el" href="classModule.html#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29">Module</a><li>OnGlobalConnect()
-: <a class="el" href="classModule.html#OnGlobalConnect_28userrec_20_2Auser_29">Module</a><li>OnGlobalOper()
-: <a class="el" href="classModule.html#OnGlobalOper_28userrec_20_2Auser_29">Module</a><li>OnIncomingConnection()
-: <a class="el" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">InspSocket</a><li>OnInfo()
-: <a class="el" href="classModule.html#OnInfo_28userrec_20_2Auser_29">Module</a><li>OnKill()
-: <a class="el" href="classModule.html#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnLoadModule()
-: <a class="el" href="classModule.html#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">Module</a><li>OnLocalTopicChange()
-: <a class="el" href="classModule.html#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">Module</a><li>OnMode()
-: <a class="el" href="classModule.html#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module</a><li>OnOper()
-: <a class="el" href="classModule.html#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29">Module</a><li>OnOperCompare()
-: <a class="el" href="classModule.html#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29">Module</a><li>OnPostLocalTopicChange()
-: <a class="el" href="classModule.html#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">Module</a><li>OnPreCommand()
-: <a class="el" href="classModule.html#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Module</a><li>OnRawMode()
-: <a class="el" href="classModule.html#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29">Module</a><li>OnRawSocketAccept()
-: <a class="el" href="classModule.html#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29">Module</a><li>OnRawSocketClose()
-: <a class="el" href="classModule.html#OnRawSocketClose_28int_20fd_29">Module</a><li>OnRawSocketRead()
-: <a class="el" href="classModule.html#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29">Module</a><li>OnRawSocketWrite()
-: <a class="el" href="classModule.html#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29">Module</a><li>OnRehash()
-: <a class="el" href="classModule.html#OnRehash_28std_3A_3Astring_20parameter_29">Module</a><li>OnRemoteKill()
-: <a class="el" href="classModule.html#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnRequest()
-: <a class="el" href="classModule.html#OnRequest_28Request_20_2Arequest_29">Module</a><li>OnSendList()
-: <a class="el" href="classModule.html#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29">Module</a><li>OnServerRaw()
-: <a class="el" href="classModule.html#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29">Module</a><li>OnStats()
-: <a class="el" href="classModule.html#OnStats_28char_20symbol_29">Module</a><li>OnSyncChannel()
-: <a class="el" href="classModule.html#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">Module</a><li>OnSyncChannelMetaData()
-: <a class="el" href="classModule.html#OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">Module</a><li>OnSyncUser()
-: <a class="el" href="classModule.html#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">Module</a><li>OnSyncUserMetaData()
-: <a class="el" href="classModule.html#OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">Module</a><li>OnTimeout()
-: <a class="el" href="classInspSocket.html#OnTimeout_28_29">InspSocket</a><li>OnUnloadModule()
-: <a class="el" href="classModule.html#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">Module</a><li>OnUserConnect()
-: <a class="el" href="classModule.html#OnUserConnect_28userrec_20_2Auser_29">Module</a><li>OnUserDisconnect()
-: <a class="el" href="classModule.html#OnUserDisconnect_28userrec_20_2Auser_29">Module</a><li>OnUserInvite()
-: <a class="el" href="classModule.html#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserJoin()
-: <a class="el" href="classModule.html#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserKick()
-: <a class="el" href="classModule.html#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnUserMessage()
-: <a class="el" href="classModule.html#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module</a><li>OnUserNotice()
-: <a class="el" href="classModule.html#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module</a><li>OnUserPart()
-: <a class="el" href="classModule.html#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserPostNick()
-: <a class="el" href="classModule.html#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29">Module</a><li>OnUserPreInvite()
-: <a class="el" href="classModule.html#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserPreJoin()
-: <a class="el" href="classModule.html#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29">Module</a><li>OnUserPreKick()
-: <a class="el" href="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnUserPreMessage()
-: <a class="el" href="classModule.html#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">Module</a><li>OnUserPreNick()
-: <a class="el" href="classModule.html#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29">Module</a><li>OnUserPreNotice()
-: <a class="el" href="classModule.html#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">Module</a><li>OnUserQuit()
-: <a class="el" href="classModule.html#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">Module</a><li>OnUserRegister()
-: <a class="el" href="classModule.html#OnUserRegister_28userrec_20_2Auser_29">Module</a><li>OnWallops()
-: <a class="el" href="classModule.html#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29">Module</a><li>OnWhois()
-: <a class="el" href="classModule.html#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29">Module</a><li>oper
-: <a class="el" href="classuserrec.html#oper_5BNICKMAX_5D">userrec</a><li>operator &amp;()
-: <a class="el" href="classBoolSet.html#operator_20_26_28BoolSet_20other_29">BoolSet</a><li>operator()()
-: <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">irc::InAddr_HashComp</a>, <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">irc::StrHashComp</a>, <a class="el" href="structnspace_1_1hash_3_01string_01_4.html#operator_28_29_28const_20string_20_26s_29_20const_20">nspace::hash&lt; string &gt;</a>, <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">nspace::hash&lt; in_addr &gt;</a><li>operator=()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x70.html b/docs/module-doc/functions_0x70.html
deleted file mode 100644
index ec789684f..000000000
--- a/docs/module-doc/functions_0x70.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindexHL" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>parameter
-: <a class="el" href="classModeParameter.html#parameter_5BMAXBUF_5D">ModeParameter</a><li>params_when_off
-: <a class="el" href="classExtMode.html#params_5Fwhen_5Foff">ExtMode</a><li>params_when_on
-: <a class="el" href="classExtMode.html#params_5Fwhen_5Fon">ExtMode</a><li>Parser
-: <a class="el" href="classInspIRCd.html#Parser">InspIRCd</a><li>PartUserFromChannel()
-: <a class="el" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">Server</a><li>pass
-: <a class="el" href="classConnectClass.html#pass_5BMAXBUF_5D">ConnectClass</a><li>password
-: <a class="el" href="classuserrec.html#password_5BMAXBUF_5D">userrec</a><li>PID
-: <a class="el" href="classServerConfig.html#PID_5B_31_30_32_34_5D">ServerConfig</a><li>pingmax
-: <a class="el" href="classuserrec.html#pingmax">userrec</a><li>pingtime
-: <a class="el" href="classConnectClass.html#pingtime">ConnectClass</a><li>Poll()
-: <a class="el" href="classInspSocket.html#Poll_28_29">InspSocket</a><li>port
-: <a class="el" href="classInspSocket.html#port">InspSocket</a>, <a class="el" href="classconnection.html#port">connection</a><li>ports
-: <a class="el" href="classServerConfig.html#ports_5B_32_35_35_5D">ServerConfig</a><li>PrefixQuit
-: <a class="el" href="classServerConfig.html#PrefixQuit_5BMAXBUF_5D">ServerConfig</a><li>ProcessModes()
-: <a class="el" href="classModeParser.html#ProcessModes_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">ModeParser</a><li>ProcessModuleUmode()
-: <a class="el" href="classModeParser.html#ProcessModuleUmode_28char_20umode_2C_20userrec_20_2Asource_2C_20void_20_2Adest_2C_20bool_20adding_29">ModeParser</a><li>ProtoSendMetaData()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x71.html b/docs/module-doc/functions_0x71.html
deleted file mode 100644
index e322ecec3..000000000
--- a/docs/module-doc/functions_0x71.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindexHL" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x72.html b/docs/module-doc/functions_0x72.html
deleted file mode 100644
index f5fba1ce1..000000000
--- a/docs/module-doc/functions_0x72.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindexHL" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>Read()
-: <a class="el" href="classInspSocket.html#Read_28_29">InspSocket</a>, <a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">ServerConfig</a><li>ReadConf()
-: <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</a><li>ReadData()
-: <a class="el" href="classuserrec.html#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29">userrec</a><li>readerror
-: <a class="el" href="classConfigReader.html#readerror">ConfigReader</a><li>ReadFlag()
-: <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>, <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
-: <a class="el" href="classConnectClass.html#registration_5Ftimeout">ConnectClass</a><li>RehashServer()
-: <a class="el" href="classServer.html#RehashServer_28_29">Server</a><li>RemoveInvite()
-: <a class="el" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">userrec</a><li>Request()
-: <a class="el" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request</a><li>reset_due
-: <a class="el" href="classuserrec.html#reset_5Fdue">userrec</a><li>ResetChain()
-: <a class="el" href="classAES.html#ResetChain_28_29">AES</a><li>restartpass
-: <a class="el" href="classServerConfig.html#restartpass_5BMAXBUF_5D">ServerConfig</a><li>result
-: <a class="el" href="classDNS.html#result">DNS</a><li>ReverseLookup()
-: <a class="el" href="classDNS.html#ReverseLookup_28std_3A_3Astring_20ip_29">DNS</a><li>Revision
-: <a class="el" href="classVersion.html#Revision">Version</a><li>RULES
-: <a class="el" href="classServerConfig.html#RULES">ServerConfig</a><li>rules
-: <a class="el" href="classServerConfig.html#rules_5BMAXBUF_5D">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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x73.html b/docs/module-doc/functions_0x73.html
deleted file mode 100644
index f2f20f524..000000000
--- a/docs/module-doc/functions_0x73.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindexHL" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>SE
-: <a class="el" href="classInspIRCd.html#SE">InspIRCd</a><li>Send()
-: <a class="el" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server</a>, <a class="el" href="classEvent.html#Send_28_29">Event</a>, <a class="el" href="classRequest.html#Send_28_29">Request</a>, <a class="el" href="classModuleMessage.html#Send_28_29_3D_30">ModuleMessage</a><li>SendChannel()
-: <a class="el" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">Server</a><li>SendChannelServerNotice()
-: <a class="el" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">Server</a><li>SendCommon()
-: <a class="el" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">Server</a><li>SendFrom()
-: <a class="el" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">Server</a><li>SendMode()
-: <a class="el" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server</a><li>SendOpers()
-: <a class="el" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">Server</a><li>sendq
-: <a class="el" href="classuserrec.html#sendq">userrec</a><li>sendqmax
-: <a class="el" href="classuserrec.html#sendqmax">userrec</a>, <a class="el" href="classConnectClass.html#sendqmax">ConnectClass</a><li>SendServ()
-: <a class="el" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server</a><li>SendTo()
-: <a class="el" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">Server</a><li>SendToModeMask()
-: <a class="el" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">Server</a><li>SendWallops()
-: <a class="el" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">Server</a><li>server
-: <a class="el" href="classWhoWasUser.html#server_5B_32_35_36_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#server">userrec</a>, <a class="el" href="classInspSocket.html#server">InspSocket</a><li>Server()
-: <a class="el" href="classServer.html#Server_28_29">Server</a><li>ServerConfig()
-: <a class="el" href="classServerConfig.html#ServerConfig_28_29">ServerConfig</a><li>ServerDesc
-: <a class="el" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerConfig</a><li>ServerMode()
-: <a class="el" href="classModeParser.html#ServerMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">ModeParser</a><li>ServerName
-: <a class="el" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerConfig</a><li>serverstats()
-: <a class="el" href="classserverstats.html#serverstats_28_29">serverstats</a><li>Set()
-: <a class="el" href="classBoolSet.html#Set_28int_20number_29">BoolSet</a><li>set_by
-: <a class="el" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">HostItem</a><li>set_time
-: <a class="el" href="classXLine.html#set_5Ftime">XLine</a>, <a class="el" href="classHostItem.html#set_5Ftime">HostItem</a><li>setby
-: <a class="el" href="classchanrec.html#setby_5BNICKMAX_5D">chanrec</a><li>SetCustomMode()
-: <a class="el" href="classchanrec.html#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29">chanrec</a><li>SetCustomModeParam()
-: <a class="el" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">chanrec</a><li>SetNS()
-: <a class="el" href="classDNS.html#SetNS_28std_3A_3Astring_20dnsserver_29">DNS</a><li>SetState()
-: <a class="el" href="classInspSocket.html#SetState_28InspSocketState_20s_29">InspSocket</a><li>SetWriteError()
-: <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>signon
-: <a class="el" href="classWhoWasUser.html#signon">WhoWasUser</a>, <a class="el" href="classconnection.html#signon">connection</a><li>sm_alog
-: <a class="el" href="classAES.html#sm_5Falog_5B_32_35_36_5D">AES</a><li>sm_chain0
-: <a class="el" href="classAES.html#sm_5Fchain_30">AES</a><li>sm_log
-: <a class="el" href="classAES.html#sm_5Flog_5B_32_35_36_5D">AES</a><li>sm_rcon
-: <a class="el" href="classAES.html#sm_5Frcon_5B_33_30_5D">AES</a><li>sm_S
-: <a class="el" href="classAES.html#sm_5FS_5B_32_35_36_5D">AES</a><li>sm_shifts
-: <a class="el" href="classAES.html#sm_5Fshifts_5B_33_5D_5B_34_5D_5B_32_5D">AES</a><li>sm_Si
-: <a class="el" href="classAES.html#sm_5FSi_5B_32_35_36_5D">AES</a><li>sm_T1
-: <a class="el" href="classAES.html#sm_5FT_31_5B_32_35_36_5D">AES</a><li>sm_T2
-: <a class="el" href="classAES.html#sm_5FT_32_5B_32_35_36_5D">AES</a><li>sm_T3
-: <a class="el" href="classAES.html#sm_5FT_33_5B_32_35_36_5D">AES</a><li>sm_T4
-: <a class="el" href="classAES.html#sm_5FT_34_5B_32_35_36_5D">AES</a><li>sm_T5
-: <a class="el" href="classAES.html#sm_5FT_35_5B_32_35_36_5D">AES</a><li>sm_T6
-: <a class="el" href="classAES.html#sm_5FT_36_5B_32_35_36_5D">AES</a><li>sm_T7
-: <a class="el" href="classAES.html#sm_5FT_37_5B_32_35_36_5D">AES</a><li>sm_T8
-: <a class="el" href="classAES.html#sm_5FT_38_5B_32_35_36_5D">AES</a><li>sm_U1
-: <a class="el" href="classAES.html#sm_5FU_31_5B_32_35_36_5D">AES</a><li>sm_U2
-: <a class="el" href="classAES.html#sm_5FU_32_5B_32_35_36_5D">AES</a><li>sm_U3
-: <a class="el" href="classAES.html#sm_5FU_33_5B_32_35_36_5D">AES</a><li>sm_U4
-: <a class="el" href="classAES.html#sm_5FU_34_5B_32_35_36_5D">AES</a><li>SocketEngine()
-: <a class="el" href="classSocketEngine.html#SocketEngine_28_29">SocketEngine</a><li>SoftLimit
-: <a class="el" href="classServerConfig.html#SoftLimit">ServerConfig</a><li>source
-: <a class="el" href="classXLine.html#source_5B_32_35_36_5D">XLine</a>, <a class="el" href="classEvent.html#source">Event</a>, <a class="el" href="classRequest.html#source">Request</a>, <a class="el" href="classcommand__t.html#source">command_t</a><li>startup_time
-: <a class="el" href="classInspIRCd.html#startup_5Ftime">InspIRCd</a><li>state
-: <a class="el" href="classInspSocket.html#state">InspSocket</a><li>stats
-: <a class="el" href="classInspIRCd.html#stats">InspIRCd</a><li>statsAccept
-: <a class="el" href="classserverstats.html#statsAccept">serverstats</a><li>statsCollisions
-: <a class="el" href="classserverstats.html#statsCollisions">serverstats</a><li>statsConnects
-: <a class="el" href="classserverstats.html#statsConnects">serverstats</a><li>statsDns
-: <a class="el" href="classserverstats.html#statsDns">serverstats</a><li>statsDnsBad
-: <a class="el" href="classserverstats.html#statsDnsBad">serverstats</a><li>statsDnsGood
-: <a class="el" href="classserverstats.html#statsDnsGood">serverstats</a><li>statsRecv
-: <a class="el" href="classserverstats.html#statsRecv">serverstats</a><li>statsRefused
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x74.html b/docs/module-doc/functions_0x74.html
deleted file mode 100644
index 5330b008e..000000000
--- a/docs/module-doc/functions_0x74.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindexHL" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>t
-: <a class="el" href="classDNS.html#t">DNS</a>, <a class="el" href="classAES.html#t_5BMAX_5FBC_5D">AES</a><li>TakeBan()
-: <a class="el" href="classModeParser.html#TakeBan_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>TakeHops()
-: <a class="el" href="classModeParser.html#TakeHops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>TakeOps()
-: <a class="el" href="classModeParser.html#TakeOps_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>TakeVoice()
-: <a class="el" href="classModeParser.html#TakeVoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</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="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>tk
-: <a class="el" href="classAES.html#tk_5BMAX_5FKC_5D">AES</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x75.html b/docs/module-doc/functions_0x75.html
deleted file mode 100644
index 14deea504..000000000
--- a/docs/module-doc/functions_0x75.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindexHL" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>uc_modes
-: <a class="el" href="classucrec.html#uc_5Fmodes">ucrec</a><li>ucrec()
-: <a class="el" href="classucrec.html#ucrec_28_29">ucrec</a><li>unlimitcore
-: <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>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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x76.html b/docs/module-doc/functions_0x76.html
deleted file mode 100644
index 81ec46a25..000000000
--- a/docs/module-doc/functions_0x76.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindexHL" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x77.html b/docs/module-doc/functions_0x77.html
deleted file mode 100644
index aadd4356d..000000000
--- a/docs/module-doc/functions_0x77.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindexHL" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindex" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<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><li>WriteError
-: <a class="el" href="classuserrec.html#WriteError">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_0x7e.html b/docs/module-doc/functions_0x7e.html
deleted file mode 100644
index 13df7d3b7..000000000
--- a/docs/module-doc/functions_0x7e.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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: Class Members</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions.html#index_a">a</a> | <a class="qindex" href="functions_0x62.html#index_b">b</a> | <a class="qindex" href="functions_0x63.html#index_c">c</a> | <a class="qindex" href="functions_0x64.html#index_d">d</a> | <a class="qindex" href="functions_0x65.html#index_e">e</a> | <a class="qindex" href="functions_0x66.html#index_f">f</a> | <a class="qindex" href="functions_0x67.html#index_g">g</a> | <a class="qindex" href="functions_0x68.html#index_h">h</a> | <a class="qindex" href="functions_0x69.html#index_i">i</a> | <a class="qindex" href="functions_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_0x6b.html#index_k">k</a> | <a class="qindex" href="functions_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_0x70.html#index_p">p</a> | <a class="qindex" href="functions_0x71.html#index_q">q</a> | <a class="qindex" href="functions_0x72.html#index_r">r</a> | <a class="qindex" href="functions_0x73.html#index_s">s</a> | <a class="qindex" href="functions_0x74.html#index_t">t</a> | <a class="qindex" href="functions_0x75.html#index_u">u</a> | <a class="qindex" href="functions_0x76.html#index_v">v</a> | <a class="qindex" href="functions_0x77.html#index_w">w</a> | <a class="qindex" href="functions_0x78.html#index_x">x</a> | <a class="qindexHL" href="functions_0x7e.html#index_~">~</a></div>
-
-<p>
-Here is a list of all class members with links to the classes they belong to:
-<p>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
-<li>~AES()
-: <a class="el" href="classAES.html#_7EAES_28_29">AES</a><li>~chanrec()
-: <a class="el" href="classchanrec.html#_7Echanrec_28_29">chanrec</a><li>~classbase()
-: <a class="el" href="classclassbase.html#_7Eclassbase_28_29">classbase</a><li>~command_t()
-: <a class="el" href="classcommand__t.html#_7Ecommand_5Ft_28_29">command_t</a><li>~ConfigReader()
-: <a class="el" href="classConfigReader.html#_7EConfigReader_28_29">ConfigReader</a><li>~DNS()
-: <a class="el" href="classDNS.html#_7EDNS_28_29">DNS</a><li>~FileReader()
-: <a class="el" href="classFileReader.html#_7EFileReader_28_29">FileReader</a><li>~HostItem()
-: <a class="el" href="classHostItem.html#_7EHostItem_28_29">HostItem</a><li>~InspSocket()
-: <a class="el" href="classInspSocket.html#_7EInspSocket_28_29">InspSocket</a><li>~Module()
-: <a class="el" href="classModule.html#_7EModule_28_29">Module</a><li>~ModuleFactory()
-: <a class="el" href="classModuleFactory.html#_7EModuleFactory_28_29">ModuleFactory</a><li>~ModuleMessage()
-: <a class="el" href="classModuleMessage.html#_7EModuleMessage_28_29">ModuleMessage</a><li>~Server()
-: <a class="el" href="classServer.html#_7EServer_28_29">Server</a><li>~SocketEngine()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func.html b/docs/module-doc/functions_func.html
deleted file mode 100644
index 75a340bb0..000000000
--- a/docs/module-doc/functions_func.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindexHL" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>AddBan()
-: <a class="el" href="classModeParser.html#AddBan_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>AddBuffer()
-: <a class="el" href="classuserrec.html#AddBuffer_28std_3A_3Astring_20a_29">userrec</a><li>AddCommand()
-: <a class="el" href="classServer.html#AddCommand_28command_5Ft_20_2Af_29">Server</a><li>AddELine()
-: <a class="el" href="classServer.html#AddELine_28long_20duration_2C_20std_3A_3Astring_20source_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Server</a><li>AddExtendedListMode()
-: <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>AddIOHook()
-: <a class="el" href="classServerConfig.html#AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29">ServerConfig</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><li>AES()
-: <a class="el" href="classAES.html#AES_28_29">AES</a><li>AllowedUmode()
-: <a class="el" href="classModeParser.html#AllowedUmode_28char_20umode_2C_20char_20_2Asourcemodes_2C_20bool_20adding_2C_20bool_20serveroverride_29">ModeParser</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x62.html b/docs/module-doc/functions_func_0x62.html
deleted file mode 100644
index 6fc050865..000000000
--- a/docs/module-doc/functions_func_0x62.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindexHL" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x63.html b/docs/module-doc/functions_func_0x63.html
deleted file mode 100644
index 67518399d..000000000
--- a/docs/module-doc/functions_func_0x63.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindexHL" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>CalcDuration()
-: <a class="el" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">Server</a><li>CallCommandHandler()
-: <a class="el" href="classServer.html#CallCommandHandler_28std_3A_3Astring_20commandname_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server</a><li>ChangeGECOS()
-: <a class="el" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">Server</a><li>ChangeHost()
-: <a class="el" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">Server</a><li>ChangeUserNick()
-: <a class="el" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">Server</a><li>ChanMode()
-: <a class="el" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server</a><li>chanrec()
-: <a class="el" href="classchanrec.html#chanrec_28_29">chanrec</a><li>classbase()
-: <a class="el" href="classclassbase.html#classbase_28_29">classbase</a><li>ClearBuffer()
-: <a class="el" href="classuserrec.html#ClearBuffer_28_29">userrec</a><li>ClearStack()
-: <a class="el" href="classServerConfig.html#ClearStack_28_29">ServerConfig</a><li>Close()
-: <a class="el" href="classInspSocket.html#Close_28_29">InspSocket</a><li>CloseSocket()
-: <a class="el" href="classuserrec.html#CloseSocket_28_29">userrec</a><li>cmd_mode()
-: <a class="el" href="classcmd__mode.html#cmd_5Fmode_28_29">cmd_mode</a><li>command_t()
-: <a class="el" href="classcommand__t.html#command_5Ft_28std_3A_3Astring_20cmd_2C_20char_20flags_2C_20int_20minpara_29">command_t</a><li>CommonChannels()
-: <a class="el" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">Server</a><li>compare()
-: <a class="el" href="structirc_1_1irc__char__traits.html#compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29">irc::irc_char_traits</a><li>CompressModes()
-: <a class="el" href="classModeParser.html#CompressModes_28std_3A_3Astring_20modes_2C_20bool_20channelmodes_29">ModeParser</a><li>ConfigReader()
-: <a class="el" href="classConfigReader.html#ConfigReader_28std_3A_3Astring_20filename_29">ConfigReader</a><li>ConfProcess()
-: <a class="el" href="classServerConfig.html#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29">ServerConfig</a><li>ConfValue()
-: <a class="el" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ServerConfig</a><li>ConfValueEnum()
-: <a class="el" href="classServerConfig.html#ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29">ServerConfig</a><li>ConnectClass()
-: <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><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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x64.html b/docs/module-doc/functions_func_0x64.html
deleted file mode 100644
index 705a76037..000000000
--- a/docs/module-doc/functions_func_0x64.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindexHL" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>Decrypt()
-: <a class="el" href="classAES.html#Decrypt_28char_20const_20_2Ain_2C_20char_20_2Aresult_2C_20size_5Ft_20n_2C_20int_20iMode_3DECB_29">AES</a><li>DecryptBlock()
-: <a class="el" href="classAES.html#DecryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>DefDecryptBlock()
-: <a class="el" href="classAES.html#DefDecryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>DefEncryptBlock()
-: <a class="el" href="classAES.html#DefEncryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>DelELine()
-: <a class="el" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">Server</a><li>DelFd()
-: <a class="el" href="classSocketEngine.html#DelFd_28int_20fd_29">SocketEngine</a><li>DelGLine()
-: <a class="el" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">Server</a><li>DelIOHook()
-: <a class="el" href="classServerConfig.html#DelIOHook_28int_20port_29">ServerConfig</a><li>DelKLine()
-: <a class="el" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">Server</a><li>DelQLine()
-: <a class="el" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">Server</a><li>DelSocket()
-: <a class="el" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">Server</a><li>DelUser()
-: <a class="el" href="classchanrec.html#DelUser_28char_20_2Acastuser_29">chanrec</a><li>DelZLine()
-: <a class="el" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">Server</a><li>DNS()
-: <a class="el" href="classDNS.html#DNS_28std_3A_3Astring_20dnsserver_29">DNS</a><li>dns_aton4()
-: <a class="el" href="classDNS.html#dns_5Faton_34_28const_20char_20_2Aconst_20ipstring_29">DNS</a><li>dns_aton4_r()
-: <a class="el" href="classDNS.html#dns_5Faton_34_5Fr_28const_20char_20_2Aconst_20ipstring_29">DNS</a><li>dns_aton4_s()
-: <a class="el" href="classDNS.html#dns_5Faton_34_5Fs_28const_20char_20_2Aconst_20ipstring_2C_20in_5Faddr_20_2Aconst_20ip_29">DNS</a><li>dns_getip4()
-: <a class="el" href="classDNS.html#dns_5Fgetip_34_28const_20char_20_2Aconst_20name_29">DNS</a><li>dns_getip4list()
-: <a class="el" href="classDNS.html#dns_5Fgetip_34list_28const_20char_20_2Aconst_20name_29">DNS</a><li>dns_getname4()
-: <a class="el" href="classDNS.html#dns_5Fgetname_34_28const_20in_5Faddr_20_2Aconst_20ip_29">DNS</a><li>dns_getresult()
-: <a class="el" href="classDNS.html#dns_5Fgetresult_28const_20int_20fd_29">DNS</a><li>dns_getresult_r()
-: <a class="el" href="classDNS.html#dns_5Fgetresult_5Fr_28const_20int_20fd_29">DNS</a><li>dns_getresult_s()
-: <a class="el" href="classDNS.html#dns_5Fgetresult_5Fs_28const_20int_20fd_2C_20char_20_2Aconst_20result_29">DNS</a><li>dns_init()
-: <a class="el" href="classDNS.html#dns_5Finit_28_29">DNS</a><li>dns_init_2()
-: <a class="el" href="classDNS.html#dns_5Finit_5F_32_28const_20char_20_2Adnsserver_29">DNS</a><li>dns_ntoa4()
-: <a class="el" href="classDNS.html#dns_5Fntoa_34_28const_20in_5Faddr_20_2Aconst_20ip_29">DNS</a><li>dns_ntoa4_r()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x65.html b/docs/module-doc/functions_func_0x65.html
deleted file mode 100644
index 387a71044..000000000
--- a/docs/module-doc/functions_func_0x65.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindexHL" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>Encrypt()
-: <a class="el" href="classAES.html#Encrypt_28char_20const_20_2Ain_2C_20char_20_2Aresult_2C_20size_5Ft_20n_2C_20int_20iMode_3DECB_29">AES</a><li>EncryptBlock()
-: <a class="el" href="classAES.html#EncryptBlock_28char_20const_20_2Ain_2C_20char_20_2Aresult_29">AES</a><li>EnumConf()
-: <a class="el" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">ServerConfig</a><li>Enumerate()
-: <a class="el" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">ConfigReader</a><li>EnumerateValues()
-: <a class="el" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">ConfigReader</a><li>EnumValues()
-: <a class="el" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">ServerConfig</a><li>eq()
-: <a class="el" href="structirc_1_1irc__char__traits.html#eq_28char_20c_31st_2C_20char_20c_32nd_29">irc::irc_char_traits</a><li>erase_factory()
-: <a class="el" href="classInspIRCd.html#erase_5Ffactory_28int_20j_29">InspIRCd</a><li>erase_module()
-: <a class="el" href="classInspIRCd.html#erase_5Fmodule_28int_20j_29">InspIRCd</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="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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x66.html b/docs/module-doc/functions_func_0x66.html
deleted file mode 100644
index d37bc2867..000000000
--- a/docs/module-doc/functions_func_0x66.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindexHL" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>fgets_safe()
-: <a class="el" href="classServerConfig.html#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29">ServerConfig</a><li>FileReader()
-: <a class="el" href="classFileReader.html#FileReader_28std_3A_3Astring_20filename_29">FileReader</a><li>FileSize()
-: <a class="el" href="classFileReader.html#FileSize_28_29">FileReader</a><li>find()
-: <a class="el" href="structirc_1_1irc__char__traits.html#find_28const_20char_20_2As_31_2C_20int_20n_2C_20char_20c_29">irc::irc_char_traits</a><li>FindChannel()
-: <a class="el" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">Server</a><li>FindDescriptor()
-: <a class="el" href="classServer.html#FindDescriptor_28int_20socket_29">Server</a><li>FindModule()
-: <a class="el" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">Server</a><li>FindNick()
-: <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>FlushWriteBuffer()
-: <a class="el" href="classInspSocket.html#FlushWriteBuffer_28_29">InspSocket</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x67.html b/docs/module-doc/functions_func_0x67.html
deleted file mode 100644
index fed275862..000000000
--- a/docs/module-doc/functions_func_0x67.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindexHL" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>Get()
-: <a class="el" href="classBoolSet.html#Get_28int_20number_29">BoolSet</a><li>GetAdmin()
-: <a class="el" href="classServer.html#GetAdmin_28_29">Server</a><li>GetBlockSize()
-: <a class="el" href="classAES.html#GetBlockSize_28_29">AES</a><li>GetBuffer()
-: <a class="el" href="classuserrec.html#GetBuffer_28_29">userrec</a><li>GetConfig()
-: <a class="el" href="classServer.html#GetConfig_28_29">Server</a><li>GetData()
-: <a class="el" href="classEvent.html#GetData_28_29">Event</a>, <a class="el" href="classRequest.html#GetData_28_29">Request</a><li>GetDest()
-: <a class="el" href="classRequest.html#GetDest_28_29">Request</a><li>GetError()
-: <a class="el" href="classConfigReader.html#GetError_28_29">ConfigReader</a><li>GetEventID()
-: <a class="el" href="classEvent.html#GetEventID_28_29">Event</a><li>GetExt()
-: <a class="el" href="classExtensible.html#GetExt_28std_3A_3Astring_20key_29">Extensible</a><li>GetExtList()
-: <a class="el" href="classExtensible.html#GetExtList_28std_3A_3Adeque_3C_20std_3A_3Astring_20_3E_20_26list_29">Extensible</a><li>GetFd()
-: <a class="el" href="classInspSocket.html#GetFd_28_29">InspSocket</a><li>GetFD()
-: <a class="el" href="classDNS.html#GetFD_28_29">DNS</a><li>GetFullHost()
-: <a class="el" href="classuserrec.html#GetFullHost_28_29">userrec</a><li>GetFullRealHost()
-: <a class="el" href="classuserrec.html#GetFullRealHost_28_29">userrec</a><li>GetInviteList()
-: <a class="el" href="classuserrec.html#GetInviteList_28_29">userrec</a><li>GetIOHook()
-: <a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">ServerConfig</a><li>GetIP()
-: <a class="el" href="classInspSocket.html#GetIP_28_29">InspSocket</a><li>GetKeyLength()
-: <a class="el" href="classAES.html#GetKeyLength_28_29">AES</a><li>GetLine()
-: <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>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>GetRevision()
-: <a class="el" href="classInspIRCd.html#GetRevision_28_29">InspIRCd</a><li>GetRounds()
-: <a class="el" href="classAES.html#GetRounds_28_29">AES</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>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="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><li>GiveHops()
-: <a class="el" href="classModeParser.html#GiveHops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>GiveOps()
-: <a class="el" href="classModeParser.html#GiveOps_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>GiveVoice()
-: <a class="el" href="classModeParser.html#GiveVoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x68.html b/docs/module-doc/functions_func_0x68.html
deleted file mode 100644
index ae42ac965..000000000
--- a/docs/module-doc/functions_func_0x68.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindexHL" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>Handle()
-: <a class="el" href="classcmd__mode.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">cmd_mode</a>, <a class="el" href="classcommand__t.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29_3D_30">command_t</a><li>HasPermission()
-: <a class="el" href="classuserrec.html#HasPermission_28std_3A_3Astring_20_26command_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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x69.html b/docs/module-doc/functions_func_0x69.html
deleted file mode 100644
index 22bb03e61..000000000
--- a/docs/module-doc/functions_func_0x69.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindexHL" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>InspIRCd()
-: <a class="el" href="classInspIRCd.html#InspIRCd_28int_20argc_2C_20char_20_2A_2Aargv_29">InspIRCd</a><li>InspSocket()
-: <a class="el" href="classInspSocket.html#InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29">InspSocket</a><li>Invert()
-: <a class="el" href="classBoolSet.html#Invert_28int_20number_29">BoolSet</a><li>InviteTo()
-: <a class="el" href="classuserrec.html#InviteTo_28irc_3A_3Astring_20_26channel_29">userrec</a><li>IsCustomModeSet()
-: <a class="el" href="classchanrec.html#IsCustomModeSet_28char_20mode_29">chanrec</a><li>IsInvited()
-: <a class="el" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">userrec</a><li>IsNick()
-: <a class="el" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">Server</a><li>IsOnChannel()
-: <a class="el" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">Server</a><li>IsUlined()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x6a.html b/docs/module-doc/functions_func_0x6a.html
deleted file mode 100644
index 7d2a9b796..000000000
--- a/docs/module-doc/functions_func_0x6a.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindexHL" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x6c.html b/docs/module-doc/functions_func_0x6c.html
deleted file mode 100644
index 51f2cb434..000000000
--- a/docs/module-doc/functions_func_0x6c.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindexHL" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<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>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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x6d.html b/docs/module-doc/functions_func_0x6d.html
deleted file mode 100644
index a4766d914..000000000
--- a/docs/module-doc/functions_func_0x6d.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindexHL" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>MakeKey()
-: <a class="el" href="classAES.html#MakeKey_28char_20const_20_2Akey_2C_20char_20const_20_2Achain_2C_20int_20keylength_3DDEFAULT_5FBLOCK_5FSIZE_2C_20int_20blockSize_3DDEFAULT_5FBLOCK_5FSIZE_29">AES</a><li>MakeLowerMap()
-: <a class="el" href="classInspIRCd.html#MakeLowerMap_28_29">InspIRCd</a><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>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>Mul()
-: <a class="el" href="classAES.html#Mul_28int_20a_2C_20int_20b_29">AES</a><li>Mul4()
-: <a class="el" href="classAES.html#Mul_34_28int_20a_2C_20char_20b_5B_5D_29">AES</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x6e.html b/docs/module-doc/functions_func_0x6e.html
deleted file mode 100644
index f32b12a72..000000000
--- a/docs/module-doc/functions_func_0x6e.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindexHL" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x6f.html b/docs/module-doc/functions_func_0x6f.html
deleted file mode 100644
index d3c7c0e4c..000000000
--- a/docs/module-doc/functions_func_0x6f.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindexHL" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>On005Numeric()
-: <a class="el" href="classModule.html#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29">Module</a><li>OnAccessCheck()
-: <a class="el" href="classModule.html#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29">Module</a><li>OnAddBan()
-: <a class="el" href="classModule.html#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">Module</a><li>OnAddELine()
-: <a class="el" href="classModule.html#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnAddGLine()
-: <a class="el" href="classModule.html#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnAddKLine()
-: <a class="el" href="classModule.html#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnAddQLine()
-: <a class="el" href="classModule.html#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29">Module</a><li>OnAddZLine()
-: <a class="el" href="classModule.html#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29">Module</a><li>OnBackgroundTimer()
-: <a class="el" href="classModule.html#OnBackgroundTimer_28time_5Ft_20curtime_29">Module</a><li>OnChangeHost()
-: <a class="el" href="classModule.html#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module</a><li>OnChangeLocalUserGECOS()
-: <a class="el" href="classModule.html#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module</a><li>OnChangeLocalUserHost()
-: <a class="el" href="classModule.html#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module</a><li>OnChangeName()
-: <a class="el" href="classModule.html#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">Module</a><li>OnCheckBan()
-: <a class="el" href="classModule.html#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module</a><li>OnCheckInvite()
-: <a class="el" href="classModule.html#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module</a><li>OnCheckKey()
-: <a class="el" href="classModule.html#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29">Module</a><li>OnCheckLimit()
-: <a class="el" href="classModule.html#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module</a><li>OnCheckReady()
-: <a class="el" href="classModule.html#OnCheckReady_28userrec_20_2Auser_29">Module</a><li>OnCleanup()
-: <a class="el" href="classModule.html#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29">Module</a><li>OnClose()
-: <a class="el" href="classInspSocket.html#OnClose_28_29">InspSocket</a><li>OnConnected()
-: <a class="el" href="classInspSocket.html#OnConnected_28_29">InspSocket</a><li>OnDataReady()
-: <a class="el" href="classInspSocket.html#OnDataReady_28_29">InspSocket</a><li>OnDecodeMetaData()
-: <a class="el" href="classModule.html#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">Module</a><li>OnDelBan()
-: <a class="el" href="classModule.html#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">Module</a><li>OnDelELine()
-: <a class="el" href="classModule.html#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnDelGLine()
-: <a class="el" href="classModule.html#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnDelKLine()
-: <a class="el" href="classModule.html#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module</a><li>OnDelQLine()
-: <a class="el" href="classModule.html#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29">Module</a><li>OnDelZLine()
-: <a class="el" href="classModule.html#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29">Module</a><li>OnDisconnect()
-: <a class="el" href="classInspSocket.html#OnDisconnect_28_29">InspSocket</a><li>OnError()
-: <a class="el" href="classInspSocket.html#OnError_28InspSocketError_20e_29">InspSocket</a><li>OnEvent()
-: <a class="el" href="classModule.html#OnEvent_28Event_20_2Aevent_29">Module</a><li>OnExtendedMode()
-: <a class="el" href="classModule.html#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29">Module</a><li>OnGetServerDescription()
-: <a class="el" href="classModule.html#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29">Module</a><li>OnGlobalConnect()
-: <a class="el" href="classModule.html#OnGlobalConnect_28userrec_20_2Auser_29">Module</a><li>OnGlobalOper()
-: <a class="el" href="classModule.html#OnGlobalOper_28userrec_20_2Auser_29">Module</a><li>OnIncomingConnection()
-: <a class="el" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">InspSocket</a><li>OnInfo()
-: <a class="el" href="classModule.html#OnInfo_28userrec_20_2Auser_29">Module</a><li>OnKill()
-: <a class="el" href="classModule.html#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnLoadModule()
-: <a class="el" href="classModule.html#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">Module</a><li>OnLocalTopicChange()
-: <a class="el" href="classModule.html#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">Module</a><li>OnMode()
-: <a class="el" href="classModule.html#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module</a><li>OnOper()
-: <a class="el" href="classModule.html#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29">Module</a><li>OnOperCompare()
-: <a class="el" href="classModule.html#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29">Module</a><li>OnPostLocalTopicChange()
-: <a class="el" href="classModule.html#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">Module</a><li>OnPreCommand()
-: <a class="el" href="classModule.html#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Module</a><li>OnRawMode()
-: <a class="el" href="classModule.html#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29">Module</a><li>OnRawSocketAccept()
-: <a class="el" href="classModule.html#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29">Module</a><li>OnRawSocketClose()
-: <a class="el" href="classModule.html#OnRawSocketClose_28int_20fd_29">Module</a><li>OnRawSocketRead()
-: <a class="el" href="classModule.html#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29">Module</a><li>OnRawSocketWrite()
-: <a class="el" href="classModule.html#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29">Module</a><li>OnRehash()
-: <a class="el" href="classModule.html#OnRehash_28std_3A_3Astring_20parameter_29">Module</a><li>OnRemoteKill()
-: <a class="el" href="classModule.html#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnRequest()
-: <a class="el" href="classModule.html#OnRequest_28Request_20_2Arequest_29">Module</a><li>OnSendList()
-: <a class="el" href="classModule.html#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29">Module</a><li>OnServerRaw()
-: <a class="el" href="classModule.html#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29">Module</a><li>OnStats()
-: <a class="el" href="classModule.html#OnStats_28char_20symbol_29">Module</a><li>OnSyncChannel()
-: <a class="el" href="classModule.html#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">Module</a><li>OnSyncChannelMetaData()
-: <a class="el" href="classModule.html#OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">Module</a><li>OnSyncUser()
-: <a class="el" href="classModule.html#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">Module</a><li>OnSyncUserMetaData()
-: <a class="el" href="classModule.html#OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">Module</a><li>OnTimeout()
-: <a class="el" href="classInspSocket.html#OnTimeout_28_29">InspSocket</a><li>OnUnloadModule()
-: <a class="el" href="classModule.html#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">Module</a><li>OnUserConnect()
-: <a class="el" href="classModule.html#OnUserConnect_28userrec_20_2Auser_29">Module</a><li>OnUserDisconnect()
-: <a class="el" href="classModule.html#OnUserDisconnect_28userrec_20_2Auser_29">Module</a><li>OnUserInvite()
-: <a class="el" href="classModule.html#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserJoin()
-: <a class="el" href="classModule.html#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserKick()
-: <a class="el" href="classModule.html#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnUserMessage()
-: <a class="el" href="classModule.html#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module</a><li>OnUserNotice()
-: <a class="el" href="classModule.html#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module</a><li>OnUserPart()
-: <a class="el" href="classModule.html#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserPostNick()
-: <a class="el" href="classModule.html#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29">Module</a><li>OnUserPreInvite()
-: <a class="el" href="classModule.html#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">Module</a><li>OnUserPreJoin()
-: <a class="el" href="classModule.html#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29">Module</a><li>OnUserPreKick()
-: <a class="el" href="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">Module</a><li>OnUserPreMessage()
-: <a class="el" href="classModule.html#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">Module</a><li>OnUserPreNick()
-: <a class="el" href="classModule.html#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29">Module</a><li>OnUserPreNotice()
-: <a class="el" href="classModule.html#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">Module</a><li>OnUserQuit()
-: <a class="el" href="classModule.html#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">Module</a><li>OnUserRegister()
-: <a class="el" href="classModule.html#OnUserRegister_28userrec_20_2Auser_29">Module</a><li>OnWallops()
-: <a class="el" href="classModule.html#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29">Module</a><li>OnWhois()
-: <a class="el" href="classModule.html#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29">Module</a><li>operator &amp;()
-: <a class="el" href="classBoolSet.html#operator_20_26_28BoolSet_20other_29">BoolSet</a><li>operator()()
-: <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">irc::InAddr_HashComp</a>, <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">irc::StrHashComp</a>, <a class="el" href="structnspace_1_1hash_3_01string_01_4.html#operator_28_29_28const_20string_20_26s_29_20const_20">nspace::hash&lt; string &gt;</a>, <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">nspace::hash&lt; in_addr &gt;</a><li>operator=()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x70.html b/docs/module-doc/functions_func_0x70.html
deleted file mode 100644
index 81509318b..000000000
--- a/docs/module-doc/functions_func_0x70.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindexHL" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>PartUserFromChannel()
-: <a class="el" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">Server</a><li>Poll()
-: <a class="el" href="classInspSocket.html#Poll_28_29">InspSocket</a><li>ProcessModes()
-: <a class="el" href="classModeParser.html#ProcessModes_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">ModeParser</a><li>ProcessModuleUmode()
-: <a class="el" href="classModeParser.html#ProcessModuleUmode_28char_20umode_2C_20userrec_20_2Asource_2C_20void_20_2Adest_2C_20bool_20adding_29">ModeParser</a><li>ProtoSendMetaData()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x71.html b/docs/module-doc/functions_func_0x71.html
deleted file mode 100644
index cf226b0cf..000000000
--- a/docs/module-doc/functions_func_0x71.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindexHL" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x72.html b/docs/module-doc/functions_func_0x72.html
deleted file mode 100644
index 659e40fbd..000000000
--- a/docs/module-doc/functions_func_0x72.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindexHL" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>Read()
-: <a class="el" href="classInspSocket.html#Read_28_29">InspSocket</a>, <a class="el" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">ServerConfig</a><li>ReadConf()
-: <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</a><li>ReadData()
-: <a class="el" href="classuserrec.html#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29">userrec</a><li>ReadFlag()
-: <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>RehashServer()
-: <a class="el" href="classServer.html#RehashServer_28_29">Server</a><li>RemoveInvite()
-: <a class="el" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">userrec</a><li>Request()
-: <a class="el" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request</a><li>ResetChain()
-: <a class="el" href="classAES.html#ResetChain_28_29">AES</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x73.html b/docs/module-doc/functions_func_0x73.html
deleted file mode 100644
index ff2432b4f..000000000
--- a/docs/module-doc/functions_func_0x73.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindexHL" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>Send()
-: <a class="el" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server</a>, <a class="el" href="classEvent.html#Send_28_29">Event</a>, <a class="el" href="classRequest.html#Send_28_29">Request</a>, <a class="el" href="classModuleMessage.html#Send_28_29_3D_30">ModuleMessage</a><li>SendChannel()
-: <a class="el" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">Server</a><li>SendChannelServerNotice()
-: <a class="el" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">Server</a><li>SendCommon()
-: <a class="el" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">Server</a><li>SendFrom()
-: <a class="el" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">Server</a><li>SendMode()
-: <a class="el" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Server</a><li>SendOpers()
-: <a class="el" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">Server</a><li>SendServ()
-: <a class="el" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">Server</a><li>SendTo()
-: <a class="el" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">Server</a><li>SendToModeMask()
-: <a class="el" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">Server</a><li>SendWallops()
-: <a class="el" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">Server</a><li>Server()
-: <a class="el" href="classServer.html#Server_28_29">Server</a><li>ServerConfig()
-: <a class="el" href="classServerConfig.html#ServerConfig_28_29">ServerConfig</a><li>ServerMode()
-: <a class="el" href="classModeParser.html#ServerMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">ModeParser</a><li>serverstats()
-: <a class="el" href="classserverstats.html#serverstats_28_29">serverstats</a><li>Set()
-: <a class="el" href="classBoolSet.html#Set_28int_20number_29">BoolSet</a><li>SetCustomMode()
-: <a class="el" href="classchanrec.html#SetCustomMode_28char_20mode_2C_20bool_20mode_5Fon_29">chanrec</a><li>SetCustomModeParam()
-: <a class="el" href="classchanrec.html#SetCustomModeParam_28char_20mode_2C_20char_20_2Aparameter_2C_20bool_20mode_5Fon_29">chanrec</a><li>SetNS()
-: <a class="el" href="classDNS.html#SetNS_28std_3A_3Astring_20dnsserver_29">DNS</a><li>SetState()
-: <a class="el" href="classInspSocket.html#SetState_28InspSocketState_20s_29">InspSocket</a><li>SetWriteError()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x74.html b/docs/module-doc/functions_func_0x74.html
deleted file mode 100644
index e4142329e..000000000
--- a/docs/module-doc/functions_func_0x74.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindexHL" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>TakeBan()
-: <a class="el" href="classModeParser.html#TakeBan_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>TakeHops()
-: <a class="el" href="classModeParser.html#TakeHops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>TakeOps()
-: <a class="el" href="classModeParser.html#TakeOps_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><li>TakeVoice()
-: <a class="el" href="classModeParser.html#TakeVoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">ModeParser</a><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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x75.html b/docs/module-doc/functions_func_0x75.html
deleted file mode 100644
index 1317a44ee..000000000
--- a/docs/module-doc/functions_func_0x75.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindexHL" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>ucrec()
-: <a class="el" href="classucrec.html#ucrec_28_29">ucrec</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>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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x76.html b/docs/module-doc/functions_func_0x76.html
deleted file mode 100644
index c1423a358..000000000
--- a/docs/module-doc/functions_func_0x76.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindexHL" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x77.html b/docs/module-doc/functions_func_0x77.html
deleted file mode 100644
index 5278e02af..000000000
--- a/docs/module-doc/functions_func_0x77.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindexHL" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindex" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_func_0x7e.html b/docs/module-doc/functions_func_0x7e.html
deleted file mode 100644
index 3ce7e7424..000000000
--- a/docs/module-doc/functions_func_0x7e.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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: Class Members - Functions</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_func.html">Functions</a> | <a class="qindex" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="functions_func.html#index_a">a</a> | <a class="qindex" href="functions_func_0x62.html#index_b">b</a> | <a class="qindex" href="functions_func_0x63.html#index_c">c</a> | <a class="qindex" href="functions_func_0x64.html#index_d">d</a> | <a class="qindex" href="functions_func_0x65.html#index_e">e</a> | <a class="qindex" href="functions_func_0x66.html#index_f">f</a> | <a class="qindex" href="functions_func_0x67.html#index_g">g</a> | <a class="qindex" href="functions_func_0x68.html#index_h">h</a> | <a class="qindex" href="functions_func_0x69.html#index_i">i</a> | <a class="qindex" href="functions_func_0x6a.html#index_j">j</a> | <a class="qindex" href="functions_func_0x6c.html#index_l">l</a> | <a class="qindex" href="functions_func_0x6d.html#index_m">m</a> | <a class="qindex" href="functions_func_0x6e.html#index_n">n</a> | <a class="qindex" href="functions_func_0x6f.html#index_o">o</a> | <a class="qindex" href="functions_func_0x70.html#index_p">p</a> | <a class="qindex" href="functions_func_0x71.html#index_q">q</a> | <a class="qindex" href="functions_func_0x72.html#index_r">r</a> | <a class="qindex" href="functions_func_0x73.html#index_s">s</a> | <a class="qindex" href="functions_func_0x74.html#index_t">t</a> | <a class="qindex" href="functions_func_0x75.html#index_u">u</a> | <a class="qindex" href="functions_func_0x76.html#index_v">v</a> | <a class="qindex" href="functions_func_0x77.html#index_w">w</a> | <a class="qindex" href="functions_func_0x78.html#index_x">x</a> | <a class="qindexHL" href="functions_func_0x7e.html#index_~">~</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_~">- ~ -</a></h3><ul>
-<li>~AES()
-: <a class="el" href="classAES.html#_7EAES_28_29">AES</a><li>~chanrec()
-: <a class="el" href="classchanrec.html#_7Echanrec_28_29">chanrec</a><li>~classbase()
-: <a class="el" href="classclassbase.html#_7Eclassbase_28_29">classbase</a><li>~command_t()
-: <a class="el" href="classcommand__t.html#_7Ecommand_5Ft_28_29">command_t</a><li>~ConfigReader()
-: <a class="el" href="classConfigReader.html#_7EConfigReader_28_29">ConfigReader</a><li>~DNS()
-: <a class="el" href="classDNS.html#_7EDNS_28_29">DNS</a><li>~FileReader()
-: <a class="el" href="classFileReader.html#_7EFileReader_28_29">FileReader</a><li>~HostItem()
-: <a class="el" href="classHostItem.html#_7EHostItem_28_29">HostItem</a><li>~InspSocket()
-: <a class="el" href="classInspSocket.html#_7EInspSocket_28_29">InspSocket</a><li>~Module()
-: <a class="el" href="classModule.html#_7EModule_28_29">Module</a><li>~ModuleFactory()
-: <a class="el" href="classModuleFactory.html#_7EModuleFactory_28_29">ModuleFactory</a><li>~ModuleMessage()
-: <a class="el" href="classModuleMessage.html#_7EModuleMessage_28_29">ModuleMessage</a><li>~Server()
-: <a class="el" href="classServer.html#_7EServer_28_29">Server</a><li>~SocketEngine()
-: <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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/functions_vars.html b/docs/module-doc/functions_vars.html
deleted file mode 100644
index e29fc7fd8..000000000
--- a/docs/module-doc/functions_vars.html
+++ /dev/null
@@ -1,255 +0,0 @@
-<!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: Class Members - Variables</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="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindex" href="functions_func.html">Functions</a> | <a class="qindexHL" href="functions_vars.html">Variables</a> | <a class="qindex" href="functions_eval.html">Enumerator</a></div>
-<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_b">b</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_k">k</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_w">w</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>a
-: <a class="el" href="classAES.html#a_5BMAX_5FBC_5D">AES</a><li>addr
-: <a class="el" href="classInspSocket.html#addr">InspSocket</a><li>addrs
-: <a class="el" href="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">ServerConfig</a><li>addy
-: <a class="el" href="classInspSocket.html#addy">InspSocket</a><li>AdminEmail
-: <a class="el" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">ServerConfig</a><li>AdminName
-: <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="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">userrec</a></ul>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>bans
-: <a class="el" href="classchanrec.html#bans">chanrec</a><li>binarymodes
-: <a class="el" href="classchanrec.html#binarymodes">chanrec</a><li>binip
-: <a class="el" href="classDNS.html#binip">DNS</a><li>bits
-: <a class="el" href="classBoolSet.html#bits">BoolSet</a><li>BoundPortCount
-: <a class="el" href="classserverstats.html#BoundPortCount">serverstats</a><li>Buffer
-: <a class="el" href="classInspSocket.html#Buffer">InspSocket</a><li>Build
-: <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>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>cache
-: <a class="el" href="classConfigReader.html#cache">ConfigReader</a><li>channel
-: <a class="el" href="classInvited.html#channel">Invited</a>, <a class="el" href="classucrec.html#channel">ucrec</a>, <a class="el" href="classModeParameter.html#channel_5BCHANMAX_5D">ModeParameter</a><li>chans
-: <a class="el" href="classuserrec.html#chans">userrec</a><li>Classes
-: <a class="el" href="classServerConfig.html#Classes">ServerConfig</a><li>client
-: <a class="el" href="classInspSocket.html#client">InspSocket</a><li>cmds_in
-: <a class="el" href="classconnection.html#cmds_5Fin">connection</a><li>cmds_out
-: <a class="el" href="classconnection.html#cmds_5Fout">connection</a><li>command
-: <a class="el" href="classcommand__t.html#command">command_t</a><li>config_f
-: <a class="el" href="classServerConfig.html#config_5Ff">ServerConfig</a><li>created
-: <a class="el" href="classchanrec.html#created">chanrec</a><li>custom_modes
-: <a class="el" href="classchanrec.html#custom_5Fmodes_5BMAXMODES_5D">chanrec</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>data
-: <a class="el" href="classEvent.html#data">Event</a>, <a class="el" href="classRequest.html#data">Request</a>, <a class="el" href="classHostItem.html#data_5BMAXBUF_5D">HostItem</a><li>debugging
-: <a class="el" href="classServerConfig.html#debugging">ServerConfig</a><li>dest
-: <a class="el" href="classRequest.html#dest">Request</a><li>dhost
-: <a class="el" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#dhost_5B_31_36_30_5D">userrec</a><li>DieDelay
-: <a class="el" href="classServerConfig.html#DieDelay">ServerConfig</a><li>diepass
-: <a class="el" href="classServerConfig.html#diepass_5BMAXBUF_5D">ServerConfig</a><li>DieValue
-: <a class="el" href="classServerConfig.html#DieValue_5BMAXBUF_5D">ServerConfig</a><li>DisabledCommands
-: <a class="el" href="classServerConfig.html#DisabledCommands_5BMAXBUF_5D">ServerConfig</a><li>dns_done
-: <a class="el" href="classuserrec.html#dns_5Fdone">userrec</a><li>dns_timeout
-: <a class="el" href="classServerConfig.html#dns_5Ftimeout">ServerConfig</a><li>DNSServer
-: <a class="el" href="classServerConfig.html#DNSServer_5BMAXBUF_5D">ServerConfig</a><li>duration
-: <a class="el" href="classXLine.html#duration">XLine</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>Email
-: <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>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
-: <a class="el" href="classFileReader.html#fc">FileReader</a><li>fd
-: <a class="el" href="classInspSocket.html#fd">InspSocket</a>, <a class="el" href="classconnection.html#fd">connection</a><li>fds
-: <a class="el" href="classSocketEngine.html#fds">SocketEngine</a><li>Flags
-: <a class="el" href="classVersion.html#Flags">Version</a><li>flags_needed
-: <a class="el" href="classcommand__t.html#flags_5Fneeded">command_t</a><li>flood
-: <a class="el" href="classuserrec.html#flood">userrec</a>, <a class="el" href="classConnectClass.html#flood">ConnectClass</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>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<li>haspassed
-: <a class="el" href="classconnection.html#haspassed">connection</a><li>host
-: <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>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>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>ibuf
-: <a class="el" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">InspSocket</a><li>id
-: <a class="el" href="classEvent.html#id">Event</a><li>ident
-: <a class="el" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">userrec</a><li>idle_lastmsg
-: <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>IOHookModule
-: <a class="el" href="classServerConfig.html#IOHookModule">ServerConfig</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="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>
-<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>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>lastping
-: <a class="el" href="classconnection.html#lastping">connection</a><li>length
-: <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>, <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>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>m_bKeyInit
-: <a class="el" href="classAES.html#m_5FbKeyInit">AES</a><li>m_blockSize
-: <a class="el" href="classAES.html#m_5FblockSize">AES</a><li>m_chain
-: <a class="el" href="classAES.html#m_5Fchain_5BMAX_5FBLOCK_5FSIZE_5D">AES</a><li>m_chain0
-: <a class="el" href="classAES.html#m_5Fchain_30_5BMAX_5FBLOCK_5FSIZE_5D">AES</a><li>m_iROUNDS
-: <a class="el" href="classAES.html#m_5FiROUNDS">AES</a><li>m_Kd
-: <a class="el" href="classAES.html#m_5FKd_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">AES</a><li>m_Ke
-: <a class="el" href="classAES.html#m_5FKe_5BMAX_5FROUNDS_2B_31_5D_5BMAX_5FBC_5D">AES</a><li>m_keylength
-: <a class="el" href="classAES.html#m_5Fkeylength">AES</a><li>Major
-: <a class="el" href="classVersion.html#Major">Version</a><li>MaxConn
-: <a class="el" href="classServerConfig.html#MaxConn">ServerConfig</a><li>MaxWhoResults
-: <a class="el" href="classServerConfig.html#MaxWhoResults">ServerConfig</a><li>min_params
-: <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>ModeGrok
-: <a class="el" href="classInspIRCd.html#ModeGrok">InspIRCd</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
-: <a class="el" href="classServerConfig.html#MOTD">ServerConfig</a><li>motd
-: <a class="el" href="classServerConfig.html#motd_5BMAXBUF_5D">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>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>n_matches
-: <a class="el" href="classXLine.html#n_5Fmatches">XLine</a><li>Name
-: <a class="el" href="classAdmin.html#Name">Admin</a><li>name
-: <a class="el" href="classchanrec.html#name_5BCHANMAX_5D">chanrec</a><li>needsoper
-: <a class="el" href="classExtMode.html#needsoper">ExtMode</a><li>NetBufferSize
-: <a class="el" href="classServerConfig.html#NetBufferSize">ServerConfig</a><li>Network
-: <a class="el" href="classServerConfig.html#Network_5BMAXBUF_5D">ServerConfig</a><li>next
-: <a class="el" href="structdns__ip4list.html#next">dns_ip4list</a><li>Nick
-: <a class="el" href="classAdmin.html#Nick">Admin</a><li>nick
-: <a class="el" href="classQLine.html#nick_5B_36_34_5D">QLine</a>, <a class="el" href="classWhoWasUser.html#nick_5BNICKMAX_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#nick_5BNICKMAX_5D">userrec</a><li>nofork
-: <a class="el" href="classServerConfig.html#nofork">ServerConfig</a><li>nping
-: <a class="el" href="classconnection.html#nping">connection</a></ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>oper
-: <a class="el" href="classuserrec.html#oper_5BNICKMAX_5D">userrec</a></ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>parameter
-: <a class="el" href="classModeParameter.html#parameter_5BMAXBUF_5D">ModeParameter</a><li>params_when_off
-: <a class="el" href="classExtMode.html#params_5Fwhen_5Foff">ExtMode</a><li>params_when_on
-: <a class="el" href="classExtMode.html#params_5Fwhen_5Fon">ExtMode</a><li>Parser
-: <a class="el" href="classInspIRCd.html#Parser">InspIRCd</a><li>pass
-: <a class="el" href="classConnectClass.html#pass_5BMAXBUF_5D">ConnectClass</a><li>password
-: <a class="el" href="classuserrec.html#password_5BMAXBUF_5D">userrec</a><li>PID
-: <a class="el" href="classServerConfig.html#PID_5B_31_30_32_34_5D">ServerConfig</a><li>pingmax
-: <a class="el" href="classuserrec.html#pingmax">userrec</a><li>pingtime
-: <a class="el" href="classConnectClass.html#pingtime">ConnectClass</a><li>port
-: <a class="el" href="classInspSocket.html#port">InspSocket</a>, <a class="el" href="classconnection.html#port">connection</a><li>ports
-: <a class="el" href="classServerConfig.html#ports_5B_32_35_35_5D">ServerConfig</a><li>PrefixQuit
-: <a class="el" href="classServerConfig.html#PrefixQuit_5BMAXBUF_5D">ServerConfig</a></ul>
-<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>, <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
-: <a class="el" href="classConnectClass.html#registration_5Ftimeout">ConnectClass</a><li>reset_due
-: <a class="el" href="classuserrec.html#reset_5Fdue">userrec</a><li>restartpass
-: <a class="el" href="classServerConfig.html#restartpass_5BMAXBUF_5D">ServerConfig</a><li>result
-: <a class="el" href="classDNS.html#result">DNS</a><li>Revision
-: <a class="el" href="classVersion.html#Revision">Version</a><li>RULES
-: <a class="el" href="classServerConfig.html#RULES">ServerConfig</a><li>rules
-: <a class="el" href="classServerConfig.html#rules_5BMAXBUF_5D">ServerConfig</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>SE
-: <a class="el" href="classInspIRCd.html#SE">InspIRCd</a><li>sendq
-: <a class="el" href="classuserrec.html#sendq">userrec</a><li>sendqmax
-: <a class="el" href="classuserrec.html#sendqmax">userrec</a>, <a class="el" href="classConnectClass.html#sendqmax">ConnectClass</a><li>server
-: <a class="el" href="classWhoWasUser.html#server_5B_32_35_36_5D">WhoWasUser</a>, <a class="el" href="classuserrec.html#server">userrec</a>, <a class="el" href="classInspSocket.html#server">InspSocket</a><li>ServerDesc
-: <a class="el" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerConfig</a><li>ServerName
-: <a class="el" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerConfig</a><li>set_by
-: <a class="el" href="classHostItem.html#set_5Fby_5BNICKMAX_5D">HostItem</a><li>set_time
-: <a class="el" href="classXLine.html#set_5Ftime">XLine</a>, <a class="el" href="classHostItem.html#set_5Ftime">HostItem</a><li>setby
-: <a class="el" href="classchanrec.html#setby_5BNICKMAX_5D">chanrec</a><li>signon
-: <a class="el" href="classWhoWasUser.html#signon">WhoWasUser</a>, <a class="el" href="classconnection.html#signon">connection</a><li>sm_alog
-: <a class="el" href="classAES.html#sm_5Falog_5B_32_35_36_5D">AES</a><li>sm_chain0
-: <a class="el" href="classAES.html#sm_5Fchain_30">AES</a><li>sm_log
-: <a class="el" href="classAES.html#sm_5Flog_5B_32_35_36_5D">AES</a><li>sm_rcon
-: <a class="el" href="classAES.html#sm_5Frcon_5B_33_30_5D">AES</a><li>sm_S
-: <a class="el" href="classAES.html#sm_5FS_5B_32_35_36_5D">AES</a><li>sm_shifts
-: <a class="el" href="classAES.html#sm_5Fshifts_5B_33_5D_5B_34_5D_5B_32_5D">AES</a><li>sm_Si
-: <a class="el" href="classAES.html#sm_5FSi_5B_32_35_36_5D">AES</a><li>sm_T1
-: <a class="el" href="classAES.html#sm_5FT_31_5B_32_35_36_5D">AES</a><li>sm_T2
-: <a class="el" href="classAES.html#sm_5FT_32_5B_32_35_36_5D">AES</a><li>sm_T3
-: <a class="el" href="classAES.html#sm_5FT_33_5B_32_35_36_5D">AES</a><li>sm_T4
-: <a class="el" href="classAES.html#sm_5FT_34_5B_32_35_36_5D">AES</a><li>sm_T5
-: <a class="el" href="classAES.html#sm_5FT_35_5B_32_35_36_5D">AES</a><li>sm_T6
-: <a class="el" href="classAES.html#sm_5FT_36_5B_32_35_36_5D">AES</a><li>sm_T7
-: <a class="el" href="classAES.html#sm_5FT_37_5B_32_35_36_5D">AES</a><li>sm_T8
-: <a class="el" href="classAES.html#sm_5FT_38_5B_32_35_36_5D">AES</a><li>sm_U1
-: <a class="el" href="classAES.html#sm_5FU_31_5B_32_35_36_5D">AES</a><li>sm_U2
-: <a class="el" href="classAES.html#sm_5FU_32_5B_32_35_36_5D">AES</a><li>sm_U3
-: <a class="el" href="classAES.html#sm_5FU_33_5B_32_35_36_5D">AES</a><li>sm_U4
-: <a class="el" href="classAES.html#sm_5FU_34_5B_32_35_36_5D">AES</a><li>SoftLimit
-: <a class="el" href="classServerConfig.html#SoftLimit">ServerConfig</a><li>source
-: <a class="el" href="classXLine.html#source_5B_32_35_36_5D">XLine</a>, <a class="el" href="classEvent.html#source">Event</a>, <a class="el" href="classRequest.html#source">Request</a>, <a class="el" href="classcommand__t.html#source">command_t</a><li>startup_time
-: <a class="el" href="classInspIRCd.html#startup_5Ftime">InspIRCd</a><li>state
-: <a class="el" href="classInspSocket.html#state">InspSocket</a><li>stats
-: <a class="el" href="classInspIRCd.html#stats">InspIRCd</a><li>statsAccept
-: <a class="el" href="classserverstats.html#statsAccept">serverstats</a><li>statsCollisions
-: <a class="el" href="classserverstats.html#statsCollisions">serverstats</a><li>statsConnects
-: <a class="el" href="classserverstats.html#statsConnects">serverstats</a><li>statsDns
-: <a class="el" href="classserverstats.html#statsDns">serverstats</a><li>statsDnsBad
-: <a class="el" href="classserverstats.html#statsDnsBad">serverstats</a><li>statsDnsGood
-: <a class="el" href="classserverstats.html#statsDnsGood">serverstats</a><li>statsRecv
-: <a class="el" href="classserverstats.html#statsRecv">serverstats</a><li>statsRefused
-: <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>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>t
-: <a class="el" href="classDNS.html#t">DNS</a>, <a class="el" href="classAES.html#t_5BMAX_5FBC_5D">AES</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_end
-: <a class="el" href="classInspSocket.html#timeout_5Fend">InspSocket</a><li>tk
-: <a class="el" href="classAES.html#tk_5BMAX_5FKC_5D">AES</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>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<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><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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/globals.html b/docs/module-doc/globals.html
deleted file mode 100644
index fca538ec7..000000000
--- a/docs/module-doc/globals.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindexHL" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>AC_DEHALFOP
-: <a class="el" href="modules_8h.html#AC_5FDEHALFOP">modules.h</a><li>AC_DEOP
-: <a class="el" href="modules_8h.html#AC_5FDEOP">modules.h</a><li>AC_DEVOICE
-: <a class="el" href="modules_8h.html#AC_5FDEVOICE">modules.h</a><li>AC_GENERAL_MODE
-: <a class="el" href="modules_8h.html#AC_5FGENERAL_5FMODE">modules.h</a><li>AC_HALFOP
-: <a class="el" href="modules_8h.html#AC_5FHALFOP">modules.h</a><li>AC_INVITE
-: <a class="el" href="modules_8h.html#AC_5FINVITE">modules.h</a><li>AC_KICK
-: <a class="el" href="modules_8h.html#AC_5FKICK">modules.h</a><li>AC_OP
-: <a class="el" href="modules_8h.html#AC_5FOP">modules.h</a><li>AC_VOICE
-: <a class="el" href="modules_8h.html#AC_5FVOICE">modules.h</a><li>ACR_ALLOW
-: <a class="el" href="modules_8h.html#ACR_5FALLOW">modules.h</a><li>ACR_DEFAULT
-: <a class="el" href="modules_8h.html#ACR_5FDEFAULT">modules.h</a><li>ACR_DENY
-: <a class="el" href="modules_8h.html#ACR_5FDENY">modules.h</a><li>add_channel()
-: <a class="el" href="channels_8h.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">channels.h</a>, <a class="el" href="channels_8cpp.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">channels.cpp</a><li>add_eline()
-: <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">xline.h</a><li>add_gline()
-: <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">xline.h</a><li>add_kline()
-: <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">xline.h</a><li>add_qline()
-: <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">xline.h</a><li>add_zline()
-: <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">xline.h</a><li>AddClient()
-: <a class="el" href="users_8h.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">users.h</a>, <a class="el" href="users_8cpp.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">users.cpp</a><li>AddOper()
-: <a class="el" href="users_8h.html#AddOper_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#AddOper_28userrec_20_2Auser_29">users.cpp</a><li>address_cache
-: <a class="el" href="typedefs_8h.html#address_5Fcache">typedefs.h</a><li>AddServerName()
-: <a class="el" href="inspircd_8h.html#AddServerName_28std_3A_3Astring_20servername_29">inspircd.h</a><li>AddWhoWas()
-: <a class="el" href="users_8h.html#AddWhoWas_28userrec_20_2Au_29">users.h</a>, <a class="el" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">users.cpp</a><li>all_opers
-: <a class="el" href="users_8cpp.html#all_5Fopers">users.cpp</a><li>APPLY_ALL
-: <a class="el" href="xline_8h.html#APPLY_5FALL">xline.h</a><li>APPLY_GLINES
-: <a class="el" href="xline_8h.html#APPLY_5FGLINES">xline.h</a><li>APPLY_KLINES
-: <a class="el" href="xline_8h.html#APPLY_5FKLINES">xline.h</a><li>apply_lines()
-: <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 Mon Dec 19 18:05:24 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/globals_0x62.html b/docs/module-doc/globals_0x62.html
deleted file mode 100644
index e0065e94d..000000000
--- a/docs/module-doc/globals_0x62.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindexHL" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>BanList
-: <a class="el" href="channels_8h.html#BanList">channels.h</a><li>BindPorts()
-: <a class="el" href="inspircd__io_8h.html#BindPorts_28_29">inspircd_io.h</a><li>BindSocket()
-: <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></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x63.html b/docs/module-doc/globals_0x63.html
deleted file mode 100644
index 992772a1b..000000000
--- a/docs/module-doc/globals_0x63.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindexHL" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>c_count()
-: <a class="el" href="message_8h.html#c_5Fcount_28userrec_20_2Au_29">message.h</a><li>CC_ALLOW
-: <a class="el" href="users_8h.html#CC_5FALLOW">users.h</a><li>CC_DENY
-: <a class="el" href="users_8h.html#CC_5FDENY">users.h</a><li>chan_hash
-: <a class="el" href="typedefs_8h.html#chan_5Fhash">typedefs.h</a><li>ChanExceptSender()
-: <a class="el" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>ChangeDisplayedHost()
-: <a class="el" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">message.h</a><li>ChangeName()
-: <a class="el" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">message.h</a><li>chanlist
-: <a class="el" href="modules_8cpp.html#chanlist">modules.cpp</a>, <a class="el" href="channels_8cpp.html#chanlist">channels.cpp</a><li>chanuserlist
-: <a class="el" href="modules_8h.html#chanuserlist">modules.h</a><li>CheckDie()
-: <a class="el" href="userprocess_8h.html#CheckDie_28_29">userprocess.h</a><li>CheckRoot()
-: <a class="el" href="userprocess_8h.html#CheckRoot_28_29">userprocess.h</a><li>chlist()
-: <a class="el" href="message_8h.html#chlist_28userrec_20_2Auser_2C_20userrec_20_2Asource_29">message.h</a><li>chop()
-: <a class="el" href="message_8h.html#chop_28char_20_2Astr_29">message.h</a><li>ClassVector
-: <a class="el" href="users_8h.html#ClassVector">users.h</a><li>CleanAndResolve()
-: <a class="el" href="message_8h.html#CleanAndResolve_28char_20_2AresolvedHost_2C_20const_20char_20_2AunresolvedHost_29">message.h</a><li>CleanFilename()
-: <a class="el" href="commands_8h.html#CleanFilename_28char_20_2Aname_29">commands.h</a><li>clientlist
-: <a class="el" href="users_8cpp.html#clientlist">users.cpp</a>, <a class="el" href="modules_8cpp.html#clientlist">modules.cpp</a><li>CM_INVITEONLY
-: <a class="el" href="channels_8h.html#CM_5FINVITEONLY">channels.h</a><li>CM_MODERATED
-: <a class="el" href="channels_8h.html#CM_5FMODERATED">channels.h</a><li>CM_NOEXTERNAL
-: <a class="el" href="channels_8h.html#CM_5FNOEXTERNAL">channels.h</a><li>CM_PRIVATE
-: <a class="el" href="channels_8h.html#CM_5FPRIVATE">channels.h</a><li>CM_SECRET
-: <a class="el" href="channels_8h.html#CM_5FSECRET">channels.h</a><li>CM_TOPICLOCK
-: <a class="el" href="channels_8h.html#CM_5FTOPICLOCK">channels.h</a><li>cmdlist
-: <a class="el" href="modules_8cpp.html#cmdlist">modules.cpp</a><li>cmode()
-: <a class="el" href="message_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">message.h</a>, <a class="el" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">globals.h</a><li>command_table
-: <a class="el" href="ctables_8h.html#command_5Ftable">ctables.h</a><li>common_channels()
-: <a class="el" href="message_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">message.h</a>, <a class="el" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">globals.h</a><li>CONF_FILE_NOT_FOUND
-: <a class="el" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">modules.h</a><li>CONF_NOT_A_NUMBER
-: <a class="el" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">modules.h</a><li>CONF_NOT_UNSIGNED
-: <a class="el" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">modules.h</a><li>CONF_VALUE_NOT_FOUND
-: <a class="el" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">modules.h</a><li>Config
-: <a class="el" href="users_8cpp.html#Config">users.cpp</a>, <a class="el" href="modules_8cpp.html#Config">modules.cpp</a>, <a class="el" href="channels_8cpp.html#Config">channels.cpp</a><li>ConnectUser()
-: <a class="el" href="users_8h.html#ConnectUser_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#ConnectUser_28userrec_20_2Auser_29">users.cpp</a><li>ConvToStr()
-: <a class="el" href="users_8h.html#ConvToStr_28const_20T_20_26in_29">users.h</a>, <a class="el" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">users.cpp</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 Mon Dec 19 18:05:24 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/globals_0x64.html b/docs/module-doc/globals_0x64.html
deleted file mode 100644
index a09d94be3..000000000
--- a/docs/module-doc/globals_0x64.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindexHL" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>DaemonSeed()
-: <a class="el" href="inspircd__io_8h.html#DaemonSeed_28void_29">inspircd_io.h</a><li>DEBUG
-: <a class="el" href="modules_8h.html#DEBUG">modules.h</a>, <a class="el" href="inspircd__io_8h.html#DEBUG">inspircd_io.h</a><li>DEFAULT
-: <a class="el" href="modules_8h.html#DEFAULT">modules.h</a>, <a class="el" href="inspircd__io_8h.html#DEFAULT">inspircd_io.h</a><li>del_channel()
-: <a class="el" href="channels_8h.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">channels.h</a>, <a class="el" href="channels_8cpp.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">channels.cpp</a><li>del_eline()
-: <a class="el" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">xline.h</a><li>del_gline()
-: <a class="el" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">xline.h</a><li>del_kline()
-: <a class="el" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">xline.h</a><li>del_qline()
-: <a class="el" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">xline.h</a><li>del_zline()
-: <a class="el" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">xline.h</a><li>DeleteOper()
-: <a class="el" href="users_8h.html#DeleteOper_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#DeleteOper_28userrec_20_2Auser_29">users.cpp</a><li>dns_task()
-: <a class="el" href="dns_8h.html#dns_5Ftask_28void_20_2Aarg_29">dns.h</a><li>do_whois()
-: <a class="el" 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">commands.h</a><li>DoAddExtendedMode()
-: <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 Mon Dec 19 18:05:24 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/globals_0x65.html b/docs/module-doc/globals_0x65.html
deleted file mode 100644
index ed8af925a..000000000
--- a/docs/module-doc/globals_0x65.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindexHL" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>eline_set_creation_time()
-: <a class="el" href="xline_8h.html#eline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29">xline.h</a><li>EMode
-: <a class="el" href="modules_8cpp.html#EMode">modules.cpp</a><li>ERROR
-: <a class="el" href="inspircd_8h.html#ERROR">inspircd.h</a><li>ExemptList
-: <a class="el" href="channels_8h.html#ExemptList">channels.h</a><li>Exit()
-: <a class="el" href="inspircd__io_8h.html#Exit_28int_29">inspircd_io.h</a><li>expire_lines()
-: <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 Mon Dec 19 18:05:24 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/globals_0x66.html b/docs/module-doc/globals_0x66.html
deleted file mode 100644
index 45a5eaa99..000000000
--- a/docs/module-doc/globals_0x66.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindexHL" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>factory
-: <a class="el" href="modules_8cpp.html#factory_28_32_35_35_29">modules.cpp</a>, <a class="el" href="users_8cpp.html#factory">users.cpp</a>, <a class="el" href="modules_8cpp.html#factory">modules.cpp</a>, <a class="el" href="channels_8cpp.html#factory">channels.cpp</a><li>FALSE
-: <a class="el" href="inspircd_8h.html#FALSE">inspircd.h</a><li>FD_MAGIC_NUMBER
-: <a class="el" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">modules.h</a><li>fd_ref_table
-: <a class="el" href="users_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">users.cpp</a>, <a class="el" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">modules.cpp</a><li>file_cache
-: <a class="el" href="typedefs_8h.html#file_5Fcache">typedefs.h</a>, <a class="el" href="modules_8h.html#file_5Fcache">modules.h</a>, <a class="el" href="globals_8h.html#file_5Fcache">globals.h</a><li>FileExists()
-: <a class="el" href="inspircd__io_8h.html#FileExists_28const_20char_20_2Afile_29">inspircd_io.h</a><li>Find()
-: <a class="el" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">globals.h</a><li>FindChan()
-: <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">globals.h</a><li>FindServerNamePtr()
-: <a class="el" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">inspircd.h</a><li>force_nickchange()
-: <a class="el" href="users_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">users.h</a>, <a class="el" href="users_8cpp.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">users.cpp</a><li>ForceChan()
-: <a class="el" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">channels.cpp</a><li>FOREACH_MOD
-: <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>from64tobits()
-: <a class="el" href="aes_8h.html#from_36_34tobits_28char_20_2Aout_2C_20const_20char_20_2Ain_2C_20int_20maxlen_29">aes.h</a><li>FullConnectUser()
-: <a class="el" href="users_8h.html#FullConnectUser_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">users.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x67.html b/docs/module-doc/globals_0x67.html
deleted file mode 100644
index 67e571595..000000000
--- a/docs/module-doc/globals_0x67.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindexHL" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>getadminemail()
-: <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>getservername()
-: <a class="el" href="globals_8h.html#getservername_28_29">globals.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 Mon Dec 19 18:05:24 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/globals_0x68.html b/docs/module-doc/globals_0x68.html
deleted file mode 100644
index fef72991c..000000000
--- a/docs/module-doc/globals_0x68.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindexHL" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<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><li>host_matches_everyone()
-: <a class="el" href="commands_8h.html#host_5Fmatches_5Feveryone_28std_3A_3Astring_20mask_2C_20userrec_20_2Auser_29">commands.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x69.html b/docs/module-doc/globals_0x69.html
deleted file mode 100644
index ee507a5f3..000000000
--- a/docs/module-doc/globals_0x69.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindexHL" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>I_CONNECTED
-: <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTED">socket.h</a><li>I_CONNECTING
-: <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">socket.h</a><li>I_DISCONNECTED
-: <a class="el" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">socket.h</a><li>I_ERR_BIND
-: <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">socket.h</a><li>I_ERR_CONNECT
-: <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">socket.h</a><li>I_ERR_SOCKET
-: <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">socket.h</a><li>I_ERR_TIMEOUT
-: <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><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><li>InvitedList
-: <a class="el" href="users_8h.html#InvitedList">users.h</a><li>InviteList
-: <a class="el" href="channels_8h.html#InviteList">channels.h</a><li>ip_matches_everyone()
-: <a class="el" href="commands_8h.html#ip_5Fmatches_5Feveryone_28std_3A_3Astring_20ip_2C_20userrec_20_2Auser_29">commands.h</a><li>ircd_module
-: <a class="el" href="modules_8h.html#ircd_5Fmodule">modules.h</a><li>IS_LOCAL
-: <a class="el" href="modules_8h.html#IS_5FLOCAL_28x_29">modules.h</a><li>IS_MODULE_CREATED
-: <a class="el" href="modules_8h.html#IS_5FMODULE_5FCREATED_28x_29">modules.h</a><li>IS_REMOTE
-: <a class="el" href="modules_8h.html#IS_5FREMOTE_28x_29">modules.h</a><li>is_uline()
-: <a class="el" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">commands.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 Mon Dec 19 18:05:24 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/globals_0x6b.html b/docs/module-doc/globals_0x6b.html
deleted file mode 100644
index 856c7e4de..000000000
--- a/docs/module-doc/globals_0x6b.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindexHL" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
-<li>kick_channel()
-: <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="users_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.h</a>, <a class="el" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.cpp</a><li>kill_link_silent()
-: <a class="el" href="users_8h.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.h</a>, <a class="el" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x6c.html b/docs/module-doc/globals_0x6c.html
deleted file mode 100644
index 8239bcdaf..000000000
--- a/docs/module-doc/globals_0x6c.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindexHL" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>LoadAllModules()
-: <a class="el" href="userprocess_8h.html#LoadAllModules_28InspIRCd_20_2AServerInstance_29">userprocess.h</a><li>local_users
-: <a class="el" href="users_8cpp.html#local_5Fusers">users.cpp</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></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x6d.html b/docs/module-doc/globals_0x6d.html
deleted file mode 100644
index 25151fc35..000000000
--- a/docs/module-doc/globals_0x6d.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindexHL" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>matches_exception()
-: <a class="el" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">xline.h</a><li>matches_gline()
-: <a class="el" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">xline.h</a><li>matches_kline()
-: <a class="el" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">xline.h</a><li>matches_qline()
-: <a class="el" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">xline.h</a><li>matches_zline()
-: <a class="el" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">xline.h</a><li>MAXCOMMAND
-: <a class="el" href="inspircd_8h.html#MAXCOMMAND">inspircd.h</a><li>MAXSOCKS
-: <a class="el" href="inspircd_8h.html#MAXSOCKS">inspircd.h</a><li>MODCOUNT
-: <a class="el" href="users_8cpp.html#MODCOUNT">users.cpp</a>, <a class="el" href="modules_8cpp.html#MODCOUNT">modules.cpp</a>, <a class="el" href="channels_8cpp.html#MODCOUNT">channels.cpp</a><li>ModeDefiend()
-: <a class="el" href="globals_8h.html#ModeDefiend_28char_20c_2C_20int_20i_29">globals.h</a><li>ModeDefined()
-: <a class="el" href="modules_8h.html#ModeDefined_28char_20c_2C_20int_20i_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeDefined_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeDefinedOff()
-: <a class="el" href="modules_8h.html#ModeDefinedOff_28char_20c_2C_20int_20i_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeDefinedOff_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeDefinedOn()
-: <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>module_sockets
-: <a class="el" href="users_8cpp.html#module_5Fsockets">users.cpp</a>, <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="users_8cpp.html#modules">users.cpp</a>, <a class="el" href="modules_8cpp.html#modules">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 Mon Dec 19 18:05:24 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/globals_0x6e.html b/docs/module-doc/globals_0x6e.html
deleted file mode 100644
index c8557d186..000000000
--- a/docs/module-doc/globals_0x6e.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindexHL" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<li>nick_matches_everyone()
-: <a class="el" href="commands_8h.html#nick_5Fmatches_5Feveryone_28std_3A_3Astring_20nick_2C_20userrec_20_2Auser_29">commands.h</a><li>NonBlocking()
-: <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 Mon Dec 19 18:05:24 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/globals_0x6f.html b/docs/module-doc/globals_0x6f.html
deleted file mode 100644
index 7c9b130af..000000000
--- a/docs/module-doc/globals_0x6f.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindexHL" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>OpenLog()
-: <a class="el" href="userprocess_8h.html#OpenLog_28char_20_2A_2Aargv_2C_20int_20argc_29">userprocess.h</a><li>OpenTCPSocket()
-: <a class="el" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">inspircd_io.h</a><li>operstrcmp()
-: <a class="el" href="commands_8h.html#operstrcmp_28char_20_2Adata_2C_20char_20_2Ainput_29">commands.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x70.html b/docs/module-doc/globals_0x70.html
deleted file mode 100644
index 372f9ebe0..000000000
--- a/docs/module-doc/globals_0x70.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindexHL" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<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 Mon Dec 19 18:05:24 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/globals_0x71.html b/docs/module-doc/globals_0x71.html
deleted file mode 100644
index 6e22621a6..000000000
--- a/docs/module-doc/globals_0x71.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindexHL" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
-<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 Mon Dec 19 18:05:24 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/globals_0x72.html b/docs/module-doc/globals_0x72.html
deleted file mode 100644
index e52fa0833..000000000
--- a/docs/module-doc/globals_0x72.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindexHL" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>read_xline_defaults()
-: <a class="el" href="xline_8h.html#read_5Fxline_5Fdefaults_28_29">xline.h</a><li>readfile()
-: <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="users_8h.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">users.h</a>, <a class="el" href="users_8cpp.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">users.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x73.html b/docs/module-doc/globals_0x73.html
deleted file mode 100644
index 7e680ccca..000000000
--- a/docs/module-doc/globals_0x73.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindexHL" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>send_network_quit()
-: <a class="el" href="message_8h.html#send_5Fnetwork_5Fquit_28const_20char_20_2Anick_2C_20const_20char_20_2Areason_29">message.h</a><li>ServerInstance
-: <a class="el" href="users_8cpp.html#ServerInstance">users.cpp</a>, <a class="el" href="socket_8cpp.html#ServerInstance">socket.cpp</a>, <a class="el" href="modules_8cpp.html#ServerInstance">modules.cpp</a><li>servernamelist
-: <a class="el" href="typedefs_8h.html#servernamelist">typedefs.h</a><li>socket_ref
-: <a class="el" href="users_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">users.cpp</a>, <a class="el" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket.cpp</a><li>SPARSE
-: <a class="el" href="modules_8h.html#SPARSE">modules.h</a>, <a class="el" href="inspircd__io_8h.html#SPARSE">inspircd_io.h</a><li>Start()
-: <a class="el" href="inspircd__io_8h.html#Start_28void_29">inspircd_io.h</a><li>stats_e()
-: <a class="el" href="xline_8h.html#stats_5Fe_28userrec_20_2Auser_29">xline.h</a><li>stats_g()
-: <a class="el" href="xline_8h.html#stats_5Fg_28userrec_20_2Auser_29">xline.h</a><li>stats_k()
-: <a class="el" href="xline_8h.html#stats_5Fk_28userrec_20_2Auser_29">xline.h</a><li>stats_q()
-: <a class="el" href="xline_8h.html#stats_5Fq_28userrec_20_2Auser_29">xline.h</a><li>stats_z()
-: <a class="el" href="xline_8h.html#stats_5Fz_28userrec_20_2Auser_29">xline.h</a><li>STATUS_HOP
-: <a class="el" href="users_8h.html#STATUS_5FHOP">users.h</a><li>STATUS_NORMAL
-: <a class="el" href="users_8h.html#STATUS_5FNORMAL">users.h</a><li>STATUS_OP
-: <a class="el" href="users_8h.html#STATUS_5FOP">users.h</a><li>STATUS_VOICE
-: <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 Mon Dec 19 18:05:24 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/globals_0x74.html b/docs/module-doc/globals_0x74.html
deleted file mode 100644
index e14f1504c..000000000
--- a/docs/module-doc/globals_0x74.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindexHL" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>TidyBan()
-: <a class="el" href="message_8h.html#TidyBan_28char_20_2Aban_29">message.h</a><li>tidystring()
-: <a class="el" href="message_8h.html#tidystring_28char_20_2Astr_29">message.h</a><li>TIME
-: <a class="el" href="users_8cpp.html#TIME">users.cpp</a>, <a class="el" href="socket_8cpp.html#TIME">socket.cpp</a>, <a class="el" href="modules_8cpp.html#TIME">modules.cpp</a>, <a class="el" href="channels_8cpp.html#TIME">channels.cpp</a><li>to64frombits()
-: <a class="el" href="aes_8h.html#to_36_34frombits_28unsigned_20char_20_2Aout_2C_20const_20unsigned_20char_20_2Ain_2C_20int_20inlen_29">aes.h</a><li>TRUE
-: <a class="el" href="inspircd_8h.html#TRUE">inspircd.h</a><li>TYPE_CHANNEL
-: <a class="el" href="modules_8h.html#TYPE_5FCHANNEL">modules.h</a><li>TYPE_SERVER
-: <a class="el" href="modules_8h.html#TYPE_5FSERVER">modules.h</a><li>TYPE_USER
-: <a class="el" href="modules_8h.html#TYPE_5FUSER">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_0x75.html b/docs/module-doc/globals_0x75.html
deleted file mode 100644
index 9f7599b5c..000000000
--- a/docs/module-doc/globals_0x75.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindexHL" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>UCMODE_FOUNDER
-: <a class="el" href="channels_8h.html#UCMODE_5FFOUNDER">channels.h</a><li>UCMODE_HOP
-: <a class="el" href="channels_8h.html#UCMODE_5FHOP">channels.h</a><li>UCMODE_OP
-: <a class="el" href="channels_8h.html#UCMODE_5FOP">channels.h</a><li>UCMODE_PROTECT
-: <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 Mon Dec 19 18:05:24 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/globals_0x76.html b/docs/module-doc/globals_0x76.html
deleted file mode 100644
index 5b10daf6a..000000000
--- a/docs/module-doc/globals_0x76.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindexHL" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>VERBOSE
-: <a class="el" href="modules_8h.html#VERBOSE">modules.h</a>, <a class="el" href="inspircd__io_8h.html#VERBOSE">inspircd_io.h</a><li>VF_COMMON
-: <a class="el" href="modules_8h.html#VF_5FCOMMON">modules.h</a><li>VF_SERVICEPROVIDER
-: <a class="el" href="modules_8h.html#VF_5FSERVICEPROVIDER">modules.h</a><li>VF_STATIC
-: <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 Mon Dec 19 18:05:24 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/globals_0x77.html b/docs/module-doc/globals_0x77.html
deleted file mode 100644
index c7bc67dfe..000000000
--- a/docs/module-doc/globals_0x77.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindexHL" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>whowas
-: <a class="el" href="users_8cpp.html#whowas">users.cpp</a><li>whowas_hash
-: <a class="el" href="typedefs_8h.html#whowas_5Fhash">typedefs.h</a><li>WHOWAS_MAX
-: <a class="el" href="users_8cpp.html#WHOWAS_5FMAX">users.cpp</a>, <a class="el" href="channels_8cpp.html#WHOWAS_5FMAX">channels.cpp</a><li>WHOWAS_STALE
-: <a class="el" href="users_8cpp.html#WHOWAS_5FSTALE">users.cpp</a>, <a class="el" href="channels_8cpp.html#WHOWAS_5FSTALE">channels.cpp</a><li>WM_AND
-: <a class="el" href="modules_8h.html#WM_5FAND">modules.h</a><li>WM_OR
-: <a class="el" href="modules_8h.html#WM_5FOR">modules.h</a><li>Write()
-: <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteChannel()
-: <a class="el" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteCommon()
-: <a class="el" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteCommonExcept()
-: <a class="el" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteFrom()
-: <a class="el" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteOpers()
-: <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WritePID()
-: <a class="el" href="inspircd__io_8h.html#WritePID_28std_3A_3Astring_20filename_29">inspircd_io.h</a><li>WriteServ()
-: <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 Mon Dec 19 18:05:24 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/globals_0x78.html b/docs/module-doc/globals_0x78.html
deleted file mode 100644
index 07a05f6d3..000000000
--- a/docs/module-doc/globals_0x78.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindexHL" href="globals_0x78.html#index_x">x</a> | <a class="qindex" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
-<li>X_EMPTY_SLOT
-: <a class="el" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">socketengine.h</a><li>X_ESTAB_CLIENT
-: <a class="el" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">socketengine.h</a><li>X_ESTAB_DNS
-: <a class="el" href="socketengine_8h.html#X_5FESTAB_5FDNS">socketengine.h</a><li>X_ESTAB_MODULE
-: <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 Mon Dec 19 18:05:24 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/globals_0x7a.html b/docs/module-doc/globals_0x7a.html
deleted file mode 100644
index 73a600390..000000000
--- a/docs/module-doc/globals_0x7a.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"> | <a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="globals.html#index_a">a</a> | <a class="qindex" href="globals_0x62.html#index_b">b</a> | <a class="qindex" href="globals_0x63.html#index_c">c</a> | <a class="qindex" href="globals_0x64.html#index_d">d</a> | <a class="qindex" href="globals_0x65.html#index_e">e</a> | <a class="qindex" href="globals_0x66.html#index_f">f</a> | <a class="qindex" href="globals_0x67.html#index_g">g</a> | <a class="qindex" href="globals_0x68.html#index_h">h</a> | <a class="qindex" href="globals_0x69.html#index_i">i</a> | <a class="qindex" href="globals_0x6b.html#index_k">k</a> | <a class="qindex" href="globals_0x6c.html#index_l">l</a> | <a class="qindex" href="globals_0x6d.html#index_m">m</a> | <a class="qindex" href="globals_0x6e.html#index_n">n</a> | <a class="qindex" href="globals_0x6f.html#index_o">o</a> | <a class="qindex" href="globals_0x70.html#index_p">p</a> | <a class="qindex" href="globals_0x71.html#index_q">q</a> | <a class="qindex" href="globals_0x72.html#index_r">r</a> | <a class="qindex" href="globals_0x73.html#index_s">s</a> | <a class="qindex" href="globals_0x74.html#index_t">t</a> | <a class="qindex" href="globals_0x75.html#index_u">u</a> | <a class="qindex" href="globals_0x76.html#index_v">v</a> | <a class="qindex" href="globals_0x77.html#index_w">w</a> | <a class="qindex" href="globals_0x78.html#index_x">x</a> | <a class="qindexHL" href="globals_0x7a.html#index_z">z</a></div>
-
-<p>
-Here is a list of all file members with links to the files they belong to:
-<p>
-<h3><a class="anchor" name="index_z">- z -</a></h3><ul>
-<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 Mon Dec 19 18:05:24 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/globals_8h-source.html b/docs/module-doc/globals_8h-source.html
deleted file mode 100644
index 86aa06e6a..000000000
--- a/docs/module-doc/globals_8h-source.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<!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: globals.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>globals.h</h1><a href="globals_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-2004 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 __WORLD_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __WORLD_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 "<a class="code" href="users_8h.html">users.h</a>"</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
-<a name="l00028"></a>00028
-<a name="l00029"></a><a class="code" href="globals_8h.html#file_5Fcache">00029</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="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="keywordtype">void</span> <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="keywordtype">char</span>* text, ...);
-<a name="l00032"></a>00032 <span class="keywordtype">void</span> <a class="code" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a>(<span class="keywordtype">int</span> level, <span class="keywordtype">char</span> *text, ...);
-<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(<span class="keywordtype">int</span> sock,<span class="keywordtype">char</span> *text, ...);
-<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a>(<span class="keywordtype">int</span> sock, <span class="keywordtype">char</span>* text, ...);
-<a name="l00035"></a>00035 <span class="keywordtype">void</span> <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>(<span class="keywordtype">int</span> sock, <a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span>* text, ...);
-<a name="l00036"></a>00036 <span class="keywordtype">void</span> <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>(<a class="code" href="classuserrec.html">userrec</a> *source, <a class="code" href="classuserrec.html">userrec</a> *dest,<span class="keywordtype">char</span> *data, ...);
-<a name="l00037"></a>00037 <span class="keywordtype">void</span> <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>(<a class="code" href="classchanrec.html">chanrec</a>* Ptr, <a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">char</span>* text, ...);
-<a name="l00038"></a>00038 <span class="keywordtype">void</span> <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>(<a class="code" href="classchanrec.html">chanrec</a>* Ptr, <a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">char</span>* text, ...);
-<a name="l00039"></a>00039 <span class="keywordtype">int</span> <a class="code" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a>(<a class="code" href="classuserrec.html">userrec</a> *u, <a class="code" href="classuserrec.html">userrec</a> *u2);
-<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon</a>(<a class="code" href="classuserrec.html">userrec</a> *u, <span class="keywordtype">char</span>* text, ...);
-<a name="l00041"></a>00041 <span class="keywordtype">void</span> <a class="code" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept</a>(<a class="code" href="classuserrec.html">userrec</a> *u, <span class="keywordtype">char</span>* text, ...);
-<a name="l00042"></a>00042 <span class="keywordtype">void</span> <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>(<a class="code" href="classuserrec.html">userrec</a> *source, <span class="keywordtype">bool</span> local_only, <span class="keywordtype">char</span>* text, ...);
-<a name="l00043"></a>00043 <span class="keywordtype">int</span> <a class="code" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *n);
-<a name="l00044"></a>00044 <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a>(<a class="code" href="namespaceirc.html#string">std::string</a> nick);
-<a name="l00045"></a>00045 <a class="code" href="classchanrec.html">chanrec</a>* <a class="code" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* chan);
-<a name="l00046"></a>00046 <span class="keywordtype">char</span>* <a class="code" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a>(<a class="code" href="classuserrec.html">userrec</a> *user, <a class="code" href="classchanrec.html">chanrec</a> *chan);
-<a name="l00047"></a>00047 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="globals_8h.html#getservername_28_29">getservername</a>();
-<a name="l00048"></a>00048 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="globals_8h.html#getnetworkname_28_29">getnetworkname</a>();
-<a name="l00049"></a>00049 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="globals_8h.html#getadminname_28_29">getadminname</a>();
-<a name="l00050"></a>00050 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="globals_8h.html#getadminemail_28_29">getadminemail</a>();
-<a name="l00051"></a>00051 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="globals_8h.html#getadminnick_28_29">getadminnick</a>();
-<a name="l00052"></a>00052 <span class="keywordtype">void</span> <a class="code" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a>(<a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> &amp;F, <span class="keyword">const</span> <span class="keywordtype">char</span>* fname);
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/globals_8h.html b/docs/module-doc/globals_8h.html
deleted file mode 100644
index 54b3b3438..000000000
--- a/docs/module-doc/globals_8h.html
+++ /dev/null
@@ -1,1020 +0,0 @@
-<!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: globals.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>globals.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 &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 globals.h:<p><center><img src="globals_8h__incl.gif" border="0" usemap="#globals.h_map" alt=""></center>
-<map name="globals.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,159,347,185" alt="">
-<area href="connection_8h-source.html" shape="rect" coords="255,311,354,337" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="258,361,351,388" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="globals_8h__dep__incl.gif" border="0" usemap="#globals.hdep_map" alt=""></center>
-<map name="globals.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="305,57,404,84" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="305,133,404,160" alt="">
-<area href="socketengine_8cpp-source.html" shape="rect" coords="292,235,417,261" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="140,57,236,84" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="132,209,244,236" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="145,108,231,135" alt="">
-</map>
-
-<p>
-<a href="globals_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>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::deque&lt; <a class="el" href="namespaceirc.html#string">std::string</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#file_5Fcache">file_cache</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a> (char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log</a> (int level, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a> (int sock, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#WriteServ_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteServ</a> (int sock, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (int sock, <a class="el" href="classuserrec.html">userrec</a> *user, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (<a class="el" href="classuserrec.html">userrec</a> *source, <a class="el" href="classuserrec.html">userrec</a> *dest, char *data,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (<a class="el" href="classchanrec.html">chanrec</a> *Ptr, <a class="el" href="classuserrec.html">userrec</a> *user, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (<a class="el" href="classchanrec.html">chanrec</a> *Ptr, <a class="el" href="classuserrec.html">userrec</a> *user, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a> (<a class="el" href="classuserrec.html">userrec</a> *u, <a class="el" href="classuserrec.html">userrec</a> *u2)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommon</a> (<a class="el" href="classuserrec.html">userrec</a> *u, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept</a> (<a class="el" href="classuserrec.html">userrec</a> *u, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (<a class="el" href="classuserrec.html">userrec</a> *source, bool local_only, char *text,...)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick</a> (const char *n)</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="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a> (<a class="el" href="namespaceirc.html#string">std::string</a> nick)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">FindChan</a> (const char *chan)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan)</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="globals_8h.html#getservername_28_29">getservername</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="globals_8h.html#getnetworkname_28_29">getnetworkname</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="globals_8h.html#getadminname_28_29">getadminname</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="globals_8h.html#getadminemail_28_29">getadminemail</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="globals_8h.html#getadminnick_28_29">getadminnick</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">readfile</a> (<a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> &amp;F, const char *fname)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="globals_8h.html#ModeDefiend_28char_20c_2C_20int_20i_29">ModeDefiend</a> (char c, int i)</td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="file_5Fcache"></a><!-- doxytag: member="globals.h::file_cache" ref="file_5Fcache" 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">typedef std::deque&lt;<a class="el" href="namespaceirc.html#string">std::string</a>&gt; <a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> </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="globals_8h-source.html#l00029">29</a> of file <a class="el" href="globals_8h-source.html">globals.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29"></a><!-- doxytag: member="globals.h::ChanExceptSender" ref="ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29" args="(chanrec *Ptr, userrec *user, char *text,...)" --><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 ChanExceptSender </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Ptr</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00459">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>
-<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* cmode </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00523">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>
-<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 common_channels </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="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>u2</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00471">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>
-<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>* Find </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>nick</em> </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#l00508">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>
-<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="classchanrec.html">chanrec</a>* FindChan </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>chan</em> </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="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00518">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>
-<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> getadminemail </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="getadminname_28_29"></a><!-- doxytag: member="globals.h::getadminname" ref="getadminname_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> getadminname </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="getadminnick_28_29"></a><!-- doxytag: member="globals.h::getadminnick" ref="getadminnick_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> getadminnick </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="getnetworkname_28_29"></a><!-- doxytag: member="globals.h::getnetworkname" ref="getnetworkname_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> getnetworkname </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="getservername_28_29"></a><!-- doxytag: member="globals.h::getservername" ref="getservername_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> getservername </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="isnick_28const_20char_20_2An_29"></a><!-- doxytag: member="globals.h::isnick" ref="isnick_28const_20char_20_2An_29" args="(const char *n)" --><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 isnick </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>n</em> </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#l00503">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>
-<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 log </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>level</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="modules_8cpp-source.html#l00555">Server::AddExtendedMode()</a>, <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="users_8cpp-source.html#l00330">AddOper()</a>, <a class="el" href="channels_8cpp-source.html#l00166">chanrec::AddUser()</a>, <a class="el" href="users_8cpp-source.html#l00471">AddWhoWas()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="users_8cpp-source.html#l00336">DeleteOper()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="channels_8cpp-source.html#l00172">chanrec::DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="socket_8cpp-source.html#l00059">InspSocket::InspSocket()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="modules_8cpp-source.html#l00410">Server::Log()</a>, <a class="el" href="socket_8cpp-source.html#l00155">InspSocket::Read()</a>, <a class="el" href="users_8cpp-source.html#l00743">ReHashNick()</a>, <a class="el" href="users_8cpp-source.html#l00148">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00085">chanrec::SetCustomMode()</a>, <a class="el" href="channels_8cpp-source.html#l00110">chanrec::SetCustomModeParam()</a>, <a class="el" href="socket_8cpp-source.html#l00247">InspSocket::SetState()</a>, <a class="el" href="users_8cpp-source.html#l00317">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>
-<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 ModeDefiend </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>i</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29"></a><!-- doxytag: member="globals.h::readfile" ref="readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29" args="(file_cache &amp;F, const char *fname)" --><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 readfile </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>F</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>fname</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00883">FileReader::FileReader()</a>, and <a class="el" href="modules_8cpp-source.html#l00894">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>
-<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 Write </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>sock</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, <a class="el" href="modules_8cpp-source.html#l00425">Server::Send()</a>, <a class="el" href="modules_8cpp-source.html#l00440">Server::SendTo()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">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>
-<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 WriteChannel </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>Ptr</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<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#l00459">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>
-<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 WriteCommon </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>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00476">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>
-<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 WriteCommonExcept </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>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, and <a class="el" href="modules_8cpp-source.html#l00476">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>
-<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 WriteFrom </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>sock</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><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>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00435">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>
-<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 WriteOpers </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00219">userrec::AddBuffer()</a>, <a class="el" href="users_8cpp-source.html#l00275">userrec::AddWriteBuf()</a>, <a class="el" href="modules_8cpp-source.html#l00834">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="modules_8cpp-source.html#l00317">Server::RehashServer()</a>, and <a class="el" href="modules_8cpp-source.html#l00345">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>
-<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 WriteServ </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>sock</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00834">ConfigReader::DumpErrors()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00430">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>
-<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 WriteTo </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap><a class="el" href="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>dest</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>data</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00440">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>
-<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 WriteWallOps </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>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>local_only</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>text</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>&nbsp;</td>
- <td class="mdname" nowrap> <em>...</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00488">Server::SendWallops()</a>. </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/globals_8h__dep__incl.gif b/docs/module-doc/globals_8h__dep__incl.gif
deleted file mode 100644
index 4b448d416..000000000
--- a/docs/module-doc/globals_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/globals_8h__dep__incl.map b/docs/module-doc/globals_8h__dep__incl.map
deleted file mode 100644
index 20b679adc..000000000
--- a/docs/module-doc/globals_8h__dep__incl.map
+++ /dev/null
@@ -1,7 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 305,57 404,84
-rect $modules_8cpp-source.html 305,133 404,160
-rect $socketengine_8cpp-source.html 292,235 417,261
-rect $inspircd__io_8h-source.html 140,57 236,84
-rect $socketengine_8h-source.html 132,209 244,236
-rect $typedefs_8h-source.html 145,108 231,135
diff --git a/docs/module-doc/globals_8h__dep__incl.md5 b/docs/module-doc/globals_8h__dep__incl.md5
deleted file mode 100644
index 5b28fd8e6..000000000
--- a/docs/module-doc/globals_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-1ef247aba7c18e92a4fa5c62345d5980 \ No newline at end of file
diff --git a/docs/module-doc/globals_8h__incl.gif b/docs/module-doc/globals_8h__incl.gif
deleted file mode 100644
index aa3102969..000000000
--- a/docs/module-doc/globals_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/globals_8h__incl.map b/docs/module-doc/globals_8h__incl.map
deleted file mode 100644
index 8a8679da5..000000000
--- a/docs/module-doc/globals_8h__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $users_8h-source.html 138,260 202,287
-rect $channels_8h-source.html 262,159 347,185
-rect $connection_8h-source.html 255,311 354,337
-rect $hashcomp_8h-source.html 258,361 351,388
diff --git a/docs/module-doc/globals_8h__incl.md5 b/docs/module-doc/globals_8h__incl.md5
deleted file mode 100644
index 29705f0ba..000000000
--- a/docs/module-doc/globals_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-578c3aa06350d981bcd02180a126f6e8 \ No newline at end of file
diff --git a/docs/module-doc/globals_defs.html b/docs/module-doc/globals_defs.html
deleted file mode 100644
index c599e2bda..000000000
--- a/docs/module-doc/globals_defs.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindexHL" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_u">u</a> | <a class="qindex" href="#index_v">v</a> | <a class="qindex" href="#index_w">w</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>AC_DEHALFOP
-: <a class="el" href="modules_8h.html#AC_5FDEHALFOP">modules.h</a><li>AC_DEOP
-: <a class="el" href="modules_8h.html#AC_5FDEOP">modules.h</a><li>AC_DEVOICE
-: <a class="el" href="modules_8h.html#AC_5FDEVOICE">modules.h</a><li>AC_GENERAL_MODE
-: <a class="el" href="modules_8h.html#AC_5FGENERAL_5FMODE">modules.h</a><li>AC_HALFOP
-: <a class="el" href="modules_8h.html#AC_5FHALFOP">modules.h</a><li>AC_INVITE
-: <a class="el" href="modules_8h.html#AC_5FINVITE">modules.h</a><li>AC_KICK
-: <a class="el" href="modules_8h.html#AC_5FKICK">modules.h</a><li>AC_OP
-: <a class="el" href="modules_8h.html#AC_5FOP">modules.h</a><li>AC_VOICE
-: <a class="el" href="modules_8h.html#AC_5FVOICE">modules.h</a><li>ACR_ALLOW
-: <a class="el" href="modules_8h.html#ACR_5FALLOW">modules.h</a><li>ACR_DEFAULT
-: <a class="el" href="modules_8h.html#ACR_5FDEFAULT">modules.h</a><li>ACR_DENY
-: <a class="el" href="modules_8h.html#ACR_5FDENY">modules.h</a></ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>CC_ALLOW
-: <a class="el" href="users_8h.html#CC_5FALLOW">users.h</a><li>CC_DENY
-: <a class="el" href="users_8h.html#CC_5FDENY">users.h</a><li>CM_INVITEONLY
-: <a class="el" href="channels_8h.html#CM_5FINVITEONLY">channels.h</a><li>CM_MODERATED
-: <a class="el" href="channels_8h.html#CM_5FMODERATED">channels.h</a><li>CM_NOEXTERNAL
-: <a class="el" href="channels_8h.html#CM_5FNOEXTERNAL">channels.h</a><li>CM_PRIVATE
-: <a class="el" href="channels_8h.html#CM_5FPRIVATE">channels.h</a><li>CM_SECRET
-: <a class="el" href="channels_8h.html#CM_5FSECRET">channels.h</a><li>CM_TOPICLOCK
-: <a class="el" href="channels_8h.html#CM_5FTOPICLOCK">channels.h</a><li>CONF_FILE_NOT_FOUND
-: <a class="el" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">modules.h</a><li>CONF_NOT_A_NUMBER
-: <a class="el" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">modules.h</a><li>CONF_NOT_UNSIGNED
-: <a class="el" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">modules.h</a><li>CONF_VALUE_NOT_FOUND
-: <a class="el" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">modules.h</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>DEBUG
-: <a class="el" href="modules_8h.html#DEBUG">modules.h</a>, <a class="el" href="inspircd__io_8h.html#DEBUG">inspircd_io.h</a><li>DEFAULT
-: <a class="el" href="modules_8h.html#DEFAULT">modules.h</a>, <a class="el" href="inspircd__io_8h.html#DEFAULT">inspircd_io.h</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>ERROR
-: <a class="el" href="inspircd_8h.html#ERROR">inspircd.h</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>FALSE
-: <a class="el" href="inspircd_8h.html#FALSE">inspircd.h</a><li>FD_MAGIC_NUMBER
-: <a class="el" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">modules.h</a><li>FOREACH_MOD
-: <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></ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>IS_LOCAL
-: <a class="el" href="modules_8h.html#IS_5FLOCAL_28x_29">modules.h</a><li>IS_MODULE_CREATED
-: <a class="el" href="modules_8h.html#IS_5FMODULE_5FCREATED_28x_29">modules.h</a><li>IS_REMOTE
-: <a class="el" href="modules_8h.html#IS_5FREMOTE_28x_29">modules.h</a></ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>MAXCOMMAND
-: <a class="el" href="inspircd_8h.html#MAXCOMMAND">inspircd.h</a><li>MAXSOCKS
-: <a class="el" href="inspircd_8h.html#MAXSOCKS">inspircd.h</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>
-<h3><a class="anchor" name="index_n">- n -</a></h3><ul>
-<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>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>SPARSE
-: <a class="el" href="modules_8h.html#SPARSE">modules.h</a>, <a class="el" href="inspircd__io_8h.html#SPARSE">inspircd_io.h</a><li>STATUS_HOP
-: <a class="el" href="users_8h.html#STATUS_5FHOP">users.h</a><li>STATUS_NORMAL
-: <a class="el" href="users_8h.html#STATUS_5FNORMAL">users.h</a><li>STATUS_OP
-: <a class="el" href="users_8h.html#STATUS_5FOP">users.h</a><li>STATUS_VOICE
-: <a class="el" href="users_8h.html#STATUS_5FVOICE">users.h</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>TRUE
-: <a class="el" href="inspircd_8h.html#TRUE">inspircd.h</a><li>TYPE_CHANNEL
-: <a class="el" href="modules_8h.html#TYPE_5FCHANNEL">modules.h</a><li>TYPE_SERVER
-: <a class="el" href="modules_8h.html#TYPE_5FSERVER">modules.h</a><li>TYPE_USER
-: <a class="el" href="modules_8h.html#TYPE_5FUSER">modules.h</a></ul>
-<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
-<li>UCMODE_FOUNDER
-: <a class="el" href="channels_8h.html#UCMODE_5FFOUNDER">channels.h</a><li>UCMODE_HOP
-: <a class="el" href="channels_8h.html#UCMODE_5FHOP">channels.h</a><li>UCMODE_OP
-: <a class="el" href="channels_8h.html#UCMODE_5FOP">channels.h</a><li>UCMODE_PROTECT
-: <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></ul>
-<h3><a class="anchor" name="index_v">- v -</a></h3><ul>
-<li>VERBOSE
-: <a class="el" href="modules_8h.html#VERBOSE">modules.h</a>, <a class="el" href="inspircd__io_8h.html#VERBOSE">inspircd_io.h</a><li>VF_COMMON
-: <a class="el" href="modules_8h.html#VF_5FCOMMON">modules.h</a><li>VF_SERVICEPROVIDER
-: <a class="el" href="modules_8h.html#VF_5FSERVICEPROVIDER">modules.h</a><li>VF_STATIC
-: <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></ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>WM_AND
-: <a class="el" href="modules_8h.html#WM_5FAND">modules.h</a><li>WM_OR
-: <a class="el" href="modules_8h.html#WM_5FOR">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/globals_enum.html b/docs/module-doc/globals_enum.html
deleted file mode 100644
index fe8d4ce54..000000000
--- a/docs/module-doc/globals_enum.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindexHL" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-
-<p>
-<ul>
-<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 Mon Dec 19 18:05:24 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/globals_eval.html b/docs/module-doc/globals_eval.html
deleted file mode 100644
index 51c2ba039..000000000
--- a/docs/module-doc/globals_eval.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindexHL" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-
-<p>
-<ul>
-<li>I_CONNECTED
-: <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTED">socket.h</a><li>I_CONNECTING
-: <a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">socket.h</a><li>I_DISCONNECTED
-: <a class="el" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">socket.h</a><li>I_ERR_BIND
-: <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">socket.h</a><li>I_ERR_CONNECT
-: <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">socket.h</a><li>I_ERR_SOCKET
-: <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">socket.h</a><li>I_ERR_TIMEOUT
-: <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 Mon Dec 19 18:05:24 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/globals_func.html b/docs/module-doc/globals_func.html
deleted file mode 100644
index d6aa99d53..000000000
--- a/docs/module-doc/globals_func.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindexHL" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_b">b</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_d">d</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_g">g</a> | <a class="qindex" href="#index_h">h</a> | <a class="qindex" href="#index_i">i</a> | <a class="qindex" href="#index_k">k</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_n">n</a> | <a class="qindex" href="#index_o">o</a> | <a class="qindex" href="#index_p">p</a> | <a class="qindex" href="#index_q">q</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_w">w</a> | <a class="qindex" href="#index_z">z</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>add_channel()
-: <a class="el" href="channels_8h.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">channels.h</a>, <a class="el" href="channels_8cpp.html#add_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acn_2C_20const_20char_20_2Akey_2C_20bool_20override_29">channels.cpp</a><li>add_eline()
-: <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">xline.h</a><li>add_gline()
-: <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">xline.h</a><li>add_kline()
-: <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">xline.h</a><li>add_qline()
-: <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">xline.h</a><li>add_zline()
-: <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">xline.h</a><li>AddClient()
-: <a class="el" href="users_8h.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">users.h</a>, <a class="el" href="users_8cpp.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">users.cpp</a><li>AddOper()
-: <a class="el" href="users_8h.html#AddOper_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#AddOper_28userrec_20_2Auser_29">users.cpp</a><li>AddServerName()
-: <a class="el" href="inspircd_8h.html#AddServerName_28std_3A_3Astring_20servername_29">inspircd.h</a><li>AddWhoWas()
-: <a class="el" href="users_8h.html#AddWhoWas_28userrec_20_2Au_29">users.h</a>, <a class="el" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">users.cpp</a><li>apply_lines()
-: <a class="el" href="xline_8h.html#apply_5Flines_28const_20int_20What_29">xline.h</a></ul>
-<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
-<li>BindPorts()
-: <a class="el" href="inspircd__io_8h.html#BindPorts_28_29">inspircd_io.h</a><li>BindSocket()
-: <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></ul>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>c_count()
-: <a class="el" href="message_8h.html#c_5Fcount_28userrec_20_2Au_29">message.h</a><li>ChanExceptSender()
-: <a class="el" href="globals_8h.html#ChanExceptSender_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>ChangeDisplayedHost()
-: <a class="el" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">message.h</a><li>ChangeName()
-: <a class="el" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">message.h</a><li>CheckDie()
-: <a class="el" href="userprocess_8h.html#CheckDie_28_29">userprocess.h</a><li>CheckRoot()
-: <a class="el" href="userprocess_8h.html#CheckRoot_28_29">userprocess.h</a><li>chlist()
-: <a class="el" href="message_8h.html#chlist_28userrec_20_2Auser_2C_20userrec_20_2Asource_29">message.h</a><li>chop()
-: <a class="el" href="message_8h.html#chop_28char_20_2Astr_29">message.h</a><li>CleanAndResolve()
-: <a class="el" href="message_8h.html#CleanAndResolve_28char_20_2AresolvedHost_2C_20const_20char_20_2AunresolvedHost_29">message.h</a><li>CleanFilename()
-: <a class="el" href="commands_8h.html#CleanFilename_28char_20_2Aname_29">commands.h</a><li>cmode()
-: <a class="el" href="message_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">message.h</a>, <a class="el" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">globals.h</a><li>common_channels()
-: <a class="el" href="message_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">message.h</a>, <a class="el" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">globals.h</a><li>ConnectUser()
-: <a class="el" href="users_8h.html#ConnectUser_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#ConnectUser_28userrec_20_2Auser_29">users.cpp</a><li>ConvToStr()
-: <a class="el" href="users_8h.html#ConvToStr_28const_20T_20_26in_29">users.h</a>, <a class="el" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">users.cpp</a><li>cstatus()
-: <a class="el" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">message.h</a></ul>
-<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
-<li>DaemonSeed()
-: <a class="el" href="inspircd__io_8h.html#DaemonSeed_28void_29">inspircd_io.h</a><li>del_channel()
-: <a class="el" href="channels_8h.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">channels.h</a>, <a class="el" href="channels_8cpp.html#del_5Fchannel_28userrec_20_2Auser_2C_20const_20char_20_2Acname_2C_20const_20char_20_2Areason_2C_20bool_20local_29">channels.cpp</a><li>del_eline()
-: <a class="el" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">xline.h</a><li>del_gline()
-: <a class="el" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">xline.h</a><li>del_kline()
-: <a class="el" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">xline.h</a><li>del_qline()
-: <a class="el" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">xline.h</a><li>del_zline()
-: <a class="el" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">xline.h</a><li>DeleteOper()
-: <a class="el" href="users_8h.html#DeleteOper_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#DeleteOper_28userrec_20_2Auser_29">users.cpp</a><li>dns_task()
-: <a class="el" href="dns_8h.html#dns_5Ftask_28void_20_2Aarg_29">dns.h</a><li>do_whois()
-: <a class="el" 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">commands.h</a><li>DoAddExtendedMode()
-: <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>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>eline_set_creation_time()
-: <a class="el" href="xline_8h.html#eline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29">xline.h</a><li>Exit()
-: <a class="el" href="inspircd__io_8h.html#Exit_28int_29">inspircd_io.h</a><li>expire_lines()
-: <a class="el" href="xline_8h.html#expire_5Flines_28_29">xline.h</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>factory()
-: <a class="el" href="modules_8cpp.html#factory_28_32_35_35_29">modules.cpp</a>, <a class="el" href="users_8cpp.html#factory">users.cpp</a>, <a class="el" href="modules_8cpp.html#factory">modules.cpp</a>, <a class="el" href="channels_8cpp.html#factory">channels.cpp</a><li>FileExists()
-: <a class="el" href="inspircd__io_8h.html#FileExists_28const_20char_20_2Afile_29">inspircd_io.h</a><li>Find()
-: <a class="el" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">globals.h</a><li>FindChan()
-: <a class="el" href="globals_8h.html#FindChan_28const_20char_20_2Achan_29">globals.h</a><li>FindServerNamePtr()
-: <a class="el" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">inspircd.h</a><li>force_nickchange()
-: <a class="el" href="users_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">users.h</a>, <a class="el" href="users_8cpp.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">users.cpp</a><li>ForceChan()
-: <a class="el" href="channels_8cpp.html#ForceChan_28chanrec_20_2APtr_2C_20ucrec_20_26a_2C_20userrec_20_2Auser_2C_20int_20created_29">channels.cpp</a><li>from64tobits()
-: <a class="el" href="aes_8h.html#from_36_34tobits_28char_20_2Aout_2C_20const_20char_20_2Ain_2C_20int_20maxlen_29">aes.h</a><li>FullConnectUser()
-: <a class="el" href="users_8h.html#FullConnectUser_28userrec_20_2Auser_29">users.h</a>, <a class="el" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">users.cpp</a></ul>
-<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
-<li>getadminemail()
-: <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>getservername()
-: <a class="el" href="globals_8h.html#getservername_28_29">globals.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>
-<h3><a class="anchor" name="index_h">- h -</a></h3><ul>
-<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><li>host_matches_everyone()
-: <a class="el" href="commands_8h.html#host_5Fmatches_5Feveryone_28std_3A_3Astring_20mask_2C_20userrec_20_2Auser_29">commands.h</a></ul>
-<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
-<li>ip_matches_everyone()
-: <a class="el" href="commands_8h.html#ip_5Fmatches_5Feveryone_28std_3A_3Astring_20ip_2C_20userrec_20_2Auser_29">commands.h</a><li>is_uline()
-: <a class="el" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">commands.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>
-<h3><a class="anchor" name="index_k">- k -</a></h3><ul>
-<li>kick_channel()
-: <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="users_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.h</a>, <a class="el" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.cpp</a><li>kill_link_silent()
-: <a class="el" href="users_8h.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.h</a>, <a class="el" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">users.cpp</a></ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>LoadAllModules()
-: <a class="el" href="userprocess_8h.html#LoadAllModules_28InspIRCd_20_2AServerInstance_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></ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>matches_exception()
-: <a class="el" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">xline.h</a><li>matches_gline()
-: <a class="el" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">xline.h</a><li>matches_kline()
-: <a class="el" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">xline.h</a><li>matches_qline()
-: <a class="el" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">xline.h</a><li>matches_zline()
-: <a class="el" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">xline.h</a><li>ModeDefiend()
-: <a class="el" href="globals_8h.html#ModeDefiend_28char_20c_2C_20int_20i_29">globals.h</a><li>ModeDefined()
-: <a class="el" href="modules_8h.html#ModeDefined_28char_20c_2C_20int_20i_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeDefined_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeDefinedOff()
-: <a class="el" href="modules_8h.html#ModeDefinedOff_28char_20c_2C_20int_20i_29">modules.h</a>, <a class="el" href="modules_8cpp.html#ModeDefinedOff_28char_20modechar_2C_20int_20type_29">modules.cpp</a><li>ModeDefinedOn()
-: <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>modules()
-: <a class="el" href="modules_8cpp.html#modules_28_32_35_35_29">modules.cpp</a>, <a class="el" href="users_8cpp.html#modules">users.cpp</a>, <a class="el" href="modules_8cpp.html#modules">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>nick_matches_everyone()
-: <a class="el" href="commands_8h.html#nick_5Fmatches_5Feveryone_28std_3A_3Astring_20nick_2C_20userrec_20_2Auser_29">commands.h</a><li>NonBlocking()
-: <a class="el" href="message_8h.html#NonBlocking_28int_20s_29">message.h</a></ul>
-<h3><a class="anchor" name="index_o">- o -</a></h3><ul>
-<li>OpenLog()
-: <a class="el" href="userprocess_8h.html#OpenLog_28char_20_2A_2Aargv_2C_20int_20argc_29">userprocess.h</a><li>OpenTCPSocket()
-: <a class="el" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">inspircd_io.h</a><li>operstrcmp()
-: <a class="el" href="commands_8h.html#operstrcmp_28char_20_2Adata_2C_20char_20_2Ainput_29">commands.h</a></ul>
-<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
-<li>ProcessUser()
-: <a class="el" href="userprocess_8h.html#ProcessUser_28userrec_20_2Acu_29">userprocess.h</a></ul>
-<h3><a class="anchor" name="index_q">- q -</a></h3><ul>
-<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>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>read_xline_defaults()
-: <a class="el" href="xline_8h.html#read_5Fxline_5Fdefaults_28_29">xline.h</a><li>readfile()
-: <a class="el" href="globals_8h.html#readfile_28file_5Fcache_20_26F_2C_20const_20char_20_2Afname_29">globals.h</a><li>ReHashNick()
-: <a class="el" href="users_8h.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">users.h</a>, <a class="el" href="users_8cpp.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">users.cpp</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>send_network_quit()
-: <a class="el" href="message_8h.html#send_5Fnetwork_5Fquit_28const_20char_20_2Anick_2C_20const_20char_20_2Areason_29">message.h</a><li>Start()
-: <a class="el" href="inspircd__io_8h.html#Start_28void_29">inspircd_io.h</a><li>stats_e()
-: <a class="el" href="xline_8h.html#stats_5Fe_28userrec_20_2Auser_29">xline.h</a><li>stats_g()
-: <a class="el" href="xline_8h.html#stats_5Fg_28userrec_20_2Auser_29">xline.h</a><li>stats_k()
-: <a class="el" href="xline_8h.html#stats_5Fk_28userrec_20_2Auser_29">xline.h</a><li>stats_q()
-: <a class="el" href="xline_8h.html#stats_5Fq_28userrec_20_2Auser_29">xline.h</a><li>stats_z()
-: <a class="el" href="xline_8h.html#stats_5Fz_28userrec_20_2Auser_29">xline.h</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>TidyBan()
-: <a class="el" href="message_8h.html#TidyBan_28char_20_2Aban_29">message.h</a><li>tidystring()
-: <a class="el" href="message_8h.html#tidystring_28char_20_2Astr_29">message.h</a><li>to64frombits()
-: <a class="el" href="aes_8h.html#to_36_34frombits_28unsigned_20char_20_2Aout_2C_20const_20unsigned_20char_20_2Ain_2C_20int_20inlen_29">aes.h</a></ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>Write()
-: <a class="el" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteChannel()
-: <a class="el" href="globals_8h.html#WriteChannel_28chanrec_20_2APtr_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteCommon()
-: <a class="el" href="globals_8h.html#WriteCommon_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteCommonExcept()
-: <a class="el" href="globals_8h.html#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteFrom()
-: <a class="el" href="globals_8h.html#WriteFrom_28int_20sock_2C_20userrec_20_2Auser_2C_20char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WriteOpers()
-: <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">globals.h</a><li>WritePID()
-: <a class="el" href="inspircd__io_8h.html#WritePID_28std_3A_3Astring_20filename_29">inspircd_io.h</a><li>WriteServ()
-: <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>
-<h3><a class="anchor" name="index_z">- z -</a></h3><ul>
-<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 Mon Dec 19 18:05:24 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/globals_type.html b/docs/module-doc/globals_type.html
deleted file mode 100644
index b717693a1..000000000
--- a/docs/module-doc/globals_type.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_vars.html">Variables</a> | <a class="qindexHL" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-
-<p>
-<ul>
-<li>address_cache
-: <a class="el" href="typedefs_8h.html#address_5Fcache">typedefs.h</a><li>BanList
-: <a class="el" href="channels_8h.html#BanList">channels.h</a><li>chan_hash
-: <a class="el" href="typedefs_8h.html#chan_5Fhash">typedefs.h</a><li>chanuserlist
-: <a class="el" href="modules_8h.html#chanuserlist">modules.h</a><li>ClassVector
-: <a class="el" href="users_8h.html#ClassVector">users.h</a><li>command_table
-: <a class="el" href="ctables_8h.html#command_5Ftable">ctables.h</a><li>ExemptList
-: <a class="el" href="channels_8h.html#ExemptList">channels.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><li>file_cache
-: <a class="el" href="typedefs_8h.html#file_5Fcache">typedefs.h</a>, <a class="el" href="modules_8h.html#file_5Fcache">modules.h</a>, <a class="el" href="globals_8h.html#file_5Fcache">globals.h</a><li>InvitedList
-: <a class="el" href="users_8h.html#InvitedList">users.h</a><li>InviteList
-: <a class="el" href="channels_8h.html#InviteList">channels.h</a><li>ircd_module
-: <a class="el" href="modules_8h.html#ircd_5Fmodule">modules.h</a><li>servernamelist
-: <a class="el" href="typedefs_8h.html#servernamelist">typedefs.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><li>user_hash
-: <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 Mon Dec 19 18:05:24 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/globals_vars.html b/docs/module-doc/globals_vars.html
deleted file mode 100644
index 93c4b21d6..000000000
--- a/docs/module-doc/globals_vars.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!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: Class Members</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="qindexHL" href="globals.html">File&nbsp;Members</a></div>
-<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindexHL" href="globals_vars.html">Variables</a> | <a class="qindex" href="globals_type.html">Typedefs</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumerator</a> | <a class="qindex" href="globals_defs.html">Defines</a></div>
-<div class="qindex"><a class="qindex" href="#index_a">a</a> | <a class="qindex" href="#index_c">c</a> | <a class="qindex" href="#index_e">e</a> | <a class="qindex" href="#index_f">f</a> | <a class="qindex" href="#index_l">l</a> | <a class="qindex" href="#index_m">m</a> | <a class="qindex" href="#index_r">r</a> | <a class="qindex" href="#index_s">s</a> | <a class="qindex" href="#index_t">t</a> | <a class="qindex" href="#index_w">w</a> | <a class="qindex" href="#index_x">x</a></div>
-
-<p>
-
-<p>
-<h3><a class="anchor" name="index_a">- a -</a></h3><ul>
-<li>all_opers
-: <a class="el" href="users_8cpp.html#all_5Fopers">users.cpp</a><li>APPLY_ALL
-: <a class="el" href="xline_8h.html#APPLY_5FALL">xline.h</a><li>APPLY_GLINES
-: <a class="el" href="xline_8h.html#APPLY_5FGLINES">xline.h</a><li>APPLY_KLINES
-: <a class="el" href="xline_8h.html#APPLY_5FKLINES">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>
-<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
-<li>chanlist
-: <a class="el" href="modules_8cpp.html#chanlist">modules.cpp</a>, <a class="el" href="channels_8cpp.html#chanlist">channels.cpp</a><li>clientlist
-: <a class="el" href="users_8cpp.html#clientlist">users.cpp</a>, <a class="el" href="modules_8cpp.html#clientlist">modules.cpp</a><li>cmdlist
-: <a class="el" href="modules_8cpp.html#cmdlist">modules.cpp</a><li>Config
-: <a class="el" href="users_8cpp.html#Config">users.cpp</a>, <a class="el" href="modules_8cpp.html#Config">modules.cpp</a>, <a class="el" href="channels_8cpp.html#Config">channels.cpp</a><li>custom_mode_params
-: <a class="el" href="channels_8cpp.html#custom_5Fmode_5Fparams">channels.cpp</a></ul>
-<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
-<li>EMode
-: <a class="el" href="modules_8cpp.html#EMode">modules.cpp</a></ul>
-<h3><a class="anchor" name="index_f">- f -</a></h3><ul>
-<li>factory
-: <a class="el" href="modules_8cpp.html#factory_28_32_35_35_29">modules.cpp</a>, <a class="el" href="users_8cpp.html#factory">users.cpp</a>, <a class="el" href="modules_8cpp.html#factory">modules.cpp</a>, <a class="el" href="channels_8cpp.html#factory">channels.cpp</a><li>fd_ref_table
-: <a class="el" href="users_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">users.cpp</a>, <a class="el" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">modules.cpp</a></ul>
-<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
-<li>local_users
-: <a class="el" href="users_8cpp.html#local_5Fusers">users.cpp</a></ul>
-<h3><a class="anchor" name="index_m">- m -</a></h3><ul>
-<li>MODCOUNT
-: <a class="el" href="users_8cpp.html#MODCOUNT">users.cpp</a>, <a class="el" href="modules_8cpp.html#MODCOUNT">modules.cpp</a>, <a class="el" href="channels_8cpp.html#MODCOUNT">channels.cpp</a><li>module_sockets
-: <a class="el" href="users_8cpp.html#module_5Fsockets">users.cpp</a>, <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="users_8cpp.html#modules">users.cpp</a>, <a class="el" href="modules_8cpp.html#modules">modules.cpp</a>, <a class="el" href="channels_8cpp.html#modules">channels.cpp</a></ul>
-<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
-<li>ref
-: <a class="el" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">socketengine.cpp</a></ul>
-<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
-<li>ServerInstance
-: <a class="el" href="users_8cpp.html#ServerInstance">users.cpp</a>, <a class="el" href="socket_8cpp.html#ServerInstance">socket.cpp</a>, <a class="el" href="modules_8cpp.html#ServerInstance">modules.cpp</a><li>socket_ref
-: <a class="el" href="users_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">users.cpp</a>, <a class="el" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket.cpp</a></ul>
-<h3><a class="anchor" name="index_t">- t -</a></h3><ul>
-<li>TIME
-: <a class="el" href="users_8cpp.html#TIME">users.cpp</a>, <a class="el" href="socket_8cpp.html#TIME">socket.cpp</a>, <a class="el" href="modules_8cpp.html#TIME">modules.cpp</a>, <a class="el" href="channels_8cpp.html#TIME">channels.cpp</a></ul>
-<h3><a class="anchor" name="index_w">- w -</a></h3><ul>
-<li>whowas
-: <a class="el" href="users_8cpp.html#whowas">users.cpp</a><li>WHOWAS_MAX
-: <a class="el" href="users_8cpp.html#WHOWAS_5FMAX">users.cpp</a>, <a class="el" href="channels_8cpp.html#WHOWAS_5FMAX">channels.cpp</a><li>WHOWAS_STALE
-: <a class="el" href="users_8cpp.html#WHOWAS_5FSTALE">users.cpp</a>, <a class="el" href="channels_8cpp.html#WHOWAS_5FSTALE">channels.cpp</a></ul>
-<h3><a class="anchor" name="index_x">- x -</a></h3><ul>
-<li>X_EMPTY_SLOT
-: <a class="el" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">socketengine.h</a><li>X_ESTAB_CLIENT
-: <a class="el" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">socketengine.h</a><li>X_ESTAB_DNS
-: <a class="el" href="socketengine_8h.html#X_5FESTAB_5FDNS">socketengine.h</a><li>X_ESTAB_MODULE
-: <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 Mon Dec 19 18:05:24 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/graph_legend.dot b/docs/module-doc/graph_legend.dot
deleted file mode 100644
index 5420927dd..000000000
--- a/docs/module-doc/graph_legend.dot
+++ /dev/null
@@ -1,22 +0,0 @@
-digraph G
-{
- edge [fontname="Helvetica",fontsize=10,labelfontname="Helvetica",labelfontsize=10];
- node [fontname="Helvetica",fontsize=10,shape=record];
- Node9 [shape="box",label="Inherited",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",style="filled" fontcolor="white"];
- Node10 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
- Node10 [shape="box",label="PublicBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPublicBase.html"];
- Node11 -> Node10 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
- Node11 [shape="box",label="Truncated",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="red",URL="$classTruncated.html"];
- Node13 -> Node9 [dir=back,color="darkgreen",fontsize=10,style="solid",fontname="Helvetica"];
- Node13 [shape="box",label="ProtectedBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classProtectedBase.html"];
- Node14 -> Node9 [dir=back,color="firebrick4",fontsize=10,style="solid",fontname="Helvetica"];
- Node14 [shape="box",label="PrivateBase",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classPrivateBase.html"];
- Node15 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
- Node15 [shape="box",label="Undocumented",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="grey75"];
- Node16 -> Node9 [dir=back,color="midnightblue",fontsize=10,style="solid",fontname="Helvetica"];
- Node16 [shape="box",label="Templ< int >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"];
- Node17 -> Node16 [dir=back,color="orange",fontsize=10,style="dashed",label="< int >",fontname="Helvetica"];
- Node17 [shape="box",label="Templ< T >",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classTempl.html"];
- Node18 -> Node9 [dir=back,color="darkorchid3",fontsize=10,style="dashed",label="m_usedClass",fontname="Helvetica"];
- Node18 [shape="box",label="Used",fontsize=10,height=0.2,width=0.4,fontname="Helvetica",color="black",URL="$classUsed.html"];
-}
diff --git a/docs/module-doc/graph_legend.gif b/docs/module-doc/graph_legend.gif
deleted file mode 100644
index 865472e8c..000000000
--- a/docs/module-doc/graph_legend.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/graph_legend.html b/docs/module-doc/graph_legend.html
deleted file mode 100644
index 23d350642..000000000
--- a/docs/module-doc/graph_legend.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!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: Graph Legend</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>Graph Legend</h1>This page explains how to interpret the graphs that are generated by doxygen.<p>
-Consider the following example: <div class="fragment"><pre class="fragment"><span class="comment">/*! Invisible class because of truncation */</span>
-<span class="keyword">class </span>Invisible { };
-<span class="comment"></span>
-<span class="comment">/*! Truncated class, inheritance relation is hidden */</span>
-<span class="keyword">class </span>Truncated : <span class="keyword">public</span> Invisible { };
-
-<span class="comment">/* Class not documented with doxygen comments */</span>
-<span class="keyword">class </span>Undocumented { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using public inheritance */</span>
-<span class="keyword">class </span>PublicBase : <span class="keyword">public</span> Truncated { };
-<span class="comment"></span>
-<span class="comment">/*! A template class */</span>
-<span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">class </span>Templ { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using protected inheritance */</span>
-<span class="keyword">class </span>ProtectedBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is inherited using private inheritance */</span>
-<span class="keyword">class </span>PrivateBase { };
-<span class="comment"></span>
-<span class="comment">/*! Class that is used by the Inherited class */</span>
-<span class="keyword">class </span>Used { };
-<span class="comment"></span>
-<span class="comment">/*! Super class that inherits a number of other classes */</span>
-<span class="keyword">class </span>Inherited : <span class="keyword">public</span> PublicBase,
- <span class="keyword">protected</span> ProtectedBase,
- <span class="keyword">private</span> PrivateBase,
- <span class="keyword">public</span> Undocumented
- <span class="keyword">public</span> Templ&lt;int&gt;
-{
- <span class="keyword">private</span>:
- Used *m_usedClass;
-};
-</pre></div> If the <code>MAX_DOT_GRAPH_HEIGHT</code> tag in the configuration file is set to 240 this will result in the following graph:<p>
-<center><div align="center">
-<img src="graph_legend.gif" alt="graph_legend.gif">
-</div>
-</center> <p>
-The boxes in the above graph have the following meaning: <ul>
-<li>
-A filled black box represents the struct or class for which the graph is generated. </li>
-<li>
-A box with a black border denotes a documented struct or class. </li>
-<li>
-A box with a grey border denotes an undocumented struct or class. </li>
-<li>
-A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries. </li>
-</ul>
-The arrows have the following meaning: <ul>
-<li>
-A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
-<li>
-A dark green arrow is used for protected inheritance. </li>
-<li>
-A dark red arrow is used for private inheritance. </li>
-<li>
-A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible. </li>
-<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 Mon Dec 19 18:05:24 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/hashcomp_8h-source.html b/docs/module-doc/hashcomp_8h-source.html
deleted file mode 100644
index 68438e5ca..000000000
--- a/docs/module-doc/hashcomp_8h-source.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<!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: hashcomp.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>hashcomp.h</h1><a href="hashcomp_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 _HASHCOMP_H_</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define _HASHCOMP_H_</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00021"></a>00021
-<a name="l00022"></a>00022 <span class="comment">/*******************************************************</span>
-<a name="l00023"></a>00023 <span class="comment"> * This file contains classes and templates that deal</span>
-<a name="l00024"></a>00024 <span class="comment"> * with the comparison and hashing of 'irc strings'.</span>
-<a name="l00025"></a>00025 <span class="comment"> * An 'irc string' is a string which compares in a</span>
-<a name="l00026"></a>00026 <span class="comment"> * case insensitive manner, and as per RFC 1459 will</span>
-<a name="l00027"></a>00027 <span class="comment"> * treat [ identical to {, ] identical to }, and \</span>
-<a name="l00028"></a>00028 <span class="comment"> * as identical to |.</span>
-<a name="l00029"></a>00029 <span class="comment"> *</span>
-<a name="l00030"></a>00030 <span class="comment"> * Our hashing functions are designed to accept</span>
-<a name="l00031"></a>00031 <span class="comment"> * std::string and compare/hash them as type irc::string</span>
-<a name="l00032"></a>00032 <span class="comment"> * by converting them internally. This makes them</span>
-<a name="l00033"></a>00033 <span class="comment"> * backwards compatible with other code which is not</span>
-<a name="l00034"></a>00034 <span class="comment"> * aware of irc::string.</span>
-<a name="l00035"></a>00035 <span class="comment"> *******************************************************/</span>
-<a name="l00036"></a>00036
-<a name="l00037"></a>00037 <span class="preprocessor">#ifdef GCC3</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ext/hash_map&gt;</span>
-<a name="l00039"></a>00039 <span class="preprocessor">#else</span>
-<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="preprocessor">#include &lt;hash_map&gt;</span>
-<a name="l00041"></a>00041 <span class="preprocessor">#endif</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span>
-<a name="l00043"></a>00043 <span class="preprocessor">#ifdef GCC3</span>
-<a name="l00044"></a><a class="code" href="hashcomp_8h.html#nspace">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define nspace __gnu_cxx</span>
-<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#else</span>
-<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define nspace std</span>
-<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00048"></a>00048 <span class="preprocessor"></span>
-<a name="l00049"></a>00049 <span class="keyword">using</span> <span class="keyword">namespace </span>std;
-<a name="l00050"></a>00050
-<a name="l00051"></a><a class="code" href="namespacenspace.html">00051</a> <span class="keyword">namespace </span><a class="code" href="channels_8cpp.html#nspace">nspace</a>
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 <span class="preprocessor">#ifdef GCC34</span>
-<a name="l00054"></a><a class="code" href="structnspace_1_1hash_3_01in__addr_01_4.html">00054</a> <span class="preprocessor"></span> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>hash&lt;in_addr&gt;
-<a name="l00055"></a>00055 #else
-<a name="l00056"></a>00056 template&lt;&gt; struct nspace::hash&lt;in_addr&gt;
-<a name="l00057"></a>00057 #endif
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 size_t operator()(<span class="keyword">const</span> <span class="keyword">struct</span> in_addr &amp;a) <span class="keyword">const</span>;
-<a name="l00060"></a>00060 };
-<a name="l00061"></a>00061 <span class="preprocessor">#ifdef GCC34</span>
-<a name="l00062"></a><a class="code" href="structnspace_1_1hash_3_01string_01_4.html">00062</a> <span class="preprocessor"></span> <span class="keyword">template</span>&lt;&gt; <span class="keyword">struct </span>hash&lt;string&gt;
-<a name="l00063"></a>00063 #else
-<a name="l00064"></a>00064 template&lt;&gt; struct nspace::hash&lt;string&gt;
-<a name="l00065"></a>00065 #endif
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 size_t operator()(<span class="keyword">const</span> string &amp;s) <span class="keyword">const</span>;
-<a name="l00068"></a>00068 };
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070
-<a name="l00073"></a><a class="code" href="namespaceirc.html">00073</a> <span class="keyword">namespace </span>irc
-<a name="l00074"></a>00074 {
-<a name="l00075"></a>00075
-<a name="l00080"></a><a class="code" href="structirc_1_1StrHashComp.html">00080</a> <span class="keyword">struct </span><a class="code" href="structirc_1_1StrHashComp.html">StrHashComp</a>
-<a name="l00081"></a>00081 {
-<a name="l00084"></a>00084 <span class="keywordtype">bool</span> <a class="code" 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>(<span class="keyword">const</span> <a class="code" href="namespaceirc.html#string">std::string</a>&amp; s1, <span class="keyword">const</span> <a class="code" href="namespaceirc.html#string">std::string</a>&amp; s2) <span class="keyword">const</span>;
-<a name="l00085"></a>00085 };
-<a name="l00086"></a>00086
-<a name="l00087"></a>00087
-<a name="l00092"></a><a class="code" href="structirc_1_1InAddr__HashComp.html">00092</a> <span class="keyword">struct </span><a class="code" href="structirc_1_1InAddr__HashComp.html">InAddr_HashComp</a>
-<a name="l00093"></a>00093 {
-<a name="l00096"></a>00096 <span class="keywordtype">bool</span> <a class="code" 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>(<span class="keyword">const</span> in_addr &amp;s1, <span class="keyword">const</span> in_addr &amp;s2) <span class="keyword">const</span>;
-<a name="l00097"></a>00097 };
-<a name="l00098"></a>00098
-<a name="l00099"></a>00099
-<a name="l00104"></a><a class="code" href="structirc_1_1irc__char__traits.html">00104</a> <span class="keyword">struct </span><a class="code" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> : std::<a class="code" href="classstd_1_1char__traits.html">char_traits</a>&lt;char&gt; {
-<a name="l00105"></a>00105
-<a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structirc_1_1irc__char__traits.html#eq_28char_20c_31st_2C_20char_20c_32nd_29">eq</a>(<span class="keywordtype">char</span> c1st, <span class="keywordtype">char</span> c2nd);
-<a name="l00109"></a>00109
-<a name="l00112"></a>00112 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structirc_1_1irc__char__traits.html#ne_28char_20c_31st_2C_20char_20c_32nd_29">ne</a>(<span class="keywordtype">char</span> c1st, <span class="keywordtype">char</span> c2nd);
-<a name="l00113"></a>00113
-<a name="l00116"></a>00116 <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structirc_1_1irc__char__traits.html#lt_28char_20c_31st_2C_20char_20c_32nd_29">lt</a>(<span class="keywordtype">char</span> c1st, <span class="keywordtype">char</span> c2nd);
-<a name="l00117"></a>00117
-<a name="l00120"></a>00120 <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code" href="structirc_1_1irc__char__traits.html#compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29">compare</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* str1, <span class="keyword">const</span> <span class="keywordtype">char</span>* str2, size_t n);
-<a name="l00121"></a>00121
-<a name="l00124"></a>00124 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="structirc_1_1irc__char__traits.html#find_28const_20char_20_2As_31_2C_20int_20n_2C_20char_20c_29">find</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* s1, <span class="keywordtype">int</span> n, <span class="keywordtype">char</span> c);
-<a name="l00125"></a>00125 };
-<a name="l00126"></a>00126
-<a name="l00129"></a><a class="code" href="namespaceirc.html#string">00129</a> <span class="keyword">typedef</span> basic_string&lt;char, irc_char_traits, allocator&lt;char&gt; &gt; <a class="code" href="namespaceirc.html#string">string</a>;
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/hashcomp_8h.html b/docs/module-doc/hashcomp_8h.html
deleted file mode 100644
index 0568aa6ec..000000000
--- a/docs/module-doc/hashcomp_8h.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!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: hashcomp.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>hashcomp.h File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &lt;ext/hash_map&gt;</code><br>
-
-<p>
-Include dependency graph for hashcomp.h:<p><center><img src="hashcomp_8h__incl.gif" border="0" usemap="#hashcomp.h_map" alt=""></center>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="hashcomp_8h__dep__incl.gif" border="0" usemap="#hashcomp.hdep_map" alt=""></center>
-<map name="hashcomp.hdep_map">
-<area href="modules_8cpp-source.html" shape="rect" coords="399,58,497,84" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="408,159,488,186" alt="">
-<area href="users_8h-source.html" shape="rect" coords="152,108,216,135" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="265,58,351,84" alt="">
-</map>
-
-<p>
-<a href="hashcomp_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>Namespaces</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacenspace.html">nspace</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">namespace &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceirc.html">irc</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
-<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_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a></td></tr>
-
-<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">nspace::hash&lt; string &gt;</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class returns true if two strings match. <a href="structirc_1_1StrHashComp.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class returns true if two in_addr structs match. <a href="structirc_1_1InAddr__HashComp.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1irc__char__traits.html">irc::irc_char_traits</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> class is used for RFC-style comparison of strings. <a href="structirc_1_1irc__char__traits.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hashcomp_8h.html#nspace">nspace</a>&nbsp;&nbsp;&nbsp;__gnu_cxx</td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_string&lt; char,<br>
- irc_char_traits, allocator&lt;<br>
- char &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceirc.html#string">irc::string</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This typedef declares <a class="el" href="namespaceirc.html#string">irc::string</a> based upon <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a>. <a href="#string"></a><br></td></tr>
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="nspace"></a><!-- doxytag: member="hashcomp.h::nspace" ref="nspace" 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">#define nspace&nbsp;&nbsp;&nbsp;__gnu_cxx </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="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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/hashcomp_8h__dep__incl.gif b/docs/module-doc/hashcomp_8h__dep__incl.gif
deleted file mode 100644
index d3caf5979..000000000
--- a/docs/module-doc/hashcomp_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/hashcomp_8h__dep__incl.map b/docs/module-doc/hashcomp_8h__dep__incl.map
deleted file mode 100644
index 8e8539c82..000000000
--- a/docs/module-doc/hashcomp_8h__dep__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $modules_8cpp-source.html 399,58 497,84
-rect $users_8cpp-source.html 408,159 488,186
-rect $users_8h-source.html 152,108 216,135
-rect $typedefs_8h-source.html 265,58 351,84
diff --git a/docs/module-doc/hashcomp_8h__dep__incl.md5 b/docs/module-doc/hashcomp_8h__dep__incl.md5
deleted file mode 100644
index cad960de2..000000000
--- a/docs/module-doc/hashcomp_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-5670628fe56960fde1c1a397ce860733 \ No newline at end of file
diff --git a/docs/module-doc/hashcomp_8h__incl.gif b/docs/module-doc/hashcomp_8h__incl.gif
deleted file mode 100644
index a742a4c23..000000000
--- a/docs/module-doc/hashcomp_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/hashcomp_8h__incl.map b/docs/module-doc/hashcomp_8h__incl.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/hashcomp_8h__incl.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/hashcomp_8h__incl.md5 b/docs/module-doc/hashcomp_8h__incl.md5
deleted file mode 100644
index fcd8e0e15..000000000
--- a/docs/module-doc/hashcomp_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-fa613372646e958b5b158cf4f689f921 \ No newline at end of file
diff --git a/docs/module-doc/hierarchy.html b/docs/module-doc/hierarchy.html
deleted file mode 100644
index 1cd7fc799..000000000
--- a/docs/module-doc/hierarchy.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!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: Hierarchical Index</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="qindexHL" 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 Class Hierarchy</h1><a href="inherits.html">Go to the graphical class hierarchy</a>
-<p>
-This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
-<li><a class="el" href="classAES.html">AES</a>
-<li><a class="el" href="classBoolSet.html">BoolSet</a>
-<li><a class="el" href="classstd_1_1char__traits.html">char_traits</a>
-<ul>
-<li><a class="el" href="structirc_1_1irc__char__traits.html">irc::irc_char_traits</a>
-</ul>
-<li><a class="el" href="classclassbase.html">classbase</a>
-<ul>
-<li><a class="el" href="classAdmin.html">Admin</a>
-<li><a class="el" href="classConfigReader.html">ConfigReader</a>
-<li><a class="el" href="classConnectClass.html">ConnectClass</a>
-<li><a class="el" href="classExtensible.html">Extensible</a>
-<ul>
-<li><a class="el" href="classchanrec.html">chanrec</a>
-<li><a class="el" href="classconnection.html">connection</a>
-<ul>
-<li><a class="el" href="classuserrec.html">userrec</a>
-</ul>
-</ul>
-<li><a class="el" href="classExtMode.html">ExtMode</a>
-<li><a class="el" href="classFileReader.html">FileReader</a>
-<li><a class="el" href="classHostItem.html">HostItem</a>
-<ul>
-<li><a class="el" href="classBanItem.html">BanItem</a>
-<li><a class="el" href="classExemptItem.html">ExemptItem</a>
-<li><a class="el" href="classInviteItem.html">InviteItem</a>
-</ul>
-<li><a class="el" href="classInvited.html">Invited</a>
-<li><a class="el" href="classModeParameter.html">ModeParameter</a>
-<li><a class="el" href="classModule.html">Module</a>
-<li><a class="el" href="classModuleFactory.html">ModuleFactory</a>
-<li><a class="el" href="classModuleMessage.html">ModuleMessage</a>
-<ul>
-<li><a class="el" href="classEvent.html">Event</a>
-<li><a class="el" href="classRequest.html">Request</a>
-</ul>
-<li><a class="el" href="classServer.html">Server</a>
-<li><a class="el" href="classServerConfig.html">ServerConfig</a>
-<li><a class="el" href="classucrec.html">ucrec</a>
-<li><a class="el" href="classVersion.html">Version</a>
-<li><a class="el" href="classXLine.html">XLine</a>
-<ul>
-<li><a class="el" href="classELine.html">ELine</a>
-<li><a class="el" href="classGLine.html">GLine</a>
-<li><a class="el" href="classKLine.html">KLine</a>
-<li><a class="el" href="classQLine.html">QLine</a>
-<li><a class="el" href="classZLine.html">ZLine</a>
-</ul>
-</ul>
-<li><a class="el" href="classcommand__t.html">command_t</a>
-<ul>
-<li><a class="el" href="classcmd__mode.html">cmd_mode</a>
-</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>
-<li><a class="el" href="structnspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a>
-<li><a class="el" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a>
-<li><a class="el" href="classInspIRCd.html">InspIRCd</a>
-<li><a class="el" href="classInspSocket.html">InspSocket</a>
-<li><a class="el" href="classModeParser.html">ModeParser</a>
-<li><a class="el" href="classserverstats.html">serverstats</a>
-<li><a class="el" href="classSocketEngine.html">SocketEngine</a>
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/index.html b/docs/module-doc/index.html
deleted file mode 100644
index 212bbdf53..000000000
--- a/docs/module-doc/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>InspIRCd</title></head>
-<frameset cols="250,*">
- <frame src="tree.html" name="treefrm">
- <frame src="main.html" name="basefrm">
-</frameset>
-</html>
diff --git a/docs/module-doc/inherit__graph__0.gif b/docs/module-doc/inherit__graph__0.gif
deleted file mode 100644
index f06371899..000000000
--- a/docs/module-doc/inherit__graph__0.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__0.map b/docs/module-doc/inherit__graph__0.map
deleted file mode 100644
index 360388e46..000000000
--- a/docs/module-doc/inherit__graph__0.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classAES.html 7,7 57,33
diff --git a/docs/module-doc/inherit__graph__0.md5 b/docs/module-doc/inherit__graph__0.md5
deleted file mode 100644
index 0da62c0cd..000000000
--- a/docs/module-doc/inherit__graph__0.md5
+++ /dev/null
@@ -1 +0,0 @@
-4c1910dbd53656eee7c5c84fc773f193 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__1.gif b/docs/module-doc/inherit__graph__1.gif
deleted file mode 100644
index 10261dc21..000000000
--- a/docs/module-doc/inherit__graph__1.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__1.map b/docs/module-doc/inherit__graph__1.map
deleted file mode 100644
index 09d914fed..000000000
--- a/docs/module-doc/inherit__graph__1.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classBoolSet.html 7,7 76,33
diff --git a/docs/module-doc/inherit__graph__1.md5 b/docs/module-doc/inherit__graph__1.md5
deleted file mode 100644
index 0d55dc8ff..000000000
--- a/docs/module-doc/inherit__graph__1.md5
+++ /dev/null
@@ -1 +0,0 @@
-93d9e4fbc2d3cddda9a76d7441754f2b \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__10.gif b/docs/module-doc/inherit__graph__10.gif
deleted file mode 100644
index b68f09f13..000000000
--- a/docs/module-doc/inherit__graph__10.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__10.map b/docs/module-doc/inherit__graph__10.map
deleted file mode 100644
index 9f8c7b021..000000000
--- a/docs/module-doc/inherit__graph__10.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classInspSocket.html 7,7 95,33
diff --git a/docs/module-doc/inherit__graph__10.md5 b/docs/module-doc/inherit__graph__10.md5
deleted file mode 100644
index d2ac3e742..000000000
--- a/docs/module-doc/inherit__graph__10.md5
+++ /dev/null
@@ -1 +0,0 @@
-866431d87448beeff03effa477cb0785 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__11.gif b/docs/module-doc/inherit__graph__11.gif
deleted file mode 100644
index 2c759987a..000000000
--- a/docs/module-doc/inherit__graph__11.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__11.map b/docs/module-doc/inherit__graph__11.map
deleted file mode 100644
index dad9d9fcd..000000000
--- a/docs/module-doc/inherit__graph__11.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $structirc_1_1InAddr__HashComp.html 7,7 164,33
diff --git a/docs/module-doc/inherit__graph__11.md5 b/docs/module-doc/inherit__graph__11.md5
deleted file mode 100644
index 9496775c7..000000000
--- a/docs/module-doc/inherit__graph__11.md5
+++ /dev/null
@@ -1 +0,0 @@
-3c2c67e0c9a15d3aaf7860ffcd39768e \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__12.gif b/docs/module-doc/inherit__graph__12.gif
deleted file mode 100644
index ead171060..000000000
--- a/docs/module-doc/inherit__graph__12.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__12.map b/docs/module-doc/inherit__graph__12.map
deleted file mode 100644
index 8c67f4a72..000000000
--- a/docs/module-doc/inherit__graph__12.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $structirc_1_1StrHashComp.html 7,7 135,33
diff --git a/docs/module-doc/inherit__graph__12.md5 b/docs/module-doc/inherit__graph__12.md5
deleted file mode 100644
index b62920d1d..000000000
--- a/docs/module-doc/inherit__graph__12.md5
+++ /dev/null
@@ -1 +0,0 @@
-d94ccc9245ee31c76282e2c8ed0c0bb2 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__13.gif b/docs/module-doc/inherit__graph__13.gif
deleted file mode 100644
index 8c35d516a..000000000
--- a/docs/module-doc/inherit__graph__13.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__13.map b/docs/module-doc/inherit__graph__13.map
deleted file mode 100644
index d4722becd..000000000
--- a/docs/module-doc/inherit__graph__13.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classModeParser.html 8,7 101,33
diff --git a/docs/module-doc/inherit__graph__13.md5 b/docs/module-doc/inherit__graph__13.md5
deleted file mode 100644
index 5703aac8a..000000000
--- a/docs/module-doc/inherit__graph__13.md5
+++ /dev/null
@@ -1 +0,0 @@
-f8e776a077ef5ca7f74ae7545b260b83 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__14.gif b/docs/module-doc/inherit__graph__14.gif
deleted file mode 100644
index dfb0c4c56..000000000
--- a/docs/module-doc/inherit__graph__14.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__14.map b/docs/module-doc/inherit__graph__14.map
deleted file mode 100644
index e91564620..000000000
--- a/docs/module-doc/inherit__graph__14.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $structnspace_1_1hash_3_01in__addr_01_4.html 8,7 176,33
diff --git a/docs/module-doc/inherit__graph__14.md5 b/docs/module-doc/inherit__graph__14.md5
deleted file mode 100644
index 9c5f939fc..000000000
--- a/docs/module-doc/inherit__graph__14.md5
+++ /dev/null
@@ -1 +0,0 @@
-40e92872c26375b92021bb12d46d2211 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__15.gif b/docs/module-doc/inherit__graph__15.gif
deleted file mode 100644
index e79f9b374..000000000
--- a/docs/module-doc/inherit__graph__15.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__15.map b/docs/module-doc/inherit__graph__15.map
deleted file mode 100644
index cf6c39bc6..000000000
--- a/docs/module-doc/inherit__graph__15.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $structnspace_1_1hash_3_01string_01_4.html 7,7 164,33
diff --git a/docs/module-doc/inherit__graph__15.md5 b/docs/module-doc/inherit__graph__15.md5
deleted file mode 100644
index 354478843..000000000
--- a/docs/module-doc/inherit__graph__15.md5
+++ /dev/null
@@ -1 +0,0 @@
-317e8030ba500855ca30d38cc6449d34 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__2.gif b/docs/module-doc/inherit__graph__2.gif
deleted file mode 100644
index e18fe591e..000000000
--- a/docs/module-doc/inherit__graph__2.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__2.map b/docs/module-doc/inherit__graph__2.map
deleted file mode 100644
index 2fef6e5ed..000000000
--- a/docs/module-doc/inherit__graph__2.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classstd_1_1char__traits.html 8,7 91,33
-rect $structirc_1_1irc__char__traits.html 140,7 268,33
diff --git a/docs/module-doc/inherit__graph__2.md5 b/docs/module-doc/inherit__graph__2.md5
deleted file mode 100644
index 9dc9f695d..000000000
--- a/docs/module-doc/inherit__graph__2.md5
+++ /dev/null
@@ -1 +0,0 @@
-9b6f095874e1ac542b37f925a223adb0 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__3.gif b/docs/module-doc/inherit__graph__3.gif
deleted file mode 100644
index 5c2a461da..000000000
--- a/docs/module-doc/inherit__graph__3.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__3.map b/docs/module-doc/inherit__graph__3.map
deleted file mode 100644
index 750f8121b..000000000
--- a/docs/module-doc/inherit__graph__3.map
+++ /dev/null
@@ -1,32 +0,0 @@
-base referer
-rect $classclassbase.html 8,412 88,439
-rect $classAdmin.html 167,7 228,33
-rect $classConfigReader.html 146,57 250,84
-rect $classConnectClass.html 146,108 250,135
-rect $classExtensible.html 156,159 239,185
-rect $classExtMode.html 160,209 235,236
-rect $classFileReader.html 154,260 242,287
-rect $classHostItem.html 160,311 235,337
-rect $classInvited.html 167,361 228,388
-rect $classModeParameter.html 139,412 256,439
-rect $classModule.html 164,463 231,489
-rect $classModuleFactory.html 143,513 252,540
-rect $classModuleMessage.html 138,564 258,591
-rect $classServer.html 167,615 228,641
-rect $classServerConfig.html 147,665 248,692
-rect $classucrec.html 171,716 224,743
-rect $classVersion.html 164,767 231,793
-rect $classXLine.html 170,817 226,844
-rect $classchanrec.html 319,133 388,160
-rect $classconnection.html 311,184 396,211
-rect $classuserrec.html 450,184 516,211
-rect $classBanItem.html 318,260 390,287
-rect $classExemptItem.html 307,311 400,337
-rect $classInviteItem.html 314,361 394,388
-rect $classEvent.html 326,539 382,565
-rect $classRequest.html 318,589 390,616
-rect $classELine.html 326,716 382,743
-rect $classGLine.html 324,767 383,793
-rect $classKLine.html 326,817 382,844
-rect $classQLine.html 324,868 383,895
-rect $classZLine.html 326,919 382,945
diff --git a/docs/module-doc/inherit__graph__3.md5 b/docs/module-doc/inherit__graph__3.md5
deleted file mode 100644
index 2b3aa861f..000000000
--- a/docs/module-doc/inherit__graph__3.md5
+++ /dev/null
@@ -1 +0,0 @@
-8b70355902672fcff82486b7fba0d379 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__4.gif b/docs/module-doc/inherit__graph__4.gif
deleted file mode 100644
index 57fb274d5..000000000
--- a/docs/module-doc/inherit__graph__4.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__4.map b/docs/module-doc/inherit__graph__4.map
deleted file mode 100644
index 0d7b60b2b..000000000
--- a/docs/module-doc/inherit__graph__4.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $classcommand__t.html 8,7 99,33
-rect $classcmd__mode.html 149,7 237,33
diff --git a/docs/module-doc/inherit__graph__4.md5 b/docs/module-doc/inherit__graph__4.md5
deleted file mode 100644
index 97c80f0e2..000000000
--- a/docs/module-doc/inherit__graph__4.md5
+++ /dev/null
@@ -1 +0,0 @@
-3dde6dbafbcda9e1b64a7ed5d68e5a93 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__5.gif b/docs/module-doc/inherit__graph__5.gif
deleted file mode 100644
index 1d3c8d177..000000000
--- a/docs/module-doc/inherit__graph__5.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__5.map b/docs/module-doc/inherit__graph__5.map
deleted file mode 100644
index 286852f67..000000000
--- a/docs/module-doc/inherit__graph__5.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classCullItem.html 7,7 79,33
diff --git a/docs/module-doc/inherit__graph__5.md5 b/docs/module-doc/inherit__graph__5.md5
deleted file mode 100644
index c6ff1cc7d..000000000
--- a/docs/module-doc/inherit__graph__5.md5
+++ /dev/null
@@ -1 +0,0 @@
-04d1a5175492509e76bb27f8c708e6ac \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__6.gif b/docs/module-doc/inherit__graph__6.gif
deleted file mode 100644
index 8c7af2d72..000000000
--- a/docs/module-doc/inherit__graph__6.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__6.map b/docs/module-doc/inherit__graph__6.map
deleted file mode 100644
index 1b2802457..000000000
--- a/docs/module-doc/inherit__graph__6.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classCullList.html 7,7 73,33
diff --git a/docs/module-doc/inherit__graph__6.md5 b/docs/module-doc/inherit__graph__6.md5
deleted file mode 100644
index df7340bb1..000000000
--- a/docs/module-doc/inherit__graph__6.md5
+++ /dev/null
@@ -1 +0,0 @@
-fc7a10efd1ef64cd67f77b97165cd78b \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__7.gif b/docs/module-doc/inherit__graph__7.gif
deleted file mode 100644
index b55141572..000000000
--- a/docs/module-doc/inherit__graph__7.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__7.map b/docs/module-doc/inherit__graph__7.map
deleted file mode 100644
index 56a3b7703..000000000
--- a/docs/module-doc/inherit__graph__7.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classDNS.html 7,7 57,33
diff --git a/docs/module-doc/inherit__graph__7.md5 b/docs/module-doc/inherit__graph__7.md5
deleted file mode 100644
index 3644e817a..000000000
--- a/docs/module-doc/inherit__graph__7.md5
+++ /dev/null
@@ -1 +0,0 @@
-d39d1604b95cefdfc240566a784bc1e0 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__8.gif b/docs/module-doc/inherit__graph__8.gif
deleted file mode 100644
index f657b86ad..000000000
--- a/docs/module-doc/inherit__graph__8.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__8.map b/docs/module-doc/inherit__graph__8.map
deleted file mode 100644
index 37bcc6048..000000000
--- a/docs/module-doc/inherit__graph__8.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $structdns__ip4list.html 7,7 92,33
diff --git a/docs/module-doc/inherit__graph__8.md5 b/docs/module-doc/inherit__graph__8.md5
deleted file mode 100644
index a570a57e1..000000000
--- a/docs/module-doc/inherit__graph__8.md5
+++ /dev/null
@@ -1 +0,0 @@
-f91f9b746cbe9764b077e0f96e3d53c0 \ No newline at end of file
diff --git a/docs/module-doc/inherit__graph__9.gif b/docs/module-doc/inherit__graph__9.gif
deleted file mode 100644
index 0f004ad81..000000000
--- a/docs/module-doc/inherit__graph__9.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inherit__graph__9.map b/docs/module-doc/inherit__graph__9.map
deleted file mode 100644
index ac2c9ebe9..000000000
--- a/docs/module-doc/inherit__graph__9.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classInspIRCd.html 7,7 84,33
diff --git a/docs/module-doc/inherit__graph__9.md5 b/docs/module-doc/inherit__graph__9.md5
deleted file mode 100644
index d6b0d6c87..000000000
--- a/docs/module-doc/inherit__graph__9.md5
+++ /dev/null
@@ -1 +0,0 @@
-027440a4e7d81cbfbc813d6bda090a43 \ No newline at end of file
diff --git a/docs/module-doc/inherits.html b/docs/module-doc/inherits.html
deleted file mode 100644
index 78508977d..000000000
--- a/docs/module-doc/inherits.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<!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: Graphical Class Hierarchy</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>InspIRCd Graphical Class Hierarchy</h1><a href="hierarchy.html">Go to the textual class hierarchy</a>
-<p>
-<table border="0" cellspacing="10" cellpadding="0">
-<tr><td><img src="inherit__graph__0.gif" border="0" alt="" usemap="#AES_map">
-<map name="AES_map">
-<area href="classAES.html" shape="rect" coords="7,7,57,33" alt="">
-</map></td></tr>
-<tr><td><img src="inherit__graph__1.gif" border="0" alt="" usemap="#BoolSet_map">
-<map name="BoolSet_map">
-<area href="classBoolSet.html" shape="rect" coords="7,7,76,33" alt="">
-</map></td></tr>
-<tr><td><img src="inherit__graph__2.gif" border="0" alt="" usemap="#char__traits_map">
-<map name="char__traits_map">
-<area href="classstd_1_1char__traits.html" shape="rect" coords="8,7,91,33" alt="">
-<area href="structirc_1_1irc__char__traits.html" shape="rect" coords="140,7,268,33" alt="">
-</map></td></tr>
-<tr><td><img src="inherit__graph__3.gif" border="0" alt="" usemap="#classbase_map">
-<map name="classbase_map">
-<area href="classclassbase.html" shape="rect" coords="8,412,88,439" alt="">
-<area href="classAdmin.html" shape="rect" coords="167,7,228,33" alt="">
-<area href="classConfigReader.html" shape="rect" coords="146,57,250,84" alt="">
-<area href="classConnectClass.html" shape="rect" coords="146,108,250,135" alt="">
-<area href="classExtensible.html" shape="rect" coords="156,159,239,185" alt="">
-<area href="classExtMode.html" shape="rect" coords="160,209,235,236" alt="">
-<area href="classFileReader.html" shape="rect" coords="154,260,242,287" alt="">
-<area href="classHostItem.html" shape="rect" coords="160,311,235,337" alt="">
-<area href="classInvited.html" shape="rect" coords="167,361,228,388" alt="">
-<area href="classModeParameter.html" shape="rect" coords="139,412,256,439" alt="">
-<area href="classModule.html" shape="rect" coords="164,463,231,489" alt="">
-<area href="classModuleFactory.html" shape="rect" coords="143,513,252,540" alt="">
-<area href="classModuleMessage.html" shape="rect" coords="138,564,258,591" alt="">
-<area href="classServer.html" shape="rect" coords="167,615,228,641" alt="">
-<area href="classServerConfig.html" shape="rect" coords="147,665,248,692" alt="">
-<area href="classucrec.html" shape="rect" coords="171,716,224,743" alt="">
-<area href="classVersion.html" shape="rect" coords="164,767,231,793" alt="">
-<area href="classXLine.html" shape="rect" coords="170,817,226,844" alt="">
-<area href="classchanrec.html" shape="rect" coords="319,133,388,160" alt="">
-<area href="classconnection.html" shape="rect" coords="311,184,396,211" alt="">
-<area href="classuserrec.html" shape="rect" coords="450,184,516,211" alt="">
-<area href="classBanItem.html" shape="rect" coords="318,260,390,287" alt="">
-<area href="classExemptItem.html" shape="rect" coords="307,311,400,337" alt="">
-<area href="classInviteItem.html" shape="rect" coords="314,361,394,388" alt="">
-<area href="classEvent.html" shape="rect" coords="326,539,382,565" alt="">
-<area href="classRequest.html" shape="rect" coords="318,589,390,616" alt="">
-<area href="classELine.html" shape="rect" coords="326,716,382,743" alt="">
-<area href="classGLine.html" shape="rect" coords="324,767,383,793" alt="">
-<area href="classKLine.html" shape="rect" coords="326,817,382,844" alt="">
-<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__4.gif" border="0" alt="" usemap="#command__t_map">
-<map name="command__t_map">
-<area href="classcommand__t.html" shape="rect" coords="8,7,99,33" alt="">
-<area href="classcmd__mode.html" shape="rect" coords="149,7,237,33" alt="">
-</map></td></tr>
-<tr><td><img src="inherit__graph__5.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__6.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__7.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__8.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__9.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__10.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__11.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__12.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__13.gif" border="0" alt="" usemap="#ModeParser_map">
-<map name="ModeParser_map">
-<area href="classModeParser.html" shape="rect" coords="8,7,101,33" alt="">
-</map></td></tr>
-<tr><td><img src="inherit__graph__14.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__15.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__16.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__17.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__18.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 Mon Dec 19 18:05:24 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/inspircd.doxygen.css b/docs/module-doc/inspircd.doxygen.css
deleted file mode 100644
index 24a825b40..000000000
--- a/docs/module-doc/inspircd.doxygen.css
+++ /dev/null
@@ -1,315 +0,0 @@
-BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
- font-family: Geneva, Arial, Helvetica, sans-serif;
-}
-BODY,TD {
- font-size: 90%;
-}
-H1 {
- text-align: center;
- font-size: 160%;
-}
-H2 {
- font-size: 120%;
-}
-H3 {
- font-size: 100%;
-}
-CAPTION { font-weight: bold }
-DIV.qindex {
- width: 100%;
- background-color: #e0e0e0;
- border: 1px solid #202020;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.nav {
- width: 100%;
- background-color: #e0e0e0;
- border: 1px solid #202020;
- text-align: center;
- margin: 2px;
- padding: 2px;
- line-height: 140%;
-}
-DIV.navtab {
- background-color: #e0e0e0;
- border: 1px solid #202020;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-TD.navtab {
- font-size: 70%;
-}
-A.qindex {
- text-decoration: none;
- font-weight: bold;
- color: #404040;
-}
-A.qindex:visited {
- text-decoration: none;
- font-weight: bold;
- color: #404040
-}
-A.qindex:hover {
- text-decoration: none;
- background-color: #A3A4B9;
-}
-A.qindexHL {
- text-decoration: none;
- font-weight: bold;
- background-color: #6E6E76;
- color: #ffffff;
- border: 1px double #A1A3B1;
-}
-A.qindexHL:hover {
- text-decoration: none;
- background-color: #6E6E76;
- color: #ffffff;
-}
-A.qindexHL:visited { text-decoration: none; background-color: #6E6E76; color: #ffffff }
-A.el { text-decoration: none; font-weight: bold }
-A.elRef { font-weight: bold }
-A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
-A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
-A.codeRef:link { font-weight: normal; color: #0000FF}
-A.codeRef:visited { font-weight: normal; color: #0000FF}
-A:hover { text-decoration: none; background-color: #f2f2ff }
-DL.el { margin-left: -1cm }
-.fragment {
- font-family: Fixed, monospace;
- font-size: 95%;
-}
-PRE.fragment {
- border: 1px solid #CCCCCC;
- background-color: #f5f5f5;
- margin-top: 4px;
- margin-bottom: 4px;
- margin-left: 2px;
- margin-right: 8px;
- padding-left: 6px;
- padding-right: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
-TD.md { background-color: #F4F4FB; font-weight: bold; }
-TD.mdPrefix {
- background-color: #F4F4FB;
- color: #606060;
- font-size: 80%;
-}
-TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }
-TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }
-DIV.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }
-BODY {
- background: white;
- color: black;
- margin-right: 20px;
- margin-left: 20px;
-}
-TD.indexkey {
- background-color: #eeeeff;
- font-weight: bold;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TD.indexvalue {
- background-color: #eeeeff;
- font-style: italic;
- padding-right : 10px;
- padding-top : 2px;
- padding-left : 10px;
- padding-bottom : 2px;
- margin-left : 0px;
- margin-right : 0px;
- margin-top : 2px;
- margin-bottom : 2px;
- border: 1px solid #CCCCCC;
-}
-TR.memlist {
- background-color: #f0f0f0;
-}
-P.formulaDsp { text-align: center; }
-IMG.formulaDsp { }
-IMG.formulaInl { vertical-align: middle; }
-SPAN.keyword { color: #008000 }
-SPAN.keywordtype { color: #604020 }
-SPAN.keywordflow { color: #e08000 }
-SPAN.comment { color: #800000 }
-SPAN.preprocessor { color: #806020 }
-SPAN.stringliteral { color: #002080 }
-SPAN.charliteral { color: #008080 }
-.mdTable {
- border: 1px solid #868686;
- background-color: #F4F4FB;
-}
-.mdRow {
- padding: 8px 10px;
-}
-.mdescLeft {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.mdescRight {
- padding: 0px 8px 4px 8px;
- font-size: 80%;
- font-style: italic;
- background-color: #FAFAFA;
- border-top: 1px none #E0E0E0;
- border-right: 1px none #E0E0E0;
- border-bottom: 1px none #E0E0E0;
- border-left: 1px none #E0E0E0;
- margin: 0px;
-}
-.memItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemLeft {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplItemRight {
- padding: 1px 8px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: none;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.memTemplParams {
- padding: 1px 0px 0px 8px;
- margin: 4px;
- border-top-width: 1px;
- border-right-width: 1px;
- border-bottom-width: 1px;
- border-left-width: 1px;
- border-top-color: #E0E0E0;
- border-right-color: #E0E0E0;
- border-bottom-color: #E0E0E0;
- border-left-color: #E0E0E0;
- border-top-style: solid;
- border-right-style: none;
- border-bottom-style: none;
- border-left-style: none;
- color: #606060;
- background-color: #FAFAFA;
- font-size: 80%;
-}
-.search { color: #003399;
- font-weight: bold;
-}
-FORM.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-INPUT.search { font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #eeeeff;
-}
-TD.tiny { font-size: 75%;
-}
-a {
- color: #000000;
-}
-a:visited {
- color: #000000;
-}
-a:active {
- color: #000000;
-}
-a:hover {
- color: #000000;
-}
-.dirtab { padding: 4px;
- border-collapse: collapse;
- border: 1px solid #b0b0b0;
-}
-TH.dirtab { background: #eeeeff;
- font-weight: bold;
-}
-HR { height: 1px;
- border: none;
- border-top: 1px solid black;
-}
diff --git a/docs/module-doc/inspircd_8h-source.html b/docs/module-doc/inspircd_8h-source.html
deleted file mode 100644
index 7ef6b8649..000000000
--- a/docs/module-doc/inspircd_8h-source.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!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: inspircd.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>inspircd.h</h1><a href="inspircd_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-2004 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 __INSPIRCD_H__</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __INSPIRCD_H__</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;signal.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;time.h&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;netdb.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;string.h&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;errno.h&gt;</span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00030"></a>00030
-<a name="l00031"></a>00031 <span class="preprocessor">#ifndef _LINUX_C_LIB_VERSION</span>
-<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;sys/stat.h&gt;</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#endif</span>
-<a name="l00036"></a>00036 <span class="preprocessor"></span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include &lt;arpa/inet.h&gt;</span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00039"></a>00039 <span class="preprocessor">#include &lt;deque&gt;</span>
-<a name="l00040"></a>00040
-<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="inspircd__io_8h.html">inspircd_io.h</a>"</span>
-<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
-<a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
-<a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="socket_8h.html">socket.h</a>"</span>
-<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="mode_8h.html">mode.h</a>"</span>
-<a name="l00046"></a>00046 <span class="preprocessor">#include "<a class="code" href="socketengine_8h.html">socketengine.h</a>"</span>
-<a name="l00047"></a>00047 <span class="preprocessor">#include "command_parse.h"</span>
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049 <span class="comment">// some misc defines</span>
-<a name="l00050"></a>00050
-<a name="l00051"></a><a class="code" href="inspircd_8h.html#ERROR">00051</a> <span class="preprocessor">#define ERROR -1</span>
-<a name="l00052"></a><a class="code" href="inspircd_8h.html#TRUE">00052</a> <span class="preprocessor"></span><span class="preprocessor">#define TRUE 1</span>
-<a name="l00053"></a><a class="code" href="inspircd_8h.html#FALSE">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define FALSE 0</span>
-<a name="l00054"></a><a class="code" href="inspircd_8h.html#MAXSOCKS">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define MAXSOCKS 64</span>
-<a name="l00055"></a><a class="code" href="inspircd_8h.html#MAXCOMMAND">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define MAXCOMMAND 32</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00057"></a>00057 <span class="comment">/*</span>
-<a name="l00058"></a>00058 <span class="comment">flags for use with WriteMode</span>
-<a name="l00059"></a>00059 <span class="comment"></span>
-<a name="l00060"></a>00060 <span class="comment">#define WM_AND 1</span>
-<a name="l00061"></a>00061 <span class="comment">#define WM_OR 2</span>
-<a name="l00062"></a>00062 <span class="comment"></span>
-<a name="l00063"></a>00063 <span class="comment">flags for use with OnUserPreMessage and OnUserPreNotice</span>
-<a name="l00064"></a>00064 <span class="comment"></span>
-<a name="l00065"></a>00065 <span class="comment">#define TYPE_USER 1</span>
-<a name="l00066"></a>00066 <span class="comment">#define TYPE_CHANNEL 2</span>
-<a name="l00067"></a>00067 <span class="comment">#define TYPE_SERVER 3</span>
-<a name="l00068"></a>00068 <span class="comment"></span>
-<a name="l00069"></a>00069 <span class="comment">#define IS_LOCAL(x) (x-&gt;fd &gt; -1)</span>
-<a name="l00070"></a>00070 <span class="comment">#define IS_REMOTE(x) (x-&gt;fd &lt; 0)</span>
-<a name="l00071"></a>00071 <span class="comment">#define IS_MODULE_CREATED(x) (x-&gt;fd == FD_MAGIC_NUMBER)</span>
-<a name="l00072"></a>00072 <span class="comment">*/</span>
-<a name="l00073"></a>00073
-<a name="l00074"></a><a class="code" href="classserverstats.html">00074</a> <span class="keyword">class </span><a class="code" href="classserverstats.html">serverstats</a>
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keyword">public</span>:
-<a name="l00077"></a><a class="code" href="classserverstats.html#statsAccept">00077</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsAccept">statsAccept</a>;
-<a name="l00078"></a><a class="code" href="classserverstats.html#statsRefused">00078</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsRefused">statsRefused</a>;
-<a name="l00079"></a><a class="code" href="classserverstats.html#statsUnknown">00079</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsUnknown">statsUnknown</a>;
-<a name="l00080"></a><a class="code" href="classserverstats.html#statsCollisions">00080</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a>;
-<a name="l00081"></a><a class="code" href="classserverstats.html#statsDns">00081</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsDns">statsDns</a>;
-<a name="l00082"></a><a class="code" href="classserverstats.html#statsDnsGood">00082</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsDnsGood">statsDnsGood</a>;
-<a name="l00083"></a><a class="code" href="classserverstats.html#statsDnsBad">00083</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsDnsBad">statsDnsBad</a>;
-<a name="l00084"></a><a class="code" href="classserverstats.html#statsConnects">00084</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsConnects">statsConnects</a>;
-<a name="l00085"></a><a class="code" href="classserverstats.html#statsSent">00085</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsSent">statsSent</a>;
-<a name="l00086"></a><a class="code" href="classserverstats.html#statsRecv">00086</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#statsRecv">statsRecv</a>;
-<a name="l00087"></a><a class="code" href="classserverstats.html#BoundPortCount">00087</a> <span class="keywordtype">int</span> <a class="code" href="classserverstats.html#BoundPortCount">BoundPortCount</a>;
-<a name="l00088"></a>00088
-<a name="l00089"></a><a class="code" href="classserverstats.html#serverstats_28_29">00089</a> <a class="code" href="classserverstats.html#serverstats_28_29">serverstats</a>()
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 <a class="code" href="classserverstats.html#statsAccept">statsAccept</a> = <a class="code" href="classserverstats.html#statsRefused">statsRefused</a> = <a class="code" href="classserverstats.html#statsUnknown">statsUnknown</a> = 0;
-<a name="l00092"></a>00092 <a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a> = <a class="code" href="classserverstats.html#statsDns">statsDns</a> = <a class="code" href="classserverstats.html#statsDnsGood">statsDnsGood</a> = 0;
-<a name="l00093"></a>00093 <a class="code" href="classserverstats.html#statsDnsBad">statsDnsBad</a> = <a class="code" href="classserverstats.html#statsConnects">statsConnects</a> = <a class="code" href="classserverstats.html#statsSent">statsSent</a> = <a class="code" href="classserverstats.html#statsRecv">statsRecv</a> = 0;
-<a name="l00094"></a>00094 <a class="code" href="classserverstats.html#BoundPortCount">BoundPortCount</a> = 0;
-<a name="l00095"></a>00095 }
-<a name="l00096"></a>00096 };
-<a name="l00097"></a>00097
-<a name="l00098"></a>00098
-<a name="l00099"></a><a class="code" href="classInspIRCd.html">00099</a> <span class="keyword">class </span><a class="code" href="classInspIRCd.html">InspIRCd</a>
-<a name="l00100"></a>00100 {
-<a name="l00101"></a>00101
-<a name="l00102"></a>00102 <span class="keyword">private</span>:
-<a name="l00103"></a><a class="code" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">00103</a> <span class="keywordtype">char</span> <a class="code" href="classInspIRCd.html#MODERR_5BMAXBUF_5D">MODERR</a>[MAXBUF];
-<a name="l00104"></a>00104 <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="l00105"></a>00105 <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="l00106"></a>00106
-<a name="l00107"></a>00107 <span class="keyword">public</span>:
-<a name="l00108"></a><a class="code" href="classInspIRCd.html#startup_5Ftime">00108</a> time_t <a class="code" href="classInspIRCd.html#startup_5Ftime">startup_time</a>;
-<a name="l00109"></a><a class="code" href="classInspIRCd.html#ModeGrok">00109</a> <a class="code" href="classModeParser.html">ModeParser</a>* <a class="code" href="classInspIRCd.html#ModeGrok">ModeGrok</a>;
-<a name="l00110"></a><a class="code" href="classInspIRCd.html#Parser">00110</a> CommandParser* <a class="code" href="classInspIRCd.html#Parser">Parser</a>;
-<a name="l00111"></a><a class="code" href="classInspIRCd.html#SE">00111</a> <a class="code" href="classSocketEngine.html">SocketEngine</a>* <a class="code" href="classInspIRCd.html#SE">SE</a>;
-<a name="l00112"></a><a class="code" href="classInspIRCd.html#stats">00112</a> <a class="code" href="classserverstats.html">serverstats</a>* <a class="code" href="classInspIRCd.html#stats">stats</a>;
-<a name="l00113"></a>00113
-<a name="l00114"></a>00114 <span class="keywordtype">void</span> <a class="code" href="classInspIRCd.html#MakeLowerMap_28_29">MakeLowerMap</a>();
-<a name="l00115"></a>00115 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspIRCd.html#GetRevision_28_29">GetRevision</a>();
-<a name="l00116"></a>00116 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspIRCd.html#GetVersionString_28_29">GetVersionString</a>();
-<a name="l00117"></a>00117 <span class="keywordtype">char</span>* <a class="code" href="classInspIRCd.html#ModuleError_28_29">ModuleError</a>();
-<a name="l00118"></a>00118 <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="l00119"></a>00119 <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="l00120"></a>00120 <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="l00121"></a>00121 <span class="keywordtype">int</span> <a class="code" href="classInspIRCd.html#Run_28_29">Run</a>();
-<a name="l00122"></a>00122
-<a name="l00123"></a>00123 };
-<a name="l00124"></a>00124
-<a name="l00125"></a>00125 <span class="comment">/* userrec optimization stuff */</span>
-<a name="l00126"></a>00126 <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="l00127"></a>00127 <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="l00128"></a>00128
-<a name="l00129"></a>00129 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/inspircd_8h.html b/docs/module-doc/inspircd_8h.html
deleted file mode 100644
index 99429bc8c..000000000
--- a/docs/module-doc/inspircd_8h.html
+++ /dev/null
@@ -1,274 +0,0 @@
-<!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: inspircd.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>inspircd.h File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;stdio.h&gt;</code><br>
-<code>#include &lt;unistd.h&gt;</code><br>
-<code>#include &lt;signal.h&gt;</code><br>
-<code>#include &lt;time.h&gt;</code><br>
-<code>#include &lt;netdb.h&gt;</code><br>
-<code>#include &lt;string.h&gt;</code><br>
-<code>#include &lt;errno.h&gt;</code><br>
-<code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include &lt;sys/socket.h&gt;</code><br>
-<code>#include &lt;sys/stat.h&gt;</code><br>
-<code>#include &lt;netinet/in.h&gt;</code><br>
-<code>#include &lt;arpa/inet.h&gt;</code><br>
-<code>#include &lt;deque&gt;</code><br>
-<code>#include &quot;<a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>&quot;</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>
-<code>#include &quot;<a class="el" href="socket_8h-source.html">socket.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="mode_8h-source.html">mode.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="socketengine_8h-source.html">socketengine.h</a>&quot;</code><br>
-<code>#include &quot;command_parse.h&quot;</code><br>
-
-<p>
-Include dependency graph for inspircd.h:<p><center><img src="inspircd_8h__incl.gif" border="0" usemap="#inspircd.h_map" alt=""></center>
-<map name="inspircd.h_map">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="153,442,249,468" alt="">
-<area href="users_8h-source.html" shape="rect" coords="332,290,396,316" alt="">
-<area href="channels_8h-source.html" shape="rect" coords="461,188,547,215" alt="">
-<area href="socket_8h-source.html" shape="rect" coords="165,644,237,671" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="168,290,235,316" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="145,492,257,519" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="inspircd_8h__dep__incl.gif" border="0" usemap="#inspircd.hdep_map" alt=""></center>
-<map name="inspircd.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="308,57,407,84" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="308,133,407,160" alt="">
-<area href="socket_8cpp-source.html" shape="rect" coords="315,209,400,236" alt="">
-<area href="socketengine_8cpp-source.html" shape="rect" coords="295,336,420,363" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="318,260,398,287" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="143,57,239,84" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="135,260,247,287" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="148,108,234,135" alt="">
-<area href="userprocess_8h-source.html" shape="rect" coords="139,412,243,439" alt="">
-</map>
-
-<p>
-<a href="inspircd_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="classserverstats.html">serverstats</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInspIRCd.html">InspIRCd</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#ERROR">ERROR</a>&nbsp;&nbsp;&nbsp;-1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#TRUE">TRUE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#FALSE">FALSE</a>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#MAXSOCKS">MAXSOCKS</a>&nbsp;&nbsp;&nbsp;64</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd_8h.html#MAXCOMMAND">MAXCOMMAND</a>&nbsp;&nbsp;&nbsp;32</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></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#AddServerName_28std_3A_3Astring_20servername_29">AddServerName</a> (<a class="el" href="namespaceirc.html#string">std::string</a> servername)</td></tr>
-
-<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>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="ERROR"></a><!-- doxytag: member="inspircd.h::ERROR" ref="ERROR" 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">#define ERROR&nbsp;&nbsp;&nbsp;-1 </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#l00051">51</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket::InspSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FALSE"></a><!-- doxytag: member="inspircd.h::FALSE" ref="FALSE" 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">#define FALSE&nbsp;&nbsp;&nbsp;0 </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#l00053">53</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MAXCOMMAND"></a><!-- doxytag: member="inspircd.h::MAXCOMMAND" ref="MAXCOMMAND" 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">#define MAXCOMMAND&nbsp;&nbsp;&nbsp;32 </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#l00055">55</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MAXSOCKS"></a><!-- doxytag: member="inspircd.h::MAXSOCKS" ref="MAXSOCKS" 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">#define MAXSOCKS&nbsp;&nbsp;&nbsp;64 </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#l00054">54</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="TRUE"></a><!-- doxytag: member="inspircd.h::TRUE" ref="TRUE" 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">#define TRUE&nbsp;&nbsp;&nbsp;1 </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#l00052">52</a> of file <a class="el" href="inspircd_8h-source.html">inspircd.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="AddServerName_28std_3A_3Astring_20servername_29"></a><!-- doxytag: member="inspircd.h::AddServerName" ref="AddServerName_28std_3A_3Astring_20servername_29" args="(std::string servername)" --><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 AddServerName </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>servername</em> </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="FindServerNamePtr_28std_3A_3Astring_20servername_29"></a><!-- doxytag: member="inspircd.h::FindServerNamePtr" ref="FindServerNamePtr_28std_3A_3Astring_20servername_29" args="(std::string servername)" --><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">const char* FindServerNamePtr </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>servername</em> </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="users_8cpp-source.html#l00524">AddClient()</a>, and <a class="el" href="users_8cpp-source.html#l00063">userrec::userrec()</a>. </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/inspircd_8h__dep__incl.gif b/docs/module-doc/inspircd_8h__dep__incl.gif
deleted file mode 100644
index 2c276626e..000000000
--- a/docs/module-doc/inspircd_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inspircd_8h__dep__incl.map b/docs/module-doc/inspircd_8h__dep__incl.map
deleted file mode 100644
index 178f5356d..000000000
--- a/docs/module-doc/inspircd_8h__dep__incl.map
+++ /dev/null
@@ -1,10 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 308,57 407,84
-rect $modules_8cpp-source.html 308,133 407,160
-rect $socket_8cpp-source.html 315,209 400,236
-rect $socketengine_8cpp-source.html 295,336 420,363
-rect $users_8cpp-source.html 318,260 398,287
-rect $inspircd__io_8h-source.html 143,57 239,84
-rect $socketengine_8h-source.html 135,260 247,287
-rect $typedefs_8h-source.html 148,108 234,135
-rect $userprocess_8h-source.html 139,412 243,439
diff --git a/docs/module-doc/inspircd_8h__dep__incl.md5 b/docs/module-doc/inspircd_8h__dep__incl.md5
deleted file mode 100644
index adcc670cb..000000000
--- a/docs/module-doc/inspircd_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-ad3d11c83e25465927be164f7731df76 \ No newline at end of file
diff --git a/docs/module-doc/inspircd_8h__incl.gif b/docs/module-doc/inspircd_8h__incl.gif
deleted file mode 100644
index a86c8b53e..000000000
--- a/docs/module-doc/inspircd_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inspircd_8h__incl.map b/docs/module-doc/inspircd_8h__incl.map
deleted file mode 100644
index 94b220b67..000000000
--- a/docs/module-doc/inspircd_8h__incl.map
+++ /dev/null
@@ -1,7 +0,0 @@
-base referer
-rect $inspircd__io_8h-source.html 153,442 249,468
-rect $users_8h-source.html 332,290 396,316
-rect $channels_8h-source.html 461,188 547,215
-rect $socket_8h-source.html 165,644 237,671
-rect $mode_8h-source.html 168,290 235,316
-rect $socketengine_8h-source.html 145,492 257,519
diff --git a/docs/module-doc/inspircd_8h__incl.md5 b/docs/module-doc/inspircd_8h__incl.md5
deleted file mode 100644
index 7aeb9ace0..000000000
--- a/docs/module-doc/inspircd_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-c78ac143e7cad9df2d2ae01b74f98cc9 \ No newline at end of file
diff --git a/docs/module-doc/inspircd__io_8h-source.html b/docs/module-doc/inspircd__io_8h-source.html
deleted file mode 100644
index eaeea6b9b..000000000
--- a/docs/module-doc/inspircd__io_8h-source.html
+++ /dev/null
@@ -1,163 +0,0 @@
-<!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: inspircd_io.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>inspircd_io.h</h1><a href="inspircd__io_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 __INSPIRCD_IO_H__</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __INSPIRCD_IO_H__</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="globals_8h.html">globals.h</a>"</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="modules_8h.html">modules.h</a>"</span>
-<a name="l00026"></a>00026
-<a name="l00029"></a><a class="code" href="inspircd__io_8h.html#DEBUG">00029</a> <span class="preprocessor">#define DEBUG 10</span>
-<a name="l00030"></a><a class="code" href="inspircd__io_8h.html#VERBOSE">00030</a> <span class="preprocessor"></span><span class="preprocessor">#define VERBOSE 20</span>
-<a name="l00031"></a><a class="code" href="inspircd__io_8h.html#DEFAULT">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define DEFAULT 30</span>
-<a name="l00032"></a><a class="code" href="inspircd__io_8h.html#SPARSE">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define SPARSE 40</span>
-<a name="l00033"></a><a class="code" href="inspircd__io_8h.html#NONE">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define NONE 50</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span>
-<a name="l00040"></a><a class="code" href="classServerConfig.html">00040</a> <span class="keyword">class </span><a class="code" href="classServerConfig.html">ServerConfig</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00041"></a>00041 {
-<a name="l00042"></a>00042 <span class="keyword">private</span>:
-<a name="l00048"></a><a class="code" href="classServerConfig.html#include_5Fstack">00048</a> std::vector&lt;std::string&gt; <a class="code" href="classServerConfig.html#include_5Fstack">include_stack</a>;
-<a name="l00049"></a>00049
-<a name="l00056"></a>00056 <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#fgets_5Fsafe_28char_20_2Abuffer_2C_20size_5Ft_20maxsize_2C_20FILE_20_2A_26file_29">fgets_safe</a>(<span class="keywordtype">char</span>* buffer, size_t maxsize, FILE* &amp;file);
-<a name="l00057"></a>00057
-<a name="l00062"></a>00062 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServerConfig.html#ConfProcess_28char_20_2Abuffer_2C_20long_20linenumber_2C_20std_3A_3Astringstream_20_2Aerrorstream_2C_20bool_20_26error_2C_20std_3A_3Astring_20filename_29">ConfProcess</a>(<span class="keywordtype">char</span>* buffer, <span class="keywordtype">long</span> linenumber, std::stringstream* errorstream, <span class="keywordtype">bool</span> &amp;error, <a class="code" href="namespaceirc.html#string">std::string</a> filename);
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keyword">public</span>:
-<a name="l00065"></a>00065
-<a name="l00069"></a><a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">00069</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>[MAXBUF];
-<a name="l00070"></a>00070
-<a name="l00071"></a>00071 <span class="comment">/* Holds the network name the local server</span>
-<a name="l00072"></a>00072 <span class="comment"> * belongs to. This is an arbitary field defined</span>
-<a name="l00073"></a>00073 <span class="comment"> * by the administrator.</span>
-<a name="l00074"></a>00074 <span class="comment"> */</span>
-<a name="l00075"></a><a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">00075</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>[MAXBUF];
-<a name="l00076"></a>00076
-<a name="l00080"></a><a class="code" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">00080</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a>[MAXBUF];
-<a name="l00081"></a>00081
-<a name="l00085"></a><a class="code" href="classServerConfig.html#AdminName_5BMAXBUF_5D">00085</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#AdminName_5BMAXBUF_5D">AdminName</a>[MAXBUF];
-<a name="l00086"></a>00086
-<a name="l00090"></a><a class="code" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">00090</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#AdminEmail_5BMAXBUF_5D">AdminEmail</a>[MAXBUF];
-<a name="l00091"></a>00091
-<a name="l00095"></a><a class="code" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">00095</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#AdminNick_5BMAXBUF_5D">AdminNick</a>[MAXBUF];
-<a name="l00096"></a>00096
-<a name="l00099"></a><a class="code" href="classServerConfig.html#diepass_5BMAXBUF_5D">00099</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#diepass_5BMAXBUF_5D">diepass</a>[MAXBUF];
-<a name="l00100"></a>00100
-<a name="l00103"></a><a class="code" href="classServerConfig.html#restartpass_5BMAXBUF_5D">00103</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#restartpass_5BMAXBUF_5D">restartpass</a>[MAXBUF];
-<a name="l00104"></a>00104
-<a name="l00108"></a><a class="code" href="classServerConfig.html#motd_5BMAXBUF_5D">00108</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#motd_5BMAXBUF_5D">motd</a>[MAXBUF];
-<a name="l00109"></a>00109
-<a name="l00113"></a><a class="code" href="classServerConfig.html#rules_5BMAXBUF_5D">00113</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#rules_5BMAXBUF_5D">rules</a>[MAXBUF];
-<a name="l00114"></a>00114
-<a name="l00117"></a><a class="code" href="classServerConfig.html#PrefixQuit_5BMAXBUF_5D">00117</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#PrefixQuit_5BMAXBUF_5D">PrefixQuit</a>[MAXBUF];
-<a name="l00118"></a>00118
-<a name="l00122"></a><a class="code" href="classServerConfig.html#DieValue_5BMAXBUF_5D">00122</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#DieValue_5BMAXBUF_5D">DieValue</a>[MAXBUF];
-<a name="l00123"></a>00123
-<a name="l00126"></a><a class="code" href="classServerConfig.html#DNSServer_5BMAXBUF_5D">00126</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#DNSServer_5BMAXBUF_5D">DNSServer</a>[MAXBUF];
-<a name="l00127"></a>00127
-<a name="l00132"></a><a class="code" href="classServerConfig.html#DisabledCommands_5BMAXBUF_5D">00132</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#DisabledCommands_5BMAXBUF_5D">DisabledCommands</a>[MAXBUF];
-<a name="l00133"></a>00133
-<a name="l00139"></a><a class="code" href="classServerConfig.html#ModPath_5B_31_30_32_34_5D">00139</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#ModPath_5B_31_30_32_34_5D">ModPath</a>[1024];
-<a name="l00140"></a>00140
-<a name="l00144"></a><a class="code" href="classServerConfig.html#MyExecutable_5B_31_30_32_34_5D">00144</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#MyExecutable_5B_31_30_32_34_5D">MyExecutable</a>[1024];
-<a name="l00145"></a>00145
-<a name="l00152"></a><a class="code" href="classServerConfig.html#log_5Ffile">00152</a> FILE *<a class="code" href="classServerConfig.html#log_5Ffile">log_file</a>;
-<a name="l00153"></a>00153
-<a name="l00159"></a><a class="code" href="classServerConfig.html#nofork">00159</a> <span class="keywordtype">bool</span> <a class="code" href="classServerConfig.html#nofork">nofork</a>;
-<a name="l00160"></a>00160
-<a name="l00167"></a><a class="code" href="classServerConfig.html#unlimitcore">00167</a> <span class="keywordtype">bool</span> <a class="code" href="classServerConfig.html#unlimitcore">unlimitcore</a>;
-<a name="l00168"></a>00168
-<a name="l00172"></a><a class="code" href="classServerConfig.html#AllowHalfop">00172</a> <span class="keywordtype">bool</span> <a class="code" href="classServerConfig.html#AllowHalfop">AllowHalfop</a>;
-<a name="l00173"></a>00173
-<a name="l00177"></a><a class="code" href="classServerConfig.html#dns_5Ftimeout">00177</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a>;
-<a name="l00178"></a>00178
-<a name="l00183"></a><a class="code" href="classServerConfig.html#NetBufferSize">00183</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#NetBufferSize">NetBufferSize</a>;
-<a name="l00184"></a>00184
-<a name="l00188"></a><a class="code" href="classServerConfig.html#MaxConn">00188</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#MaxConn">MaxConn</a>;
-<a name="l00189"></a>00189
-<a name="l00194"></a><a class="code" href="classServerConfig.html#SoftLimit">00194</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#SoftLimit">SoftLimit</a>;
-<a name="l00195"></a>00195
-<a name="l00199"></a><a class="code" href="classServerConfig.html#MaxWhoResults">00199</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#MaxWhoResults">MaxWhoResults</a>;
-<a name="l00200"></a>00200
-<a name="l00203"></a><a class="code" href="classServerConfig.html#debugging">00203</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#debugging">debugging</a>;
-<a name="l00204"></a>00204
-<a name="l00207"></a><a class="code" href="classServerConfig.html#LogLevel">00207</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#LogLevel">LogLevel</a>;
-<a name="l00208"></a>00208
-<a name="l00212"></a><a class="code" href="classServerConfig.html#DieDelay">00212</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#DieDelay">DieDelay</a>;
-<a name="l00213"></a>00213
-<a name="l00217"></a><a class="code" href="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">00217</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#addrs_5BMAXBUF_5D_5B_32_35_35_5D">addrs</a>[MAXBUF][255];
-<a name="l00218"></a>00218
-<a name="l00221"></a><a class="code" href="classServerConfig.html#MOTD">00221</a> <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> <a class="code" href="classServerConfig.html#MOTD">MOTD</a>;
-<a name="l00222"></a>00222
-<a name="l00225"></a><a class="code" href="classServerConfig.html#RULES">00225</a> <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> <a class="code" href="classServerConfig.html#RULES">RULES</a>;
-<a name="l00226"></a>00226
-<a name="l00230"></a><a class="code" href="classServerConfig.html#PID_5B_31_30_32_34_5D">00230</a> <span class="keywordtype">char</span> <a class="code" href="classServerConfig.html#PID_5B_31_30_32_34_5D">PID</a>[1024];
-<a name="l00231"></a>00231
-<a name="l00239"></a><a class="code" href="classServerConfig.html#config_5Ff">00239</a> std::stringstream <a class="code" href="classServerConfig.html#config_5Ff">config_f</a>;
-<a name="l00240"></a>00240
-<a name="l00243"></a><a class="code" href="classServerConfig.html#Classes">00243</a> <a class="code" href="users_8h.html#ClassVector">ClassVector</a> <a class="code" href="classServerConfig.html#Classes">Classes</a>;
-<a name="l00244"></a>00244
-<a name="l00248"></a><a class="code" href="classServerConfig.html#module_5Fnames">00248</a> std::vector&lt;std::string&gt; <a class="code" href="classServerConfig.html#module_5Fnames">module_names</a>;
-<a name="l00249"></a>00249
-<a name="l00252"></a><a class="code" href="classServerConfig.html#ports_5B_32_35_35_5D">00252</a> <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#ports_5B_32_35_35_5D">ports</a>[255];
-<a name="l00253"></a>00253
-<a name="l00256"></a><a class="code" href="classServerConfig.html#IOHookModule">00256</a> std::map&lt;int,Module*&gt; <a class="code" href="classServerConfig.html#IOHookModule">IOHookModule</a>;
-<a name="l00257"></a>00257
-<a name="l00258"></a>00258 <a class="code" href="classServerConfig.html#ServerConfig_28_29">ServerConfig</a>();
-<a name="l00259"></a>00259
-<a name="l00263"></a>00263 <span class="keywordtype">void</span> <a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00264"></a>00264
-<a name="l00269"></a>00269 <span class="keywordtype">void</span> <a class="code" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read</a>(<span class="keywordtype">bool</span> bail, <a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00270"></a>00270
-<a name="l00271"></a>00271 <span class="keywordtype">bool</span> <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>(<span class="keyword">const</span> <span class="keywordtype">char</span>* filename, std::stringstream *target, std::stringstream* errorstream);
-<a name="l00272"></a>00272 <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="keywordtype">char</span>* tag, <span class="keywordtype">char</span>* var, <span class="keywordtype">int</span> index, <span class="keywordtype">char</span> *result, std::stringstream *config);
-<a name="l00273"></a>00273 <span class="keywordtype">int</span> <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>(std::stringstream *<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>,<span class="keyword">const</span> <span class="keywordtype">char</span>* tag, <span class="keyword">const</span> <span class="keywordtype">char</span>* var, <span class="keywordtype">int</span> index, <span class="keywordtype">char</span> *result);
-<a name="l00274"></a>00274 <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#ConfValueEnum_28char_20_2Atag_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValueEnum</a>(<span class="keywordtype">char</span>* tag,std::stringstream *config);
-<a name="l00275"></a>00275 <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#EnumConf_28std_3A_3Astringstream_20_2Aconfig_5Ff_2C_20const_20char_20_2Atag_29">EnumConf</a>(std::stringstream *<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>,<span class="keyword">const</span> <span class="keywordtype">char</span>* tag);
-<a name="l00276"></a>00276 <span class="keywordtype">int</span> <a class="code" href="classServerConfig.html#EnumValues_28std_3A_3Astringstream_20_2Aconfig_2C_20const_20char_20_2Atag_2C_20int_20index_29">EnumValues</a>(std::stringstream *config, <span class="keyword">const</span> <span class="keywordtype">char</span>* tag, <span class="keywordtype">int</span> index);
-<a name="l00277"></a>00277 <a class="code" href="classModule.html">Module</a>* <a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(<span class="keywordtype">int</span> port);
-<a name="l00278"></a>00278 <span class="keywordtype">bool</span> <a class="code" href="classServerConfig.html#AddIOHook_28int_20port_2C_20Module_20_2Aiomod_29">AddIOHook</a>(<span class="keywordtype">int</span> port, <a class="code" href="classModule.html">Module</a>* iomod);
-<a name="l00279"></a>00279 <span class="keywordtype">bool</span> <a class="code" href="classServerConfig.html#DelIOHook_28int_20port_29">DelIOHook</a>(<span class="keywordtype">int</span> port);
-<a name="l00280"></a>00280 };
-<a name="l00281"></a>00281
-<a name="l00282"></a>00282
-<a name="l00283"></a>00283 <span class="keywordtype">void</span> <a class="code" href="inspircd__io_8h.html#Exit_28int_29">Exit</a> (<span class="keywordtype">int</span>);
-<a name="l00284"></a>00284 <span class="keywordtype">void</span> <a class="code" href="inspircd__io_8h.html#Start_28void_29">Start</a> (<span class="keywordtype">void</span>);
-<a name="l00285"></a>00285 <span class="keywordtype">int</span> <a class="code" href="inspircd__io_8h.html#DaemonSeed_28void_29">DaemonSeed</a> (<span class="keywordtype">void</span>);
-<a name="l00286"></a>00286 <span class="keywordtype">bool</span> <a class="code" href="inspircd__io_8h.html#FileExists_28const_20char_20_2Afile_29">FileExists</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* file);
-<a name="l00287"></a>00287 <span class="keywordtype">int</span> <a class="code" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">OpenTCPSocket</a> (<span class="keywordtype">void</span>);
-<a name="l00288"></a>00288 <span class="keywordtype">int</span> <a class="code" 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">BindSocket</a> (<span class="keywordtype">int</span> sockfd, <span class="keyword">struct</span> sockaddr_in client, <span class="keyword">struct</span> sockaddr_in server, <span class="keywordtype">int</span> port, <span class="keywordtype">char</span>* addr);
-<a name="l00289"></a>00289 <span class="keywordtype">void</span> <a class="code" href="inspircd__io_8h.html#WritePID_28std_3A_3Astring_20filename_29">WritePID</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename);
-<a name="l00290"></a>00290 <span class="keywordtype">int</span> <a class="code" href="inspircd__io_8h.html#BindPorts_28_29">BindPorts</a>();
-<a name="l00291"></a>00291
-<a name="l00292"></a>00292 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/inspircd__io_8h.html b/docs/module-doc/inspircd__io_8h.html
deleted file mode 100644
index dd5b720c0..000000000
--- a/docs/module-doc/inspircd__io_8h.html
+++ /dev/null
@@ -1,467 +0,0 @@
-<!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: inspircd_io.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>inspircd_io.h File Reference</h1><code>#include &lt;sstream&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;vector&gt;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="globals_8h-source.html">globals.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="modules_8h-source.html">modules.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for inspircd_io.h:<p><center><img src="inspircd__io_8h__incl.gif" border="0" usemap="#inspircd_io.h_map" alt=""></center>
-<map name="inspircd_io.h_map">
-<area href="inspircd_8h-source.html" shape="rect" coords="156,209,236,236" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="159,159,234,185" alt="">
-<area href="modules_8h-source.html" shape="rect" coords="155,57,238,84" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="inspircd__io_8h__dep__incl.gif" border="0" usemap="#inspircd_io.hdep_map" alt=""></center>
-<map name="inspircd_io.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="455,58,553,84" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="455,235,553,262" alt="">
-<area href="socket_8cpp-source.html" shape="rect" coords="461,463,547,490" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="153,286,233,312" alt="">
-<area href="socketengine_8cpp-source.html" shape="rect" coords="441,387,567,414" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="464,311,544,338" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="281,362,393,388" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="295,260,380,287" alt="">
-<area href="userprocess_8h-source.html" shape="rect" coords="285,159,389,186" alt="">
-</map>
-
-<p>
-<a href="inspircd__io_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="classServerConfig.html">ServerConfig</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class holds the bulk of the runtime configuration for the ircd. <a href="classServerConfig.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#DEBUG">DEBUG</a>&nbsp;&nbsp;&nbsp;10</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for use with <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>. <a href="#DEBUG"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#VERBOSE">VERBOSE</a>&nbsp;&nbsp;&nbsp;20</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#DEFAULT">DEFAULT</a>&nbsp;&nbsp;&nbsp;30</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#SPARSE">SPARSE</a>&nbsp;&nbsp;&nbsp;40</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#NONE">NONE</a>&nbsp;&nbsp;&nbsp;50</td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#Exit_28int_29">Exit</a> (int)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#Start_28void_29">Start</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#DaemonSeed_28void_29">DaemonSeed</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#FileExists_28const_20char_20_2Afile_29">FileExists</a> (const char *file)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">OpenTCPSocket</a> (void)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><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">BindSocket</a> (int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char *addr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#WritePID_28std_3A_3Astring_20filename_29">WritePID</a> (<a class="el" href="namespaceirc.html#string">std::string</a> filename)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="inspircd__io_8h.html#BindPorts_28_29">BindPorts</a> ()</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="DEBUG"></a><!-- doxytag: member="inspircd_io.h::DEBUG" ref="DEBUG" 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">#define DEBUG&nbsp;&nbsp;&nbsp;10 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Flags for use with <a class="el" href="globals_8h.html#log_28int_20level_2C_20char_20_2Atext_2C_2E_2E_2E_29">log()</a>.
-<p>
-
-<p>
-Definition at line <a class="el" href="inspircd__io_8h-source.html#l00029">29</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#l00194">add_channel()</a>, <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="modules_8cpp-source.html#l00555">Server::AddExtendedMode()</a>, <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="users_8cpp-source.html#l00330">AddOper()</a>, <a class="el" href="channels_8cpp-source.html#l00166">chanrec::AddUser()</a>, <a class="el" href="users_8cpp-source.html#l00471">AddWhoWas()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, <a class="el" href="users_8cpp-source.html#l00336">DeleteOper()</a>, <a class="el" href="socketengine_8cpp-source.html#l00103">SocketEngine::DelFd()</a>, <a class="el" href="channels_8cpp-source.html#l00172">chanrec::DelUser()</a>, <a class="el" href="channels_8cpp-source.html#l00372">ForceChan()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="socket_8cpp-source.html#l00059">InspSocket::InspSocket()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, <a class="el" href="socket_8cpp-source.html#l00155">InspSocket::Read()</a>, <a class="el" href="users_8cpp-source.html#l00743">ReHashNick()</a>, <a class="el" href="users_8cpp-source.html#l00148">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00085">chanrec::SetCustomMode()</a>, <a class="el" href="channels_8cpp-source.html#l00110">chanrec::SetCustomModeParam()</a>, <a class="el" href="socket_8cpp-source.html#l00247">InspSocket::SetState()</a>, <a class="el" href="users_8cpp-source.html#l00317">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>
-<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">#define DEFAULT&nbsp;&nbsp;&nbsp;30 </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__io_8h-source.html#l00031">31</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#l00194">add_channel()</a>, <a class="el" href="channels_8cpp-source.html#l00401">del_channel()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="NONE"></a><!-- doxytag: member="inspircd_io.h::NONE" ref="NONE" 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">#define NONE&nbsp;&nbsp;&nbsp;50 </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__io_8h-source.html#l00033">33</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="SPARSE"></a><!-- doxytag: member="inspircd_io.h::SPARSE" ref="SPARSE" 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">#define SPARSE&nbsp;&nbsp;&nbsp;40 </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__io_8h-source.html#l00032">32</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="VERBOSE"></a><!-- doxytag: member="inspircd_io.h::VERBOSE" ref="VERBOSE" 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">#define VERBOSE&nbsp;&nbsp;&nbsp;20 </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__io_8h-source.html#l00030">30</a> of file <a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="BindPorts_28_29"></a><!-- doxytag: member="inspircd_io.h::BindPorts" ref="BindPorts_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 BindPorts </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="BindSocket_28int_20sockfd_2C_20struct_20sockaddr_5Fin_20client_2C_20struct_20sockaddr_5Fin_20server_2C_20int_20port_2C_20char_20_2Aaddr_29"></a><!-- doxytag: member="inspircd_io.h::BindSocket" ref="BindSocket_28int_20sockfd_2C_20struct_20sockaddr_5Fin_20client_2C_20struct_20sockaddr_5Fin_20server_2C_20int_20port_2C_20char_20_2Aaddr_29" args="(int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char *addr)" --><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 BindSocket </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>sockfd</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>struct sockaddr_in&nbsp;</td>
- <td class="mdname" nowrap> <em>client</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>struct sockaddr_in&nbsp;</td>
- <td class="mdname" nowrap> <em>server</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>port</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>addr</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>
-
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00059">InspSocket::InspSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="DaemonSeed_28void_29"></a><!-- doxytag: member="inspircd_io.h::DaemonSeed" ref="DaemonSeed_28void_29" args="(void)" --><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 DaemonSeed </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&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="Exit_28int_29"></a><!-- doxytag: member="inspircd_io.h::Exit" ref="Exit_28int_29" args="(int)" --><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 Exit </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&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="FileExists_28const_20char_20_2Afile_29"></a><!-- doxytag: member="inspircd_io.h::FileExists" ref="FileExists_28const_20char_20_2Afile_29" args="(const char *file)" --><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">bool FileExists </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>file</em> </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="OpenTCPSocket_28void_29"></a><!-- doxytag: member="inspircd_io.h::OpenTCPSocket" ref="OpenTCPSocket_28void_29" args="(void)" --><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 OpenTCPSocket </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&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="socket_8cpp-source.html#l00059">InspSocket::InspSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="Start_28void_29"></a><!-- doxytag: member="inspircd_io.h::Start" ref="Start_28void_29" args="(void)" --><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 Start </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">void&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="WritePID_28std_3A_3Astring_20filename_29"></a><!-- doxytag: member="inspircd_io.h::WritePID" ref="WritePID_28std_3A_3Astring_20filename_29" args="(std::string filename)" --><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 WritePID </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">std::string</a>&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>filename</em> </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>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/inspircd__io_8h__dep__incl.gif b/docs/module-doc/inspircd__io_8h__dep__incl.gif
deleted file mode 100644
index 9b7d71947..000000000
--- a/docs/module-doc/inspircd__io_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inspircd__io_8h__dep__incl.map b/docs/module-doc/inspircd__io_8h__dep__incl.map
deleted file mode 100644
index 5f7a6c3f7..000000000
--- a/docs/module-doc/inspircd__io_8h__dep__incl.map
+++ /dev/null
@@ -1,10 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 455,58 553,84
-rect $modules_8cpp-source.html 455,235 553,262
-rect $socket_8cpp-source.html 461,463 547,490
-rect $inspircd_8h-source.html 153,286 233,312
-rect $socketengine_8cpp-source.html 441,387 567,414
-rect $users_8cpp-source.html 464,311 544,338
-rect $socketengine_8h-source.html 281,362 393,388
-rect $typedefs_8h-source.html 295,260 380,287
-rect $userprocess_8h-source.html 285,159 389,186
diff --git a/docs/module-doc/inspircd__io_8h__dep__incl.md5 b/docs/module-doc/inspircd__io_8h__dep__incl.md5
deleted file mode 100644
index d32608fc2..000000000
--- a/docs/module-doc/inspircd__io_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-f69ba85152f09a6ee03d3d86a8d8993d \ No newline at end of file
diff --git a/docs/module-doc/inspircd__io_8h__incl.gif b/docs/module-doc/inspircd__io_8h__incl.gif
deleted file mode 100644
index 7addcea98..000000000
--- a/docs/module-doc/inspircd__io_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/inspircd__io_8h__incl.map b/docs/module-doc/inspircd__io_8h__incl.map
deleted file mode 100644
index 37dd7fbc2..000000000
--- a/docs/module-doc/inspircd__io_8h__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $inspircd_8h-source.html 156,209 236,236
-rect $globals_8h-source.html 159,159 234,185
-rect $modules_8h-source.html 155,57 238,84
diff --git a/docs/module-doc/inspircd__io_8h__incl.md5 b/docs/module-doc/inspircd__io_8h__incl.md5
deleted file mode 100644
index ba3286ffc..000000000
--- a/docs/module-doc/inspircd__io_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-c18e01279feebe46cef6ba0a08a63a37 \ No newline at end of file
diff --git a/docs/module-doc/main.html b/docs/module-doc/main.html
deleted file mode 100644
index 2128e3731..000000000
--- a/docs/module-doc/main.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!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: Main Page</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="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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/message_8h-source.html b/docs/module-doc/message_8h-source.html
deleted file mode 100644
index 0204492c6..000000000
--- a/docs/module-doc/message_8h-source.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!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: message.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>message.h</h1><a href="message_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-2004 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 __MESSAGE_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __MESSAGE_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="l00031"></a>00031 <span class="keywordtype">int</span> <a class="code" href="globals_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a>(<a class="code" href="classuserrec.html">userrec</a> *u, <a class="code" href="classuserrec.html">userrec</a> *u2);
-<a name="l00032"></a>00032 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#chop_28char_20_2Astr_29">chop</a>(<span class="keywordtype">char</span>* str);
-<a name="l00033"></a>00033 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#tidystring_28char_20_2Astr_29">tidystring</a>(<span class="keywordtype">char</span>* str);
-<a name="l00034"></a>00034 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#Blocking_28int_20s_29">Blocking</a>(<span class="keywordtype">int</span> s);
-<a name="l00035"></a>00035 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#NonBlocking_28int_20s_29">NonBlocking</a>(<span class="keywordtype">int</span> s);
-<a name="l00036"></a>00036 <span class="keywordtype">int</span> <a class="code" href="message_8h.html#CleanAndResolve_28char_20_2AresolvedHost_2C_20const_20char_20_2AunresolvedHost_29">CleanAndResolve</a> (<span class="keywordtype">char</span> *resolvedHost, <span class="keyword">const</span> <span class="keywordtype">char</span> *unresolvedHost);
-<a name="l00037"></a>00037 <span class="keywordtype">int</span> <a class="code" href="message_8h.html#c_5Fcount_28userrec_20_2Au_29">c_count</a>(<a class="code" href="classuserrec.html">userrec</a>* u);
-<a name="l00038"></a>00038 <span class="keywordtype">bool</span> <a class="code" href="message_8h.html#hasumode_28userrec_20_2Auser_2C_20char_20mode_29">hasumode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">char</span> mode);
-<a name="l00039"></a>00039 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keyword">const</span> <span class="keywordtype">char</span>* gecos);
-<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keyword">const</span> <span class="keywordtype">char</span>* host);
-<a name="l00041"></a>00041 <span class="keywordtype">int</span> <a class="code" href="message_8h.html#isident_28const_20char_20_2An_29">isident</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* n);
-<a name="l00042"></a>00042 <span class="keywordtype">int</span> <a class="code" href="globals_8h.html#isnick_28const_20char_20_2An_29">isnick</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* n);
-<a name="l00043"></a>00043 <span class="keywordtype">char</span>* <a class="code" href="globals_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a>(<a class="code" href="classuserrec.html">userrec</a> *user, <a class="code" href="classchanrec.html">chanrec</a> *chan);
-<a name="l00044"></a>00044 <span class="keywordtype">int</span> <a class="code" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a>(<a class="code" href="classuserrec.html">userrec</a> *user, <a class="code" href="classchanrec.html">chanrec</a> *chan);
-<a name="l00045"></a>00045 <span class="keywordtype">int</span> <a class="code" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a>(<a class="code" href="classuserrec.html">userrec</a> *u, <a class="code" href="classchanrec.html">chanrec</a> *c);
-<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#TidyBan_28char_20_2Aban_29">TidyBan</a>(<span class="keywordtype">char</span> *ban);
-<a name="l00047"></a>00047 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="message_8h.html#chlist_28userrec_20_2Auser_2C_20userrec_20_2Asource_29">chlist</a>(<a class="code" href="classuserrec.html">userrec</a> *user, <a class="code" href="classuserrec.html">userrec</a>* source);
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/message_8h.html b/docs/module-doc/message_8h.html
deleted file mode 100644
index 9e17c071c..000000000
--- a/docs/module-doc/message_8h.html
+++ /dev/null
@@ -1,684 +0,0 @@
-<!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: message.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>message.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 message.h:<p><center><img src="message_8h__incl.gif" border="0" usemap="#message.h_map" alt=""></center>
-<map name="message.h_map">
-<area href="users_8h-source.html" shape="rect" coords="148,260,212,287" alt="">
-<area href="channels_8h-source.html" shape="rect" coords="272,209,357,236" alt="">
-<area href="connection_8h-source.html" shape="rect" coords="265,412,364,439" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="268,311,361,337" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="message_8h__dep__incl.gif" border="0" usemap="#message.hdep_map" alt=""></center>
-<map name="message.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="144,7,243,33" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="144,57,243,84" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="154,108,234,135" alt="">
-</map>
-
-<p>
-<a href="message_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>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29">common_channels</a> (<a class="el" href="classuserrec.html">userrec</a> *u, <a class="el" href="classuserrec.html">userrec</a> *u2)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#chop_28char_20_2Astr_29">chop</a> (char *str)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#tidystring_28char_20_2Astr_29">tidystring</a> (char *str)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#Blocking_28int_20s_29">Blocking</a> (int s)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#NonBlocking_28int_20s_29">NonBlocking</a> (int s)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#CleanAndResolve_28char_20_2AresolvedHost_2C_20const_20char_20_2AunresolvedHost_29">CleanAndResolve</a> (char *resolvedHost, const char *unresolvedHost)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#c_5Fcount_28userrec_20_2Au_29">c_count</a> (<a class="el" href="classuserrec.html">userrec</a> *u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#hasumode_28userrec_20_2Auser_2C_20char_20mode_29">hasumode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, char mode)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#ChangeName_28userrec_20_2Auser_2C_20const_20char_20_2Agecos_29">ChangeName</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *gecos)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29">ChangeDisplayedHost</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *host)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#isident_28const_20char_20_2An_29">isident</a> (const char *n)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#isnick_28const_20char_20_2An_29">isnick</a> (const char *n)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cmode</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">cstatus</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classchanrec.html">chanrec</a> *chan)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29">has_channel</a> (<a class="el" href="classuserrec.html">userrec</a> *u, <a class="el" href="classchanrec.html">chanrec</a> *c)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#TidyBan_28char_20_2Aban_29">TidyBan</a> (char *ban)</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="message_8h.html#chlist_28userrec_20_2Auser_2C_20userrec_20_2Asource_29">chlist</a> (<a class="el" href="classuserrec.html">userrec</a> *user, <a class="el" href="classuserrec.html">userrec</a> *source)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="message_8h.html#send_5Fnetwork_5Fquit_28const_20char_20_2Anick_2C_20const_20char_20_2Areason_29">send_network_quit</a> (const char *nick, const char *reason)</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="Blocking_28int_20s_29"></a><!-- doxytag: member="message.h::Blocking" ref="Blocking_28int_20s_29" args="(int s)" --><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 Blocking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>s</em> </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="c_5Fcount_28userrec_20_2Au_29"></a><!-- doxytag: member="message.h::c_count" ref="c_5Fcount_28userrec_20_2Au_29" args="(userrec *u)" --><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 c_count </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="mdname1" valign="top" nowrap> <em>u</em> </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="ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29"></a><!-- doxytag: member="message.h::ChangeDisplayedHost" ref="ChangeDisplayedHost_28userrec_20_2Auser_2C_20const_20char_20_2Ahost_29" args="(userrec *user, const char *host)" --><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 ChangeDisplayedHost </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>host</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00493">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>
-<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 ChangeName </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>gecos</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00498">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>
-<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> chlist </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="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="chop_28char_20_2Astr_29"></a><!-- doxytag: member="message.h::chop" ref="chop_28char_20_2Astr_29" args="(char *str)" --><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 chop </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>str</em> </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="CleanAndResolve_28char_20_2AresolvedHost_2C_20const_20char_20_2AunresolvedHost_29"></a><!-- doxytag: member="message.h::CleanAndResolve" ref="CleanAndResolve_28char_20_2AresolvedHost_2C_20const_20char_20_2AunresolvedHost_29" args="(char *resolvedHost, const char *unresolvedHost)" --><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 CleanAndResolve </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>resolvedHost</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>unresolvedHost</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><!-- doxytag: member="message.h::cmode" ref="cmode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29" args="(userrec *user, chanrec *chan)" --><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* cmode </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29"></a><!-- doxytag: member="message.h::common_channels" ref="common_5Fchannels_28userrec_20_2Au_2C_20userrec_20_2Au_32_29" args="(userrec *u, userrec *u2)" --><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 common_channels </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="classuserrec.html">userrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>u2</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29"></a><!-- doxytag: member="message.h::cstatus" ref="cstatus_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29" args="(userrec *user, chanrec *chan)" --><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 cstatus </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>chan</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>
-
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29"></a><!-- doxytag: member="message.h::has_channel" ref="has_5Fchannel_28userrec_20_2Au_2C_20chanrec_20_2Ac_29" args="(userrec *u, chanrec *c)" --><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 has_channel </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="classchanrec.html">chanrec</a> *&nbsp;</td>
- <td class="mdname" nowrap> <em>c</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>
-
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="modules_8cpp-source.html#l00528">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>
-<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">bool hasumode </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>char&nbsp;</td>
- <td class="mdname" nowrap> <em>mode</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="isident_28const_20char_20_2An_29"></a><!-- doxytag: member="message.h::isident" ref="isident_28const_20char_20_2An_29" args="(const char *n)" --><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 isident </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>n</em> </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="isnick_28const_20char_20_2An_29"></a><!-- doxytag: member="message.h::isnick" ref="isnick_28const_20char_20_2An_29" args="(const char *n)" --><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 isnick </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>n</em> </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="NonBlocking_28int_20s_29"></a><!-- doxytag: member="message.h::NonBlocking" ref="NonBlocking_28int_20s_29" args="(int s)" --><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 NonBlocking </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>s</em> </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="send_5Fnetwork_5Fquit_28const_20char_20_2Anick_2C_20const_20char_20_2Areason_29"></a><!-- doxytag: member="message.h::send_network_quit" ref="send_5Fnetwork_5Fquit_28const_20char_20_2Anick_2C_20const_20char_20_2Areason_29" args="(const char *nick, const char *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 send_network_quit </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>nick</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="TidyBan_28char_20_2Aban_29"></a><!-- doxytag: member="message.h::TidyBan" ref="TidyBan_28char_20_2Aban_29" args="(char *ban)" --><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 TidyBan </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ban</em> </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="tidystring_28char_20_2Astr_29"></a><!-- doxytag: member="message.h::tidystring" ref="tidystring_28char_20_2Astr_29" args="(char *str)" --><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 tidystring </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>str</em> </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>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/message_8h__dep__incl.gif b/docs/module-doc/message_8h__dep__incl.gif
deleted file mode 100644
index af40a91ec..000000000
--- a/docs/module-doc/message_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/message_8h__dep__incl.map b/docs/module-doc/message_8h__dep__incl.map
deleted file mode 100644
index cdf27ce97..000000000
--- a/docs/module-doc/message_8h__dep__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 144,7 243,33
-rect $modules_8cpp-source.html 144,57 243,84
-rect $users_8cpp-source.html 154,108 234,135
diff --git a/docs/module-doc/message_8h__dep__incl.md5 b/docs/module-doc/message_8h__dep__incl.md5
deleted file mode 100644
index 9677d7a7c..000000000
--- a/docs/module-doc/message_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-2920c49d06760a3a8744ed87304dc5db \ No newline at end of file
diff --git a/docs/module-doc/message_8h__incl.gif b/docs/module-doc/message_8h__incl.gif
deleted file mode 100644
index 288c5cf3f..000000000
--- a/docs/module-doc/message_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/message_8h__incl.map b/docs/module-doc/message_8h__incl.map
deleted file mode 100644
index 5e825e450..000000000
--- a/docs/module-doc/message_8h__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $users_8h-source.html 148,260 212,287
-rect $channels_8h-source.html 272,209 357,236
-rect $connection_8h-source.html 265,412 364,439
-rect $hashcomp_8h-source.html 268,311 361,337
diff --git a/docs/module-doc/message_8h__incl.md5 b/docs/module-doc/message_8h__incl.md5
deleted file mode 100644
index 2d2990c8f..000000000
--- a/docs/module-doc/message_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-ea36c3bc5c3e318c0edcaea3bd1ee778 \ No newline at end of file
diff --git a/docs/module-doc/mode_8h-source.html b/docs/module-doc/mode_8h-source.html
deleted file mode 100644
index 1838ad1c7..000000000
--- a/docs/module-doc/mode_8h-source.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!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: mode.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>mode.h</h1><a href="mode_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 __MODE_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __MODE_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 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span>
-<a name="l00031"></a>00031
-<a name="l00032"></a><a class="code" href="classModeParser.html">00032</a> <span class="keyword">class </span><a class="code" href="classModeParser.html">ModeParser</a>
-<a name="l00033"></a>00033 {
-<a name="l00034"></a>00034 <span class="keyword">private</span>:
-<a name="l00035"></a>00035 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#GiveOps_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">GiveOps</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00036"></a>00036 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#GiveHops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">GiveHops</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00037"></a>00037 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#GiveVoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">GiveVoice</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00038"></a>00038 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#TakeOps_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">TakeOps</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00039"></a>00039 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#TakeHops_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">TakeHops</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00040"></a>00040 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#TakeVoice_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">TakeVoice</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00041"></a>00041 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#AddBan_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">AddBan</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00042"></a>00042 <span class="keywordtype">char</span>* <a class="code" href="classModeParser.html#TakeBan_28userrec_20_2Auser_2C_20char_20_2Adest_2C_20chanrec_20_2Achan_2C_20int_20status_29">TakeBan</a>(<a class="code" href="classuserrec.html">userrec</a> *user,<span class="keywordtype">char</span> *dest,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status);
-<a name="l00043"></a>00043 <span class="keyword">public</span>:
-<a name="l00044"></a>00044 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classModeParser.html#CompressModes_28std_3A_3Astring_20modes_2C_20bool_20channelmodes_29">CompressModes</a>(<a class="code" href="namespaceirc.html#string">std::string</a> modes,<span class="keywordtype">bool</span> channelmodes);
-<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="classModeParser.html#ProcessModes_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">ProcessModes</a>(<span class="keywordtype">char</span> **parameters,<a class="code" href="classuserrec.html">userrec</a>* user,<a class="code" href="classchanrec.html">chanrec</a> *chan,<span class="keywordtype">int</span> status, <span class="keywordtype">int</span> pcnt, <span class="keywordtype">bool</span> servermode, <span class="keywordtype">bool</span> silent, <span class="keywordtype">bool</span> local);
-<a name="l00046"></a>00046 <span class="keywordtype">bool</span> <a class="code" href="classModeParser.html#AllowedUmode_28char_20umode_2C_20char_20_2Asourcemodes_2C_20bool_20adding_2C_20bool_20serveroverride_29">AllowedUmode</a>(<span class="keywordtype">char</span> umode, <span class="keywordtype">char</span>* sourcemodes,<span class="keywordtype">bool</span> adding,<span class="keywordtype">bool</span> serveroverride);
-<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="classModeParser.html#ProcessModuleUmode_28char_20umode_2C_20userrec_20_2Asource_2C_20void_20_2Adest_2C_20bool_20adding_29">ProcessModuleUmode</a>(<span class="keywordtype">char</span> umode, <a class="code" href="classuserrec.html">userrec</a>* source, <span class="keywordtype">void</span>* dest, <span class="keywordtype">bool</span> adding);
-<a name="l00048"></a>00048 <span class="keywordtype">void</span> <a class="code" href="classModeParser.html#ServerMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">ServerMode</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00049"></a>00049 };
-<a name="l00050"></a>00050
-<a name="l00051"></a><a class="code" href="classcmd__mode.html">00051</a> <span class="keyword">class </span><a class="code" href="classcmd__mode.html">cmd_mode</a> : <span class="keyword">public</span> <a class="code" href="classcommand__t.html">command_t</a>
-<a name="l00052"></a>00052 {
-<a name="l00053"></a>00053 <span class="keyword">public</span>:
-<a name="l00054"></a><a class="code" href="classcmd__mode.html#cmd_5Fmode_28_29">00054</a> <a class="code" href="classcmd__mode.html#cmd_5Fmode_28_29">cmd_mode</a> () : <a class="code" href="classcommand__t.html">command_t</a>(<span class="stringliteral">"MODE"</span>,0,1) { }
-<a name="l00055"></a>00055 <span class="keywordtype">void</span> <a class="code" href="classcmd__mode.html#Handle_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Handle</a>(<span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00056"></a>00056 };
-<a name="l00057"></a>00057
-<a name="l00058"></a>00058 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/mode_8h.html b/docs/module-doc/mode_8h.html
deleted file mode 100644
index 01ac8157d..000000000
--- a/docs/module-doc/mode_8h.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!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: mode.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>mode.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>
-<code>#include &quot;<a class="el" href="ctables_8h-source.html">ctables.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for mode.h:<p><center><img src="mode_8h__incl.gif" border="0" usemap="#mode.h_map" alt=""></center>
-<map name="mode.h_map">
-<area href="users_8h-source.html" shape="rect" coords="128,311,192,337" alt="">
-<area href="channels_8h-source.html" shape="rect" coords="248,361,333,388" alt="">
-<area href="ctables_8h-source.html" shape="rect" coords="123,108,197,135" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="mode_8h__dep__incl.gif" border="0" usemap="#mode.hdep_map" alt=""></center>
-<map name="mode.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="423,108,521,135" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="423,210,521,236" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="121,286,201,312" alt="">
-<area href="socket_8cpp-source.html" shape="rect" coords="429,311,515,338" alt="">
-<area href="socketengine_8cpp-source.html" shape="rect" coords="409,438,535,464" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="432,362,512,388" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="257,159,353,186" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="249,362,361,388" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="263,210,348,236" alt="">
-<area href="userprocess_8h-source.html" shape="rect" coords="253,514,357,540" alt="">
-</map>
-
-<p>
-<a href="mode_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="classModeParser.html">ModeParser</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcmd__mode.html">cmd_mode</a></td></tr>
-
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/mode_8h__dep__incl.gif b/docs/module-doc/mode_8h__dep__incl.gif
deleted file mode 100644
index c6b18b5cb..000000000
--- a/docs/module-doc/mode_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/mode_8h__dep__incl.map b/docs/module-doc/mode_8h__dep__incl.map
deleted file mode 100644
index 0fbb16370..000000000
--- a/docs/module-doc/mode_8h__dep__incl.map
+++ /dev/null
@@ -1,11 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 423,108 521,135
-rect $modules_8cpp-source.html 423,210 521,236
-rect $inspircd_8h-source.html 121,286 201,312
-rect $socket_8cpp-source.html 429,311 515,338
-rect $socketengine_8cpp-source.html 409,438 535,464
-rect $users_8cpp-source.html 432,362 512,388
-rect $inspircd__io_8h-source.html 257,159 353,186
-rect $socketengine_8h-source.html 249,362 361,388
-rect $typedefs_8h-source.html 263,210 348,236
-rect $userprocess_8h-source.html 253,514 357,540
diff --git a/docs/module-doc/mode_8h__dep__incl.md5 b/docs/module-doc/mode_8h__dep__incl.md5
deleted file mode 100644
index 7141d3567..000000000
--- a/docs/module-doc/mode_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-a468254eb82a333e8e171f75c5a95c2c \ No newline at end of file
diff --git a/docs/module-doc/mode_8h__incl.gif b/docs/module-doc/mode_8h__incl.gif
deleted file mode 100644
index e9c7fb03a..000000000
--- a/docs/module-doc/mode_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/mode_8h__incl.map b/docs/module-doc/mode_8h__incl.map
deleted file mode 100644
index 5891ea4c1..000000000
--- a/docs/module-doc/mode_8h__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $users_8h-source.html 128,311 192,337
-rect $channels_8h-source.html 248,361 333,388
-rect $ctables_8h-source.html 123,108 197,135
diff --git a/docs/module-doc/mode_8h__incl.md5 b/docs/module-doc/mode_8h__incl.md5
deleted file mode 100644
index e109361fc..000000000
--- a/docs/module-doc/mode_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-65cc27648a712202e38cf2a89d5cde55 \ No newline at end of file
diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html
deleted file mode 100644
index a46eb0b6d..000000000
--- a/docs/module-doc/modules_8cpp-source.html
+++ /dev/null
@@ -1,950 +0,0 @@
-<!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: modules.cpp 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_000005.html">src</a></div>
-<h1>modules.cpp</h1><a href="modules_8cpp.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-2004 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="keyword">using</span> <span class="keyword">namespace </span>std;
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="inspircd__io_8h.html">inspircd_io.h</a>"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;sys/errno.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;time.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#ifdef GCC3</span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ext/hash_map&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#else</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#include &lt;hash_map&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#endif</span>
-<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="preprocessor">#include &lt;map&gt;</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include &lt;deque&gt;</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="globals_8h.html">globals.h</a>"</span>
-<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="modules_8h.html">modules.h</a>"</span>
-<a name="l00039"></a>00039 <span class="preprocessor">#include "dynamic.h"</span>
-<a name="l00040"></a>00040 <span class="preprocessor">#include "wildcard.h"</span>
-<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="message_8h.html">message.h</a>"</span>
-<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="mode_8h.html">mode.h</a>"</span>
-<a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="xline_8h.html">xline.h</a>"</span>
-<a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="commands_8h.html">commands.h</a>"</span>
-<a name="l00045"></a>00045 <span class="preprocessor">#include "inspstring.h"</span>
-<a name="l00046"></a>00046 <span class="preprocessor">#include "helperfuncs.h"</span>
-<a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="hashcomp_8h.html">hashcomp.h</a>"</span>
-<a name="l00048"></a>00048 <span class="preprocessor">#include "<a class="code" href="socket_8h.html">socket.h</a>"</span>
-<a name="l00049"></a>00049 <span class="preprocessor">#include "<a class="code" href="socketengine_8h.html">socketengine.h</a>"</span>
-<a name="l00050"></a>00050 <span class="preprocessor">#include "<a class="code" href="typedefs_8h.html">typedefs.h</a>"</span>
-<a name="l00051"></a>00051 <span class="preprocessor">#include "<a class="code" href="modules_8h.html">modules.h</a>"</span>
-<a name="l00052"></a>00052 <span class="preprocessor">#include "command_parse.h"</span>
-<a name="l00053"></a>00053
-<a name="l00054"></a>00054 <span class="keyword">extern</span> <a class="code" href="classServerConfig.html">ServerConfig</a> *<a class="code" href="channels_8cpp.html#Config">Config</a>;
-<a name="l00055"></a>00055 <span class="keyword">extern</span> <a class="code" href="classInspIRCd.html">InspIRCd</a>* <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>;
-<a name="l00056"></a>00056 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a>;
-<a name="l00057"></a>00057 <span class="keyword">extern</span> std::vector&lt;Module*&gt; <a class="code" href="channels_8cpp.html#modules">modules</a>;
-<a name="l00058"></a>00058 <span class="keyword">extern</span> std::vector&lt;ircd_module*&gt; <a class="code" href="channels_8cpp.html#factory">factory</a>;
-<a name="l00059"></a>00059 <span class="keyword">extern</span> std::vector&lt;InspSocket*&gt; <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>;
-<a name="l00060"></a>00060 <span class="keyword">extern</span> time_t <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00061"></a>00061 <span class="keyword">class </span><a class="code" href="classServer.html">Server</a>;
-<a name="l00062"></a>00062 <span class="keyword">extern</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[65536];
-<a name="l00063"></a>00063
-<a name="l00064"></a>00064 <span class="keyword">extern</span> <a class="code" href="typedefs_8h.html#user_5Fhash">user_hash</a> <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>;
-<a name="l00065"></a>00065 <span class="keyword">extern</span> <a class="code" href="typedefs_8h.html#chan_5Fhash">chan_hash</a> <a class="code" href="channels_8cpp.html#chanlist">chanlist</a>;
-<a name="l00066"></a>00066 <span class="keyword">extern</span> <a class="code" href="ctables_8h.html#command_5Ftable">command_table</a> <a class="code" href="modules_8cpp.html#cmdlist">cmdlist</a>;
-<a name="l00067"></a><a class="code" href="modules_8cpp.html#EMode">00067</a> <a class="code" href="typedefs_8h.html#ExtModeList">ExtModeList</a> <a class="code" href="modules_8cpp.html#EMode">EMode</a>;
-<a name="l00068"></a>00068
-<a name="l00069"></a>00069 <span class="comment">// returns true if an extended mode character is in use</span>
-<a name="l00070"></a><a class="code" href="modules_8h.html#ModeDefined_28char_20c_2C_20int_20i_29">00070</a> <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> modechar, <span class="keywordtype">int</span> type)
-<a name="l00071"></a>00071 {
-<a name="l00072"></a>00072 <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="l00073"></a>00073 {
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081
-<a name="l00082"></a><a class="code" href="modules_8h.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">00082</a> <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="l00083"></a>00083 {
-<a name="l00084"></a>00084 <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="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;list == <span class="keyword">true</span>))
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00092"></a>00092 }
-<a name="l00093"></a>00093
-<a name="l00094"></a><a class="code" href="modules_8h.html#ModeDefinedOper_28char_20c_2C_20int_20i_29">00094</a> <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> modechar, <span class="keywordtype">int</span> type)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <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="l00097"></a>00097 {
-<a name="l00098"></a>00098 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;needsoper == <span class="keyword">true</span>))
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00104"></a>00104 }
-<a name="l00105"></a>00105
-<a name="l00106"></a>00106 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
-<a name="l00107"></a><a class="code" href="modules_8h.html#ModeDefinedOn_28char_20c_2C_20int_20i_29">00107</a> <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> modechar, <span class="keywordtype">int</span> type)
-<a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 <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="l00110"></a>00110 {
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keywordflow">return</span> i-&gt;params_when_on;
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116 <span class="keywordflow">return</span> 0;
-<a name="l00117"></a>00117 }
-<a name="l00118"></a>00118
-<a name="l00119"></a>00119 <span class="comment">// returns number of parameters for a custom mode when it is switched on</span>
-<a name="l00120"></a><a class="code" href="modules_8h.html#ModeDefinedOff_28char_20c_2C_20int_20i_29">00120</a> <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> modechar, <span class="keywordtype">int</span> type)
-<a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 <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="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 <span class="keywordflow">return</span> i-&gt;params_when_off;
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129 <span class="keywordflow">return</span> 0;
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131
-<a name="l00132"></a>00132 <span class="comment">// returns true if an extended mode character is in use</span>
-<a name="l00133"></a><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">00133</a> <span class="keywordtype">bool</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>(<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_on, <span class="keywordtype">int</span> params_off)
-<a name="l00134"></a>00134 {
-<a name="l00135"></a>00135 <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="l00136"></a>00136 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 <a class="code" href="modules_8cpp.html#EMode">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,requires_oper,params_on,params_off));
-<a name="l00139"></a>00139 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00140"></a>00140 }
-<a name="l00141"></a>00141
-<a name="l00142"></a>00142 <span class="comment">// turns a mode into a listmode</span>
-<a name="l00143"></a><a class="code" href="modules_8h.html#ModeMakeList_28char_20modechar_29">00143</a> <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="l00144"></a>00144 {
-<a name="l00145"></a>00145 <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="l00146"></a>00146 {
-<a name="l00147"></a>00147 <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>))
-<a name="l00148"></a>00148 {
-<a name="l00149"></a>00149 i-&gt;list = <span class="keyword">true</span>;
-<a name="l00150"></a>00150 <span class="keywordflow">return</span>;
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152 }
-<a name="l00153"></a>00153 <span class="keywordflow">return</span>;
-<a name="l00154"></a>00154 }
-<a name="l00155"></a>00155
-<a name="l00156"></a>00156 <span class="comment">// version is a simple class for holding a modules version number</span>
-<a name="l00157"></a>00157
-<a name="l00158"></a><a class="code" href="classVersion.html#Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29">00158</a> <a class="code" href="classVersion.html#Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29">Version::Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build, <span class="keywordtype">int</span> flags) : Major(major), Minor(minor), Revision(revision), Build(build), Flags(flags) { };
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="comment">// admin is a simple class for holding a server's administrative info</span>
-<a name="l00161"></a>00161
-<a name="l00162"></a><a class="code" href="classAdmin.html#Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29">00162</a> <a class="code" href="classAdmin.html#Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29">Admin::Admin</a>(<a class="code" href="namespaceirc.html#string">std::string</a> name, <a class="code" href="namespaceirc.html#string">std::string</a> email, <a class="code" href="namespaceirc.html#string">std::string</a> nick) : Name(name), Email(email), Nick(nick) { };
-<a name="l00163"></a>00163
-<a name="l00164"></a><a class="code" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">00164</a> <a class="code" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request::Request</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, <a class="code" href="classModule.html">Module</a>* dst) : data(anydata), source(src), dest(dst) { };
-<a name="l00165"></a>00165
-<a name="l00166"></a><a class="code" href="classRequest.html#GetData_28_29">00166</a> <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#GetData_28_29">Request::GetData</a>()
-<a name="l00167"></a>00167 {
-<a name="l00168"></a>00168 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#data">data</a>;
-<a name="l00169"></a>00169 }
-<a name="l00170"></a>00170
-<a name="l00171"></a><a class="code" href="classRequest.html#GetSource_28_29">00171</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#GetSource_28_29">Request::GetSource</a>()
-<a name="l00172"></a>00172 {
-<a name="l00173"></a>00173 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#source">source</a>;
-<a name="l00174"></a>00174 }
-<a name="l00175"></a>00175
-<a name="l00176"></a><a class="code" href="classRequest.html#GetDest_28_29">00176</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#GetDest_28_29">Request::GetDest</a>()
-<a name="l00177"></a>00177 {
-<a name="l00178"></a>00178 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classRequest.html#dest">dest</a>;
-<a name="l00179"></a>00179 }
-<a name="l00180"></a>00180
-<a name="l00181"></a><a class="code" href="classRequest.html#Send_28_29">00181</a> <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#Send_28_29">Request::Send</a>()
-<a name="l00182"></a>00182 {
-<a name="l00183"></a>00183 <span class="keywordflow">if</span> (this-&gt;dest)
-<a name="l00184"></a>00184 {
-<a name="l00185"></a>00185 <span class="keywordflow">return</span> <a class="code" href="classRequest.html#dest">dest</a>-&gt;<a class="code" href="classModule.html#OnRequest_28Request_20_2Arequest_29">OnRequest</a>(<span class="keyword">this</span>);
-<a name="l00186"></a>00186 }
-<a name="l00187"></a>00187 <span class="keywordflow">else</span>
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 <span class="keywordflow">return</span> NULL;
-<a name="l00190"></a>00190 }
-<a name="l00191"></a>00191 }
-<a name="l00192"></a>00192
-<a name="l00193"></a><a class="code" href="classEvent.html#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29">00193</a> <a class="code" href="classEvent.html#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29">Event::Event</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, <a class="code" href="namespaceirc.html#string">std::string</a> eventid) : data(anydata), source(src), id(eventid) { };
-<a name="l00194"></a>00194
-<a name="l00195"></a><a class="code" href="classEvent.html#GetData_28_29">00195</a> <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#GetData_28_29">Event::GetData</a>()
-<a name="l00196"></a>00196 {
-<a name="l00197"></a>00197 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classEvent.html#data">data</a>;
-<a name="l00198"></a>00198 }
-<a name="l00199"></a>00199
-<a name="l00200"></a><a class="code" href="classEvent.html#GetSource_28_29">00200</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classEvent.html#GetSource_28_29">Event::GetSource</a>()
-<a name="l00201"></a>00201 {
-<a name="l00202"></a>00202 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classEvent.html#source">source</a>;
-<a name="l00203"></a>00203 }
-<a name="l00204"></a>00204
-<a name="l00205"></a><a class="code" href="classEvent.html#Send_28_29">00205</a> <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#Send_28_29">Event::Send</a>()
-<a name="l00206"></a>00206 {
-<a name="l00207"></a>00207 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnEvent(<span class="keyword">this</span>);
-<a name="l00208"></a>00208 <span class="keywordflow">return</span> NULL;
-<a name="l00209"></a>00209 }
-<a name="l00210"></a>00210
-<a name="l00211"></a><a class="code" href="classEvent.html#GetEventID_28_29">00211</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classEvent.html#GetEventID_28_29">Event::GetEventID</a>()
-<a name="l00212"></a>00212 {
-<a name="l00213"></a>00213 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classEvent.html#id">id</a>;
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215
-<a name="l00216"></a>00216
-<a name="l00217"></a>00217 <span class="comment">// These declarations define the behavours of the base class Module (which does nothing at all)</span>
-<a name="l00218"></a>00218
-<a name="l00219"></a><a class="code" href="classModule.html#Module_28Server_20_2AMe_29">00219</a> <a class="code" href="classModule.html#Module_28Server_20_2AMe_29">Module::Module</a>(<a class="code" href="classServer.html">Server</a>* Me) { }
-<a name="l00220"></a><a class="code" href="classModule.html#_7EModule_28_29">00220</a> <a class="code" href="classModule.html#_7EModule_28_29">Module::~Module</a>() { }
-<a name="l00221"></a><a class="code" href="classModule.html#OnUserConnect_28userrec_20_2Auser_29">00221</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserConnect_28userrec_20_2Auser_29">Module::OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
-<a name="l00222"></a><a class="code" href="classModule.html#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">00222</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">Module::OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> message) { }
-<a name="l00223"></a><a class="code" href="classModule.html#OnUserDisconnect_28userrec_20_2Auser_29">00223</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserDisconnect_28userrec_20_2Auser_29">Module::OnUserDisconnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { }
-<a name="l00224"></a><a class="code" href="classModule.html#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">00224</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">Module::OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
-<a name="l00225"></a><a class="code" href="classModule.html#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">00225</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">Module::OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel) { }
-<a name="l00226"></a><a class="code" href="classModule.html#OnRehash_28std_3A_3Astring_20parameter_29">00226</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRehash_28std_3A_3Astring_20parameter_29">Module::OnRehash</a>(<a class="code" href="namespaceirc.html#string">std::string</a> parameter) { }
-<a name="l00227"></a><a class="code" href="classModule.html#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29">00227</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29">Module::OnServerRaw</a>(<a class="code" href="namespaceirc.html#string">std::string</a> &amp;raw, <span class="keywordtype">bool</span> inbound, <a class="code" href="classuserrec.html">userrec</a>* user) { }
-<a name="l00228"></a><a class="code" href="classModule.html#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29">00228</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29">Module::OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname) { <span class="keywordflow">return</span> 0; }
-<a name="l00229"></a><a class="code" href="classModule.html#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29">00229</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29">Module::OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, <a class="code" href="modules_8h.html#string_5Flist">string_list</a> &amp;params) { <span class="keywordflow">return</span> <span class="keyword">false</span>; }
-<a name="l00230"></a><a class="code" href="classModule.html#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">00230</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module::OnMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* dest, <span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> text) { };
-<a name="l00231"></a><a class="code" href="classModule.html#GetVersion_28_29">00231</a> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#GetVersion_28_29">Module::GetVersion</a>() { <span class="keywordflow">return</span> <a class="code" href="classVersion.html">Version</a>(1,0,0,0,<a class="code" href="modules_8h.html#VF_5FVENDOR">VF_VENDOR</a>); }
-<a name="l00232"></a><a class="code" href="classModule.html#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29">00232</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29">Module::OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> opertype) { };
-<a name="l00233"></a><a class="code" href="classModule.html#OnInfo_28userrec_20_2Auser_29">00233</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnInfo_28userrec_20_2Auser_29">Module::OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
-<a name="l00234"></a><a class="code" href="classModule.html#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29">00234</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29">Module::OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest) { };
-<a name="l00235"></a><a class="code" href="classModule.html#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">00235</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">Module::OnUserPreInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel) { <span class="keywordflow">return</span> 0; };
-<a name="l00236"></a><a class="code" href="classModule.html#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">00236</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">Module::OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> &amp;text) { <span class="keywordflow">return</span> 0; };
-<a name="l00237"></a><a class="code" href="classModule.html#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">00237</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">Module::OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> &amp;text) { <span class="keywordflow">return</span> 0; };
-<a name="l00238"></a><a class="code" href="classModule.html#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29">00238</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29">Module::OnUserPreNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newnick) { <span class="keywordflow">return</span> 0; };
-<a name="l00239"></a><a class="code" href="classModule.html#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29">00239</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29">Module::OnUserPostNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> oldnick) { };
-<a name="l00240"></a><a class="code" href="classModule.html#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29">00240</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29">Module::OnAccessCheck</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel,<span class="keywordtype">int</span> access_type) { <span class="keywordflow">return</span> <a class="code" href="modules_8h.html#ACR_5FDEFAULT">ACR_DEFAULT</a>; };
-<a name="l00241"></a><a class="code" href="classModule.html#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29">00241</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29">Module::On005Numeric</a>(<a class="code" href="namespaceirc.html#string">std::string</a> &amp;output) { };
-<a name="l00242"></a><a class="code" href="classModule.html#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">00242</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">Module::OnKill</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> reason) { <span class="keywordflow">return</span> 0; };
-<a name="l00243"></a><a class="code" href="classModule.html#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">00243</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">Module::OnLoadModule</a>(<a class="code" href="classModule.html">Module</a>* mod,<a class="code" href="namespaceirc.html#string">std::string</a> name) { };
-<a name="l00244"></a><a class="code" href="classModule.html#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">00244</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">Module::OnUnloadModule</a>(<a class="code" href="classModule.html">Module</a>* mod,<a class="code" href="namespaceirc.html#string">std::string</a> name) { };
-<a name="l00245"></a><a class="code" href="classModule.html#OnBackgroundTimer_28time_5Ft_20curtime_29">00245</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnBackgroundTimer_28time_5Ft_20curtime_29">Module::OnBackgroundTimer</a>(time_t curtime) { };
-<a name="l00246"></a><a class="code" href="classModule.html#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29">00246</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29">Module::OnSendList</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel, <span class="keywordtype">char</span> mode) { };
-<a name="l00247"></a><a class="code" href="classModule.html#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00247</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">Module::OnPreCommand</a>(<a class="code" href="namespaceirc.html#string">std::string</a> command, <span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user) { <span class="keywordflow">return</span> 0; };
-<a name="l00248"></a><a class="code" href="classModule.html#OnCheckReady_28userrec_20_2Auser_29">00248</a> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#OnCheckReady_28userrec_20_2Auser_29">Module::OnCheckReady</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { <span class="keywordflow">return</span> <span class="keyword">true</span>; };
-<a name="l00249"></a><a class="code" href="classModule.html#OnUserRegister_28userrec_20_2Auser_29">00249</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserRegister_28userrec_20_2Auser_29">Module::OnUserRegister</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
-<a name="l00250"></a><a class="code" href="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">00250</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">Module::OnUserPreKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> reason) { <span class="keywordflow">return</span> 0; };
-<a name="l00251"></a><a class="code" href="classModule.html#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">00251</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">Module::OnUserKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> reason) { };
-<a name="l00252"></a><a class="code" href="classModule.html#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29">00252</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29">Module::OnRawMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> mode, <a class="code" href="namespaceirc.html#string">std::string</a> param, <span class="keywordtype">bool</span> adding, <span class="keywordtype">int</span> pcnt) { <span class="keywordflow">return</span> 0; };
-<a name="l00253"></a><a class="code" href="classModule.html#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">00253</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module::OnCheckInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan) { <span class="keywordflow">return</span> 0; };
-<a name="l00254"></a><a class="code" href="classModule.html#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29">00254</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29">Module::OnCheckKey</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> keygiven) { <span class="keywordflow">return</span> 0; };
-<a name="l00255"></a><a class="code" href="classModule.html#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">00255</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module::OnCheckLimit</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan) { <span class="keywordflow">return</span> 0; };
-<a name="l00256"></a><a class="code" href="classModule.html#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">00256</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">Module::OnCheckBan</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan) { <span class="keywordflow">return</span> 0; };
-<a name="l00257"></a><a class="code" href="classModule.html#OnStats_28char_20symbol_29">00257</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnStats_28char_20symbol_29">Module::OnStats</a>(<span class="keywordtype">char</span> symbol) { };
-<a name="l00258"></a><a class="code" href="classModule.html#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">00258</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module::OnChangeLocalUserHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newhost) { <span class="keywordflow">return</span> 0; };
-<a name="l00259"></a><a class="code" href="classModule.html#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">00259</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module::OnChangeLocalUserGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newhost) { <span class="keywordflow">return</span> 0; };
-<a name="l00260"></a><a class="code" href="classModule.html#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">00260</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">Module::OnLocalTopicChange</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> topic) { <span class="keywordflow">return</span> 0; };
-<a name="l00261"></a><a class="code" href="classModule.html#OnEvent_28Event_20_2Aevent_29">00261</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnEvent_28Event_20_2Aevent_29">Module::OnEvent</a>(<a class="code" href="classEvent.html">Event</a>* event) { <span class="keywordflow">return</span>; };
-<a name="l00262"></a><a class="code" href="classModule.html#OnRequest_28Request_20_2Arequest_29">00262</a> <span class="keywordtype">char</span>* <a class="code" href="classModule.html#OnRequest_28Request_20_2Arequest_29">Module::OnRequest</a>(<a class="code" href="classRequest.html">Request</a>* request) { <span class="keywordflow">return</span> NULL; };
-<a name="l00263"></a><a class="code" href="classModule.html#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29">00263</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29">Module::OnOperCompare</a>(<a class="code" href="namespaceirc.html#string">std::string</a> password, <a class="code" href="namespaceirc.html#string">std::string</a> input) { <span class="keywordflow">return</span> 0; };
-<a name="l00264"></a><a class="code" href="classModule.html#OnGlobalOper_28userrec_20_2Auser_29">00264</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnGlobalOper_28userrec_20_2Auser_29">Module::OnGlobalOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
-<a name="l00265"></a><a class="code" href="classModule.html#OnGlobalConnect_28userrec_20_2Auser_29">00265</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnGlobalConnect_28userrec_20_2Auser_29">Module::OnGlobalConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user) { };
-<a name="l00266"></a><a class="code" href="classModule.html#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">00266</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">Module::OnAddBan</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classchanrec.html">chanrec</a>* channel,<a class="code" href="namespaceirc.html#string">std::string</a> banmask) { <span class="keywordflow">return</span> 0; };
-<a name="l00267"></a><a class="code" href="classModule.html#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">00267</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">Module::OnDelBan</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classchanrec.html">chanrec</a>* channel,<a class="code" href="namespaceirc.html#string">std::string</a> banmask) { <span class="keywordflow">return</span> 0; };
-<a name="l00268"></a><a class="code" href="classModule.html#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29">00268</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29">Module::OnRawSocketAccept</a>(<span class="keywordtype">int</span> fd, <a class="code" href="namespaceirc.html#string">std::string</a> ip, <span class="keywordtype">int</span> localport) { };
-<a name="l00269"></a><a class="code" href="classModule.html#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29">00269</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29">Module::OnRawSocketWrite</a>(<span class="keywordtype">int</span> fd, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">int</span> count) { <span class="keywordflow">return</span> 0; };
-<a name="l00270"></a><a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">00270</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">Module::OnRawSocketClose</a>(<span class="keywordtype">int</span> fd) { };
-<a name="l00271"></a><a class="code" href="classModule.html#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29">00271</a> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29">Module::OnRawSocketRead</a>(<span class="keywordtype">int</span> fd, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count, <span class="keywordtype">int</span> &amp;readresult) { <span class="keywordflow">return</span> 0; };
-<a name="l00272"></a><a class="code" href="classModule.html#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">00272</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module::OnUserMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* dest, <span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> text) { };
-<a name="l00273"></a><a class="code" href="classModule.html#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">00273</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">Module::OnUserNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* dest, <span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> text) { };
-<a name="l00274"></a><a class="code" href="classModule.html#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">00274</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">Module::OnRemoteKill</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> reason) { };
-<a name="l00275"></a><a class="code" href="classModule.html#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">00275</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">Module::OnUserInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel) { };
-<a name="l00276"></a><a class="code" href="classModule.html#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">00276</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">Module::OnPostLocalTopicChange</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> topic) { };
-<a name="l00277"></a><a class="code" href="classModule.html#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29">00277</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29">Module::OnGetServerDescription</a>(<a class="code" href="namespaceirc.html#string">std::string</a> servername,<a class="code" href="namespaceirc.html#string">std::string</a> &amp;description) { };
-<a name="l00278"></a><a class="code" href="classModule.html#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">00278</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">Module::OnSyncUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classModule.html">Module</a>* proto, <span class="keywordtype">void</span>* opaque) { };
-<a name="l00279"></a><a class="code" href="classModule.html#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">00279</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">Module::OnSyncChannel</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="classModule.html">Module</a>* proto, <span class="keywordtype">void</span>* opaque) { };
-<a name="l00280"></a><a class="code" href="classModule.html#ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29">00280</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29">Module::ProtoSendMode</a>(<span class="keywordtype">void</span>* opaque, <span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* target, <a class="code" href="namespaceirc.html#string">std::string</a> modeline) { };
-<a name="l00281"></a><a class="code" href="classModule.html#OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">00281</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">Module::OnSyncChannelMetaData</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="classModule.html">Module</a>* proto,<span class="keywordtype">void</span>* opaque, <a class="code" href="namespaceirc.html#string">std::string</a> extname) { };
-<a name="l00282"></a><a class="code" href="classModule.html#OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">00282</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">Module::OnSyncUserMetaData</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classModule.html">Module</a>* proto,<span class="keywordtype">void</span>* opaque, <a class="code" href="namespaceirc.html#string">std::string</a> extname) { };
-<a name="l00283"></a><a class="code" href="classModule.html#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">00283</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">Module::OnDecodeMetaData</a>(<span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* target, <a class="code" href="namespaceirc.html#string">std::string</a> extname, <a class="code" href="namespaceirc.html#string">std::string</a> extdata) { };
-<a name="l00284"></a><a class="code" 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">00284</a> <span class="keywordtype">void</span> <a class="code" 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::ProtoSendMetaData</a>(<span class="keywordtype">void</span>* opaque, <span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* target, <a class="code" href="namespaceirc.html#string">std::string</a> extname, <a class="code" href="namespaceirc.html#string">std::string</a> extdata) { };
-<a name="l00285"></a><a class="code" href="classModule.html#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29">00285</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29">Module::OnWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> text) { };
-<a name="l00286"></a><a class="code" href="classModule.html#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">00286</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">Module::OnChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newhost) { };
-<a name="l00287"></a><a class="code" href="classModule.html#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">00287</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">Module::OnChangeName</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> gecos) { };
-<a name="l00288"></a><a class="code" href="classModule.html#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00288</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module::OnAddGLine</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="classuserrec.html">userrec</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="l00289"></a><a class="code" href="classModule.html#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29">00289</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29">Module::OnAddZLine</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="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> ipmask) { };
-<a name="l00290"></a><a class="code" href="classModule.html#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00290</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module::OnAddKLine</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="classuserrec.html">userrec</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="l00291"></a><a class="code" href="classModule.html#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29">00291</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29">Module::OnAddQLine</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="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> nickmask) { };
-<a name="l00292"></a><a class="code" href="classModule.html#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">00292</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">Module::OnAddELine</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="classuserrec.html">userrec</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="l00293"></a><a class="code" href="classModule.html#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">00293</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module::OnDelGLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask) { };
-<a name="l00294"></a><a class="code" href="classModule.html#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29">00294</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29">Module::OnDelZLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> ipmask) { };
-<a name="l00295"></a><a class="code" href="classModule.html#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">00295</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module::OnDelKLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask) { };
-<a name="l00296"></a><a class="code" href="classModule.html#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29">00296</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29">Module::OnDelQLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> nickmask) { };
-<a name="l00297"></a><a class="code" href="classModule.html#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">00297</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">Module::OnDelELine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask) { };
-<a name="l00298"></a><a class="code" href="classModule.html#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29">00298</a> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29">Module::OnCleanup</a>(<span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* item) { };
-<a name="l00299"></a>00299
-<a name="l00300"></a>00300 <span class="comment">/* server is a wrapper class that provides methods to all of the C-style</span>
-<a name="l00301"></a>00301 <span class="comment"> * exports in the core</span>
-<a name="l00302"></a>00302 <span class="comment"> */</span>
-<a name="l00303"></a>00303
-<a name="l00304"></a><a class="code" href="classServer.html#Server_28_29">00304</a> <a class="code" href="classServer.html#Server_28_29">Server::Server</a>()
-<a name="l00305"></a>00305 {
-<a name="l00306"></a>00306 }
-<a name="l00307"></a>00307
-<a name="l00308"></a><a class="code" href="classServer.html#_7EServer_28_29">00308</a> <a class="code" href="classServer.html#_7EServer_28_29">Server::~Server</a>()
-<a name="l00309"></a>00309 {
-<a name="l00310"></a>00310 }
-<a name="l00311"></a>00311
-<a name="l00312"></a><a class="code" href="classServer.html#AddSocket_28InspSocket_20_2Asock_29">00312</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddSocket_28InspSocket_20_2Asock_29">Server::AddSocket</a>(<a class="code" href="classInspSocket.html">InspSocket</a>* sock)
-<a name="l00313"></a>00313 {
-<a name="l00314"></a>00314 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.push_back(sock);
-<a name="l00315"></a>00315 }
-<a name="l00316"></a>00316
-<a name="l00317"></a><a class="code" href="classServer.html#RehashServer_28_29">00317</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#RehashServer_28_29">Server::RehashServer</a>()
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Rehashing config file"</span>);
-<a name="l00320"></a>00320 Config-&gt;<a class="code" href="classServerConfig.html#Read_28bool_20bail_2C_20userrec_20_2Auser_29">Read</a>(<span class="keyword">false</span>,NULL);
-<a name="l00321"></a>00321 }
-<a name="l00322"></a>00322
-<a name="l00323"></a><a class="code" href="classServer.html#GetConfig_28_29">00323</a> <a class="code" href="classServerConfig.html">ServerConfig</a>* <a class="code" href="classServer.html#GetConfig_28_29">Server::GetConfig</a>()
-<a name="l00324"></a>00324 {
-<a name="l00325"></a>00325 <span class="keywordflow">return</span> Config;
-<a name="l00326"></a>00326 }
-<a name="l00327"></a>00327
-<a name="l00328"></a><a class="code" href="classServer.html#GetVersion_28_29">00328</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="l00329"></a>00329 {
-<a name="l00330"></a>00330 <span class="keywordflow">return</span> ServerInstance-&gt;<a class="code" href="classInspIRCd.html#GetVersionString_28_29">GetVersionString</a>();
-<a name="l00331"></a>00331 }
-<a name="l00332"></a>00332
-<a name="l00333"></a><a class="code" href="classServer.html#DelSocket_28InspSocket_20_2Asock_29">00333</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="l00334"></a>00334 {
-<a name="l00335"></a>00335 <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="l00336"></a>00336 {
-<a name="l00337"></a>00337 <span class="keywordflow">if</span> (*a == sock)
-<a name="l00338"></a>00338 {
-<a name="l00339"></a>00339 <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>.erase(a);
-<a name="l00340"></a>00340 <span class="keywordflow">return</span>;
-<a name="l00341"></a>00341 }
-<a name="l00342"></a>00342 }
-<a name="l00343"></a>00343 }
-<a name="l00344"></a>00344
-<a name="l00345"></a><a class="code" href="classServer.html#SendOpers_28std_3A_3Astring_20s_29">00345</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="l00346"></a>00346 {
-<a name="l00347"></a>00347 <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="l00348"></a>00348 }
-<a name="l00349"></a>00349
-<a name="l00350"></a><a class="code" href="classServer.html#MatchText_28std_3A_3Astring_20sliteral_2C_20std_3A_3Astring_20spattern_29">00350</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="l00351"></a>00351 {
-<a name="l00352"></a>00352 <span class="keywordtype">char</span> literal[MAXBUF],pattern[MAXBUF];
-<a name="l00353"></a>00353 strlcpy(literal,sliteral.c_str(),MAXBUF);
-<a name="l00354"></a>00354 strlcpy(pattern,spattern.c_str(),MAXBUF);
-<a name="l00355"></a>00355 <span class="keywordflow">return</span> match(literal,pattern);
-<a name="l00356"></a>00356 }
-<a name="l00357"></a>00357
-<a name="l00358"></a><a class="code" href="classServer.html#SendToModeMask_28std_3A_3Astring_20modes_2C_20int_20flags_2C_20std_3A_3Astring_20text_29">00358</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="l00359"></a>00359 {
-<a name="l00360"></a>00360 WriteMode(modes.c_str(),flags,<span class="stringliteral">"%s"</span>,text.c_str());
-<a name="l00361"></a>00361 }
-<a name="l00362"></a>00362
-<a name="l00363"></a><a class="code" href="classServer.html#JoinUserToChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20key_29">00363</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="l00364"></a>00364 {
-<a name="l00365"></a>00365 <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="l00366"></a>00366 }
-<a name="l00367"></a>00367
-<a name="l00368"></a><a class="code" href="classServer.html#PartUserFromChannel_28userrec_20_2Auser_2C_20std_3A_3Astring_20cname_2C_20std_3A_3Astring_20reason_29">00368</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="l00369"></a>00369 {
-<a name="l00370"></a>00370 <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="l00371"></a>00371 }
-<a name="l00372"></a>00372
-<a name="l00373"></a><a class="code" href="classServer.html#GetUsers_28chanrec_20_2Achan_29">00373</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="l00374"></a>00374 {
-<a name="l00375"></a>00375 <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a> userl;
-<a name="l00376"></a>00376 userl.clear();
-<a name="l00377"></a>00377 std::vector&lt;char*&gt; *list = chan-&gt;<a class="code" href="classchanrec.html#GetUsers_28_29">GetUsers</a>();
-<a name="l00378"></a>00378 <span class="keywordflow">for</span> (std::vector&lt;char*&gt;::iterator i = list-&gt;begin(); i != list-&gt;end(); i++)
-<a name="l00379"></a>00379 {
-<a name="l00380"></a>00380 <span class="keywordtype">char</span>* o = *i;
-<a name="l00381"></a>00381 userl.push_back((<a class="code" href="classuserrec.html">userrec</a>*)o);
-<a name="l00382"></a>00382 }
-<a name="l00383"></a>00383 <span class="keywordflow">return</span> userl;
-<a name="l00384"></a>00384 }
-<a name="l00385"></a><a class="code" href="classServer.html#ChangeUserNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20nickname_29">00385</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="l00386"></a>00386 {
-<a name="l00387"></a>00387 <a class="code" href="users_8cpp.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a>(user,nickname.c_str());
-<a name="l00388"></a>00388 }
-<a name="l00389"></a>00389
-<a name="l00390"></a><a class="code" href="classServer.html#QuitUser_28userrec_20_2Auser_2C_20std_3A_3Astring_20reason_29">00390</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="l00391"></a>00391 {
-<a name="l00392"></a>00392 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,reason.c_str());
-<a name="l00393"></a>00393 }
-<a name="l00394"></a>00394
-<a name="l00395"></a><a class="code" href="classServer.html#IsUlined_28std_3A_3Astring_20server_29">00395</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="l00396"></a>00396 {
-<a name="l00397"></a>00397 <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="l00398"></a>00398 }
-<a name="l00399"></a>00399
-<a name="l00400"></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">00400</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="l00401"></a>00401 {
-<a name="l00402"></a>00402 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;CallHandler(commandname,parameters,pcnt,user);
-<a name="l00403"></a>00403 }
-<a name="l00404"></a>00404
-<a name="l00405"></a><a class="code" href="classServer.html#IsValidModuleCommand_28std_3A_3Astring_20commandname_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00405</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="l00406"></a>00406 {
-<a name="l00407"></a>00407 <span class="keywordflow">return</span> ServerInstance-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;IsValidCommand(commandname, pcnt, user);
-<a name="l00408"></a>00408 }
-<a name="l00409"></a>00409
-<a name="l00410"></a><a class="code" href="classServer.html#Log_28int_20level_2C_20std_3A_3Astring_20s_29">00410</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="l00411"></a>00411 {
-<a name="l00412"></a>00412 <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="l00413"></a>00413 }
-<a name="l00414"></a>00414
-<a name="l00415"></a><a class="code" href="classServer.html#AddCommand_28command_5Ft_20_2Af_29">00415</a> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddCommand_28command_5Ft_20_2Af_29">Server::AddCommand</a>(<a class="code" href="classcommand__t.html">command_t</a> *f)
-<a name="l00416"></a>00416 {
-<a name="l00417"></a>00417 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;CreateCommand(f);
-<a name="l00418"></a>00418 }
-<a name="l00419"></a>00419
-<a name="l00420"></a><a class="code" href="classServer.html#SendMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">00420</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="l00421"></a>00421 {
-<a name="l00422"></a>00422 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#ModeGrok">ModeGrok</a>-&gt;<a class="code" href="classModeParser.html#ServerMode_28char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">ServerMode</a>(parameters,pcnt,user);
-<a name="l00423"></a>00423 }
-<a name="l00424"></a>00424
-<a name="l00425"></a><a class="code" href="classServer.html#Send_28int_20Socket_2C_20std_3A_3Astring_20s_29">00425</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="l00426"></a>00426 {
-<a name="l00427"></a>00427 <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="l00428"></a>00428 }
-<a name="l00429"></a>00429
-<a name="l00430"></a><a class="code" href="classServer.html#SendServ_28int_20Socket_2C_20std_3A_3Astring_20s_29">00430</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="l00431"></a>00431 {
-<a name="l00432"></a>00432 <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="l00433"></a>00433 }
-<a name="l00434"></a>00434
-<a name="l00435"></a><a class="code" href="classServer.html#SendFrom_28int_20Socket_2C_20userrec_20_2AUser_2C_20std_3A_3Astring_20s_29">00435</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="l00436"></a>00436 {
-<a name="l00437"></a>00437 <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="l00438"></a>00438 }
-<a name="l00439"></a>00439
-<a name="l00440"></a><a class="code" href="classServer.html#SendTo_28userrec_20_2ASource_2C_20userrec_20_2ADest_2C_20std_3A_3Astring_20s_29">00440</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="l00441"></a>00441 {
-<a name="l00442"></a>00442 <span class="keywordflow">if</span> (!Source)
-<a name="l00443"></a>00443 {
-<a name="l00444"></a>00444 <span class="comment">// if source is NULL, then the message originates from the local server</span>
-<a name="l00445"></a>00445 <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="l00446"></a>00446 }
-<a name="l00447"></a>00447 <span class="keywordflow">else</span>
-<a name="l00448"></a>00448 {
-<a name="l00449"></a>00449 <span class="comment">// otherwise it comes from the user specified</span>
-<a name="l00450"></a>00450 <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="l00451"></a>00451 }
-<a name="l00452"></a>00452 }
-<a name="l00453"></a>00453
-<a name="l00454"></a><a class="code" href="classServer.html#SendChannelServerNotice_28std_3A_3Astring_20ServName_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20text_29">00454</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="l00455"></a>00455 {
-<a name="l00456"></a>00456 WriteChannelWithServ((<span class="keywordtype">char</span>*)ServName.c_str(), Channel, <span class="stringliteral">"%s"</span>, text.c_str());
-<a name="l00457"></a>00457 }
-<a name="l00458"></a>00458
-<a name="l00459"></a><a class="code" href="classServer.html#SendChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChannel_2C_20std_3A_3Astring_20s_2C_20bool_20IncludeSender_29">00459</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="l00460"></a>00460 {
-<a name="l00461"></a>00461 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00462"></a>00462 {
-<a name="l00463"></a>00463 <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="l00464"></a>00464 }
-<a name="l00465"></a>00465 <span class="keywordflow">else</span>
-<a name="l00466"></a>00466 {
-<a name="l00467"></a>00467 <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="l00468"></a>00468 }
-<a name="l00469"></a>00469 }
-<a name="l00470"></a>00470
-<a name="l00471"></a><a class="code" href="classServer.html#CommonChannels_28userrec_20_2Au_31_2C_20userrec_20_2Au_32_29">00471</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="l00472"></a>00472 {
-<a name="l00473"></a>00473 <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="l00474"></a>00474 }
-<a name="l00475"></a>00475
-<a name="l00476"></a><a class="code" href="classServer.html#SendCommon_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_2C_20bool_20IncludeSender_29">00476</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="l00477"></a>00477 {
-<a name="l00478"></a>00478 <span class="keywordflow">if</span> (IncludeSender)
-<a name="l00479"></a>00479 {
-<a name="l00480"></a>00480 <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="l00481"></a>00481 }
-<a name="l00482"></a>00482 <span class="keywordflow">else</span>
-<a name="l00483"></a>00483 {
-<a name="l00484"></a>00484 <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="l00485"></a>00485 }
-<a name="l00486"></a>00486 }
-<a name="l00487"></a>00487
-<a name="l00488"></a><a class="code" href="classServer.html#SendWallops_28userrec_20_2AUser_2C_20std_3A_3Astring_20text_29">00488</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="l00489"></a>00489 {
-<a name="l00490"></a>00490 <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="l00491"></a>00491 }
-<a name="l00492"></a>00492
-<a name="l00493"></a><a class="code" href="classServer.html#ChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20host_29">00493</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="l00494"></a>00494 {
-<a name="l00495"></a>00495 <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="l00496"></a>00496 }
-<a name="l00497"></a>00497
-<a name="l00498"></a><a class="code" href="classServer.html#ChangeGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">00498</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="l00499"></a>00499 {
-<a name="l00500"></a>00500 <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="l00501"></a>00501 }
-<a name="l00502"></a>00502
-<a name="l00503"></a><a class="code" href="classServer.html#IsNick_28std_3A_3Astring_20nick_29">00503</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="l00504"></a>00504 {
-<a name="l00505"></a>00505 <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="l00506"></a>00506 }
-<a name="l00507"></a>00507
-<a name="l00508"></a><a class="code" href="classServer.html#FindNick_28std_3A_3Astring_20nick_29">00508</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="l00509"></a>00509 {
-<a name="l00510"></a>00510 <span class="keywordflow">return</span> <a class="code" href="globals_8h.html#Find_28std_3A_3Astring_20nick_29">Find</a>(nick);
-<a name="l00511"></a>00511 }
-<a name="l00512"></a>00512
-<a name="l00513"></a><a class="code" href="classServer.html#FindDescriptor_28int_20socket_29">00513</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="l00514"></a>00514 {
-<a name="l00515"></a>00515 <span class="keywordflow">return</span> (socket &lt; 65536 ? fd_ref_table[socket] : NULL);
-<a name="l00516"></a>00516 }
-<a name="l00517"></a>00517
-<a name="l00518"></a><a class="code" href="classServer.html#FindChannel_28std_3A_3Astring_20channel_29">00518</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="l00519"></a>00519 {
-<a name="l00520"></a>00520 <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="l00521"></a>00521 }
-<a name="l00522"></a>00522
-<a name="l00523"></a><a class="code" href="classServer.html#ChanMode_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">00523</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="l00524"></a>00524 {
-<a name="l00525"></a>00525 <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="l00526"></a>00526 }
-<a name="l00527"></a>00527
-<a name="l00528"></a><a class="code" href="classServer.html#IsOnChannel_28userrec_20_2AUser_2C_20chanrec_20_2AChan_29">00528</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="l00529"></a>00529 {
-<a name="l00530"></a>00530 <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="l00531"></a>00531 }
-<a name="l00532"></a>00532
-<a name="l00533"></a><a class="code" href="classServer.html#GetServerName_28_29">00533</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="l00534"></a>00534 {
-<a name="l00535"></a>00535 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>;
-<a name="l00536"></a>00536 }
-<a name="l00537"></a>00537
-<a name="l00538"></a><a class="code" href="classServer.html#GetNetworkName_28_29">00538</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="l00539"></a>00539 {
-<a name="l00540"></a>00540 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
-<a name="l00541"></a>00541 }
-<a name="l00542"></a>00542
-<a name="l00543"></a><a class="code" href="classServer.html#GetServerDescription_28_29">00543</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="l00544"></a>00544 {
-<a name="l00545"></a>00545 <span class="keywordflow">return</span> Config-&gt;<a class="code" href="classServerConfig.html#ServerDesc_5BMAXBUF_5D">ServerDesc</a>;
-<a name="l00546"></a>00546 }
-<a name="l00547"></a>00547
-<a name="l00548"></a><a class="code" href="classServer.html#GetAdmin_28_29">00548</a> <a class="code" href="classAdmin.html">Admin</a> <a class="code" href="classServer.html#GetAdmin_28_29">Server::GetAdmin</a>()
-<a name="l00549"></a>00549 {
-<a name="l00550"></a>00550 <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="l00551"></a>00551 }
-<a name="l00552"></a>00552
-<a name="l00553"></a>00553
-<a name="l00554"></a>00554
-<a name="l00555"></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">00555</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="l00556"></a>00556 {
-<a name="l00557"></a>00557 <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="l00558"></a>00558 {
-<a name="l00559"></a>00559 <span class="keywordflow">if</span> (type == <a class="code" href="modules_8h.html#MT_5FSERVER">MT_SERVER</a>)
-<a name="l00560"></a>00560 {
-<a name="l00561"></a>00561 <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="l00562"></a>00562 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00563"></a>00563 }
-<a name="l00564"></a>00564 <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="l00565"></a>00565 {
-<a name="l00566"></a>00566 <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="l00567"></a>00567 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00568"></a>00568 }
-<a name="l00569"></a>00569 <span class="keywordflow">if</span> ((params_when_on&gt;1) || (params_when_off&gt;1))
-<a name="l00570"></a>00570 {
-<a name="l00571"></a>00571 <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="l00572"></a>00572 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00573"></a>00573 }
-<a name="l00574"></a>00574 <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="l00575"></a>00575 }
-<a name="l00576"></a>00576 <span class="keywordflow">else</span>
-<a name="l00577"></a>00577 {
-<a name="l00578"></a>00578 <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="l00579"></a>00579 }
-<a name="l00580"></a>00580 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00581"></a>00581 }
-<a name="l00582"></a>00582
-<a name="l00583"></a><a class="code" href="classServer.html#AddExtendedListMode_28char_20modechar_29">00583</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="l00584"></a>00584 {
-<a name="l00585"></a>00585 <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="l00586"></a>00586 <span class="keywordflow">if</span> (res)
-<a name="l00587"></a>00587 <a class="code" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a>(modechar);
-<a name="l00588"></a>00588 <span class="keywordflow">return</span> res;
-<a name="l00589"></a>00589 }
-<a name="l00590"></a>00590
-<a name="l00591"></a><a class="code" href="classServer.html#CountUsers_28chanrec_20_2Ac_29">00591</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="l00592"></a>00592 {
-<a name="l00593"></a>00593 <span class="keywordflow">return</span> usercount(c);
-<a name="l00594"></a>00594 }
-<a name="l00595"></a>00595
-<a name="l00596"></a>00596
-<a name="l00597"></a><a class="code" href="classServer.html#UserToPseudo_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">00597</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="l00598"></a>00598 {
-<a name="l00599"></a>00599 <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="l00600"></a>00600 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="l00601"></a>00601 user-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00602"></a>00602 <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="l00603"></a>00603 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(old_fd);
-<a name="l00604"></a>00604 shutdown(old_fd,2);
-<a name="l00605"></a>00605 close(old_fd);
-<a name="l00606"></a>00606 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00607"></a>00607 }
-<a name="l00608"></a>00608
-<a name="l00609"></a><a class="code" href="classServer.html#PseudoToUser_28userrec_20_2Aalive_2C_20userrec_20_2Azombie_2C_20std_3A_3Astring_20message_29">00609</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="l00610"></a>00610 {
-<a name="l00611"></a>00611 zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a> = alive-&gt;<a class="code" href="classconnection.html#fd">fd</a>;
-<a name="l00612"></a>00612 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="l00613"></a>00613 alive-&gt;<a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00614"></a>00614 <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="l00615"></a>00615 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(alive,message.c_str());
-<a name="l00616"></a>00616 fd_ref_table[zombie-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = zombie;
-<a name="l00617"></a>00617 <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="l00618"></a>00618 {
-<a name="l00619"></a>00619 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel != NULL)
-<a name="l00620"></a>00620 {
-<a name="l00621"></a>00621 <span class="keywordflow">if</span> (zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel-&gt;name)
-<a name="l00622"></a>00622 {
-<a name="l00623"></a>00623 <a class="code" href="classchanrec.html">chanrec</a>* Ptr = zombie-&gt;<a class="code" href="classuserrec.html#chans">chans</a>[i].channel;
-<a name="l00624"></a>00624 <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="l00625"></a>00625 <span class="keywordflow">if</span> (Ptr-&gt;<a class="code" href="classchanrec.html#topicset">topicset</a>)
-<a name="l00626"></a>00626 {
-<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">"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="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">"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="l00629"></a>00629 }
-<a name="l00630"></a>00630 userlist(zombie,Ptr);
-<a name="l00631"></a>00631 <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="l00632"></a>00632
-<a name="l00633"></a>00633 }
-<a name="l00634"></a>00634 }
-<a name="l00635"></a>00635 }
-<a name="l00636"></a>00636 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00637"></a>00637 }
-<a name="l00638"></a>00638
-<a name="l00639"></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">00639</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="l00640"></a>00640 {
-<a name="l00641"></a>00641 <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="l00642"></a>00642 }
-<a name="l00643"></a>00643
-<a name="l00644"></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">00644</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="l00645"></a>00645 {
-<a name="l00646"></a>00646 <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="l00647"></a>00647 }
-<a name="l00648"></a>00648
-<a name="l00649"></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">00649</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="l00650"></a>00650 {
-<a name="l00651"></a>00651 <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="l00652"></a>00652 }
-<a name="l00653"></a>00653
-<a name="l00654"></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">00654</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="l00655"></a>00655 {
-<a name="l00656"></a>00656 <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="l00657"></a>00657 }
-<a name="l00658"></a>00658
-<a name="l00659"></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">00659</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="l00660"></a>00660 {
-<a name="l00661"></a>00661 <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="l00662"></a>00662 }
-<a name="l00663"></a>00663
-<a name="l00664"></a><a class="code" href="classServer.html#DelGLine_28std_3A_3Astring_20hostmask_29">00664</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="l00665"></a>00665 {
-<a name="l00666"></a>00666 <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="l00667"></a>00667 }
-<a name="l00668"></a>00668
-<a name="l00669"></a><a class="code" href="classServer.html#DelQLine_28std_3A_3Astring_20nickname_29">00669</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="l00670"></a>00670 {
-<a name="l00671"></a>00671 <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="l00672"></a>00672 }
-<a name="l00673"></a>00673
-<a name="l00674"></a><a class="code" href="classServer.html#DelZLine_28std_3A_3Astring_20ipaddr_29">00674</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="l00675"></a>00675 {
-<a name="l00676"></a>00676 <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="l00677"></a>00677 }
-<a name="l00678"></a>00678
-<a name="l00679"></a><a class="code" href="classServer.html#DelKLine_28std_3A_3Astring_20hostmask_29">00679</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="l00680"></a>00680 {
-<a name="l00681"></a>00681 <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="l00682"></a>00682 }
-<a name="l00683"></a>00683
-<a name="l00684"></a><a class="code" href="classServer.html#DelELine_28std_3A_3Astring_20hostmask_29">00684</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="l00685"></a>00685 {
-<a name="l00686"></a>00686 <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="l00687"></a>00687 }
-<a name="l00688"></a>00688
-<a name="l00689"></a><a class="code" href="classServer.html#CalcDuration_28std_3A_3Astring_20duration_29">00689</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="l00690"></a>00690 {
-<a name="l00691"></a>00691 <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="l00692"></a>00692 }
-<a name="l00693"></a>00693
-<a name="l00694"></a><a class="code" href="classServer.html#IsValidMask_28std_3A_3Astring_20mask_29">00694</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="l00695"></a>00695 {
-<a name="l00696"></a>00696 <span class="keyword">const</span> <span class="keywordtype">char</span>* dest = mask.c_str();
-<a name="l00697"></a>00697 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'!'</span>)==0)
-<a name="l00698"></a>00698 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00699"></a>00699 <span class="keywordflow">if</span> (strchr(dest,<span class="charliteral">'@'</span>)==0)
-<a name="l00700"></a>00700 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00701"></a>00701 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00702"></a>00702 <span class="keywordflow">if</span> (dest[i] &lt; 32)
-<a name="l00703"></a>00703 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<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] &gt; 126)
-<a name="l00706"></a>00706 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00707"></a>00707 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> c = 0;
-<a name="l00708"></a>00708 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00709"></a>00709 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'!'</span>)
-<a name="l00710"></a>00710 c++;
-<a name="l00711"></a>00711 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00712"></a>00712 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00713"></a>00713 c = 0;
-<a name="l00714"></a>00714 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(dest); i++)
-<a name="l00715"></a>00715 <span class="keywordflow">if</span> (dest[i] == <span class="charliteral">'@'</span>)
-<a name="l00716"></a>00716 c++;
-<a name="l00717"></a>00717 <span class="keywordflow">if</span> (c&gt;1)
-<a name="l00718"></a>00718 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00719"></a>00719
-<a name="l00720"></a>00720 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00721"></a>00721 }
-<a name="l00722"></a>00722
-<a name="l00723"></a><a class="code" href="classServer.html#FindModule_28std_3A_3Astring_20name_29">00723</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="l00724"></a>00724 {
-<a name="l00725"></a>00725 <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="l00726"></a>00726 {
-<a name="l00727"></a>00727 <span class="keywordflow">if</span> (Config-&gt;<a class="code" href="classServerConfig.html#module_5Fnames">module_names</a>[i] == name)
-<a name="l00728"></a>00728 {
-<a name="l00729"></a>00729 <span class="keywordflow">return</span> <a class="code" href="channels_8cpp.html#modules">modules</a>[i];
-<a name="l00730"></a>00730 }
-<a name="l00731"></a>00731 }
-<a name="l00732"></a>00732 <span class="keywordflow">return</span> NULL;
-<a name="l00733"></a>00733 }
-<a name="l00734"></a>00734
-<a name="l00735"></a><a class="code" href="classConfigReader.html#ConfigReader_28_29">00735</a> <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader::ConfigReader</a>()
-<a name="l00736"></a>00736 {
-<a name="l00737"></a>00737 Config-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00738"></a>00738 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="l00739"></a>00739 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="l00740"></a>00740 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="l00741"></a>00741 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00742"></a>00742 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="l00743"></a>00743 }
-<a name="l00744"></a>00744
-<a name="l00745"></a>00745
-<a name="l00746"></a><a class="code" href="classConfigReader.html#_7EConfigReader_28_29">00746</a> <a class="code" href="classConfigReader.html#_7EConfigReader_28_29">ConfigReader::~ConfigReader</a>()
-<a name="l00747"></a>00747 {
-<a name="l00748"></a>00748 <span class="keywordflow">if</span> (this-&gt;cache)
-<a name="l00749"></a>00749 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#cache">cache</a>;
-<a name="l00750"></a>00750 <span class="keywordflow">if</span> (this-&gt;errorlog)
-<a name="l00751"></a>00751 <span class="keyword">delete</span> this-&gt;<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
-<a name="l00752"></a>00752 }
-<a name="l00753"></a>00753
-<a name="l00754"></a>00754
-<a name="l00755"></a><a class="code" href="classConfigReader.html#ConfigReader_28std_3A_3Astring_20filename_29">00755</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="l00756"></a>00756 {
-<a name="l00757"></a>00757 Config-&gt;<a class="code" href="classServerConfig.html#ClearStack_28_29">ClearStack</a>();
-<a name="l00758"></a>00758 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="l00759"></a>00759 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="l00760"></a>00760 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="l00761"></a>00761 <span class="keywordflow">if</span> (!this-&gt;readerror)
-<a name="l00762"></a>00762 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="l00763"></a>00763 };
-<a name="l00764"></a>00764
-<a name="l00765"></a><a class="code" href="classConfigReader.html#ReadValue_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">00765</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="l00766"></a>00766 {
-<a name="l00767"></a>00767 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00768"></a>00768 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00769"></a>00769 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00770"></a>00770 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00771"></a>00771 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00772"></a>00772 <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="l00773"></a>00773 <span class="keywordflow">if</span> (!res)
-<a name="l00774"></a>00774 {
-<a name="l00775"></a>00775 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="l00776"></a>00776 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00777"></a>00777 }
-<a name="l00778"></a>00778 <span class="keywordflow">return</span> val;
-<a name="l00779"></a>00779 }
-<a name="l00780"></a>00780
-<a name="l00781"></a><a class="code" href="classConfigReader.html#ReadFlag_28std_3A_3Astring_20tag_2C_20std_3A_3Astring_20name_2C_20int_20index_29">00781</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="l00782"></a>00782 {
-<a name="l00783"></a>00783 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00784"></a>00784 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00785"></a>00785 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00786"></a>00786 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00787"></a>00787 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00788"></a>00788 <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="l00789"></a>00789 <span class="keywordflow">if</span> (!res)
-<a name="l00790"></a>00790 {
-<a name="l00791"></a>00791 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="l00792"></a>00792 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00793"></a>00793 }
-<a name="l00794"></a>00794 <a class="code" href="namespaceirc.html#string">std::string</a> s = val;
-<a name="l00795"></a>00795 <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="l00796"></a>00796 }
-<a name="l00797"></a>00797
-<a name="l00798"></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">00798</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="l00799"></a>00799 {
-<a name="l00800"></a>00800 <span class="keywordtype">char</span> val[MAXBUF];
-<a name="l00801"></a>00801 <span class="keywordtype">char</span> t[MAXBUF];
-<a name="l00802"></a>00802 <span class="keywordtype">char</span> n[MAXBUF];
-<a name="l00803"></a>00803 strlcpy(t,tag.c_str(),MAXBUF);
-<a name="l00804"></a>00804 strlcpy(n,name.c_str(),MAXBUF);
-<a name="l00805"></a>00805 <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="l00806"></a>00806 <span class="keywordflow">if</span> (!res)
-<a name="l00807"></a>00807 {
-<a name="l00808"></a>00808 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="l00809"></a>00809 <span class="keywordflow">return</span> 0;
-<a name="l00810"></a>00810 }
-<a name="l00811"></a>00811 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; strlen(val); i++)
-<a name="l00812"></a>00812 {
-<a name="l00813"></a>00813 <span class="keywordflow">if</span> (!isdigit(val[i]))
-<a name="l00814"></a>00814 {
-<a name="l00815"></a>00815 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="l00816"></a>00816 <span class="keywordflow">return</span> 0;
-<a name="l00817"></a>00817 }
-<a name="l00818"></a>00818 }
-<a name="l00819"></a>00819 <span class="keywordflow">if</span> ((needs_unsigned) &amp;&amp; (atoi(val)&lt;0))
-<a name="l00820"></a>00820 {
-<a name="l00821"></a>00821 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="l00822"></a>00822 <span class="keywordflow">return</span> 0;
-<a name="l00823"></a>00823 }
-<a name="l00824"></a>00824 <span class="keywordflow">return</span> atoi(val);
-<a name="l00825"></a>00825 }
-<a name="l00826"></a>00826
-<a name="l00827"></a><a class="code" href="classConfigReader.html#GetError_28_29">00827</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#GetError_28_29">ConfigReader::GetError</a>()
-<a name="l00828"></a>00828 {
-<a name="l00829"></a>00829 <span class="keywordtype">long</span> olderr = this-&gt;<a class="code" href="classConfigReader.html#error">error</a>;
-<a name="l00830"></a>00830 this-&gt;<a class="code" href="classConfigReader.html#error">error</a> = 0;
-<a name="l00831"></a>00831 <span class="keywordflow">return</span> olderr;
-<a name="l00832"></a>00832 }
-<a name="l00833"></a>00833
-<a name="l00834"></a><a class="code" href="classConfigReader.html#DumpErrors_28bool_20bail_2C_20userrec_20_2Auser_29">00834</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="l00835"></a>00835 {
-<a name="l00836"></a>00836 <span class="keywordflow">if</span> (bail)
-<a name="l00837"></a>00837 {
-<a name="l00838"></a>00838 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="l00839"></a>00839 exit(0);
-<a name="l00840"></a>00840 }
-<a name="l00841"></a>00841 <span class="keywordflow">else</span>
-<a name="l00842"></a>00842 {
-<a name="l00843"></a>00843 <span class="keywordtype">char</span> dataline[1024];
-<a name="l00844"></a>00844 <span class="keywordflow">if</span> (user)
-<a name="l00845"></a>00845 {
-<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 :There were errors in the configuration file:"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00847"></a>00847 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00848"></a>00848 {
-<a name="l00849"></a>00849 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00850"></a>00850 <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="l00851"></a>00851 }
-<a name="l00852"></a>00852 }
-<a name="l00853"></a>00853 <span class="keywordflow">else</span>
-<a name="l00854"></a>00854 {
-<a name="l00855"></a>00855 <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="l00856"></a>00856 <span class="keywordflow">while</span> (!<a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;eof())
-<a name="l00857"></a>00857 {
-<a name="l00858"></a>00858 <a class="code" href="classConfigReader.html#errorlog">errorlog</a>-&gt;getline(dataline,1024);
-<a name="l00859"></a>00859 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(dataline);
-<a name="l00860"></a>00860 }
-<a name="l00861"></a>00861 }
-<a name="l00862"></a>00862 <span class="keywordflow">return</span>;
-<a name="l00863"></a>00863 }
-<a name="l00864"></a>00864 }
-<a name="l00865"></a>00865
-<a name="l00866"></a>00866
-<a name="l00867"></a><a class="code" href="classConfigReader.html#Enumerate_28std_3A_3Astring_20tag_29">00867</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="l00868"></a>00868 {
-<a name="l00869"></a>00869 <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="l00870"></a>00870 }
-<a name="l00871"></a>00871
-<a name="l00872"></a><a class="code" href="classConfigReader.html#EnumerateValues_28std_3A_3Astring_20tag_2C_20int_20index_29">00872</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="l00873"></a>00873 {
-<a name="l00874"></a>00874 <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="l00875"></a>00875 }
-<a name="l00876"></a>00876
-<a name="l00877"></a><a class="code" href="classConfigReader.html#Verify_28_29">00877</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#Verify_28_29">ConfigReader::Verify</a>()
-<a name="l00878"></a>00878 {
-<a name="l00879"></a>00879 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classConfigReader.html#readerror">readerror</a>;
-<a name="l00880"></a>00880 }
-<a name="l00881"></a>00881
-<a name="l00882"></a>00882
-<a name="l00883"></a><a class="code" href="classFileReader.html#FileReader_28std_3A_3Astring_20filename_29">00883</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="l00884"></a>00884 {
-<a name="l00885"></a>00885 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00886"></a>00886 <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="l00887"></a>00887 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00888"></a>00888 }
-<a name="l00889"></a>00889
-<a name="l00890"></a><a class="code" href="classFileReader.html#FileReader_28_29">00890</a> <a class="code" href="classFileReader.html#FileReader_28_29">FileReader::FileReader</a>()
-<a name="l00891"></a>00891 {
-<a name="l00892"></a>00892 }
-<a name="l00893"></a>00893
-<a name="l00894"></a><a class="code" href="classFileReader.html#LoadFile_28std_3A_3Astring_20filename_29">00894</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="l00895"></a>00895 {
-<a name="l00896"></a>00896 <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> c;
-<a name="l00897"></a>00897 <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="l00898"></a>00898 this-&gt;<a class="code" href="classFileReader.html#fc">fc</a> = c;
-<a name="l00899"></a>00899 }
-<a name="l00900"></a>00900
-<a name="l00901"></a>00901
-<a name="l00902"></a><a class="code" href="classFileReader.html#_7EFileReader_28_29">00902</a> <a class="code" href="classFileReader.html#_7EFileReader_28_29">FileReader::~FileReader</a>()
-<a name="l00903"></a>00903 {
-<a name="l00904"></a>00904 }
-<a name="l00905"></a>00905
-<a name="l00906"></a><a class="code" href="classFileReader.html#Exists_28_29">00906</a> <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#Exists_28_29">FileReader::Exists</a>()
-<a name="l00907"></a>00907 {
-<a name="l00908"></a>00908 <span class="keywordflow">if</span> (<a class="code" href="classFileReader.html#fc">fc</a>.size() == 0)
-<a name="l00909"></a>00909 {
-<a name="l00910"></a>00910 <span class="keywordflow">return</span>(<span class="keyword">false</span>);
-<a name="l00911"></a>00911 }
-<a name="l00912"></a>00912 <span class="keywordflow">else</span>
-<a name="l00913"></a>00913 {
-<a name="l00914"></a>00914 <span class="keywordflow">return</span>(<span class="keyword">true</span>);
-<a name="l00915"></a>00915 }
-<a name="l00916"></a>00916 }
-<a name="l00917"></a>00917
-<a name="l00918"></a><a class="code" href="classFileReader.html#GetLine_28int_20x_29">00918</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="l00919"></a>00919 {
-<a name="l00920"></a>00920 <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="l00921"></a>00921 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00922"></a>00922 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>[x];
-<a name="l00923"></a>00923 }
-<a name="l00924"></a>00924
-<a name="l00925"></a><a class="code" href="classFileReader.html#FileSize_28_29">00925</a> <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#FileSize_28_29">FileReader::FileSize</a>()
-<a name="l00926"></a>00926 {
-<a name="l00927"></a>00927 <span class="keywordflow">return</span> <a class="code" href="classFileReader.html#fc">fc</a>.size();
-<a name="l00928"></a>00928 }
-<a name="l00929"></a>00929
-<a name="l00930"></a>00930
-<a name="l00931"></a>00931 std::vector&lt;Module*&gt; <a class="code" href="channels_8cpp.html#modules">modules</a>(255);
-<a name="l00932"></a>00932 std::vector&lt;ircd_module*&gt; <a class="code" href="channels_8cpp.html#factory">factory</a>(255);
-<a name="l00933"></a>00933
-<a name="l00934"></a><a class="code" href="modules_8cpp.html#MODCOUNT">00934</a> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a> = -1;
-<a name="l00935"></a>00935
-<a name="l00936"></a>00936
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/modules_8cpp.html b/docs/module-doc/modules_8cpp.html
deleted file mode 100644
index b1f40e797..000000000
--- a/docs/module-doc/modules_8cpp.html
+++ /dev/null
@@ -1,839 +0,0 @@
-<!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: modules.cpp 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_000005.html">src</a></div>
-<h1>modules.cpp File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>&quot;</code><br>
-<code>#include &lt;unistd.h&gt;</code><br>
-<code>#include &lt;sys/errno.h&gt;</code><br>
-<code>#include &lt;time.h&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;hash_map&gt;</code><br>
-<code>#include &lt;map&gt;</code><br>
-<code>#include &lt;sstream&gt;</code><br>
-<code>#include &lt;vector&gt;</code><br>
-<code>#include &lt;deque&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="ctables_8h-source.html">ctables.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="globals_8h-source.html">globals.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="modules_8h-source.html">modules.h</a>&quot;</code><br>
-<code>#include &quot;dynamic.h&quot;</code><br>
-<code>#include &quot;wildcard.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="message_8h-source.html">message.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="mode_8h-source.html">mode.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="xline_8h-source.html">xline.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="commands_8h-source.html">commands.h</a>&quot;</code><br>
-<code>#include &quot;inspstring.h&quot;</code><br>
-<code>#include &quot;helperfuncs.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="socket_8h-source.html">socket.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="socketengine_8h-source.html">socketengine.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="typedefs_8h-source.html">typedefs.h</a>&quot;</code><br>
-<code>#include &quot;command_parse.h&quot;</code><br>
-
-<p>
-Include dependency graph for modules.cpp:<p><center><img src="modules_8cpp__incl.gif" border="0" usemap="#modules.cpp_map" alt=""></center>
-<map name="modules.cpp_map">
-<area href="inspircd_8h-source.html" shape="rect" coords="305,716,385,743" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="452,666,548,692" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="627,666,701,692" alt="">
-<area href="users_8h-source.html" shape="rect" coords="772,818,836,844" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="896,1426,989,1452" alt="">
-<area href="modules_8h-source.html" shape="rect" coords="623,1375,705,1402" alt="">
-<area href="ctables_8h-source.html" shape="rect" coords="767,1578,841,1604" alt="">
-<area href="socket_8h-source.html" shape="rect" coords="768,1223,840,1250" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="631,1020,697,1047" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="444,412,556,439" alt="">
-<area href="message_8h-source.html" shape="rect" coords="621,615,707,642" alt="">
-<area href="xline_8h-source.html" shape="rect" coords="633,362,695,388" alt="">
-<area href="commands_8h-source.html" shape="rect" coords="615,919,713,946" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="163,1375,248,1402" alt="">
-</map>
-
-<p>
-<a href="modules_8cpp-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>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#ModeDefined_28char_20modechar_2C_20int_20type_29">ModeDefined</a> (char modechar, int type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">ModeIsListMode</a> (char modechar, int type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#ModeDefinedOper_28char_20modechar_2C_20int_20type_29">ModeDefinedOper</a> (char modechar, int type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#ModeDefinedOn_28char_20modechar_2C_20int_20type_29">ModeDefinedOn</a> (char modechar, int type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#ModeDefinedOff_28char_20modechar_2C_20int_20type_29">ModeDefinedOff</a> (char modechar, int type)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><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">DoAddExtendedMode</a> (char modechar, int type, bool requires_oper, int params_on, int params_off)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a> (char modechar)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classModule.html">Module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#modules_28_32_35_35_29">modules</a> (255)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="modules_8h.html#ircd_5Fmodule">ircd_module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#factory_28_32_35_35_29">factory</a> (255)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classServerConfig.html">ServerConfig</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#Config">Config</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classInspIRCd.html">InspIRCd</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#ServerInstance">ServerInstance</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#MODCOUNT">MODCOUNT</a> = -1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classModule.html">Module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#modules">modules</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="modules_8h.html#ircd_5Fmodule">ircd_module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#factory">factory</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classInspSocket.html">InspSocket</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#module_5Fsockets">module_sockets</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#TIME">TIME</a></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="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a> [65536]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#user_5Fhash">user_hash</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#clientlist">clientlist</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#chan_5Fhash">chan_hash</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#chanlist">chanlist</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="ctables_8h.html#command_5Ftable">command_table</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#cmdlist">cmdlist</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#ExtModeList">ExtModeList</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8cpp.html#EMode">EMode</a></td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29"></a><!-- doxytag: member="modules.cpp::DoAddExtendedMode" ref="DoAddExtendedMode_28char_20modechar_2C_20int_20type_2C_20bool_20requires_5Foper_2C_20int_20params_5Fon_2C_20int_20params_5Foff_29" args="(char modechar, int type, bool requires_oper, int params_on, int params_off)" --><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">bool DoAddExtendedMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>requires_oper</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>params_on</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>params_off</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00133">133</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>, and <a class="el" href="modules_8cpp-source.html#l00070">ModeDefined()</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00583">Server::AddExtendedListMode()</a>, and <a class="el" href="modules_8cpp-source.html#l00555">Server::AddExtendedMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00134"></a>00134 {
-<a name="l00135"></a>00135 <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="l00136"></a>00136 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00137"></a>00137 }
-<a name="l00138"></a>00138 <a class="code" href="modules_8cpp.html#EMode">EMode</a>.push_back(<a class="code" href="classExtMode.html">ExtMode</a>(modechar,type,requires_oper,params_on,params_off));
-<a name="l00139"></a>00139 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00140"></a>00140 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="factory_28_32_35_35_29"></a><!-- doxytag: member="modules.cpp::factory" ref="factory_28_32_35_35_29" args="(255)" --><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="modules_8h.html#ircd_5Fmodule">ircd_module</a>*&gt; factory </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">255&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="ModeDefined_28char_20modechar_2C_20int_20type_29"></a><!-- doxytag: member="modules.cpp::ModeDefined" ref="ModeDefined_28char_20modechar_2C_20int_20type_29" args="(char modechar, int type)" --><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">bool ModeDefined </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00070">70</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00133">DoAddExtendedMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00071"></a>00071 {
-<a name="l00072"></a>00072 <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="l00073"></a>00073 {
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00080"></a>00080 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeDefinedOff_28char_20modechar_2C_20int_20type_29"></a><!-- doxytag: member="modules.cpp::ModeDefinedOff" ref="ModeDefinedOff_28char_20modechar_2C_20int_20type_29" args="(char modechar, int type)" --><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 ModeDefinedOff </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00120">120</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 <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="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 <span class="keywordflow">return</span> i-&gt;params_when_off;
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129 <span class="keywordflow">return</span> 0;
-<a name="l00130"></a>00130 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeDefinedOn_28char_20modechar_2C_20int_20type_29"></a><!-- doxytag: member="modules.cpp::ModeDefinedOn" ref="ModeDefinedOn_28char_20modechar_2C_20int_20type_29" args="(char modechar, int type)" --><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 ModeDefinedOn </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00107">107</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 <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="l00110"></a>00110 {
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keywordflow">return</span> i-&gt;params_when_on;
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116 <span class="keywordflow">return</span> 0;
-<a name="l00117"></a>00117 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeDefinedOper_28char_20modechar_2C_20int_20type_29"></a><!-- doxytag: member="modules.cpp::ModeDefinedOper" ref="ModeDefinedOper_28char_20modechar_2C_20int_20type_29" args="(char modechar, int type)" --><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">bool ModeDefinedOper </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00094">94</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <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="l00097"></a>00097 {
-<a name="l00098"></a>00098 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;needsoper == <span class="keyword">true</span>))
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00104"></a>00104 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeIsListMode_28char_20modechar_2C_20int_20type_29"></a><!-- doxytag: member="modules.cpp::ModeIsListMode" ref="ModeIsListMode_28char_20modechar_2C_20int_20type_29" args="(char modechar, int type)" --><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">bool ModeIsListMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00082">82</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00083"></a>00083 {
-<a name="l00084"></a>00084 <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="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;list == <span class="keyword">true</span>))
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00092"></a>00092 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeMakeList_28char_20modechar_29"></a><!-- doxytag: member="modules.cpp::ModeMakeList" ref="ModeMakeList_28char_20modechar_29" args="(char modechar)" --><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 ModeMakeList </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>modechar</em> </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>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00143">143</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">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#l00583">Server::AddExtendedListMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00144"></a>00144 {
-<a name="l00145"></a>00145 <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="l00146"></a>00146 {
-<a name="l00147"></a>00147 <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>))
-<a name="l00148"></a>00148 {
-<a name="l00149"></a>00149 i-&gt;list = <span class="keyword">true</span>;
-<a name="l00150"></a>00150 <span class="keywordflow">return</span>;
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152 }
-<a name="l00153"></a>00153 <span class="keywordflow">return</span>;
-<a name="l00154"></a>00154 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="modules_28_32_35_35_29"></a><!-- doxytag: member="modules.cpp::modules" ref="modules_28_32_35_35_29" args="(255)" --><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="classModule.html">Module</a>*&gt; modules </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">255&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>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="chanlist"></a><!-- doxytag: member="modules.cpp::chanlist" ref="chanlist" 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="typedefs_8h.html#chan_5Fhash">chan_hash</a> <a class="el" href="modules_8cpp.html#chanlist">chanlist</a> </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="clientlist"></a><!-- doxytag: member="modules.cpp::clientlist" ref="clientlist" 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="typedefs_8h.html#user_5Fhash">user_hash</a> <a class="el" href="users_8cpp.html#clientlist">clientlist</a> </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="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, and <a class="el" href="users_8cpp-source.html#l00743">ReHashNick()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="cmdlist"></a><!-- doxytag: member="modules.cpp::cmdlist" ref="cmdlist" 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="ctables_8h.html#command_5Ftable">command_table</a> <a class="el" href="modules_8cpp.html#cmdlist">cmdlist</a> </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="Config"></a><!-- doxytag: member="modules.cpp::Config" ref="Config" 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="classServerConfig.html">ServerConfig</a>* <a class="el" href="users_8cpp.html#Config">Config</a> </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="EMode"></a><!-- doxytag: member="modules.cpp::EMode" ref="EMode" 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="typedefs_8h.html#ExtModeList">ExtModeList</a> <a class="el" href="modules_8cpp.html#EMode">EMode</a> </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="modules_8cpp-source.html#l00067">67</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#l00133">DoAddExtendedMode()</a>, <a class="el" href="modules_8cpp-source.html#l00070">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00120">ModeDefinedOff()</a>, <a class="el" href="modules_8cpp-source.html#l00107">ModeDefinedOn()</a>, <a class="el" href="modules_8cpp-source.html#l00094">ModeDefinedOper()</a>, <a class="el" href="modules_8cpp-source.html#l00082">ModeIsListMode()</a>, and <a class="el" href="modules_8cpp-source.html#l00143">ModeMakeList()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="factory"></a><!-- doxytag: member="modules.cpp::factory" ref="factory" 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="modules_8h.html#ircd_5Fmodule">ircd_module</a>*&gt; factory </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="fd_5Fref_5Ftable_5B_36_35_35_33_36_5D"></a><!-- doxytag: member="modules.cpp::fd_ref_table" ref="fd_5Fref_5Ftable_5B_36_35_35_33_36_5D" args="[65536]" --><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="users_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[65536] </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="MODCOUNT"></a><!-- doxytag: member="modules.cpp::MODCOUNT" ref="MODCOUNT" 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 <a class="el" href="users_8cpp.html#MODCOUNT">MODCOUNT</a> = -1 </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="modules_8cpp-source.html#l00934">934</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>
-<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="classInspSocket.html">InspSocket</a>*&gt; <a class="el" href="users_8cpp.html#module_5Fsockets">module_sockets</a> </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#l00312">Server::AddSocket()</a>, and <a class="el" href="modules_8cpp-source.html#l00333">Server::DelSocket()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="modules"></a><!-- doxytag: member="modules.cpp::modules" ref="modules" 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="classModule.html">Module</a>*&gt; modules </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="ServerInstance"></a><!-- doxytag: member="modules.cpp::ServerInstance" ref="ServerInstance" 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="classInspIRCd.html">InspIRCd</a>* <a class="el" href="users_8cpp.html#ServerInstance">ServerInstance</a> </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="TIME"></a><!-- doxytag: member="modules.cpp::TIME" ref="TIME" 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">time_t <a class="el" href="users_8cpp.html#TIME">TIME</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/modules_8cpp__incl.gif b/docs/module-doc/modules_8cpp__incl.gif
deleted file mode 100644
index e80534192..000000000
--- a/docs/module-doc/modules_8cpp__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/modules_8cpp__incl.map b/docs/module-doc/modules_8cpp__incl.map
deleted file mode 100644
index 957fa469e..000000000
--- a/docs/module-doc/modules_8cpp__incl.map
+++ /dev/null
@@ -1,15 +0,0 @@
-base referer
-rect $inspircd_8h-source.html 305,716 385,743
-rect $inspircd__io_8h-source.html 452,666 548,692
-rect $globals_8h-source.html 627,666 701,692
-rect $users_8h-source.html 772,818 836,844
-rect $hashcomp_8h-source.html 896,1426 989,1452
-rect $modules_8h-source.html 623,1375 705,1402
-rect $ctables_8h-source.html 767,1578 841,1604
-rect $socket_8h-source.html 768,1223 840,1250
-rect $mode_8h-source.html 631,1020 697,1047
-rect $socketengine_8h-source.html 444,412 556,439
-rect $message_8h-source.html 621,615 707,642
-rect $xline_8h-source.html 633,362 695,388
-rect $commands_8h-source.html 615,919 713,946
-rect $typedefs_8h-source.html 163,1375 248,1402
diff --git a/docs/module-doc/modules_8cpp__incl.md5 b/docs/module-doc/modules_8cpp__incl.md5
deleted file mode 100644
index d0f388278..000000000
--- a/docs/module-doc/modules_8cpp__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-4e8aa95ae7fcdb9cbd30aed0c54c5b3b \ No newline at end of file
diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html
deleted file mode 100644
index ef5454900..000000000
--- a/docs/module-doc/modules_8h-source.html
+++ /dev/null
@@ -1,556 +0,0 @@
-<!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: modules.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>modules.h</h1><a href="modules_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-2004 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
-<a name="l00018"></a>00018 <span class="preprocessor">#ifndef __PLUGIN_H</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define __PLUGIN_H</span>
-<a name="l00020"></a>00020 <span class="preprocessor"></span>
-<a name="l00023"></a><a class="code" href="modules_8h.html#DEBUG">00023</a> <span class="preprocessor">#define DEBUG 10</span>
-<a name="l00024"></a><a class="code" href="modules_8h.html#VERBOSE">00024</a> <span class="preprocessor"></span><span class="preprocessor">#define VERBOSE 20</span>
-<a name="l00025"></a><a class="code" href="modules_8h.html#DEFAULT">00025</a> <span class="preprocessor"></span><span class="preprocessor">#define DEFAULT 30</span>
-<a name="l00026"></a><a class="code" href="modules_8h.html#SPARSE">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define SPARSE 40</span>
-<a name="l00027"></a><a class="code" href="modules_8h.html#NONE">00027</a> <span class="preprocessor"></span><span class="preprocessor">#define NONE 50</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span>
-<a name="l00031"></a><a class="code" href="modules_8h.html#MT_5FCHANNEL">00031</a> <span class="preprocessor">#define MT_CHANNEL 1</span>
-<a name="l00032"></a><a class="code" href="modules_8h.html#MT_5FCLIENT">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define MT_CLIENT 2</span>
-<a name="l00033"></a><a class="code" href="modules_8h.html#MT_5FSERVER">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define MT_SERVER 3</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span>
-<a name="l00037"></a><a class="code" href="modules_8h.html#ACR_5FDEFAULT">00037</a> <span class="preprocessor">#define ACR_DEFAULT 0 // Do default action (act as if the module isnt even loaded)</span>
-<a name="l00038"></a><a class="code" href="modules_8h.html#ACR_5FDENY">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define ACR_DENY 1 // deny the action</span>
-<a name="l00039"></a><a class="code" href="modules_8h.html#ACR_5FALLOW">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define ACR_ALLOW 2 // allow the action</span>
-<a name="l00040"></a><a class="code" href="modules_8h.html#AC_5FKICK">00040</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_KICK 0 // a user is being kicked</span>
-<a name="l00041"></a><a class="code" href="modules_8h.html#AC_5FDEOP">00041</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEOP 1 // a user is being deopped</span>
-<a name="l00042"></a><a class="code" href="modules_8h.html#AC_5FOP">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_OP 2 // a user is being opped</span>
-<a name="l00043"></a><a class="code" href="modules_8h.html#AC_5FVOICE">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_VOICE 3 // a user is being voiced</span>
-<a name="l00044"></a><a class="code" href="modules_8h.html#AC_5FDEVOICE">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEVOICE 4 // a user is being devoiced</span>
-<a name="l00045"></a><a class="code" href="modules_8h.html#AC_5FHALFOP">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_HALFOP 5 // a user is being halfopped</span>
-<a name="l00046"></a><a class="code" href="modules_8h.html#AC_5FDEHALFOP">00046</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_DEHALFOP 6 // a user is being dehalfopped</span>
-<a name="l00047"></a><a class="code" href="modules_8h.html#AC_5FINVITE">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_INVITE 7 // a user is being invited</span>
-<a name="l00048"></a><a class="code" href="modules_8h.html#AC_5FGENERAL_5FMODE">00048</a> <span class="preprocessor"></span><span class="preprocessor">#define AC_GENERAL_MODE 8 // a user channel mode is being changed</span>
-<a name="l00049"></a>00049 <span class="preprocessor"></span>
-<a name="l00052"></a><a class="code" href="modules_8h.html#VF_5FSTATIC">00052</a> <span class="preprocessor">#define VF_STATIC 1 // module is static, cannot be /unloadmodule'd</span>
-<a name="l00053"></a><a class="code" href="modules_8h.html#VF_5FVENDOR">00053</a> <span class="preprocessor"></span><span class="preprocessor">#define VF_VENDOR 2 // module is a vendor module (came in the original tarball, not 3rd party)</span>
-<a name="l00054"></a><a class="code" href="modules_8h.html#VF_5FSERVICEPROVIDER">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define VF_SERVICEPROVIDER 4 // module provides a service to other modules (can be a dependency)</span>
-<a name="l00055"></a><a class="code" href="modules_8h.html#VF_5FCOMMON">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define VF_COMMON 8 // module needs to be common on all servers in a mesh to link</span>
-<a name="l00056"></a>00056 <span class="preprocessor"></span>
-<a name="l00057"></a>00057 <span class="preprocessor">#include "dynamic.h"</span>
-<a name="l00058"></a>00058 <span class="preprocessor">#include "<a class="code" href="base_8h.html">base.h</a>"</span>
-<a name="l00059"></a>00059 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span>
-<a name="l00060"></a>00060 <span class="preprocessor">#include "<a class="code" href="socket_8h.html">socket.h</a>"</span>
-<a name="l00061"></a>00061 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00062"></a>00062 <span class="preprocessor">#include &lt;deque&gt;</span>
-<a name="l00063"></a>00063 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00064"></a>00064
-<a name="l00065"></a>00065 <span class="keyword">class </span><a class="code" href="classServer.html">Server</a>;
-<a name="l00066"></a><a class="code" href="modules_8h.html#file_5Fcache">00066</a> <span class="keyword">class </span><a class="code" href="classServerConfig.html">ServerConfig</a>;
-<a name="l00067"></a>00067
-<a name="l00070"></a>00070 <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="l00071"></a><a class="code" href="modules_8h.html#string_5Flist">00071</a> <span class="keyword">typedef</span> <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> <a class="code" href="modules_8h.html#string_5Flist">string_list</a>;
-<a name="l00072"></a>00072
-<a name="l00075"></a><a class="code" href="modules_8h.html#chanuserlist">00075</a> <span class="keyword">typedef</span> std::deque&lt;userrec*&gt; <a class="code" href="modules_8h.html#chanuserlist">chanuserlist</a>;
-<a name="l00076"></a>00076
-<a name="l00077"></a>00077
-<a name="l00078"></a>00078 <span class="comment">// This #define allows us to call a method in all</span>
-<a name="l00079"></a>00079 <span class="comment">// loaded modules in a readable simple way, e.g.:</span>
-<a name="l00080"></a>00080 <span class="comment">// 'FOREACH_MOD OnConnect(user);'</span>
-<a name="l00081"></a>00081
-<a name="l00082"></a><a class="code" href="modules_8h.html#FOREACH_5FMOD">00082</a> <span class="preprocessor">#define FOREACH_MOD for (int _i = 0; _i &lt;= MODCOUNT; _i++) modules[_i]-&gt;</span>
-<a name="l00083"></a>00083 <span class="preprocessor"></span>
-<a name="l00084"></a>00084 <span class="comment">// This define is similar to the one above but returns a result in MOD_RESULT.</span>
-<a name="l00085"></a>00085 <span class="comment">// The first module to return a nonzero result is the value to be accepted,</span>
-<a name="l00086"></a>00086 <span class="comment">// and any modules after are ignored.</span>
-<a name="l00087"></a>00087
-<a name="l00088"></a>00088 <span class="comment">// *********************************************************************************************</span>
-<a name="l00089"></a>00089
-<a name="l00090"></a><a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">00090</a> <span class="preprocessor">#define FOREACH_RESULT(x) { MOD_RESULT = 0; \</span>
-<a name="l00091"></a>00091 <span class="preprocessor"> for (int _i = 0; _i &lt;= MODCOUNT; _i++) { \</span>
-<a name="l00092"></a>00092 <span class="preprocessor"> int res = modules[_i]-&gt;x ; \</span>
-<a name="l00093"></a>00093 <span class="preprocessor"> if (res != 0) { \</span>
-<a name="l00094"></a>00094 <span class="preprocessor"> MOD_RESULT = res; \</span>
-<a name="l00095"></a>00095 <span class="preprocessor"> break; \</span>
-<a name="l00096"></a>00096 <span class="preprocessor"> } \</span>
-<a name="l00097"></a>00097 <span class="preprocessor"> } \</span>
-<a name="l00098"></a>00098 <span class="preprocessor"> } </span>
-<a name="l00099"></a>00099 <span class="preprocessor"></span>
-<a name="l00100"></a>00100 <span class="comment">// *********************************************************************************************</span>
-<a name="l00101"></a>00101
-<a name="l00102"></a><a class="code" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">00102</a> <span class="preprocessor">#define FD_MAGIC_NUMBER -42</span>
-<a name="l00103"></a>00103 <span class="preprocessor"></span>
-<a name="l00104"></a>00104 <span class="comment">// useful macros</span>
-<a name="l00105"></a>00105
-<a name="l00106"></a><a class="code" href="modules_8h.html#IS_5FLOCAL_28x_29">00106</a> <span class="preprocessor">#define IS_LOCAL(x) (x-&gt;fd &gt; -1)</span>
-<a name="l00107"></a><a class="code" href="modules_8h.html#IS_5FREMOTE_28x_29">00107</a> <span class="preprocessor"></span><span class="preprocessor">#define IS_REMOTE(x) (x-&gt;fd &lt; 0)</span>
-<a name="l00108"></a><a class="code" href="modules_8h.html#IS_5FMODULE_5FCREATED_28x_29">00108</a> <span class="preprocessor"></span><span class="preprocessor">#define IS_MODULE_CREATED(x) (x-&gt;fd == FD_MAGIC_NUMBER)</span>
-<a name="l00109"></a>00109 <span class="preprocessor"></span>
-<a name="l00110"></a>00110 <span class="comment">// flags for use with WriteMode</span>
-<a name="l00111"></a>00111
-<a name="l00112"></a><a class="code" href="modules_8h.html#WM_5FAND">00112</a> <span class="preprocessor">#define WM_AND 1</span>
-<a name="l00113"></a><a class="code" href="modules_8h.html#WM_5FOR">00113</a> <span class="preprocessor"></span><span class="preprocessor">#define WM_OR 2</span>
-<a name="l00114"></a>00114 <span class="preprocessor"></span>
-<a name="l00115"></a>00115 <span class="comment">// flags for use with OnUserPreMessage and OnUserPreNotice</span>
-<a name="l00116"></a>00116
-<a name="l00117"></a><a class="code" href="modules_8h.html#TYPE_5FUSER">00117</a> <span class="preprocessor">#define TYPE_USER 1</span>
-<a name="l00118"></a><a class="code" href="modules_8h.html#TYPE_5FCHANNEL">00118</a> <span class="preprocessor"></span><span class="preprocessor">#define TYPE_CHANNEL 2</span>
-<a name="l00119"></a><a class="code" href="modules_8h.html#TYPE_5FSERVER">00119</a> <span class="preprocessor"></span><span class="preprocessor">#define TYPE_SERVER 3</span>
-<a name="l00120"></a>00120 <span class="preprocessor"></span>
-<a name="l00121"></a>00121 <span class="comment">/*extern void createcommand(char* cmd, handlerfunc f, char flags, int minparams, char* source);</span>
-<a name="l00122"></a>00122 <span class="comment">extern void server_mode(char **parameters, int pcnt, userrec *user);*/</span>
-<a name="l00123"></a>00123
-<a name="l00124"></a>00124 <span class="comment">// class Version holds the version information of a Module, returned</span>
-<a name="l00125"></a>00125 <span class="comment">// by Module::GetVersion (thanks RD)</span>
-<a name="l00126"></a>00126
-<a name="l00131"></a><a class="code" href="classVersion.html">00131</a> <span class="keyword">class </span><a class="code" href="classVersion.html">Version</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00132"></a>00132 {
-<a name="l00133"></a>00133 <span class="keyword">public</span>:
-<a name="l00134"></a><a class="code" href="classVersion.html#Revision">00134</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classVersion.html#Major">Major</a>, <a class="code" href="classVersion.html#Minor">Minor</a>, <a class="code" href="classVersion.html#Revision">Revision</a>, <a class="code" href="classVersion.html#Build">Build</a>, <a class="code" href="classVersion.html#Flags">Flags</a>;
-<a name="l00135"></a>00135 <a class="code" href="classVersion.html#Version_28int_20major_2C_20int_20minor_2C_20int_20revision_2C_20int_20build_2C_20int_20flags_29">Version</a>(<span class="keywordtype">int</span> major, <span class="keywordtype">int</span> minor, <span class="keywordtype">int</span> revision, <span class="keywordtype">int</span> build, <span class="keywordtype">int</span> flags);
-<a name="l00136"></a>00136 };
-<a name="l00137"></a>00137
-<a name="l00143"></a><a class="code" href="classAdmin.html">00143</a> <span class="keyword">class </span><a class="code" href="classAdmin.html">Admin</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00144"></a>00144 {
-<a name="l00145"></a>00145 <span class="keyword">public</span>:
-<a name="l00146"></a><a class="code" href="classAdmin.html#Nick">00146</a> <span class="keyword">const</span> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classAdmin.html#Name">Name</a>, <a class="code" href="classAdmin.html#Email">Email</a>, <a class="code" href="classAdmin.html#Nick">Nick</a>;
-<a name="l00147"></a>00147 <a class="code" href="classAdmin.html#Admin_28std_3A_3Astring_20name_2C_20std_3A_3Astring_20email_2C_20std_3A_3Astring_20nick_29">Admin</a>(<a class="code" href="namespaceirc.html#string">std::string</a> name, <a class="code" href="namespaceirc.html#string">std::string</a> email, <a class="code" href="namespaceirc.html#string">std::string</a> nick);
-<a name="l00148"></a>00148 };
-<a name="l00149"></a>00149
-<a name="l00150"></a>00150
-<a name="l00151"></a>00151 <span class="comment">// Forward-delacare module for ModuleMessage etc</span>
-<a name="l00152"></a>00152 <span class="keyword">class </span><a class="code" href="classModule.html">Module</a>;
-<a name="l00153"></a>00153
-<a name="l00154"></a>00154 <span class="comment">// Thanks to Rob (from anope) for the idea of this message passing API</span>
-<a name="l00155"></a>00155 <span class="comment">// (its been done before, but this seemed a very neat and tidy way...</span>
-<a name="l00156"></a>00156
-<a name="l00161"></a><a class="code" href="classModuleMessage.html">00161</a> <span class="keyword">class </span><a class="code" href="classModuleMessage.html">ModuleMessage</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00162"></a>00162 {
-<a name="l00163"></a>00163 <span class="keyword">public</span>:
-<a name="l00166"></a>00166 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classModuleMessage.html#Send_28_29_3D_30">Send</a>() = 0;
-<a name="l00167"></a><a class="code" href="classModuleMessage.html#_7EModuleMessage_28_29">00167</a> <span class="keyword">virtual</span> <a class="code" href="classModuleMessage.html#_7EModuleMessage_28_29">~ModuleMessage</a>() {};
-<a name="l00168"></a>00168 };
-<a name="l00169"></a>00169
-<a name="l00175"></a><a class="code" href="classRequest.html">00175</a> <span class="keyword">class </span><a class="code" href="classRequest.html">Request</a> : <span class="keyword">public</span> <a class="code" href="classModuleMessage.html">ModuleMessage</a>
-<a name="l00176"></a>00176 {
-<a name="l00177"></a>00177 <span class="keyword">protected</span>:
-<a name="l00180"></a><a class="code" href="classRequest.html#data">00180</a> <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#data">data</a>;
-<a name="l00184"></a><a class="code" href="classRequest.html#source">00184</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#source">source</a>;
-<a name="l00187"></a><a class="code" href="classRequest.html#dest">00187</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#dest">dest</a>;
-<a name="l00188"></a>00188 <span class="keyword">public</span>:
-<a name="l00191"></a>00191 <a class="code" href="classRequest.html#Request_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20Module_20_2Adst_29">Request</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, <a class="code" href="classModule.html">Module</a>* dst);
-<a name="l00194"></a>00194 <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#GetData_28_29">GetData</a>();
-<a name="l00197"></a>00197 <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#GetSource_28_29">GetSource</a>();
-<a name="l00200"></a>00200 <a class="code" href="classModule.html">Module</a>* <a class="code" href="classRequest.html#GetDest_28_29">GetDest</a>();
-<a name="l00206"></a>00206 <span class="keywordtype">char</span>* <a class="code" href="classRequest.html#Send_28_29">Send</a>();
-<a name="l00207"></a>00207 };
-<a name="l00208"></a>00208
-<a name="l00209"></a>00209
-<a name="l00215"></a><a class="code" href="classEvent.html">00215</a> <span class="keyword">class </span><a class="code" href="classEvent.html">Event</a> : <span class="keyword">public</span> <a class="code" href="classModuleMessage.html">ModuleMessage</a>
-<a name="l00216"></a>00216 {
-<a name="l00217"></a>00217 <span class="keyword">protected</span>:
-<a name="l00220"></a><a class="code" href="classEvent.html#data">00220</a> <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#data">data</a>;
-<a name="l00224"></a><a class="code" href="classEvent.html#source">00224</a> <a class="code" href="classModule.html">Module</a>* <a class="code" href="classEvent.html#source">source</a>;
-<a name="l00229"></a><a class="code" href="classEvent.html#id">00229</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classEvent.html#id">id</a>;
-<a name="l00230"></a>00230 <span class="keyword">public</span>:
-<a name="l00233"></a>00233 <a class="code" href="classEvent.html#Event_28char_20_2Aanydata_2C_20Module_20_2Asrc_2C_20std_3A_3Astring_20eventid_29">Event</a>(<span class="keywordtype">char</span>* anydata, <a class="code" href="classModule.html">Module</a>* src, <a class="code" href="namespaceirc.html#string">std::string</a> eventid);
-<a name="l00236"></a>00236 <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#GetData_28_29">GetData</a>();
-<a name="l00239"></a>00239 <a class="code" href="classModule.html">Module</a>* <a class="code" href="classEvent.html#GetSource_28_29">GetSource</a>();
-<a name="l00243"></a>00243 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classEvent.html#GetEventID_28_29">GetEventID</a>();
-<a name="l00248"></a>00248 <span class="keywordtype">char</span>* <a class="code" href="classEvent.html#Send_28_29">Send</a>();
-<a name="l00249"></a>00249 };
-<a name="l00250"></a>00250
-<a name="l00254"></a><a class="code" href="classExtMode.html">00254</a> <span class="keyword">class </span><a class="code" href="classExtMode.html">ExtMode</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00255"></a>00255 {
-<a name="l00256"></a>00256 <span class="keyword">public</span>:
-<a name="l00257"></a><a class="code" href="classExtMode.html#modechar">00257</a> <span class="keywordtype">char</span> <a class="code" href="classExtMode.html#modechar">modechar</a>;
-<a name="l00258"></a><a class="code" href="classExtMode.html#type">00258</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#type">type</a>;
-<a name="l00259"></a><a class="code" href="classExtMode.html#needsoper">00259</a> <span class="keywordtype">bool</span> <a class="code" href="classExtMode.html#needsoper">needsoper</a>;
-<a name="l00260"></a><a class="code" href="classExtMode.html#params_5Fwhen_5Fon">00260</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#params_5Fwhen_5Fon">params_when_on</a>;
-<a name="l00261"></a><a class="code" href="classExtMode.html#params_5Fwhen_5Foff">00261</a> <span class="keywordtype">int</span> <a class="code" href="classExtMode.html#params_5Fwhen_5Foff">params_when_off</a>;
-<a name="l00262"></a><a class="code" href="classExtMode.html#list">00262</a> <span class="keywordtype">bool</span> <a class="code" href="classExtMode.html#list">list</a>;
-<a name="l00263"></a><a class="code" href="classExtMode.html#ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29">00263</a> <a class="code" href="classExtMode.html#ExtMode_28char_20mc_2C_20int_20ty_2C_20bool_20oper_2C_20int_20p_5Fon_2C_20int_20p_5Foff_29">ExtMode</a>(<span class="keywordtype">char</span> mc, <span class="keywordtype">int</span> ty, <span class="keywordtype">bool</span> oper, <span class="keywordtype">int</span> p_on, <span class="keywordtype">int</span> p_off) : <a class="code" href="classExtMode.html#modechar">modechar</a>(mc), <a class="code" href="classExtMode.html#type">type</a>(ty), <a class="code" href="classExtMode.html#needsoper">needsoper</a>(oper), <a class="code" href="classExtMode.html#params_5Fwhen_5Fon">params_when_on</a>(p_on), <a class="code" href="classExtMode.html#params_5Fwhen_5Foff">params_when_off</a>(p_off) { };
-<a name="l00264"></a>00264 };
-<a name="l00265"></a>00265
-<a name="l00266"></a>00266
-<a name="l00272"></a><a class="code" href="classModule.html">00272</a> <span class="keyword">class </span><a class="code" href="classModule.html">Module</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00273"></a>00273 {
-<a name="l00274"></a>00274 <span class="keyword">public</span>:
-<a name="l00275"></a>00275
-<a name="l00280"></a>00280 <a class="code" href="classModule.html#Module_28Server_20_2AMe_29">Module</a>(<a class="code" href="classServer.html">Server</a>* Me);
-<a name="l00281"></a>00281
-<a name="l00285"></a>00285 <span class="keyword">virtual</span> <a class="code" href="classModule.html#_7EModule_28_29">~Module</a>();
-<a name="l00286"></a>00286
-<a name="l00291"></a>00291 <span class="keyword">virtual</span> <a class="code" href="classVersion.html">Version</a> <a class="code" href="classModule.html#GetVersion_28_29">GetVersion</a>();
-<a name="l00292"></a>00292
-<a name="l00297"></a>00297 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserConnect_28userrec_20_2Auser_29">OnUserConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00298"></a>00298
-<a name="l00306"></a>00306 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserQuit_28userrec_20_2Auser_2C_20std_3A_3Astring_20message_29">OnUserQuit</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> message);
-<a name="l00307"></a>00307
-<a name="l00314"></a>00314 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserDisconnect_28userrec_20_2Auser_29">OnUserDisconnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00315"></a>00315
-<a name="l00322"></a>00322 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">OnUserJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-<a name="l00323"></a>00323
-<a name="l00330"></a>00330 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserPart_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_29">OnUserPart</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel);
-<a name="l00331"></a>00331
-<a name="l00339"></a>00339 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRehash_28std_3A_3Astring_20parameter_29">OnRehash</a>(<a class="code" href="namespaceirc.html#string">std::string</a> parameter);
-<a name="l00340"></a>00340
-<a name="l00352"></a>00352 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnServerRaw_28std_3A_3Astring_20_26raw_2C_20bool_20inbound_2C_20userrec_20_2Auser_29">OnServerRaw</a>(<a class="code" href="namespaceirc.html#string">std::string</a> &amp;raw, <span class="keywordtype">bool</span> inbound, <a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00353"></a>00353
-<a name="l00369"></a>00369 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnExtendedMode_28userrec_20_2Auser_2C_20void_20_2Atarget_2C_20char_20modechar_2C_20int_20type_2C_20bool_20mode_5Fon_2C_20string_5Flist_20_26params_29">OnExtendedMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* target, <span class="keywordtype">char</span> modechar, <span class="keywordtype">int</span> type, <span class="keywordtype">bool</span> mode_on, <a class="code" href="modules_8h.html#string_5Flist">string_list</a> &amp;params);
-<a name="l00370"></a>00370
-<a name="l00387"></a>00387 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreJoin_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20const_20char_20_2Acname_29">OnUserPreJoin</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keyword">const</span> <span class="keywordtype">char</span>* cname);
-<a name="l00388"></a>00388
-<a name="l00399"></a>00399 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">OnUserPreKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> reason);
-<a name="l00400"></a>00400
-<a name="l00409"></a>00409 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserKick_28userrec_20_2Asource_2C_20userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20reason_29">OnUserKick</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> reason);
-<a name="l00410"></a>00410
-<a name="l00417"></a>00417 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnOper_28userrec_20_2Auser_2C_20std_3A_3Astring_20opertype_29">OnOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> opertype);
-<a name="l00418"></a>00418
-<a name="l00429"></a>00429 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnInfo_28userrec_20_2Auser_29">OnInfo</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00430"></a>00430
-<a name="l00437"></a>00437 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnWhois_28userrec_20_2Asource_2C_20userrec_20_2Adest_29">OnWhois</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classuserrec.html">userrec</a>* dest);
-<a name="l00438"></a>00438
-<a name="l00448"></a>00448 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">OnUserPreInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel);
-<a name="l00449"></a>00449
-<a name="l00457"></a>00457 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserInvite_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_29">OnUserInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel);
-<a name="l00458"></a>00458
-<a name="l00472"></a>00472 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">OnUserPreMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> &amp;text);
-<a name="l00473"></a>00473
-<a name="l00490"></a>00490 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20_26text_29">OnUserPreNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user,<span class="keywordtype">void</span>* dest,<span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> &amp;text);
-<a name="l00491"></a>00491
-<a name="l00502"></a>00502 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnUserPreNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20newnick_29">OnUserPreNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newnick);
-<a name="l00503"></a>00503
-<a name="l00512"></a>00512 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserMessage_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnUserMessage</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* dest, <span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> text);
-<a name="l00513"></a>00513
-<a name="l00522"></a>00522 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserNotice_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnUserNotice</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* dest, <span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> text);
-<a name="l00523"></a>00523
-<a name="l00533"></a>00533 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnMode_28userrec_20_2Auser_2C_20void_20_2Adest_2C_20int_20target_5Ftype_2C_20std_3A_3Astring_20text_29">OnMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <span class="keywordtype">void</span>* dest, <span class="keywordtype">int</span> target_type, <a class="code" href="namespaceirc.html#string">std::string</a> text);
-<a name="l00534"></a>00534
-<a name="l00543"></a>00543 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnGetServerDescription_28std_3A_3Astring_20servername_2C_20std_3A_3Astring_20_26description_29">OnGetServerDescription</a>(<a class="code" href="namespaceirc.html#string">std::string</a> servername,<a class="code" href="namespaceirc.html#string">std::string</a> &amp;description);
-<a name="l00544"></a>00544
-<a name="l00557"></a>00557 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncUser_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">OnSyncUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classModule.html">Module</a>* proto, <span class="keywordtype">void</span>* opaque);
-<a name="l00558"></a>00558
-<a name="l00574"></a>00574 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncChannel_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_29">OnSyncChannel</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="classModule.html">Module</a>* proto, <span class="keywordtype">void</span>* opaque);
-<a name="l00575"></a>00575
-<a name="l00576"></a>00576 <span class="comment">/* Allows modules to syncronize metadata related to channels over the network during a netburst.</span>
-<a name="l00577"></a>00577 <span class="comment"> * Whenever the linking module wants to send out data, but doesnt know what the data</span>
-<a name="l00578"></a>00578 <span class="comment"> * represents (e.g. it is Extensible metadata, added to a userrec or chanrec by a module) then</span>
-<a name="l00579"></a>00579 <span class="comment"> * this method is called.You should use the ProtoSendMetaData function after you've</span>
-<a name="l00580"></a>00580 <span class="comment"> * correctly decided how the data should be represented, to send the metadata on its way if it belongs</span>
-<a name="l00581"></a>00581 <span class="comment"> * to your module. For a good example of how to use this method, see src/modules/m_swhois.cpp.</span>
-<a name="l00582"></a>00582 <span class="comment"> * @param chan The channel whos metadata is being syncronized</span>
-<a name="l00583"></a>00583 <span class="comment"> * @param proto A pointer to the module handling network protocol</span>
-<a name="l00584"></a>00584 <span class="comment"> * @param opaque An opaque pointer set by the protocol module, should not be modified!</span>
-<a name="l00585"></a>00585 <span class="comment"> * @param extname The extensions name which is being searched for</span>
-<a name="l00586"></a>00586 <span class="comment"> */</span>
-<a name="l00587"></a>00587 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncChannelMetaData_28chanrec_20_2Achan_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">OnSyncChannelMetaData</a>(<a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="classModule.html">Module</a>* proto,<span class="keywordtype">void</span>* opaque, <a class="code" href="namespaceirc.html#string">std::string</a> extname);
-<a name="l00588"></a>00588
-<a name="l00589"></a>00589 <span class="comment">/* Allows modules to syncronize metadata related to users over the network during a netburst.</span>
-<a name="l00590"></a>00590 <span class="comment"> * Whenever the linking module wants to send out data, but doesnt know what the data</span>
-<a name="l00591"></a>00591 <span class="comment"> * represents (e.g. it is Extensible metadata, added to a userrec or chanrec by a module) then</span>
-<a name="l00592"></a>00592 <span class="comment"> * this method is called. You should use the ProtoSendMetaData function after you've</span>
-<a name="l00593"></a>00593 <span class="comment"> * correctly decided how the data should be represented, to send the metadata on its way if</span>
-<a name="l00594"></a>00594 <span class="comment"> * if it belongs to your module.</span>
-<a name="l00595"></a>00595 <span class="comment"> * @param user The user whos metadata is being syncronized</span>
-<a name="l00596"></a>00596 <span class="comment"> * @param proto A pointer to the module handling network protocol</span>
-<a name="l00597"></a>00597 <span class="comment"> * @param opaque An opaque pointer set by the protocol module, should not be modified!</span>
-<a name="l00598"></a>00598 <span class="comment"> * @param extname The extensions name which is being searched for</span>
-<a name="l00599"></a>00599 <span class="comment"> */</span>
-<a name="l00600"></a>00600 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSyncUserMetaData_28userrec_20_2Auser_2C_20Module_20_2Aproto_2C_20void_20_2Aopaque_2C_20std_3A_3Astring_20extname_29">OnSyncUserMetaData</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classModule.html">Module</a>* proto,<span class="keywordtype">void</span>* opaque, <a class="code" href="namespaceirc.html#string">std::string</a> extname);
-<a name="l00601"></a>00601
-<a name="l00609"></a>00609 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDecodeMetaData_28int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20extname_2C_20std_3A_3Astring_20extdata_29">OnDecodeMetaData</a>(<span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* target, <a class="code" href="namespaceirc.html#string">std::string</a> extname, <a class="code" href="namespaceirc.html#string">std::string</a> extdata);
-<a name="l00610"></a>00610
-<a name="l00624"></a>00624 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#ProtoSendMode_28void_20_2Aopaque_2C_20int_20target_5Ftype_2C_20void_20_2Atarget_2C_20std_3A_3Astring_20modeline_29">ProtoSendMode</a>(<span class="keywordtype">void</span>* opaque, <span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* target, <a class="code" href="namespaceirc.html#string">std::string</a> modeline);
-<a name="l00625"></a>00625
-<a name="l00640"></a>00640 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" 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">ProtoSendMetaData</a>(<span class="keywordtype">void</span>* opaque, <span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* target, <a class="code" href="namespaceirc.html#string">std::string</a> extname, <a class="code" href="namespaceirc.html#string">std::string</a> extdata);
-<a name="l00641"></a>00641
-<a name="l00646"></a>00646 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnWallops_28userrec_20_2Auser_2C_20std_3A_3Astring_20text_29">OnWallops</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> text);
-<a name="l00647"></a>00647
-<a name="l00653"></a>00653 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnChangeHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newhost);
-<a name="l00654"></a>00654
-<a name="l00660"></a>00660 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnChangeName_28userrec_20_2Auser_2C_20std_3A_3Astring_20gecos_29">OnChangeName</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> gecos);
-<a name="l00661"></a>00661
-<a name="l00669"></a>00669 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddGLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddGLine</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="classuserrec.html">userrec</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="l00670"></a>00670
-<a name="l00678"></a>00678 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddZLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20ipmask_29">OnAddZLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> ipmask);
-<a name="l00679"></a>00679
-<a name="l00687"></a>00687 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddKLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddKLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="classuserrec.html">userrec</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="l00688"></a>00688
-<a name="l00696"></a>00696 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddQLine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20nickmask_29">OnAddQLine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> reason, <a class="code" href="namespaceirc.html#string">std::string</a> nickmask);
-<a name="l00697"></a>00697
-<a name="l00705"></a>00705 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnAddELine_28long_20duration_2C_20userrec_20_2Asource_2C_20std_3A_3Astring_20reason_2C_20std_3A_3Astring_20hostmask_29">OnAddELine</a>(<span class="keywordtype">long</span> duration, <a class="code" href="classuserrec.html">userrec</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="l00706"></a>00706
-<a name="l00712"></a>00712 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelGLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelGLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l00713"></a>00713
-<a name="l00719"></a>00719 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelZLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20ipmask_29">OnDelZLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> ipmask);
-<a name="l00720"></a>00720
-<a name="l00726"></a>00726 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelKLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelKLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l00727"></a>00727
-<a name="l00733"></a>00733 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelQLine_28userrec_20_2Asource_2C_20std_3A_3Astring_20nickmask_29">OnDelQLine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> nickmask);
-<a name="l00734"></a>00734
-<a name="l00740"></a>00740 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnDelELine_28userrec_20_2Asource_2C_20std_3A_3Astring_20hostmask_29">OnDelELine</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="namespaceirc.html#string">std::string</a> hostmask);
-<a name="l00741"></a>00741
-<a name="l00751"></a>00751 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnCleanup_28int_20target_5Ftype_2C_20void_20_2Aitem_29">OnCleanup</a>(<span class="keywordtype">int</span> target_type, <span class="keywordtype">void</span>* item);
-<a name="l00752"></a>00752
-<a name="l00762"></a>00762 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserPostNick_28userrec_20_2Auser_2C_20std_3A_3Astring_20oldnick_29">OnUserPostNick</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> oldnick);
-<a name="l00763"></a>00763
-<a name="l00789"></a>00789 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnAccessCheck_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20chanrec_20_2Achannel_2C_20int_20access_5Ftype_29">OnAccessCheck</a>(<a class="code" href="classuserrec.html">userrec</a>* source,<a class="code" href="classuserrec.html">userrec</a>* dest,<a class="code" href="classchanrec.html">chanrec</a>* channel,<span class="keywordtype">int</span> access_type);
-<a name="l00790"></a>00790
-<a name="l00795"></a>00795 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#On_30_30_35Numeric_28std_3A_3Astring_20_26output_29">On005Numeric</a>(<a class="code" href="namespaceirc.html#string">std::string</a> &amp;output);
-<a name="l00796"></a>00796
-<a name="l00810"></a>00810 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">OnKill</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> reason);
-<a name="l00811"></a>00811
-<a name="l00817"></a>00817 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRemoteKill_28userrec_20_2Asource_2C_20userrec_20_2Adest_2C_20std_3A_3Astring_20reason_29">OnRemoteKill</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> reason);
-<a name="l00818"></a>00818
-<a name="l00831"></a>00831 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnLoadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">OnLoadModule</a>(<a class="code" href="classModule.html">Module</a>* mod,<a class="code" href="namespaceirc.html#string">std::string</a> name);
-<a name="l00832"></a>00832
-<a name="l00845"></a>00845 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUnloadModule_28Module_20_2Amod_2C_20std_3A_3Astring_20name_29">OnUnloadModule</a>(<a class="code" href="classModule.html">Module</a>* mod,<a class="code" href="namespaceirc.html#string">std::string</a> name);
-<a name="l00846"></a>00846
-<a name="l00853"></a>00853 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnBackgroundTimer_28time_5Ft_20curtime_29">OnBackgroundTimer</a>(time_t curtime);
-<a name="l00854"></a>00854
-<a name="l00865"></a>00865 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnSendList_28userrec_20_2Auser_2C_20chanrec_20_2Achannel_2C_20char_20mode_29">OnSendList</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* channel, <span class="keywordtype">char</span> mode);
-<a name="l00866"></a>00866
-<a name="l00882"></a>00882 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnPreCommand_28std_3A_3Astring_20command_2C_20char_20_2A_2Aparameters_2C_20int_20pcnt_2C_20userrec_20_2Auser_29">OnPreCommand</a>(<a class="code" href="namespaceirc.html#string">std::string</a> command, <span class="keywordtype">char</span> **parameters, <span class="keywordtype">int</span> pcnt, <a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00883"></a>00883
-<a name="l00894"></a>00894 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classModule.html#OnCheckReady_28userrec_20_2Auser_29">OnCheckReady</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00895"></a>00895
-<a name="l00904"></a>00904 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnUserRegister_28userrec_20_2Auser_29">OnUserRegister</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00905"></a>00905
-<a name="l00918"></a>00918 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnRawMode_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20char_20mode_2C_20std_3A_3Astring_20param_2C_20bool_20adding_2C_20int_20pcnt_29">OnRawMode</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <span class="keywordtype">char</span> mode, <a class="code" href="namespaceirc.html#string">std::string</a> param, <span class="keywordtype">bool</span> adding, <span class="keywordtype">int</span> pcnt);
-<a name="l00919"></a>00919
-<a name="l00928"></a>00928 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckInvite_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckInvite</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
-<a name="l00929"></a>00929
-<a name="l00939"></a>00939 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckKey_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20keygiven_29">OnCheckKey</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> keygiven);
-<a name="l00940"></a>00940
-<a name="l00949"></a>00949 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckLimit_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckLimit</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
-<a name="l00950"></a>00950
-<a name="l00959"></a>00959 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnCheckBan_28userrec_20_2Auser_2C_20chanrec_20_2Achan_29">OnCheckBan</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan);
-<a name="l00960"></a>00960
-<a name="l00965"></a>00965 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnStats_28char_20symbol_29">OnStats</a>(<span class="keywordtype">char</span> symbol);
-<a name="l00966"></a>00966
-<a name="l00973"></a>00973 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnChangeLocalUserHost_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeLocalUserHost</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newhost);
-<a name="l00974"></a>00974
-<a name="l00981"></a>00981 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnChangeLocalUserGECOS_28userrec_20_2Auser_2C_20std_3A_3Astring_20newhost_29">OnChangeLocalUserGECOS</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="namespaceirc.html#string">std::string</a> newhost);
-<a name="l00982"></a>00982
-<a name="l00990"></a>00990 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">OnLocalTopicChange</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> topic);
-<a name="l00991"></a>00991
-<a name="l00998"></a>00998 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnPostLocalTopicChange_28userrec_20_2Auser_2C_20chanrec_20_2Achan_2C_20std_3A_3Astring_20topic_29">OnPostLocalTopicChange</a>(<a class="code" href="classuserrec.html">userrec</a>* user, <a class="code" href="classchanrec.html">chanrec</a>* chan, <a class="code" href="namespaceirc.html#string">std::string</a> topic);
-<a name="l00999"></a>00999
-<a name="l01006"></a>01006 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnEvent_28Event_20_2Aevent_29">OnEvent</a>(<a class="code" href="classEvent.html">Event</a>* event);
-<a name="l01007"></a>01007
-<a name="l01015"></a>01015 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classModule.html#OnRequest_28Request_20_2Arequest_29">OnRequest</a>(<a class="code" href="classRequest.html">Request</a>* request);
-<a name="l01016"></a>01016
-<a name="l01026"></a>01026 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnOperCompare_28std_3A_3Astring_20password_2C_20std_3A_3Astring_20input_29">OnOperCompare</a>(<a class="code" href="namespaceirc.html#string">std::string</a> password, <a class="code" href="namespaceirc.html#string">std::string</a> input);
-<a name="l01027"></a>01027
-<a name="l01034"></a>01034 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnGlobalOper_28userrec_20_2Auser_29">OnGlobalOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l01035"></a>01035
-<a name="l01041"></a>01041 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnGlobalConnect_28userrec_20_2Auser_29">OnGlobalConnect</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l01042"></a>01042
-<a name="l01050"></a>01050 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnAddBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">OnAddBan</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classchanrec.html">chanrec</a>* channel,<a class="code" href="namespaceirc.html#string">std::string</a> banmask);
-<a name="l01051"></a>01051
-<a name="l01059"></a>01059 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnDelBan_28userrec_20_2Asource_2C_20chanrec_20_2Achannel_2C_20std_3A_3Astring_20banmask_29">OnDelBan</a>(<a class="code" href="classuserrec.html">userrec</a>* source, <a class="code" href="classchanrec.html">chanrec</a>* channel,<a class="code" href="namespaceirc.html#string">std::string</a> banmask);
-<a name="l01060"></a>01060
-<a name="l01070"></a>01070 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRawSocketAccept_28int_20fd_2C_20std_3A_3Astring_20ip_2C_20int_20localport_29">OnRawSocketAccept</a>(<span class="keywordtype">int</span> fd, <a class="code" href="namespaceirc.html#string">std::string</a> ip, <span class="keywordtype">int</span> localport);
-<a name="l01071"></a>01071
-<a name="l01082"></a>01082 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnRawSocketWrite_28int_20fd_2C_20char_20_2Abuffer_2C_20int_20count_29">OnRawSocketWrite</a>(<span class="keywordtype">int</span> fd, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">int</span> count);
-<a name="l01083"></a>01083
-<a name="l01088"></a>01088 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(<span class="keywordtype">int</span> fd);
-<a name="l01089"></a>01089
-<a name="l01105"></a>01105 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classModule.html#OnRawSocketRead_28int_20fd_2C_20char_20_2Abuffer_2C_20unsigned_20int_20count_2C_20int_20_26readresult_29">OnRawSocketRead</a>(<span class="keywordtype">int</span> fd, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> count, <span class="keywordtype">int</span> &amp;readresult);
-<a name="l01106"></a>01106 };
-<a name="l01107"></a>01107
-<a name="l01108"></a>01108
-<a name="l01114"></a><a class="code" href="classServer.html">01114</a> <span class="keyword">class </span><a class="code" href="classServer.html">Server</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l01115"></a>01115 {
-<a name="l01116"></a>01116 <span class="keyword">public</span>:
-<a name="l01120"></a>01120 <a class="code" href="classServer.html#Server_28_29">Server</a>();
-<a name="l01124"></a>01124 <span class="keyword">virtual</span> <a class="code" href="classServer.html#_7EServer_28_29">~Server</a>();
-<a name="l01129"></a>01129 <a class="code" href="classServerConfig.html">ServerConfig</a>* <a class="code" href="classServer.html#GetConfig_28_29">GetConfig</a>();
-<a name="l01133"></a>01133 <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="l01136"></a>01136 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classServer.html#GetVersion_28_29">GetVersion</a>();
-<a name="l01141"></a>01141 <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="l01146"></a>01146 <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="l01151"></a>01151 <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="l01155"></a>01155 <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="l01160"></a>01160 <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="l01175"></a>01175 <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="l01182"></a>01182 <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="l01187"></a>01187 <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="l01195"></a>01195 <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="l01200"></a>01200 <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="l01201"></a>01201
-<a name="l01205"></a>01205 <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="l01209"></a>01209 <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="l01213"></a>01213 <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="l01217"></a>01217 <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="l01221"></a>01221 <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="l01226"></a>01226 <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="l01230"></a>01230 <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="l01233"></a>01233 <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="l01236"></a>01236 <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="l01239"></a>01239 <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="l01245"></a>01245 <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="l01264"></a>01264 <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="l01265"></a>01265
-<a name="l01287"></a>01287 <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="l01288"></a>01288
-<a name="l01306"></a>01306 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#AddCommand_28command_5Ft_20_2Af_29">AddCommand</a>(<a class="code" href="classcommand__t.html">command_t</a> *f);
-<a name="l01307"></a>01307
-<a name="l01329"></a>01329 <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="l01330"></a>01330
-<a name="l01343"></a>01343 <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="l01344"></a>01344
-<a name="l01350"></a>01350 <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="l01351"></a>01351
-<a name="l01357"></a>01357 <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="l01358"></a>01358
-<a name="l01364"></a>01364 <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="l01365"></a>01365
-<a name="l01376"></a>01376 <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="l01377"></a>01377
-<a name="l01382"></a>01382 <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="l01383"></a>01383
-<a name="l01395"></a>01395 <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="l01396"></a>01396
-<a name="l01397"></a>01397 <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="l01398"></a>01398
-<a name="l01404"></a>01404 <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="l01405"></a>01405
-<a name="l01411"></a>01411 <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="l01412"></a>01412
-<a name="l01421"></a>01421 <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="l01422"></a>01422
-<a name="l01426"></a>01426 <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="l01427"></a>01427
-<a name="l01434"></a>01434 <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="l01435"></a>01435
-<a name="l01442"></a>01442 <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="l01443"></a>01443
-<a name="l01451"></a>01451 <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="l01452"></a>01452
-<a name="l01460"></a>01460 <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="l01461"></a>01461
-<a name="l01469"></a>01469 <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="l01470"></a>01470
-<a name="l01478"></a>01478 <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="l01479"></a>01479
-<a name="l01487"></a>01487 <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="l01488"></a>01488
-<a name="l01491"></a>01491 <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="l01492"></a>01492
-<a name="l01495"></a>01495 <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="l01496"></a>01496
-<a name="l01499"></a>01499 <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="l01500"></a>01500
-<a name="l01503"></a>01503 <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="l01504"></a>01504
-<a name="l01507"></a>01507 <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="l01508"></a>01508
-<a name="l01514"></a>01514 <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="l01515"></a>01515
-<a name="l01518"></a>01518 <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="l01519"></a>01519
-<a name="l01524"></a>01524 <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="l01525"></a>01525
-<a name="l01528"></a>01528 <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="l01529"></a>01529
-<a name="l01532"></a>01532 <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="l01533"></a>01533
-<a name="l01534"></a>01534 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classServer.html#RehashServer_28_29">RehashServer</a>();
-<a name="l01535"></a>01535 };
-<a name="l01536"></a>01536
-<a name="l01537"></a>01537
-<a name="l01538"></a><a class="code" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">01538</a> <span class="preprocessor">#define CONF_NOT_A_NUMBER 0x000010</span>
-<a name="l01539"></a><a class="code" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">01539</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_NOT_UNSIGNED 0x000080</span>
-<a name="l01540"></a><a class="code" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">01540</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_VALUE_NOT_FOUND 0x000100</span>
-<a name="l01541"></a><a class="code" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">01541</a> <span class="preprocessor"></span><span class="preprocessor">#define CONF_FILE_NOT_FOUND 0x000200</span>
-<a name="l01542"></a>01542 <span class="preprocessor"></span>
-<a name="l01543"></a>01543
-<a name="l01550"></a><a class="code" href="classConfigReader.html">01550</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="l01551"></a>01551 {
-<a name="l01552"></a>01552 <span class="keyword">protected</span>:
-<a name="l01558"></a><a class="code" href="classConfigReader.html#cache">01558</a> std::stringstream *<a class="code" href="classConfigReader.html#cache">cache</a>;
-<a name="l01559"></a><a class="code" href="classConfigReader.html#errorlog">01559</a> std::stringstream *<a class="code" href="classConfigReader.html#errorlog">errorlog</a>;
-<a name="l01562"></a><a class="code" href="classConfigReader.html#readerror">01562</a> <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#readerror">readerror</a>;
-<a name="l01563"></a><a class="code" href="classConfigReader.html#error">01563</a> <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#error">error</a>;
-<a name="l01564"></a>01564
-<a name="l01565"></a>01565 <span class="keyword">public</span>:
-<a name="l01570"></a>01570 <a class="code" href="classConfigReader.html#ConfigReader_28_29">ConfigReader</a>(); <span class="comment">// default constructor reads ircd.conf</span>
-<a name="l01574"></a>01574 <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="l01578"></a>01578 <span class="comment"></span> <a class="code" href="classConfigReader.html#_7EConfigReader_28_29">~ConfigReader</a>();
-<a name="l01583"></a>01583 <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="l01589"></a>01589 <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="l01598"></a>01598 <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="l01603"></a>01603 <span class="keywordtype">long</span> <a class="code" href="classConfigReader.html#GetError_28_29">GetError</a>();
-<a name="l01610"></a>01610 <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="l01615"></a>01615 <span class="keywordtype">bool</span> <a class="code" href="classConfigReader.html#Verify_28_29">Verify</a>();
-<a name="l01622"></a>01622 <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="l01623"></a>01623
-<a name="l01629"></a>01629 <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="l01630"></a>01630 };
-<a name="l01631"></a>01631
-<a name="l01632"></a>01632
-<a name="l01633"></a>01633
-<a name="l01639"></a><a class="code" href="classFileReader.html">01639</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="l01640"></a>01640 {
-<a name="l01641"></a><a class="code" href="classFileReader.html#fc">01641</a> <a class="code" href="globals_8h.html#file_5Fcache">file_cache</a> <a class="code" href="classFileReader.html#fc">fc</a>;
-<a name="l01642"></a>01642 <span class="keyword">public</span>:
-<a name="l01647"></a>01647 <a class="code" href="classFileReader.html#FileReader_28_29">FileReader</a>();
-<a name="l01648"></a>01648
-<a name="l01654"></a>01654 <a class="code" href="classFileReader.html#FileReader_28_29">FileReader</a>(<a class="code" href="namespaceirc.html#string">std::string</a> filename);
-<a name="l01655"></a>01655
-<a name="l01659"></a>01659 <a class="code" href="classFileReader.html#_7EFileReader_28_29">~FileReader</a>();
-<a name="l01660"></a>01660
-<a name="l01666"></a>01666 <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="l01667"></a>01667
-<a name="l01671"></a>01671 <span class="keywordtype">bool</span> <a class="code" href="classFileReader.html#Exists_28_29">Exists</a>();
-<a name="l01672"></a>01672
-<a name="l01677"></a>01677 <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="l01678"></a>01678
-<a name="l01684"></a>01684 <span class="keywordtype">int</span> <a class="code" href="classFileReader.html#FileSize_28_29">FileSize</a>();
-<a name="l01685"></a>01685 };
-<a name="l01686"></a>01686
-<a name="l01687"></a>01687
-<a name="l01694"></a><a class="code" href="classModuleFactory.html">01694</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="l01695"></a>01695 {
-<a name="l01696"></a>01696 <span class="keyword">public</span>:
-<a name="l01697"></a><a class="code" href="classModuleFactory.html#ModuleFactory_28_29">01697</a> <a class="code" href="classModuleFactory.html#ModuleFactory_28_29">ModuleFactory</a>() { }
-<a name="l01698"></a><a class="code" href="classModuleFactory.html#_7EModuleFactory_28_29">01698</a> <span class="keyword">virtual</span> <a class="code" href="classModuleFactory.html#_7EModuleFactory_28_29">~ModuleFactory</a>() { }
-<a name="l01703"></a>01703 <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="l01704"></a>01704 };
-<a name="l01705"></a>01705
-<a name="l01706"></a>01706
-<a name="l01707"></a><a class="code" href="modules_8h.html#ircd_5Fmodule">01707</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#ircd_5Fmodule">ircd_module</a>;
-<a name="l01708"></a>01708
-<a name="l01709"></a>01709 <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="l01710"></a>01710 <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="l01711"></a>01711 <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="l01712"></a>01712 <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="l01713"></a>01713 <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="l01714"></a>01714 <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="l01715"></a>01715
-<a name="l01716"></a>01716 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/modules_8h.html b/docs/module-doc/modules_8h.html
deleted file mode 100644
index 3adc9eb2b..000000000
--- a/docs/module-doc/modules_8h.html
+++ /dev/null
@@ -1,1645 +0,0 @@
-<!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: modules.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>modules.h File Reference</h1><code>#include &quot;dynamic.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="base_8h-source.html">base.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="ctables_8h-source.html">ctables.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="socket_8h-source.html">socket.h</a>&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;deque&gt;</code><br>
-<code>#include &lt;sstream&gt;</code><br>
-
-<p>
-Include dependency graph for modules.h:<p><center><img src="modules_8h__incl.gif" border="0" usemap="#modules.h_map" alt=""></center>
-<map name="modules.h_map">
-<area href="base_8h-source.html" shape="rect" coords="152,159,214,185" alt="">
-<area href="ctables_8h-source.html" shape="rect" coords="146,108,220,135" alt="">
-<area href="socket_8h-source.html" shape="rect" coords="147,336,219,363" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="modules_8h__dep__incl.gif" border="0" usemap="#modules.hdep_map" alt=""></center>
-<map name="modules.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="288,57,387,84" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="288,108,387,135" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="142,57,238,84" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="147,108,232,135" alt="">
-</map>
-
-<p>
-<a href="modules_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="classVersion.html">Version</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a module's Version information The four members (set by the constructor only) indicate details as to the version number of a module. <a href="classVersion.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="classAdmin.html">Admin</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds /ADMIN data This class contains the admin details of the local server. <a href="classAdmin.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="classModuleMessage.html">ModuleMessage</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The ModuleMessage class is the base class of <a class="el" href="classRequest.html">Request</a> and <a class="el" href="classEvent.html">Event</a> This class is used to represent a basic data structure which is passed between modules for safe inter-module communications. <a href="classModuleMessage.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="classRequest.html">Request</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Request class is a unicast message directed at a given module. <a href="classRequest.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="classEvent.html">Event</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The Event class is a unicast message directed at all modules. <a href="classEvent.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="classExtMode.html">ExtMode</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds an extended mode's details. <a href="classExtMode.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="classModule.html">Module</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class for all <a class="el" href="classInspIRCd.html">InspIRCd</a> modules This class is the base class for <a class="el" href="classInspIRCd.html">InspIRCd</a> modules. <a href="classModule.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="classServer.html">Server</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allows server output and query functions This class contains methods which allow a module to query the state of the irc server, and produce output to users and other servers. <a href="classServer.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="classConfigReader.html">ConfigReader</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">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. <a href="classConfigReader.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="classFileReader.html">FileReader</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Caches a text file into memory and can be used to retrieve lines from it. <a href="classFileReader.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="classModuleFactory.html">ModuleFactory</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Instantiates classes inherited from <a class="el" href="classModule.html">Module</a> This class creates a class inherited from type <a class="el" href="classModule.html">Module</a>, using new. <a href="classModuleFactory.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#DEBUG">DEBUG</a>&nbsp;&nbsp;&nbsp;10</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">log levels <a href="#DEBUG"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#VERBOSE">VERBOSE</a>&nbsp;&nbsp;&nbsp;20</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#DEFAULT">DEFAULT</a>&nbsp;&nbsp;&nbsp;30</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#SPARSE">SPARSE</a>&nbsp;&nbsp;&nbsp;40</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#NONE">NONE</a>&nbsp;&nbsp;&nbsp;50</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#MT_5FCHANNEL">MT_CHANNEL</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used with OnExtendedMode() method of modules. <a href="#MT_5FCHANNEL"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#MT_5FCLIENT">MT_CLIENT</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#MT_5FSERVER">MT_SERVER</a>&nbsp;&nbsp;&nbsp;3</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ACR_5FDEFAULT">ACR_DEFAULT</a>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used with OnAccessCheck() method of modules. <a href="#ACR_5FDEFAULT"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ACR_5FDENY">ACR_DENY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ACR_5FALLOW">ACR_ALLOW</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FKICK">AC_KICK</a>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FDEOP">AC_DEOP</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FOP">AC_OP</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FVOICE">AC_VOICE</a>&nbsp;&nbsp;&nbsp;3</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FDEVOICE">AC_DEVOICE</a>&nbsp;&nbsp;&nbsp;4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FHALFOP">AC_HALFOP</a>&nbsp;&nbsp;&nbsp;5</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FDEHALFOP">AC_DEHALFOP</a>&nbsp;&nbsp;&nbsp;6</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FINVITE">AC_INVITE</a>&nbsp;&nbsp;&nbsp;7</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#AC_5FGENERAL_5FMODE">AC_GENERAL_MODE</a>&nbsp;&nbsp;&nbsp;8</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#VF_5FSTATIC">VF_STATIC</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to define a set of behavior bits for a module. <a href="#VF_5FSTATIC"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#VF_5FVENDOR">VF_VENDOR</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#VF_5FSERVICEPROVIDER">VF_SERVICEPROVIDER</a>&nbsp;&nbsp;&nbsp;4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#VF_5FCOMMON">VF_COMMON</a>&nbsp;&nbsp;&nbsp;8</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a>&nbsp;&nbsp;&nbsp;for (int _i = 0; _i &lt;= <a class="el" href="users_8cpp.html#MODCOUNT">MODCOUNT</a>; _i++) modules[_i]-&gt;</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(x)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#FD_5FMAGIC_5FNUMBER">FD_MAGIC_NUMBER</a>&nbsp;&nbsp;&nbsp;-42</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#IS_5FLOCAL_28x_29">IS_LOCAL</a>(x)&nbsp;&nbsp;&nbsp;(x-&gt;fd &gt; -1)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#IS_5FREMOTE_28x_29">IS_REMOTE</a>(x)&nbsp;&nbsp;&nbsp;(x-&gt;fd &lt; 0)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#IS_5FMODULE_5FCREATED_28x_29">IS_MODULE_CREATED</a>(x)&nbsp;&nbsp;&nbsp;(x-&gt;fd == FD_MAGIC_NUMBER)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#WM_5FAND">WM_AND</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#WM_5FOR">WM_OR</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#TYPE_5FUSER">TYPE_USER</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#TYPE_5FCHANNEL">TYPE_CHANNEL</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#TYPE_5FSERVER">TYPE_SERVER</a>&nbsp;&nbsp;&nbsp;3</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#CONF_5FNOT_5FA_5FNUMBER">CONF_NOT_A_NUMBER</a>&nbsp;&nbsp;&nbsp;0x000010</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#CONF_5FNOT_5FUNSIGNED">CONF_NOT_UNSIGNED</a>&nbsp;&nbsp;&nbsp;0x000080</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#CONF_5FVALUE_5FNOT_5FFOUND">CONF_VALUE_NOT_FOUND</a>&nbsp;&nbsp;&nbsp;0x000100</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#CONF_5FFILE_5FNOT_5FFOUND">CONF_FILE_NOT_FOUND</a>&nbsp;&nbsp;&nbsp;0x000200</td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::deque&lt; <a class="el" href="namespaceirc.html#string">std::string</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#file_5Fcache">file_cache</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Low level definition of a <a class="el" href="classFileReader.html">FileReader</a> classes file cache area. <a href="#file_5Fcache"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#string_5Flist">string_list</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::deque&lt; <a class="el" href="classuserrec.html">userrec</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#chanuserlist">chanuserlist</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a list of users in a channel. <a href="#chanuserlist"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef DLLFactory&lt; <a class="el" href="classModuleFactory.html">ModuleFactory</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ircd_5Fmodule">ircd_module</a></td></tr>
-
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ModeDefined_28char_20c_2C_20int_20i_29">ModeDefined</a> (char c, int i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ModeDefinedOper_28char_20c_2C_20int_20i_29">ModeDefinedOper</a> (char c, int i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ModeDefinedOn_28char_20c_2C_20int_20i_29">ModeDefinedOn</a> (char c, int i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ModeDefinedOff_28char_20c_2C_20int_20i_29">ModeDefinedOff</a> (char c, int i)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ModeMakeList_28char_20modechar_29">ModeMakeList</a> (char modechar)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="modules_8h.html#ModeIsListMode_28char_20modechar_2C_20int_20type_29">ModeIsListMode</a> (char modechar, int type)</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="AC_5FDEHALFOP"></a><!-- doxytag: member="modules.h::AC_DEHALFOP" ref="AC_5FDEHALFOP" 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">#define AC_DEHALFOP&nbsp;&nbsp;&nbsp;6 </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="modules_8h-source.html#l00046">46</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FDEOP"></a><!-- doxytag: member="modules.h::AC_DEOP" ref="AC_5FDEOP" 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">#define AC_DEOP&nbsp;&nbsp;&nbsp;1 </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="modules_8h-source.html#l00041">41</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FDEVOICE"></a><!-- doxytag: member="modules.h::AC_DEVOICE" ref="AC_5FDEVOICE" 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">#define AC_DEVOICE&nbsp;&nbsp;&nbsp;4 </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="modules_8h-source.html#l00044">44</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FGENERAL_5FMODE"></a><!-- doxytag: member="modules.h::AC_GENERAL_MODE" ref="AC_5FGENERAL_5FMODE" 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">#define AC_GENERAL_MODE&nbsp;&nbsp;&nbsp;8 </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="modules_8h-source.html#l00048">48</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FHALFOP"></a><!-- doxytag: member="modules.h::AC_HALFOP" ref="AC_5FHALFOP" 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">#define AC_HALFOP&nbsp;&nbsp;&nbsp;5 </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="modules_8h-source.html#l00045">45</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FINVITE"></a><!-- doxytag: member="modules.h::AC_INVITE" ref="AC_5FINVITE" 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">#define AC_INVITE&nbsp;&nbsp;&nbsp;7 </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="modules_8h-source.html#l00047">47</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FKICK"></a><!-- doxytag: member="modules.h::AC_KICK" ref="AC_5FKICK" 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">#define AC_KICK&nbsp;&nbsp;&nbsp;0 </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="modules_8h-source.html#l00040">40</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FOP"></a><!-- doxytag: member="modules.h::AC_OP" ref="AC_5FOP" 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">#define AC_OP&nbsp;&nbsp;&nbsp;2 </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="modules_8h-source.html#l00042">42</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="AC_5FVOICE"></a><!-- doxytag: member="modules.h::AC_VOICE" ref="AC_5FVOICE" 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">#define AC_VOICE&nbsp;&nbsp;&nbsp;3 </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="modules_8h-source.html#l00043">43</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ACR_5FALLOW"></a><!-- doxytag: member="modules.h::ACR_ALLOW" ref="ACR_5FALLOW" 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">#define ACR_ALLOW&nbsp;&nbsp;&nbsp;2 </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="modules_8h-source.html#l00039">39</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ACR_5FDEFAULT"></a><!-- doxytag: member="modules.h::ACR_DEFAULT" ref="ACR_5FDEFAULT" 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">#define ACR_DEFAULT&nbsp;&nbsp;&nbsp;0 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used with OnAccessCheck() method of modules.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00037">37</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, and <a class="el" href="modules_8cpp-source.html#l00240">Module::OnAccessCheck()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ACR_5FDENY"></a><!-- doxytag: member="modules.h::ACR_DENY" ref="ACR_5FDENY" 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">#define ACR_DENY&nbsp;&nbsp;&nbsp;1 </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="modules_8h-source.html#l00038">38</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="CONF_5FFILE_5FNOT_5FFOUND"></a><!-- doxytag: member="modules.h::CONF_FILE_NOT_FOUND" ref="CONF_5FFILE_5FNOT_5FFOUND" 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">#define CONF_FILE_NOT_FOUND&nbsp;&nbsp;&nbsp;0x000200 </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="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#l00735">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>
-<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">#define CONF_NOT_A_NUMBER&nbsp;&nbsp;&nbsp;0x000010 </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="modules_8h-source.html#l01538">1538</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#l00798">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>
-<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">#define CONF_NOT_UNSIGNED&nbsp;&nbsp;&nbsp;0x000080 </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="modules_8h-source.html#l01539">1539</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#l00798">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>
-<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">#define CONF_VALUE_NOT_FOUND&nbsp;&nbsp;&nbsp;0x000100 </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="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#l00781">ConfigReader::ReadFlag()</a>, <a class="el" href="modules_8cpp-source.html#l00798">ConfigReader::ReadInteger()</a>, and <a class="el" href="modules_8cpp-source.html#l00765">ConfigReader::ReadValue()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="DEBUG"></a><!-- doxytag: member="modules.h::DEBUG" ref="DEBUG" 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">#define DEBUG&nbsp;&nbsp;&nbsp;10 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-log levels
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00023">23</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="DEFAULT"></a><!-- doxytag: member="modules.h::DEFAULT" ref="DEFAULT" 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">#define DEFAULT&nbsp;&nbsp;&nbsp;30 </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="modules_8h-source.html#l00025">25</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FD_5FMAGIC_5FNUMBER"></a><!-- doxytag: member="modules.h::FD_MAGIC_NUMBER" ref="FD_5FMAGIC_5FNUMBER" 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">#define FD_MAGIC_NUMBER&nbsp;&nbsp;&nbsp;-42 </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="modules_8h-source.html#l00102">102</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#l00609">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00597">Server::UserToPseudo()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FOREACH_5FMOD"></a><!-- doxytag: member="modules.h::FOREACH_MOD" ref="FOREACH_5FMOD" 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">#define FOREACH_MOD&nbsp;&nbsp;&nbsp;for (int _i = 0; _i &lt;= <a class="el" href="users_8cpp.html#MODCOUNT">MODCOUNT</a>; _i++) modules[_i]-&gt; </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="modules_8h-source.html#l00082">82</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
-<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="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>, and <a class="el" href="modules_8cpp-source.html#l00205">Event::Send()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="FOREACH_5FRESULT_28x_29"></a><!-- doxytag: member="modules.h::FOREACH_RESULT" ref="FOREACH_5FRESULT_28x_29" args="(x)" --><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">#define FOREACH_RESULT </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">x&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>
-<b>Value:</b><div class="fragment"><pre class="fragment">{ MOD_RESULT = 0; \
- <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++) { \
- <span class="keywordtype">int</span> res = <a class="code" href="channels_8cpp.html#modules">modules</a>[_i]-&gt;x ; \
- <span class="keywordflow">if</span> (res != 0) { \
- MOD_RESULT = res; \
- <span class="keywordflow">break</span>; \
- } \
- } \
- }
-</pre></div>
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00090">90</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
-<p>
-Referenced by <a class="el" href="channels_8cpp-source.html#l00194">add_channel()</a>, <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>, and <a class="el" href="channels_8cpp-source.html#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="IS_5FLOCAL_28x_29"></a><!-- doxytag: member="modules.h::IS_LOCAL" ref="IS_5FLOCAL_28x_29" args="(x)" --><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">#define IS_LOCAL </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">x&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(x-&gt;fd &gt; -1)</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="modules_8h-source.html#l00106">106</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="IS_5FMODULE_5FCREATED_28x_29"></a><!-- doxytag: member="modules.h::IS_MODULE_CREATED" ref="IS_5FMODULE_5FCREATED_28x_29" args="(x)" --><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">#define IS_MODULE_CREATED </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">x&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(x-&gt;fd == FD_MAGIC_NUMBER)</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="modules_8h-source.html#l00108">108</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="IS_5FREMOTE_28x_29"></a><!-- doxytag: member="modules.h::IS_REMOTE" ref="IS_5FREMOTE_28x_29" args="(x)" --><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">#define IS_REMOTE </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">x&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap>&nbsp;&nbsp;&nbsp;(x-&gt;fd &lt; 0)</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="modules_8h-source.html#l00107">107</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MT_5FCHANNEL"></a><!-- doxytag: member="modules.h::MT_CHANNEL" ref="MT_5FCHANNEL" 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">#define MT_CHANNEL&nbsp;&nbsp;&nbsp;1 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used with OnExtendedMode() method of modules.
-<p>
-
-<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#l00583">Server::AddExtendedListMode()</a>, and <a class="el" href="modules_8cpp-source.html#l00143">ModeMakeList()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MT_5FCLIENT"></a><!-- doxytag: member="modules.h::MT_CLIENT" ref="MT_5FCLIENT" 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">#define MT_CLIENT&nbsp;&nbsp;&nbsp;2 </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="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#l00555">Server::AddExtendedMode()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MT_5FSERVER"></a><!-- doxytag: member="modules.h::MT_SERVER" ref="MT_5FSERVER" 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">#define MT_SERVER&nbsp;&nbsp;&nbsp;3 </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="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#l00555">Server::AddExtendedMode()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="NONE"></a><!-- doxytag: member="modules.h::NONE" ref="NONE" 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">#define NONE&nbsp;&nbsp;&nbsp;50 </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="modules_8h-source.html#l00027">27</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="SPARSE"></a><!-- doxytag: member="modules.h::SPARSE" ref="SPARSE" 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">#define SPARSE&nbsp;&nbsp;&nbsp;40 </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="modules_8h-source.html#l00026">26</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="TYPE_5FCHANNEL"></a><!-- doxytag: member="modules.h::TYPE_CHANNEL" ref="TYPE_5FCHANNEL" 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">#define TYPE_CHANNEL&nbsp;&nbsp;&nbsp;2 </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="modules_8h-source.html#l00118">118</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="TYPE_5FSERVER"></a><!-- doxytag: member="modules.h::TYPE_SERVER" ref="TYPE_5FSERVER" 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">#define TYPE_SERVER&nbsp;&nbsp;&nbsp;3 </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="modules_8h-source.html#l00119">119</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="TYPE_5FUSER"></a><!-- doxytag: member="modules.h::TYPE_USER" ref="TYPE_5FUSER" 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">#define TYPE_USER&nbsp;&nbsp;&nbsp;1 </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="modules_8h-source.html#l00117">117</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="VERBOSE"></a><!-- doxytag: member="modules.h::VERBOSE" ref="VERBOSE" 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">#define VERBOSE&nbsp;&nbsp;&nbsp;20 </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="modules_8h-source.html#l00024">24</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="VF_5FCOMMON"></a><!-- doxytag: member="modules.h::VF_COMMON" ref="VF_5FCOMMON" 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">#define VF_COMMON&nbsp;&nbsp;&nbsp;8 </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="modules_8h-source.html#l00055">55</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="VF_5FSERVICEPROVIDER"></a><!-- doxytag: member="modules.h::VF_SERVICEPROVIDER" ref="VF_5FSERVICEPROVIDER" 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">#define VF_SERVICEPROVIDER&nbsp;&nbsp;&nbsp;4 </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="modules_8h-source.html#l00054">54</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="VF_5FSTATIC"></a><!-- doxytag: member="modules.h::VF_STATIC" ref="VF_5FSTATIC" 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">#define VF_STATIC&nbsp;&nbsp;&nbsp;1 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Used to define a set of behavior bits for a module.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00052">52</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="VF_5FVENDOR"></a><!-- doxytag: member="modules.h::VF_VENDOR" ref="VF_5FVENDOR" 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">#define VF_VENDOR&nbsp;&nbsp;&nbsp;2 </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="modules_8h-source.html#l00053">53</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#l00231">Module::GetVersion()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="WM_5FAND"></a><!-- doxytag: member="modules.h::WM_AND" ref="WM_5FAND" 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">#define WM_AND&nbsp;&nbsp;&nbsp;1 </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="modules_8h-source.html#l00112">112</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="WM_5FOR"></a><!-- doxytag: member="modules.h::WM_OR" ref="WM_5FOR" 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">#define WM_OR&nbsp;&nbsp;&nbsp;2 </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="modules_8h-source.html#l00113">113</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="chanuserlist"></a><!-- doxytag: member="modules.h::chanuserlist" ref="chanuserlist" 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">typedef std::deque&lt;<a class="el" href="classuserrec.html">userrec</a>*&gt; <a class="el" href="modules_8h.html#chanuserlist">chanuserlist</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds a list of users in a channel.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00075">75</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="file_5Fcache"></a><!-- doxytag: member="modules.h::file_cache" ref="file_5Fcache" 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">typedef std::deque&lt;<a class="el" href="namespaceirc.html#string">std::string</a>&gt; <a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Low level definition of a <a class="el" href="classFileReader.html">FileReader</a> classes file cache area.
-<p>
-
-<p>
-Definition at line <a class="el" href="modules_8h-source.html#l00066">66</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ircd_5Fmodule"></a><!-- doxytag: member="modules.h::ircd_module" ref="ircd_5Fmodule" 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">typedef DLLFactory&lt;<a class="el" href="classModuleFactory.html">ModuleFactory</a>&gt; <a class="el" href="modules_8h.html#ircd_5Fmodule">ircd_module</a> </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="modules_8h-source.html#l01707">1707</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>
-<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">typedef <a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> <a class="el" href="modules_8h.html#string_5Flist">string_list</a> </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="modules_8h-source.html#l00071">71</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<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>
-<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">bool ModeDefined </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>i</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00070">70</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00133">DoAddExtendedMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00071"></a>00071 {
-<a name="l00072"></a>00072 <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="l00073"></a>00073 {
-<a name="l00074"></a>00074 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00075"></a>00075 {
-<a name="l00076"></a>00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00077"></a>00077 }
-<a name="l00078"></a>00078 }
-<a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00080"></a>00080 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeDefinedOff_28char_20c_2C_20int_20i_29"></a><!-- doxytag: member="modules.h::ModeDefinedOff" ref="ModeDefinedOff_28char_20c_2C_20int_20i_29" args="(char c, int i)" --><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 ModeDefinedOff </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>i</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00120">120</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00121"></a>00121 {
-<a name="l00122"></a>00122 <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="l00123"></a>00123 {
-<a name="l00124"></a>00124 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00125"></a>00125 {
-<a name="l00126"></a>00126 <span class="keywordflow">return</span> i-&gt;params_when_off;
-<a name="l00127"></a>00127 }
-<a name="l00128"></a>00128 }
-<a name="l00129"></a>00129 <span class="keywordflow">return</span> 0;
-<a name="l00130"></a>00130 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeDefinedOn_28char_20c_2C_20int_20i_29"></a><!-- doxytag: member="modules.h::ModeDefinedOn" ref="ModeDefinedOn_28char_20c_2C_20int_20i_29" args="(char c, int i)" --><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 ModeDefinedOn </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>i</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00107">107</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00108"></a>00108 {
-<a name="l00109"></a>00109 <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="l00110"></a>00110 {
-<a name="l00111"></a>00111 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type))
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keywordflow">return</span> i-&gt;params_when_on;
-<a name="l00114"></a>00114 }
-<a name="l00115"></a>00115 }
-<a name="l00116"></a>00116 <span class="keywordflow">return</span> 0;
-<a name="l00117"></a>00117 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeDefinedOper_28char_20c_2C_20int_20i_29"></a><!-- doxytag: member="modules.h::ModeDefinedOper" ref="ModeDefinedOper_28char_20c_2C_20int_20i_29" args="(char c, int i)" --><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">bool ModeDefinedOper </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>i</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00094">94</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <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="l00097"></a>00097 {
-<a name="l00098"></a>00098 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;needsoper == <span class="keyword">true</span>))
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102 }
-<a name="l00103"></a>00103 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00104"></a>00104 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeIsListMode_28char_20modechar_2C_20int_20type_29"></a><!-- doxytag: member="modules.h::ModeIsListMode" ref="ModeIsListMode_28char_20modechar_2C_20int_20type_29" args="(char modechar, int type)" --><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">bool ModeIsListMode </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>modechar</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>type</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>
-
-<p>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00082">82</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">EMode</a>.<div class="fragment"><pre class="fragment"><a name="l00083"></a>00083 {
-<a name="l00084"></a>00084 <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="l00085"></a>00085 {
-<a name="l00086"></a>00086 <span class="keywordflow">if</span> ((i-&gt;modechar == modechar) &amp;&amp; (i-&gt;type == type) &amp;&amp; (i-&gt;list == <span class="keyword">true</span>))
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 }
-<a name="l00091"></a>00091 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00092"></a>00092 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ModeMakeList_28char_20modechar_29"></a><!-- doxytag: member="modules.h::ModeMakeList" ref="ModeMakeList_28char_20modechar_29" args="(char modechar)" --><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 ModeMakeList </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>modechar</em> </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>
-Definition at line <a class="el" href="modules_8cpp-source.html#l00143">143</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp-source.html#l00067">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#l00583">Server::AddExtendedListMode()</a>.<div class="fragment"><pre class="fragment"><a name="l00144"></a>00144 {
-<a name="l00145"></a>00145 <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="l00146"></a>00146 {
-<a name="l00147"></a>00147 <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>))
-<a name="l00148"></a>00148 {
-<a name="l00149"></a>00149 i-&gt;list = <span class="keyword">true</span>;
-<a name="l00150"></a>00150 <span class="keywordflow">return</span>;
-<a name="l00151"></a>00151 }
-<a name="l00152"></a>00152 }
-<a name="l00153"></a>00153 <span class="keywordflow">return</span>;
-<a name="l00154"></a>00154 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/modules_8h__dep__incl.gif b/docs/module-doc/modules_8h__dep__incl.gif
deleted file mode 100644
index 79ea1f1fb..000000000
--- a/docs/module-doc/modules_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/modules_8h__dep__incl.map b/docs/module-doc/modules_8h__dep__incl.map
deleted file mode 100644
index d2382c473..000000000
--- a/docs/module-doc/modules_8h__dep__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 288,57 387,84
-rect $modules_8cpp-source.html 288,108 387,135
-rect $inspircd__io_8h-source.html 142,57 238,84
-rect $typedefs_8h-source.html 147,108 232,135
diff --git a/docs/module-doc/modules_8h__dep__incl.md5 b/docs/module-doc/modules_8h__dep__incl.md5
deleted file mode 100644
index 797e74981..000000000
--- a/docs/module-doc/modules_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-a9c8e3f1de38b14742a7373870135e9c \ No newline at end of file
diff --git a/docs/module-doc/modules_8h__incl.gif b/docs/module-doc/modules_8h__incl.gif
deleted file mode 100644
index 2248e550f..000000000
--- a/docs/module-doc/modules_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/modules_8h__incl.map b/docs/module-doc/modules_8h__incl.map
deleted file mode 100644
index 80950de97..000000000
--- a/docs/module-doc/modules_8h__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $base_8h-source.html 152,159 214,185
-rect $ctables_8h-source.html 146,108 220,135
-rect $socket_8h-source.html 147,336 219,363
diff --git a/docs/module-doc/modules_8h__incl.md5 b/docs/module-doc/modules_8h__incl.md5
deleted file mode 100644
index 44632e2c0..000000000
--- a/docs/module-doc/modules_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-b8bad034c27cd1c2ec23841d82552230 \ No newline at end of file
diff --git a/docs/module-doc/namespaceirc.html b/docs/module-doc/namespaceirc.html
deleted file mode 100644
index cc21bcb26..000000000
--- a/docs/module-doc/namespaceirc.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!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: irc Namespace 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>irc Namespace Reference</h1>The irc namespace contains a number of helper classes.
-<a href="#_details">More...</a>
-<p>
-<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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1StrHashComp.html">StrHashComp</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class returns true if two strings match. <a href="structirc_1_1StrHashComp.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1InAddr__HashComp.html">InAddr_HashComp</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This class returns true if two in_addr structs match. <a href="structirc_1_1InAddr__HashComp.html#_details">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> class is used for RFC-style comparison of strings. <a href="structirc_1_1irc__char__traits.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef basic_string&lt; char,<br>
- <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a>, allocator&lt;<br>
- char &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceirc.html#string">string</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This typedef declares <a class="el" href="namespaceirc.html#string">irc::string</a> based upon <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a>. <a href="#string"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The irc namespace contains a number of helper classes. <hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="string"></a><!-- doxytag: member="irc::string" ref="string" 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">typedef basic_string&lt;char, <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a>, allocator&lt;char&gt; &gt; <a class="el" href="namespaceirc.html#string">irc::string</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-This typedef declares <a class="el" href="namespaceirc.html#string">irc::string</a> based upon <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a>.
-<p>
-
-<p>
-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 Mon Dec 19 18:05:24 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/namespacemembers.html b/docs/module-doc/namespacemembers.html
deleted file mode 100644
index 53dfe521a..000000000
--- a/docs/module-doc/namespacemembers.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!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: Class Members</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="qindexHL" 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="qindex"><a class="qindexHL" href="namespacemembers.html">All</a> | <a class="qindex" href="namespacemembers_type.html">Typedefs</a></div>
-Here is a list of all namespace members with links to the namespace documentation for each member:
-<p>
-<ul>
-<li>string
-: <a class="el" href="namespaceirc.html#string">irc</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/namespacemembers_type.html b/docs/module-doc/namespacemembers_type.html
deleted file mode 100644
index 9ff581e34..000000000
--- a/docs/module-doc/namespacemembers_type.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!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: Class Members</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="qindexHL" 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="qindex"><a class="qindex" href="namespacemembers.html">All</a> | <a class="qindexHL" href="namespacemembers_type.html">Typedefs</a></div>
-
-<p>
-<ul>
-<li>string
-: <a class="el" href="namespaceirc.html#string">irc</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/namespacenspace.html b/docs/module-doc/namespacenspace.html
deleted file mode 100644
index 488dec58f..000000000
--- a/docs/module-doc/namespacenspace.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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: nspace Namespace 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>nspace Namespace Reference</h1>
-<p>
-<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">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">hash&lt; in_addr &gt;</a></td></tr>
-
-<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 Mon Dec 19 18:05:24 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/namespaces.html b/docs/module-doc/namespaces.html
deleted file mode 100644
index 17aba5d28..000000000
--- a/docs/module-doc/namespaces.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!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: Namespace Index</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="qindexHL" 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 Namespace List</h1>Here is a list of all namespaces with brief descriptions:<table>
- <tr><td class="indexkey"><a class="el" href="namespaceirc.html">irc</a></td><td class="indexvalue">The irc namespace contains a number of helper classes </td></tr>
- <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 Mon Dec 19 18:05:24 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/namespacestd.html b/docs/module-doc/namespacestd.html
deleted file mode 100644
index 89c5abf58..000000000
--- a/docs/module-doc/namespacestd.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<!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: std Namespace 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>std Namespace Reference</h1>
-<p>
-<table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05:24 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/socket_8cpp-source.html b/docs/module-doc/socket_8cpp-source.html
deleted file mode 100644
index 2d6673bd1..000000000
--- a/docs/module-doc/socket_8cpp-source.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<!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: socket.cpp 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_000005.html">src</a></div>
-<h1>socket.cpp</h1><a href="socket_8cpp.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-2004 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="keyword">using</span> <span class="keyword">namespace </span>std;
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;sys/time.h&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;sys/resource.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;unistd.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;fcntl.h&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#include &lt;poll.h&gt;</span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;iostream&gt;</span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;fstream&gt;</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="socket_8h.html">socket.h</a>"</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="inspircd__io_8h.html">inspircd_io.h</a>"</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include "inspstring.h"</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include "helperfuncs.h"</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="socketengine_8h.html">socketengine.h</a>"</span>
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039
-<a name="l00040"></a>00040 <span class="keyword">extern</span> <a class="code" href="classInspIRCd.html">InspIRCd</a>* <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>;
-<a name="l00041"></a>00041 <span class="keyword">extern</span> time_t <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00042"></a>00042
-<a name="l00043"></a><a class="code" href="users_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">00043</a> <a class="code" href="classInspSocket.html">InspSocket</a>* <a class="code" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[65535];
-<a name="l00044"></a>00044
-<a name="l00045"></a><a class="code" href="classInspSocket.html#InspSocket_28_29">00045</a> <a class="code" href="classInspSocket.html#InspSocket_28_29">InspSocket::InspSocket</a>()
-<a name="l00046"></a>00046 {
-<a name="l00047"></a>00047 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>;
-<a name="l00048"></a>00048 }
-<a name="l00049"></a>00049
-<a name="l00050"></a><a class="code" href="classInspSocket.html#InspSocket_28int_20newfd_2C_20char_20_2Aip_29">00050</a> <a class="code" href="classInspSocket.html#InspSocket_28_29">InspSocket::InspSocket</a>(<span class="keywordtype">int</span> newfd, <span class="keywordtype">char</span>* ip)
-<a name="l00051"></a>00051 {
-<a name="l00052"></a>00052 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = newfd;
-<a name="l00053"></a>00053 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>;
-<a name="l00054"></a>00054 this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a> = ip;
-<a name="l00055"></a>00055 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00056"></a>00056 socket_ref[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = <span class="keyword">this</span>;
-<a name="l00057"></a>00057 }
-<a name="l00058"></a>00058
-<a name="l00059"></a><a class="code" href="classInspSocket.html#InspSocket_28std_3A_3Astring_20host_2C_20int_20port_2C_20bool_20listening_2C_20unsigned_20long_20maxtime_29">00059</a> <a class="code" href="classInspSocket.html#InspSocket_28_29">InspSocket::InspSocket</a>(<a class="code" href="namespaceirc.html#string">std::string</a> host, <span class="keywordtype">int</span> port, <span class="keywordtype">bool</span> listening, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxtime)
-<a name="l00060"></a>00060 {
-<a name="l00061"></a>00061 <span class="keywordflow">if</span> (listening) {
-<a name="l00062"></a>00062 <span class="keywordflow">if</span> ((this-&gt;fd = <a class="code" href="inspircd__io_8h.html#OpenTCPSocket_28void_29">OpenTCPSocket</a>()) == <a class="code" href="inspircd_8h.html#ERROR">ERROR</a>)
-<a name="l00063"></a>00063 {
-<a name="l00064"></a>00064 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
-<a name="l00065"></a>00065 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00066"></a>00066 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>);
-<a name="l00067"></a>00067 <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">"OpenTCPSocket() error"</span>);
-<a name="l00068"></a>00068 <span class="keywordflow">return</span>;
-<a name="l00069"></a>00069 }
-<a name="l00070"></a>00070 <span class="keywordflow">else</span>
-<a name="l00071"></a>00071 {
-<a name="l00072"></a>00072 <span class="keywordflow">if</span> (<a class="code" 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">BindSocket</a>(this-&gt;fd,this-&gt;client,this-&gt;server,port,(<span class="keywordtype">char</span>*)host.c_str()) == <a class="code" href="inspircd_8h.html#ERROR">ERROR</a>)
-<a name="l00073"></a>00073 {
-<a name="l00074"></a>00074 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
-<a name="l00075"></a>00075 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
-<a name="l00076"></a>00076 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00077"></a>00077 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a>);
-<a name="l00078"></a>00078 <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">"BindSocket() error %s"</span>,strerror(errno));
-<a name="l00079"></a>00079 <span class="keywordflow">return</span>;
-<a name="l00080"></a>00080 }
-<a name="l00081"></a>00081 <span class="keywordflow">else</span>
-<a name="l00082"></a>00082 {
-<a name="l00083"></a>00083 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>;
-<a name="l00084"></a>00084 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00085"></a>00085 socket_ref[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = <span class="keyword">this</span>;
-<a name="l00086"></a>00086 <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">"New socket now in I_LISTENING state"</span>);
-<a name="l00087"></a>00087 <span class="keywordflow">return</span>;
-<a name="l00088"></a>00088 }
-<a name="l00089"></a>00089 }
-<a name="l00090"></a>00090 } <span class="keywordflow">else</span> {
-<a name="l00091"></a>00091 <span class="keywordtype">char</span>* ip;
-<a name="l00092"></a>00092 this-&gt;host = host;
-<a name="l00093"></a>00093 hostent* hoste = gethostbyname(host.c_str());
-<a name="l00094"></a>00094 <span class="keywordflow">if</span> (!hoste) {
-<a name="l00095"></a>00095 ip = (<span class="keywordtype">char</span>*)host.c_str();
-<a name="l00096"></a>00096 } <span class="keywordflow">else</span> {
-<a name="l00097"></a>00097 <span class="keyword">struct </span>in_addr* ia = (in_addr*)hoste-&gt;h_addr;
-<a name="l00098"></a>00098 ip = inet_ntoa(*ia);
-<a name="l00099"></a>00099 }
-<a name="l00100"></a>00100
-<a name="l00101"></a>00101 this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a> = ip;
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103 <a class="code" href="classInspSocket.html#timeout_5Fend">timeout_end</a> = time(NULL)+maxtime;
-<a name="l00104"></a>00104 <a class="code" href="classInspSocket.html#timeout">timeout</a> = <span class="keyword">false</span>;
-<a name="l00105"></a>00105 <span class="keywordflow">if</span> ((this-&gt;fd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
-<a name="l00106"></a>00106 {
-<a name="l00107"></a>00107 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00108"></a>00108 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>);
-<a name="l00109"></a>00109 <span class="keywordflow">return</span>;
-<a name="l00110"></a>00110 }
-<a name="l00111"></a>00111 this-&gt;port = port;
-<a name="l00112"></a>00112 inet_aton(ip,&amp;<a class="code" href="classInspSocket.html#addy">addy</a>);
-<a name="l00113"></a>00113 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_family = AF_INET;
-<a name="l00114"></a>00114 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_addr = <a class="code" href="classInspSocket.html#addy">addy</a>;
-<a name="l00115"></a>00115 <a class="code" href="classInspSocket.html#addr">addr</a>.sin_port = htons(this-&gt;port);
-<a name="l00116"></a>00116
-<a name="l00117"></a>00117 <span class="keywordtype">int</span> flags;
-<a name="l00118"></a>00118 flags = fcntl(this-&gt;fd, F_GETFL, 0);
-<a name="l00119"></a>00119 fcntl(this-&gt;fd, F_SETFL, flags | O_NONBLOCK);
-<a name="l00120"></a>00120
-<a name="l00121"></a>00121 <span class="keywordflow">if</span>(connect(this-&gt;fd, (sockaddr*)&amp;this-&gt;addr,<span class="keyword">sizeof</span>(this-&gt;addr)) == -1)
-<a name="l00122"></a>00122 {
-<a name="l00123"></a>00123 <span class="keywordflow">if</span> (errno != EINPROGRESS)
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
-<a name="l00126"></a>00126 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>);
-<a name="l00127"></a>00127 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00128"></a>00128 <span class="keywordflow">return</span>;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130 }
-<a name="l00131"></a>00131 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>;
-<a name="l00132"></a>00132 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">false</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00133"></a>00133 socket_ref[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = <span class="keyword">this</span>;
-<a name="l00134"></a>00134 <span class="keywordflow">return</span>;
-<a name="l00135"></a>00135 }
-<a name="l00136"></a>00136 }
-<a name="l00137"></a>00137
-<a name="l00138"></a><a class="code" href="classInspSocket.html#Close_28_29">00138</a> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#Close_28_29">InspSocket::Close</a>()
-<a name="l00139"></a>00139 {
-<a name="l00140"></a>00140 <span class="keywordflow">if</span> (this-&gt;fd != -1)
-<a name="l00141"></a>00141 {
-<a name="l00142"></a>00142 this-&gt;<a class="code" href="classInspSocket.html#OnClose_28_29">OnClose</a>();
-<a name="l00143"></a>00143 shutdown(this-&gt;fd,2);
-<a name="l00144"></a>00144 close(this-&gt;fd);
-<a name="l00145"></a>00145 socket_ref[this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>] = NULL;
-<a name="l00146"></a>00146 this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a> = -1;
-<a name="l00147"></a>00147 }
-<a name="l00148"></a>00148 }
-<a name="l00149"></a>00149
-<a name="l00150"></a><a class="code" href="classInspSocket.html#GetIP_28_29">00150</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspSocket.html#GetIP_28_29">InspSocket::GetIP</a>()
-<a name="l00151"></a>00151 {
-<a name="l00152"></a>00152 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#IP">IP</a>;
-<a name="l00153"></a>00153 }
-<a name="l00154"></a>00154
-<a name="l00155"></a><a class="code" href="classInspSocket.html#Read_28_29">00155</a> <span class="keywordtype">char</span>* <a class="code" href="classInspSocket.html#Read_28_29">InspSocket::Read</a>()
-<a name="l00156"></a>00156 {
-<a name="l00157"></a>00157 <span class="keywordtype">int</span> n = recv(this-&gt;fd,this-&gt;ibuf,<span class="keyword">sizeof</span>(this-&gt;ibuf),0);
-<a name="l00158"></a>00158 <span class="keywordflow">if</span> (n &gt; 0)
-<a name="l00159"></a>00159 {
-<a name="l00160"></a>00160 <a class="code" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">ibuf</a>[n] = 0;
-<a name="l00161"></a>00161 <span class="keywordflow">return</span> <a class="code" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">ibuf</a>;
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163 <span class="keywordflow">else</span>
-<a name="l00164"></a>00164 {
-<a name="l00165"></a>00165 <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">"EOF or error on socket"</span>);
-<a name="l00166"></a>00166 <span class="keywordflow">return</span> NULL;
-<a name="l00167"></a>00167 }
-<a name="l00168"></a>00168 }
-<a name="l00169"></a>00169
-<a name="l00170"></a>00170 <span class="comment">// There are two possible outcomes to this function.</span>
-<a name="l00171"></a>00171 <span class="comment">// It will either write all of the data, or an undefined amount.</span>
-<a name="l00172"></a>00172 <span class="comment">// If an undefined amount is written the connection has failed</span>
-<a name="l00173"></a>00173 <span class="comment">// and should be aborted.</span>
-<a name="l00174"></a><a class="code" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">00174</a> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">InspSocket::Write</a>(<a class="code" href="namespaceirc.html#string">std::string</a> data)
-<a name="l00175"></a>00175 {
-<a name="l00176"></a>00176 this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a> = this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a> + data;
-<a name="l00177"></a>00177 this-&gt;<a class="code" href="classInspSocket.html#FlushWriteBuffer_28_29">FlushWriteBuffer</a>();
-<a name="l00178"></a>00178 <span class="keywordflow">return</span> data.length();
-<a name="l00179"></a>00179 }
-<a name="l00180"></a>00180
-<a name="l00181"></a><a class="code" href="classInspSocket.html#FlushWriteBuffer_28_29">00181</a> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#FlushWriteBuffer_28_29">InspSocket::FlushWriteBuffer</a>()
-<a name="l00182"></a>00182 {
-<a name="l00183"></a>00183 <span class="keywordtype">int</span> result = 0;
-<a name="l00184"></a>00184 <span class="keywordflow">if</span> (this-&gt;Buffer.length())
-<a name="l00185"></a>00185 {
-<a name="l00186"></a>00186 result = send(this-&gt;fd,this-&gt;Buffer.c_str(),this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a>.length(),0);
-<a name="l00187"></a>00187 <span class="keywordflow">if</span> (result &gt; 0)
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 <span class="comment">/* If we wrote some, advance the buffer forwards */</span>
-<a name="l00190"></a>00190 <span class="keywordtype">char</span>* n = (<span class="keywordtype">char</span>*)this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a>.c_str();
-<a name="l00191"></a>00191 n += result;
-<a name="l00192"></a>00192 this-&gt;<a class="code" href="classInspSocket.html#Buffer">Buffer</a> = n;
-<a name="l00193"></a>00193 }
-<a name="l00194"></a>00194 }
-<a name="l00195"></a>00195 }
-<a name="l00196"></a>00196
-<a name="l00197"></a><a class="code" href="classInspSocket.html#Timeout_28time_5Ft_20current_29">00197</a> <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#Timeout_28time_5Ft_20current_29">InspSocket::Timeout</a>(time_t current)
-<a name="l00198"></a>00198 {
-<a name="l00199"></a>00199 <span class="keywordflow">if</span> ((this-&gt;state == <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>) &amp;&amp; (current &gt; <a class="code" href="classInspSocket.html#timeout_5Fend">timeout_end</a>))
-<a name="l00200"></a>00200 {
-<a name="l00201"></a>00201 <span class="comment">// for non-listening sockets, the timeout can occur</span>
-<a name="l00202"></a>00202 <span class="comment">// which causes termination of the connection after</span>
-<a name="l00203"></a>00203 <span class="comment">// the given number of seconds without a successful</span>
-<a name="l00204"></a>00204 <span class="comment">// connection.</span>
-<a name="l00205"></a>00205 this-&gt;<a class="code" href="classInspSocket.html#OnTimeout_28_29">OnTimeout</a>();
-<a name="l00206"></a>00206 this-&gt;<a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>);
-<a name="l00207"></a>00207 <a class="code" href="classInspSocket.html#timeout">timeout</a> = <span class="keyword">true</span>;
-<a name="l00208"></a>00208 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>;
-<a name="l00209"></a>00209 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00210"></a>00210 }
-<a name="l00211"></a>00211 <span class="keywordflow">if</span> (this-&gt;Buffer.length())
-<a name="l00212"></a>00212 this-&gt;<a class="code" href="classInspSocket.html#FlushWriteBuffer_28_29">FlushWriteBuffer</a>();
-<a name="l00213"></a>00213 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215
-<a name="l00216"></a><a class="code" href="classInspSocket.html#Poll_28_29">00216</a> <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#Poll_28_29">InspSocket::Poll</a>()
-<a name="l00217"></a>00217 {
-<a name="l00218"></a>00218 <span class="keywordtype">int</span> incoming = -1;
-<a name="l00219"></a>00219
-<a name="l00220"></a>00220 <span class="keywordflow">switch</span> (this-&gt;state)
-<a name="l00221"></a>00221 {
-<a name="l00222"></a>00222 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>:
-<a name="l00223"></a>00223 this-&gt;<a class="code" href="classInspSocket.html#SetState_28InspSocketState_20s_29">SetState</a>(<a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>);
-<a name="l00224"></a>00224 <span class="comment">/* Our socket was in write-state, so delete it and re-add it</span>
-<a name="l00225"></a>00225 <span class="comment"> * in read-state.</span>
-<a name="l00226"></a>00226 <span class="comment"> */</span>
-<a name="l00227"></a>00227 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(this-&gt;fd);
-<a name="l00228"></a>00228 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(this-&gt;fd,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a>);
-<a name="l00229"></a>00229 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#OnConnected_28_29">OnConnected</a>();
-<a name="l00230"></a>00230 <span class="keywordflow">break</span>;
-<a name="l00231"></a>00231 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>:
-<a name="l00232"></a>00232 <a class="code" href="classInspSocket.html#length">length</a> = <span class="keyword">sizeof</span> (<a class="code" href="classInspSocket.html#client">client</a>);
-<a name="l00233"></a>00233 incoming = accept (this-&gt;fd, (sockaddr*)&amp;<a class="code" href="classInspSocket.html#client">client</a>,&amp;<a class="code" href="classInspSocket.html#length">length</a>);
-<a name="l00234"></a>00234 this-&gt;<a class="code" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">OnIncomingConnection</a>(incoming,inet_ntoa(client.sin_addr));
-<a name="l00235"></a>00235 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00236"></a>00236 <span class="keywordflow">break</span>;
-<a name="l00237"></a>00237 <span class="keywordflow">case</span> <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>:
-<a name="l00238"></a>00238 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#OnDataReady_28_29">OnDataReady</a>();
-<a name="l00239"></a>00239 <span class="keywordflow">break</span>;
-<a name="l00240"></a>00240 <span class="keywordflow">default</span>:
-<a name="l00241"></a>00241 <span class="keywordflow">break</span>;
-<a name="l00242"></a>00242 }
-<a name="l00243"></a>00243
-<a name="l00244"></a>00244 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00245"></a>00245 }
-<a name="l00246"></a>00246
-<a name="l00247"></a><a class="code" href="classInspSocket.html#SetState_28InspSocketState_20s_29">00247</a> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#SetState_28InspSocketState_20s_29">InspSocket::SetState</a>(<a class="code" href="socket_8h.html#InspSocketState">InspSocketState</a> s)
-<a name="l00248"></a>00248 {
-<a name="l00249"></a>00249 <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">"Socket state change"</span>);
-<a name="l00250"></a>00250 this-&gt;<a class="code" href="classInspSocket.html#state">state</a> = s;
-<a name="l00251"></a>00251 }
-<a name="l00252"></a>00252
-<a name="l00253"></a><a class="code" href="classInspSocket.html#GetState_28_29">00253</a> <a class="code" href="socket_8h.html#InspSocketState">InspSocketState</a> <a class="code" href="classInspSocket.html#GetState_28_29">InspSocket::GetState</a>()
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#state">state</a>;
-<a name="l00256"></a>00256 }
-<a name="l00257"></a>00257
-<a name="l00258"></a><a class="code" href="classInspSocket.html#GetFd_28_29">00258</a> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#GetFd_28_29">InspSocket::GetFd</a>()
-<a name="l00259"></a>00259 {
-<a name="l00260"></a>00260 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classInspSocket.html#fd">fd</a>;
-<a name="l00261"></a>00261 }
-<a name="l00262"></a>00262
-<a name="l00263"></a><a class="code" href="classInspSocket.html#OnConnected_28_29">00263</a> <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#OnConnected_28_29">InspSocket::OnConnected</a>() { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00264"></a><a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">00264</a> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">InspSocket::OnError</a>(<a class="code" href="socket_8h.html#InspSocketError">InspSocketError</a> e) { <span class="keywordflow">return</span>; }
-<a name="l00265"></a><a class="code" href="classInspSocket.html#OnDisconnect_28_29">00265</a> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#OnDisconnect_28_29">InspSocket::OnDisconnect</a>() { <span class="keywordflow">return</span> 0; }
-<a name="l00266"></a><a class="code" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">00266</a> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">InspSocket::OnIncomingConnection</a>(<span class="keywordtype">int</span> newfd, <span class="keywordtype">char</span>* ip) { <span class="keywordflow">return</span> 0; }
-<a name="l00267"></a><a class="code" href="classInspSocket.html#OnDataReady_28_29">00267</a> <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#OnDataReady_28_29">InspSocket::OnDataReady</a>() { <span class="keywordflow">return</span> <span class="keyword">true</span>; }
-<a name="l00268"></a><a class="code" href="classInspSocket.html#OnTimeout_28_29">00268</a> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#OnTimeout_28_29">InspSocket::OnTimeout</a>() { <span class="keywordflow">return</span>; }
-<a name="l00269"></a><a class="code" href="classInspSocket.html#OnClose_28_29">00269</a> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#OnClose_28_29">InspSocket::OnClose</a>() { <span class="keywordflow">return</span>; }
-<a name="l00270"></a>00270
-<a name="l00271"></a><a class="code" href="classInspSocket.html#_7EInspSocket_28_29">00271</a> <a class="code" href="classInspSocket.html#_7EInspSocket_28_29">InspSocket::~InspSocket</a>()
-<a name="l00272"></a>00272 {
-<a name="l00273"></a>00273 this-&gt;<a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
-<a name="l00274"></a>00274 }
-<a name="l00275"></a>00275
-<a name="l00276"></a>00276 <span class="comment">/*</span>
-<a name="l00277"></a>00277 <span class="comment">int BindSocket (int sockfd, struct sockaddr_in client, struct sockaddr_in server, int port, char* addr)</span>
-<a name="l00278"></a>00278 <span class="comment">int OpenTCPSocket (void)</span>
-<a name="l00279"></a>00279 <span class="comment">*/</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socket_8cpp.html b/docs/module-doc/socket_8cpp.html
deleted file mode 100644
index 76b9117ea..000000000
--- a/docs/module-doc/socket_8cpp.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!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: socket.cpp 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_000005.html">src</a></div>
-<h1>socket.cpp File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &lt;sys/time.h&gt;</code><br>
-<code>#include &lt;sys/resource.h&gt;</code><br>
-<code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include &lt;sys/socket.h&gt;</code><br>
-<code>#include &lt;netinet/in.h&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;unistd.h&gt;</code><br>
-<code>#include &lt;fcntl.h&gt;</code><br>
-<code>#include &lt;poll.h&gt;</code><br>
-<code>#include &lt;sstream&gt;</code><br>
-<code>#include &lt;iostream&gt;</code><br>
-<code>#include &lt;fstream&gt;</code><br>
-<code>#include &quot;<a class="el" href="socket_8h-source.html">socket.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd__io_8h-source.html">inspircd_io.h</a>&quot;</code><br>
-<code>#include &quot;inspstring.h&quot;</code><br>
-<code>#include &quot;helperfuncs.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="socketengine_8h-source.html">socketengine.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for socket.cpp:<p><center><img src="socket_8cpp__incl.gif" border="0" usemap="#socket.cpp_map" alt=""></center>
-<map name="socket.cpp_map">
-<area href="socket_8h-source.html" shape="rect" coords="318,463,390,490" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="155,424,235,451" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="306,564,402,591" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="298,210,410,236" alt="">
-</map>
-
-<p>
-<a href="socket_8cpp-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>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classInspIRCd.html">InspIRCd</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8cpp.html#ServerInstance">ServerInstance</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8cpp.html#TIME">TIME</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classInspSocket.html">InspSocket</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a> [65535]</td></tr>
-
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ServerInstance"></a><!-- doxytag: member="socket.cpp::ServerInstance" ref="ServerInstance" 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="classInspIRCd.html">InspIRCd</a>* <a class="el" href="users_8cpp.html#ServerInstance">ServerInstance</a> </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="socket_5Fref_5B_36_35_35_33_35_5D"></a><!-- doxytag: member="socket.cpp::socket_ref" ref="socket_5Fref_5B_36_35_35_33_35_5D" args="[65535]" --><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="classInspSocket.html">InspSocket</a>* <a class="el" href="users_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[65535] </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="socket_8cpp-source.html#l00043">43</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="TIME"></a><!-- doxytag: member="socket.cpp::TIME" ref="TIME" 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">time_t <a class="el" href="users_8cpp.html#TIME">TIME</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socket_8cpp__incl.gif b/docs/module-doc/socket_8cpp__incl.gif
deleted file mode 100644
index 51b0d7a39..000000000
--- a/docs/module-doc/socket_8cpp__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/socket_8cpp__incl.map b/docs/module-doc/socket_8cpp__incl.map
deleted file mode 100644
index 42039b390..000000000
--- a/docs/module-doc/socket_8cpp__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $socket_8h-source.html 318,463 390,490
-rect $inspircd_8h-source.html 155,424 235,451
-rect $inspircd__io_8h-source.html 306,564 402,591
-rect $socketengine_8h-source.html 298,210 410,236
diff --git a/docs/module-doc/socket_8cpp__incl.md5 b/docs/module-doc/socket_8cpp__incl.md5
deleted file mode 100644
index 0c7a5d7de..000000000
--- a/docs/module-doc/socket_8cpp__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-03426437789107bb0505454dfe45ab2a \ No newline at end of file
diff --git a/docs/module-doc/socket_8h-source.html b/docs/module-doc/socket_8h-source.html
deleted file mode 100644
index 7c4beb64e..000000000
--- a/docs/module-doc/socket_8h-source.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!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: socket.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>socket.h</h1><a href="socket_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-2004 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 __INSP_SOCKET_H__</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __INSP_SOCKET_H__</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;sstream&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00025"></a>00025
-<a name="l00029"></a><a class="code" href="socket_8h.html#InspSocketState">00029</a> <span class="keyword">enum</span> <a class="code" href="socket_8h.html#InspSocketState">InspSocketState</a> { <a class="code" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a> };
-<a name="l00030"></a>00030
-<a name="l00034"></a><a class="code" href="socket_8h.html#InspSocketError">00034</a> <span class="keyword">enum</span> <a class="code" href="socket_8h.html#InspSocketError">InspSocketError</a> { <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>, <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>, <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>, <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a> };
-<a name="l00035"></a>00035
-<a name="l00047"></a><a class="code" href="classInspSocket.html">00047</a> <span class="keyword">class </span><a class="code" href="classInspSocket.html">InspSocket</a>
-<a name="l00048"></a>00048 {
-<a name="l00049"></a>00049 <span class="keyword">private</span>:
-<a name="l00050"></a>00050
-<a name="l00054"></a><a class="code" href="classInspSocket.html#fd">00054</a> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#fd">fd</a>;
-<a name="l00055"></a>00055
-<a name="l00059"></a><a class="code" href="classInspSocket.html#host">00059</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspSocket.html#host">host</a>;
-<a name="l00060"></a>00060
-<a name="l00065"></a><a class="code" href="classInspSocket.html#port">00065</a> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#port">port</a>;
-<a name="l00066"></a>00066
-<a name="l00072"></a><a class="code" href="classInspSocket.html#state">00072</a> <a class="code" href="socket_8h.html#InspSocketState">InspSocketState</a> <a class="code" href="classInspSocket.html#state">state</a>;
-<a name="l00073"></a>00073
-<a name="l00078"></a><a class="code" href="classInspSocket.html#addr">00078</a> sockaddr_in <a class="code" href="classInspSocket.html#addr">addr</a>;
-<a name="l00079"></a>00079
-<a name="l00084"></a><a class="code" href="classInspSocket.html#addy">00084</a> in_addr <a class="code" href="classInspSocket.html#addy">addy</a>;
-<a name="l00085"></a>00085
-<a name="l00091"></a><a class="code" href="classInspSocket.html#timeout_5Fend">00091</a> time_t <a class="code" href="classInspSocket.html#timeout_5Fend">timeout_end</a>;
-<a name="l00092"></a>00092
-<a name="l00097"></a><a class="code" href="classInspSocket.html#timeout">00097</a> <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#timeout">timeout</a>;
-<a name="l00098"></a>00098
-<a name="l00106"></a><a class="code" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">00106</a> <span class="keywordtype">char</span> <a class="code" href="classInspSocket.html#ibuf_5B_36_35_35_33_35_5D">ibuf</a>[65535];
-<a name="l00107"></a>00107
-<a name="l00111"></a><a class="code" href="classInspSocket.html#Buffer">00111</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspSocket.html#Buffer">Buffer</a>;
-<a name="l00112"></a>00112
-<a name="l00118"></a><a class="code" href="classInspSocket.html#IP">00118</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspSocket.html#IP">IP</a>;
-<a name="l00119"></a>00119
-<a name="l00124"></a><a class="code" href="classInspSocket.html#client">00124</a> sockaddr_in <a class="code" href="classInspSocket.html#client">client</a>;
-<a name="l00125"></a>00125
-<a name="l00130"></a><a class="code" href="classInspSocket.html#server">00130</a> sockaddr_in <a class="code" href="classInspSocket.html#server">server</a>;
-<a name="l00131"></a>00131
-<a name="l00136"></a><a class="code" href="classInspSocket.html#length">00136</a> socklen_t <a class="code" href="classInspSocket.html#length">length</a>;
-<a name="l00137"></a>00137
-<a name="l00140"></a>00140 <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#FlushWriteBuffer_28_29">FlushWriteBuffer</a>();
-<a name="l00141"></a>00141
-<a name="l00142"></a>00142 <span class="keyword">public</span>:
-<a name="l00143"></a>00143
-<a name="l00148"></a>00148 <a class="code" href="classInspSocket.html#InspSocket_28_29">InspSocket</a>();
-<a name="l00149"></a>00149
-<a name="l00158"></a>00158 <a class="code" href="classInspSocket.html#InspSocket_28_29">InspSocket</a>(<span class="keywordtype">int</span> newfd, <span class="keywordtype">char</span>* ip);
-<a name="l00159"></a>00159
-<a name="l00169"></a>00169 <a class="code" href="classInspSocket.html#InspSocket_28_29">InspSocket</a>(<a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspSocket.html#host">host</a>, <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#port">port</a>, <span class="keywordtype">bool</span> listening, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> maxtime);
-<a name="l00170"></a>00170
-<a name="l00176"></a>00176 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#OnConnected_28_29">OnConnected</a>();
-<a name="l00177"></a>00177
-<a name="l00184"></a>00184 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#OnError_28InspSocketError_20e_29">OnError</a>(<a class="code" href="socket_8h.html#InspSocketError">InspSocketError</a> e);
-<a name="l00185"></a>00185
-<a name="l00190"></a>00190 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#OnDisconnect_28_29">OnDisconnect</a>();
-<a name="l00191"></a>00191
-<a name="l00204"></a>00204 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#OnDataReady_28_29">OnDataReady</a>();
-<a name="l00205"></a>00205
-<a name="l00213"></a>00213 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#OnTimeout_28_29">OnTimeout</a>();
-<a name="l00214"></a>00214
-<a name="l00223"></a>00223 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#OnClose_28_29">OnClose</a>();
-<a name="l00224"></a>00224
-<a name="l00230"></a>00230 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classInspSocket.html#Read_28_29">Read</a>();
-<a name="l00231"></a>00231
-<a name="l00237"></a>00237 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classInspSocket.html#GetIP_28_29">GetIP</a>();
-<a name="l00238"></a>00238
-<a name="l00245"></a>00245 <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#Timeout_28time_5Ft_20current_29">Timeout</a>(time_t current);
-<a name="l00246"></a>00246
-<a name="l00252"></a>00252 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#Write_28std_3A_3Astring_20data_29">Write</a>(<a class="code" href="namespaceirc.html#string">std::string</a> data);
-<a name="l00253"></a>00253
-<a name="l00267"></a>00267 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#OnIncomingConnection_28int_20newfd_2C_20char_20_2Aip_29">OnIncomingConnection</a>(<span class="keywordtype">int</span> newfd, <span class="keywordtype">char</span>* ip);
-<a name="l00268"></a>00268
-<a name="l00274"></a>00274 <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#SetState_28InspSocketState_20s_29">SetState</a>(<a class="code" href="socket_8h.html#InspSocketState">InspSocketState</a> s);
-<a name="l00275"></a>00275
-<a name="l00279"></a>00279 <a class="code" href="socket_8h.html#InspSocketState">InspSocketState</a> <a class="code" href="classInspSocket.html#GetState_28_29">GetState</a>();
-<a name="l00280"></a>00280
-<a name="l00289"></a>00289 <span class="keywordtype">bool</span> <a class="code" href="classInspSocket.html#Poll_28_29">Poll</a>();
-<a name="l00290"></a>00290
-<a name="l00296"></a>00296 <span class="keywordtype">int</span> <a class="code" href="classInspSocket.html#GetFd_28_29">GetFd</a>();
-<a name="l00297"></a>00297
-<a name="l00303"></a>00303 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classInspSocket.html#Close_28_29">Close</a>();
-<a name="l00304"></a>00304
-<a name="l00310"></a>00310 <span class="keyword">virtual</span> <a class="code" href="classInspSocket.html#_7EInspSocket_28_29">~InspSocket</a>();
-<a name="l00311"></a>00311 };
-<a name="l00312"></a>00312
-<a name="l00313"></a>00313 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socket_8h.html b/docs/module-doc/socket_8h.html
deleted file mode 100644
index 2842111ce..000000000
--- a/docs/module-doc/socket_8h.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!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: socket.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>socket.h File Reference</h1><code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include &lt;sys/socket.h&gt;</code><br>
-<code>#include &lt;netinet/in.h&gt;</code><br>
-<code>#include &lt;sstream&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-
-<p>
-Include dependency graph for socket.h:<p><center><img src="socket_8h__incl.gif" border="0" usemap="#socket.h_map" alt=""></center>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="socket_8h__dep__incl.gif" border="0" usemap="#socket.hdep_map" alt=""></center>
-<map name="socket.hdep_map">
-<area href="modules_8cpp-source.html" shape="rect" coords="260,57,359,84" alt="">
-<area href="socket_8cpp-source.html" shape="rect" coords="267,133,352,160" alt="">
-<area href="modules_8h-source.html" shape="rect" coords="128,57,211,84" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="129,108,209,135" alt="">
-</map>
-
-<p>
-<a href="socket_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="classInspSocket.html">InspSocket</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">InspSocket is an extendable socket class which modules can use for TCP socket support. <a href="classInspSocket.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a> { <br>
-&nbsp;&nbsp;<a class="el" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>,
-<a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>,
-<a class="el" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>,
-<a class="el" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>,
-<br>
-&nbsp;&nbsp;<a class="el" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a>
-<br>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">States which a socket may be in. <a href="socket_8h.html#InspSocketState">More...</a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socket_8h.html#InspSocketError">InspSocketError</a> { <a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>,
-<a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>,
-<a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>,
-<a class="el" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a>
- }</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Error types which a socket may exhibit. <a href="socket_8h.html#InspSocketError">More...</a><br></td></tr>
-</table>
-<hr><h2>Enumeration Type Documentation</h2>
-<a class="anchor" name="InspSocketError"></a><!-- doxytag: member="socket.h::InspSocketError" ref="InspSocketError" 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">enum <a class="el" href="socket_8h.html#InspSocketError">InspSocketError</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Error types which a socket may exhibit.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="InspSocketErrorI_5FERR_5FTIMEOUT"></a><!-- doxytag: member="I_ERR_TIMEOUT" ref="InspSocketErrorI_5FERR_5FTIMEOUT" args="" -->I_ERR_TIMEOUT</em>&nbsp;</td><td>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="InspSocketErrorI_5FERR_5FSOCKET"></a><!-- doxytag: member="I_ERR_SOCKET" ref="InspSocketErrorI_5FERR_5FSOCKET" args="" -->I_ERR_SOCKET</em>&nbsp;</td><td>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="InspSocketErrorI_5FERR_5FCONNECT"></a><!-- doxytag: member="I_ERR_CONNECT" ref="InspSocketErrorI_5FERR_5FCONNECT" args="" -->I_ERR_CONNECT</em>&nbsp;</td><td>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="InspSocketErrorI_5FERR_5FBIND"></a><!-- doxytag: member="I_ERR_BIND" ref="InspSocketErrorI_5FERR_5FBIND" args="" -->I_ERR_BIND</em>&nbsp;</td><td>
-</td></tr>
-</table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00034">34</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.<div class="fragment"><pre class="fragment"><a name="l00034"></a>00034 { <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FTIMEOUT">I_ERR_TIMEOUT</a>, <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FSOCKET">I_ERR_SOCKET</a>, <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FCONNECT">I_ERR_CONNECT</a>, <a class="code" href="socket_8h.html#InspSocketErrorI_5FERR_5FBIND">I_ERR_BIND</a> };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="InspSocketState"></a><!-- doxytag: member="socket.h::InspSocketState" ref="InspSocketState" 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">enum <a class="el" href="socket_8h.html#InspSocketState">InspSocketState</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-States which a socket may be in.
-<p>
-<dl compact><dt><b>Enumerator: </b></dt><dd>
-<table border="0" cellspacing="2" cellpadding="0">
-<tr><td valign="top"><em><a class="anchor" name="InspSocketStateI_5FDISCONNECTED"></a><!-- doxytag: member="I_DISCONNECTED" ref="InspSocketStateI_5FDISCONNECTED" args="" -->I_DISCONNECTED</em>&nbsp;</td><td>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="InspSocketStateI_5FCONNECTING"></a><!-- doxytag: member="I_CONNECTING" ref="InspSocketStateI_5FCONNECTING" args="" -->I_CONNECTING</em>&nbsp;</td><td>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="InspSocketStateI_5FCONNECTED"></a><!-- doxytag: member="I_CONNECTED" ref="InspSocketStateI_5FCONNECTED" args="" -->I_CONNECTED</em>&nbsp;</td><td>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="InspSocketStateI_5FLISTENING"></a><!-- doxytag: member="I_LISTENING" ref="InspSocketStateI_5FLISTENING" args="" -->I_LISTENING</em>&nbsp;</td><td>
-</td></tr>
-<tr><td valign="top"><em><a class="anchor" name="InspSocketStateI_5FERROR"></a><!-- doxytag: member="I_ERROR" ref="InspSocketStateI_5FERROR" args="" -->I_ERROR</em>&nbsp;</td><td>
-</td></tr>
-</table>
-</dl>
-
-<p>
-Definition at line <a class="el" href="socket_8h-source.html#l00029">29</a> of file <a class="el" href="socket_8h-source.html">socket.h</a>.<div class="fragment"><pre class="fragment"><a name="l00029"></a>00029 { <a class="code" href="socket_8h.html#InspSocketStateI_5FDISCONNECTED">I_DISCONNECTED</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTING">I_CONNECTING</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FCONNECTED">I_CONNECTED</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FLISTENING">I_LISTENING</a>, <a class="code" href="socket_8h.html#InspSocketStateI_5FERROR">I_ERROR</a> };
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socket_8h__dep__incl.gif b/docs/module-doc/socket_8h__dep__incl.gif
deleted file mode 100644
index ffc433408..000000000
--- a/docs/module-doc/socket_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/socket_8h__dep__incl.map b/docs/module-doc/socket_8h__dep__incl.map
deleted file mode 100644
index 9aac42e32..000000000
--- a/docs/module-doc/socket_8h__dep__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $modules_8cpp-source.html 260,57 359,84
-rect $socket_8cpp-source.html 267,133 352,160
-rect $modules_8h-source.html 128,57 211,84
-rect $inspircd_8h-source.html 129,108 209,135
diff --git a/docs/module-doc/socket_8h__dep__incl.md5 b/docs/module-doc/socket_8h__dep__incl.md5
deleted file mode 100644
index f7ea8f6d9..000000000
--- a/docs/module-doc/socket_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-44d57d2060fc1c23df1ada0b15f0d062 \ No newline at end of file
diff --git a/docs/module-doc/socket_8h__incl.gif b/docs/module-doc/socket_8h__incl.gif
deleted file mode 100644
index 39f424ef0..000000000
--- a/docs/module-doc/socket_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/socket_8h__incl.map b/docs/module-doc/socket_8h__incl.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/socket_8h__incl.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/socket_8h__incl.md5 b/docs/module-doc/socket_8h__incl.md5
deleted file mode 100644
index b60362726..000000000
--- a/docs/module-doc/socket_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-8f5e3d3b55b1c9dc714368d5eb230e62 \ No newline at end of file
diff --git a/docs/module-doc/socketengine_8cpp-source.html b/docs/module-doc/socketengine_8cpp-source.html
deleted file mode 100644
index a972f3b29..000000000
--- a/docs/module-doc/socketengine_8cpp-source.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!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: socketengine.cpp 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_000005.html">src</a></div>
-<h1>socketengine.cpp</h1><a href="socketengine_8cpp.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">#include "inspircd_config.h"</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="globals_8h.html">globals.h</a>"</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/epoll.h&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#define EP_DELAY 5</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00026"></a>00026 <span class="preprocessor">#include &lt;sys/event.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;sys/time.h&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#endif</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="socketengine_8h.html">socketengine.h</a>"</span>
-<a name="l00032"></a>00032
-<a name="l00033"></a><a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">00033</a> <span class="keywordtype">char</span> <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[65535];
-<a name="l00034"></a>00034
-<a name="l00035"></a><a class="code" href="classSocketEngine.html#SocketEngine_28_29">00035</a> <a class="code" href="classSocketEngine.html#SocketEngine_28_29">SocketEngine::SocketEngine</a>()
-<a name="l00036"></a>00036 {
-<a name="l00037"></a>00037 <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::SocketEngine()"</span>);
-<a name="l00038"></a>00038 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00039"></a>00039 <span class="preprocessor"></span> <a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a> = epoll_create(65535);
-<a name="l00040"></a>00040 <span class="preprocessor">#endif</span>
-<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00042"></a>00042 <span class="preprocessor"></span> <a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a> = kqueue();
-<a name="l00043"></a>00043 <span class="preprocessor">#endif</span>
-<a name="l00044"></a>00044 <span class="preprocessor"></span>}
-<a name="l00045"></a>00045
-<a name="l00046"></a><a class="code" href="classSocketEngine.html#_7ESocketEngine_28_29">00046</a> <a class="code" href="classSocketEngine.html#_7ESocketEngine_28_29">SocketEngine::~SocketEngine</a>()
-<a name="l00047"></a>00047 {
-<a name="l00048"></a>00048 <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::~SocketEngine()"</span>);
-<a name="l00049"></a>00049 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00050"></a>00050 <span class="preprocessor"></span> close(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>);
-<a name="l00051"></a>00051 <span class="preprocessor">#endif</span>
-<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00053"></a>00053 <span class="preprocessor"></span> close(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>);
-<a name="l00054"></a>00054 <span class="preprocessor">#endif</span>
-<a name="l00055"></a>00055 <span class="preprocessor"></span>}
-<a name="l00056"></a>00056
-<a name="l00057"></a><a class="code" href="classSocketEngine.html#GetType_28int_20fd_29">00057</a> <span class="keywordtype">char</span> <a class="code" href="classSocketEngine.html#GetType_28int_20fd_29">SocketEngine::GetType</a>(<span class="keywordtype">int</span> fd)
-<a name="l00058"></a>00058 {
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> ((fd &lt; 0) || (fd &gt; 65535))
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> <a class="code" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">X_EMPTY_SLOT</a>;
-<a name="l00061"></a>00061 <span class="comment">/* Mask off the top bit used for 'read/write' state */</span>
-<a name="l00062"></a>00062 <span class="keywordflow">return</span> (<a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] &amp; ~0x80);
-<a name="l00063"></a>00063 }
-<a name="l00064"></a>00064
-<a name="l00065"></a><a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">00065</a> <span class="keywordtype">bool</span> <a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">SocketEngine::AddFd</a>(<span class="keywordtype">int</span> fd, <span class="keywordtype">bool</span> readable, <span class="keywordtype">char</span> type)
-<a name="l00066"></a>00066 {
-<a name="l00067"></a>00067 <span class="keywordflow">if</span> ((fd &lt; 0) || (fd &gt; 65535))
-<a name="l00068"></a>00068 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00069"></a>00069 this-&gt;<a class="code" href="classSocketEngine.html#fds">fds</a>.push_back(fd);
-<a name="l00070"></a>00070 <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] = type;
-<a name="l00071"></a>00071 <span class="keywordflow">if</span> (readable)
-<a name="l00072"></a>00072 {
-<a name="l00073"></a>00073 <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">"Set readbit"</span>);
-<a name="l00074"></a>00074 <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] |= <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a>;
-<a name="l00075"></a>00075 }
-<a name="l00076"></a>00076 <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">"Add socket %d"</span>,fd);
-<a name="l00077"></a>00077 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span> <span class="keyword">struct </span>epoll_event ev;
-<a name="l00079"></a>00079 <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">"epoll: Add socket to events, ep=%d socket=%d"</span>,<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>,fd);
-<a name="l00080"></a>00080 readable ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-<a name="l00081"></a>00081 ev.data.fd = fd;
-<a name="l00082"></a>00082 <span class="keywordtype">int</span> i = epoll_ctl(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, EPOLL_CTL_ADD, fd, &amp;ev);
-<a name="l00083"></a>00083 <span class="keywordflow">if</span> (i &lt; 0)
-<a name="l00084"></a>00084 {
-<a name="l00085"></a>00085 <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">"epoll: List insertion failure!"</span>);
-<a name="l00086"></a>00086 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088 <span class="preprocessor">#endif</span>
-<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00090"></a>00090 <span class="preprocessor"></span> <span class="keyword">struct </span>kevent ke;
-<a name="l00091"></a>00091 <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">"kqueue: Add socket to events, kq=%d socket=%d"</span>,<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>,fd);
-<a name="l00092"></a>00092 EV_SET(&amp;ke, fd, readable ? EVFILT_READ : EVFILT_WRITE, EV_ADD, 0, 0, NULL);
-<a name="l00093"></a>00093 <span class="keywordtype">int</span> i = kevent(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, &amp;ke, 1, 0, 0, NULL);
-<a name="l00094"></a>00094 <span class="keywordflow">if</span> (i == -1)
-<a name="l00095"></a>00095 {
-<a name="l00096"></a>00096 <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">"kqueue: List insertion failure!"</span>);
-<a name="l00097"></a>00097 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00098"></a>00098 }
-<a name="l00099"></a>00099 <span class="preprocessor">#endif</span>
-<a name="l00100"></a>00100 <span class="preprocessor"></span><span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00101"></a>00101 }
-<a name="l00102"></a>00102
-<a name="l00103"></a><a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">00103</a> <span class="keywordtype">bool</span> <a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">SocketEngine::DelFd</a>(<span class="keywordtype">int</span> fd)
-<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))
-<a name="l00108"></a>00108 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00109"></a>00109
-<a name="l00110"></a>00110 <span class="keywordtype">bool</span> found = <span class="keyword">false</span>;
-<a name="l00111"></a>00111 <span class="keywordflow">for</span> (std::vector&lt;int&gt;::iterator i = <a class="code" href="classSocketEngine.html#fds">fds</a>.begin(); i != <a class="code" href="classSocketEngine.html#fds">fds</a>.end(); i++)
-<a name="l00112"></a>00112 {
-<a name="l00113"></a>00113 <span class="keywordflow">if</span> (*i == fd)
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 <a class="code" href="classSocketEngine.html#fds">fds</a>.erase(i);
-<a name="l00116"></a>00116 <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">"Deleted fd %d"</span>,fd);
-<a name="l00117"></a>00117 found = <span class="keyword">true</span>;
-<a name="l00118"></a>00118 <span class="keywordflow">break</span>;
-<a name="l00119"></a>00119 }
-<a name="l00120"></a>00120 }
-<a name="l00121"></a>00121 <span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00122"></a>00122 <span class="preprocessor"></span> <span class="keyword">struct </span>kevent ke;
-<a name="l00123"></a>00123 EV_SET(&amp;ke, fd, <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] &amp; <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a> ? EVFILT_READ : EVFILT_WRITE, EV_DELETE, 0, 0, NULL);
-<a name="l00124"></a>00124 <span class="keywordtype">int</span> i = kevent(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, &amp;ke, 1, 0, 0, NULL);
-<a name="l00125"></a>00125 <span class="keywordflow">if</span> (i == -1)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <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">"kqueue: Failed to remove socket from queue!"</span>);
-<a name="l00128"></a>00128 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00129"></a>00129 }
-<a name="l00130"></a>00130 <span class="preprocessor">#endif</span>
-<a name="l00131"></a>00131 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00132"></a>00132 <span class="preprocessor"></span> <span class="keyword">struct </span>epoll_event ev;
-<a name="l00133"></a>00133 <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] &amp;&amp; <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a> ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
-<a name="l00134"></a>00134 ev.data.fd = fd;
-<a name="l00135"></a>00135 <span class="keywordtype">int</span> i = epoll_ctl(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, EPOLL_CTL_DEL, fd, &amp;ev);
-<a name="l00136"></a>00136 <span class="keywordflow">if</span> (i &lt; 0)
-<a name="l00137"></a>00137 {
-<a name="l00138"></a>00138 <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">"epoll: List deletion failure!"</span>);
-<a name="l00139"></a>00139 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00140"></a>00140 }
-<a name="l00141"></a>00141 <span class="preprocessor">#endif</span>
-<a name="l00142"></a>00142 <span class="preprocessor"></span> <a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[fd] = 0;
-<a name="l00143"></a>00143 <span class="keywordflow">return</span> found;
-<a name="l00144"></a>00144 }
-<a name="l00145"></a>00145
-<a name="l00146"></a><a class="code" href="classSocketEngine.html#Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29">00146</a> <span class="keywordtype">bool</span> <a class="code" href="classSocketEngine.html#Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29">SocketEngine::Wait</a>(std::vector&lt;int&gt; &amp;fdlist)
-<a name="l00147"></a>00147 {
-<a name="l00148"></a>00148 fdlist.clear();
-<a name="l00149"></a>00149 <span class="preprocessor">#ifdef USE_SELECT</span>
-<a name="l00150"></a>00150 <span class="preprocessor"></span> FD_ZERO(&amp;wfdset);
-<a name="l00151"></a>00151 FD_ZERO(&amp;rfdset);
-<a name="l00152"></a>00152 timeval tval;
-<a name="l00153"></a>00153 <span class="keywordtype">int</span> sresult;
-<a name="l00154"></a>00154 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> a = 0; a &lt; <a class="code" href="classSocketEngine.html#fds">fds</a>.size(); a++)
-<a name="l00155"></a>00155 {
-<a name="l00156"></a>00156 <span class="keywordflow">if</span> (<a class="code" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[<a class="code" href="classSocketEngine.html#fds">fds</a>[a]] &amp; <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a>)
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 FD_SET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;rfdset);
-<a name="l00159"></a>00159 }
-<a name="l00160"></a>00160 <span class="keywordflow">else</span>
-<a name="l00161"></a>00161 {
-<a name="l00162"></a>00162 FD_SET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;wfdset);
-<a name="l00163"></a>00163 }
-<a name="l00164"></a>00164
-<a name="l00165"></a>00165 }
-<a name="l00166"></a>00166 tval.tv_sec = 0;
-<a name="l00167"></a>00167 tval.tv_usec = 100L;
-<a name="l00168"></a>00168 sresult = select(FD_SETSIZE, &amp;rfdset, &amp;wfdset, NULL, &amp;tval);
-<a name="l00169"></a>00169 <span class="keywordflow">if</span> (sresult &gt; 0)
-<a name="l00170"></a>00170 {
-<a name="l00171"></a>00171 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> a = 0; a &lt; <a class="code" href="classSocketEngine.html#fds">fds</a>.size(); a++)
-<a name="l00172"></a>00172 {
-<a name="l00173"></a>00173 <span class="keywordflow">if</span> ((FD_ISSET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;rfdset)) || (FD_ISSET (<a class="code" href="classSocketEngine.html#fds">fds</a>[a], &amp;wfdset)))
-<a name="l00174"></a>00174 fdlist.push_back(<a class="code" href="classSocketEngine.html#fds">fds</a>[a]);
-<a name="l00175"></a>00175 }
-<a name="l00176"></a>00176 }
-<a name="l00177"></a>00177 <span class="preprocessor">#endif</span>
-<a name="l00178"></a>00178 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00179"></a>00179 <span class="preprocessor"></span> <a class="code" href="classSocketEngine.html#ts">ts</a>.tv_nsec = 10000L;
-<a name="l00180"></a>00180 <a class="code" href="classSocketEngine.html#ts">ts</a>.tv_sec = 0;
-<a name="l00181"></a>00181 <span class="keywordtype">int</span> i = kevent(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, NULL, 0, &amp;<a class="code" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">ke_list</a>[0], 65535, &amp;<a class="code" href="classSocketEngine.html#ts">ts</a>);
-<a name="l00182"></a>00182 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; i; j++)
-<a name="l00183"></a>00183 fdlist.push_back(<a class="code" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">ke_list</a>[j].ident);
-<a name="l00184"></a>00184 <span class="preprocessor">#endif</span>
-<a name="l00185"></a>00185 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00186"></a>00186 <span class="preprocessor"></span> <span class="keywordtype">int</span> i = epoll_wait(<a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>, events, 65535, 100);
-<a name="l00187"></a>00187 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; i; j++)
-<a name="l00188"></a>00188 fdlist.push_back(events[j].data.fd);
-<a name="l00189"></a>00189 <span class="preprocessor">#endif</span>
-<a name="l00190"></a>00190 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00191"></a>00191 }
-<a name="l00192"></a>00192
-<a name="l00193"></a><a class="code" href="classSocketEngine.html#GetName_28_29">00193</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classSocketEngine.html#GetName_28_29">SocketEngine::GetName</a>()
-<a name="l00194"></a>00194 {
-<a name="l00195"></a>00195 <span class="preprocessor">#ifdef USE_SELECT</span>
-<a name="l00196"></a>00196 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="stringliteral">"select"</span>;
-<a name="l00197"></a>00197 <span class="preprocessor">#endif</span>
-<a name="l00198"></a>00198 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00199"></a>00199 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="stringliteral">"kqueue"</span>;
-<a name="l00200"></a>00200 <span class="preprocessor">#endif</span>
-<a name="l00201"></a>00201 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00202"></a>00202 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="stringliteral">"epoll"</span>;
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socketengine_8cpp.html b/docs/module-doc/socketengine_8cpp.html
deleted file mode 100644
index 4aafbefab..000000000
--- a/docs/module-doc/socketengine_8cpp.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<!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: socketengine.cpp 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_000005.html">src</a></div>
-<h1>socketengine.cpp File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="globals_8h-source.html">globals.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &lt;vector&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;<a class="el" href="socketengine_8h-source.html">socketengine.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for socketengine.cpp:<p><center><img src="socketengine_8cpp__incl.gif" border="0" usemap="#socketengine.cpp_map" alt=""></center>
-<map name="socketengine.cpp_map">
-<area href="globals_8h-source.html" shape="rect" coords="492,210,567,236" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="180,108,260,135" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="308,159,420,186" alt="">
-</map>
-
-<p>
-<a href="socketengine_8cpp-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>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a> [65535]</td></tr>
-
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="ref_5B_36_35_35_33_35_5D"></a><!-- doxytag: member="socketengine.cpp::ref" ref="ref_5B_36_35_35_33_35_5D" args="[65535]" --><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="socketengine_8cpp.html#ref_5B_36_35_35_33_35_5D">ref</a>[65535] </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="socketengine_8cpp-source.html#l00033">33</a> of file <a class="el" href="socketengine_8cpp-source.html">socketengine.cpp</a>.
-<p>
-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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socketengine_8cpp__incl.gif b/docs/module-doc/socketengine_8cpp__incl.gif
deleted file mode 100644
index 59bcf3ae8..000000000
--- a/docs/module-doc/socketengine_8cpp__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/socketengine_8cpp__incl.map b/docs/module-doc/socketengine_8cpp__incl.map
deleted file mode 100644
index c2c0abf48..000000000
--- a/docs/module-doc/socketengine_8cpp__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $globals_8h-source.html 492,210 567,236
-rect $inspircd_8h-source.html 180,108 260,135
-rect $socketengine_8h-source.html 308,159 420,186
diff --git a/docs/module-doc/socketengine_8cpp__incl.md5 b/docs/module-doc/socketengine_8cpp__incl.md5
deleted file mode 100644
index e8adc4660..000000000
--- a/docs/module-doc/socketengine_8cpp__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-a9f3c9ef26b80d60108ae75da748354c \ No newline at end of file
diff --git a/docs/module-doc/socketengine_8h-source.html b/docs/module-doc/socketengine_8h-source.html
deleted file mode 100644
index 38021d437..000000000
--- a/docs/module-doc/socketengine_8h-source.html
+++ /dev/null
@@ -1,89 +0,0 @@
-<!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: socketengine.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>socketengine.h</h1><a href="socketengine_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 __SOCKETENGINE__</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __SOCKETENGINE__</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;vector&gt;</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="globals_8h.html">globals.h</a>"</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/epoll.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#define EP_DELAY 5</span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00030"></a>00030 <span class="preprocessor"></span><span class="preprocessor">#include &lt;sys/types.h&gt;</span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;sys/event.h&gt;</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include &lt;sys/time.h&gt;</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#endif</span>
-<a name="l00034"></a>00034 <span class="preprocessor"></span>
-<a name="l00041"></a><a class="code" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">00041</a> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">X_EMPTY_SLOT</a> = 0;
-<a name="l00042"></a><a class="code" href="socketengine_8h.html#X_5FLISTEN">00042</a> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="socketengine_8h.html#X_5FLISTEN">X_LISTEN</a> = 1;
-<a name="l00043"></a><a class="code" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">00043</a> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">X_ESTAB_CLIENT</a> = 2;
-<a name="l00044"></a><a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">00044</a> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a> = 3;
-<a name="l00045"></a><a class="code" href="socketengine_8h.html#X_5FESTAB_5FDNS">00045</a> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="socketengine_8h.html#X_5FESTAB_5FDNS">X_ESTAB_DNS</a> = 4;
-<a name="l00046"></a>00046
-<a name="l00055"></a><a class="code" href="socketengine_8h.html#X_5FREADBIT">00055</a> <span class="keyword">const</span> <span class="keywordtype">char</span> <a class="code" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a> = 0x80;
-<a name="l00056"></a>00056
-<a name="l00066"></a><a class="code" href="classSocketEngine.html">00066</a> <span class="keyword">class </span><a class="code" href="classSocketEngine.html">SocketEngine</a> {
-<a name="l00067"></a>00067
-<a name="l00068"></a><a class="code" href="classSocketEngine.html#fds">00068</a> std::vector&lt;int&gt; <a class="code" href="classSocketEngine.html#fds">fds</a>; <span class="comment">/* List of file descriptors being monitored */</span>
-<a name="l00069"></a><a class="code" href="classSocketEngine.html#EngineHandle">00069</a> <span class="keywordtype">int</span> <a class="code" href="classSocketEngine.html#EngineHandle">EngineHandle</a>; <span class="comment">/* Handle to the socket engine if needed */</span>
-<a name="l00070"></a>00070 <span class="preprocessor">#ifdef USE_SELECT</span>
-<a name="l00071"></a>00071 <span class="preprocessor"></span> fd_set wfdset, rfdset; <span class="comment">/* Readable and writeable sets for select() */</span>
-<a name="l00072"></a>00072 <span class="preprocessor">#endif</span>
-<a name="l00073"></a>00073 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_KQUEUE</span>
-<a name="l00074"></a><a class="code" href="classSocketEngine.html#ke_5Flist_5B_36_35_35_33_35_5D">00074</a> <span class="preprocessor"></span> <span class="keyword">struct </span>kevent ke_list[65535]; <span class="comment">/* Up to 64k sockets for kqueue */</span>
-<a name="l00075"></a><a class="code" href="classSocketEngine.html#ts">00075</a> <span class="keyword">struct </span>timespec ts; <span class="comment">/* kqueue delay value */</span>
-<a name="l00076"></a>00076 <span class="preprocessor">#endif</span>
-<a name="l00077"></a>00077 <span class="preprocessor"></span><span class="preprocessor">#ifdef USE_EPOLL</span>
-<a name="l00078"></a>00078 <span class="preprocessor"></span> <span class="keyword">struct </span>epoll_event events[65535]; <span class="comment">/* Up to 64k sockets for epoll */</span>
-<a name="l00079"></a>00079 <span class="preprocessor">#endif</span>
-<a name="l00080"></a>00080 <span class="preprocessor"></span>
-<a name="l00081"></a>00081 <span class="keyword">public</span>:
-<a name="l00082"></a>00082
-<a name="l00091"></a>00091 <a class="code" href="classSocketEngine.html#SocketEngine_28_29">SocketEngine</a>();
-<a name="l00092"></a>00092
-<a name="l00097"></a>00097 <a class="code" href="classSocketEngine.html#_7ESocketEngine_28_29">~SocketEngine</a>();
-<a name="l00098"></a>00098
-<a name="l00108"></a>00108 <span class="keywordtype">bool</span> <a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(<span class="keywordtype">int</span> fd, <span class="keywordtype">bool</span> readable, <span class="keywordtype">char</span> type);
-<a name="l00109"></a>00109
-<a name="l00120"></a>00120 <span class="keywordtype">char</span> <a class="code" href="classSocketEngine.html#GetType_28int_20fd_29">GetType</a>(<span class="keywordtype">int</span> fd);
-<a name="l00121"></a>00121
-<a name="l00127"></a>00127 <span class="keywordtype">bool</span> <a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(<span class="keywordtype">int</span> fd);
-<a name="l00128"></a>00128
-<a name="l00135"></a>00135 <span class="keywordtype">bool</span> <a class="code" href="classSocketEngine.html#Wait_28std_3A_3Avector_3C_20int_20_3E_20_26fdlist_29">Wait</a>(std::vector&lt;int&gt; &amp;fdlist);
-<a name="l00136"></a>00136
-<a name="l00141"></a>00141 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classSocketEngine.html#GetName_28_29">GetName</a>();
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socketengine_8h.html b/docs/module-doc/socketengine_8h.html
deleted file mode 100644
index 15303a901..000000000
--- a/docs/module-doc/socketengine_8h.html
+++ /dev/null
@@ -1,230 +0,0 @@
-<!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: socketengine.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>socketengine.h File Reference</h1><code>#include &lt;vector&gt;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="globals_8h-source.html">globals.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &lt;sys/types.h&gt;</code><br>
-<code>#include &lt;sys/event.h&gt;</code><br>
-<code>#include &lt;sys/time.h&gt;</code><br>
-
-<p>
-Include dependency graph for socketengine.h:<p><center><img src="socketengine_8h__incl.gif" border="0" usemap="#socketengine.h_map" alt=""></center>
-<map name="socketengine.h_map">
-<area href="globals_8h-source.html" shape="rect" coords="175,108,250,135" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="172,159,252,186" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="socketengine_8h__dep__incl.gif" border="0" usemap="#socketengine.hdep_map" alt=""></center>
-<map name="socketengine.hdep_map">
-<area href="modules_8cpp-source.html" shape="rect" coords="469,311,568,338" alt="">
-<area href="socket_8cpp-source.html" shape="rect" coords="476,412,561,439" alt="">
-<area href="socketengine_8cpp-source.html" shape="rect" coords="295,58,420,84" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="479,108,559,135" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="167,260,247,287" alt="">
-<area href="channels_8cpp-source.html" shape="rect" coords="469,210,568,236" alt="">
-<area href="inspircd__io_8h-source.html" shape="rect" coords="309,260,405,287" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="315,210,400,236" alt="">
-<area href="userprocess_8h-source.html" shape="rect" coords="305,311,409,338" alt="">
-</map>
-
-<p>
-<a href="socketengine_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="classSocketEngine.html">SocketEngine</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The actual socketengine class presents the same interface on all operating systems, but its private members and internal behaviour should be treated as blackboxed, and vary from system to system and upon the config settings chosen by the server admin. <a href="classSocketEngine.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">X_EMPTY_SLOT</a> = 0</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Each of these values represents a socket type in our reference table (the reference table itself is only accessible to <a class="el" href="socketengine_8cpp.html">socketengine.cpp</a>). <a href="#X_5FEMPTY_5FSLOT"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socketengine_8h.html#X_5FLISTEN">X_LISTEN</a> = 1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">X_ESTAB_CLIENT</a> = 2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a> = 3</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socketengine_8h.html#X_5FESTAB_5FDNS">X_ESTAB_DNS</a> = 4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a> = 0x80</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To indicate that a socket is readable, we mask its top bit with this X_READBIT value. <a href="#X_5FREADBIT"></a><br></td></tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="X_5FEMPTY_5FSLOT"></a><!-- doxytag: member="socketengine.h::X_EMPTY_SLOT" ref="X_5FEMPTY_5FSLOT" 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">const char <a class="el" href="socketengine_8h.html#X_5FEMPTY_5FSLOT">X_EMPTY_SLOT</a> = 0 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Each of these values represents a socket type in our reference table (the reference table itself is only accessible to <a class="el" href="socketengine_8cpp.html">socketengine.cpp</a>).
-<p>
-
-<p>
-Definition at line <a class="el" href="socketengine_8h-source.html#l00041">41</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-Referenced by <a class="el" href="socketengine_8cpp-source.html#l00057">SocketEngine::GetType()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="X_5FESTAB_5FCLIENT"></a><!-- doxytag: member="socketengine.h::X_ESTAB_CLIENT" ref="X_5FESTAB_5FCLIENT" 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">const char <a class="el" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">X_ESTAB_CLIENT</a> = 2 </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="socketengine_8h-source.html#l00043">43</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="X_5FESTAB_5FDNS"></a><!-- doxytag: member="socketengine.h::X_ESTAB_DNS" ref="X_5FESTAB_5FDNS" 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">const char <a class="el" href="socketengine_8h.html#X_5FESTAB_5FDNS">X_ESTAB_DNS</a> = 4 </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="socketengine_8h-source.html#l00045">45</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="X_5FESTAB_5FMODULE"></a><!-- doxytag: member="socketengine.h::X_ESTAB_MODULE" ref="X_5FESTAB_5FMODULE" 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">const char <a class="el" href="socketengine_8h.html#X_5FESTAB_5FMODULE">X_ESTAB_MODULE</a> = 3 </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="socketengine_8h-source.html#l00044">44</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-Referenced by <a class="el" href="socket_8cpp-source.html#l00050">InspSocket::InspSocket()</a>, and <a class="el" href="socket_8cpp-source.html#l00216">InspSocket::Poll()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="X_5FLISTEN"></a><!-- doxytag: member="socketengine.h::X_LISTEN" ref="X_5FLISTEN" 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">const char <a class="el" href="socketengine_8h.html#X_5FLISTEN">X_LISTEN</a> = 1 </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="socketengine_8h-source.html#l00042">42</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="X_5FREADBIT"></a><!-- doxytag: member="socketengine.h::X_READBIT" ref="X_5FREADBIT" 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">const char <a class="el" href="socketengine_8h.html#X_5FREADBIT">X_READBIT</a> = 0x80 </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-To indicate that a socket is readable, we mask its top bit with this X_READBIT value.
-<p>
-The socket engine can handle two types of socket, readable and writeable (error sockets are dealt with when read() and write() return negative or zero values).
-<p>
-Definition at line <a class="el" href="socketengine_8h-source.html#l00055">55</a> of file <a class="el" href="socketengine_8h-source.html">socketengine.h</a>.
-<p>
-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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/socketengine_8h__dep__incl.gif b/docs/module-doc/socketengine_8h__dep__incl.gif
deleted file mode 100644
index 7b835f18d..000000000
--- a/docs/module-doc/socketengine_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/socketengine_8h__dep__incl.map b/docs/module-doc/socketengine_8h__dep__incl.map
deleted file mode 100644
index 50af03e3e..000000000
--- a/docs/module-doc/socketengine_8h__dep__incl.map
+++ /dev/null
@@ -1,10 +0,0 @@
-base referer
-rect $modules_8cpp-source.html 469,311 568,338
-rect $socket_8cpp-source.html 476,412 561,439
-rect $socketengine_8cpp-source.html 295,58 420,84
-rect $users_8cpp-source.html 479,108 559,135
-rect $inspircd_8h-source.html 167,260 247,287
-rect $channels_8cpp-source.html 469,210 568,236
-rect $inspircd__io_8h-source.html 309,260 405,287
-rect $typedefs_8h-source.html 315,210 400,236
-rect $userprocess_8h-source.html 305,311 409,338
diff --git a/docs/module-doc/socketengine_8h__dep__incl.md5 b/docs/module-doc/socketengine_8h__dep__incl.md5
deleted file mode 100644
index 494132264..000000000
--- a/docs/module-doc/socketengine_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-5d41f86d6f67ff7b18b6ad71c4748bc2 \ No newline at end of file
diff --git a/docs/module-doc/socketengine_8h__incl.gif b/docs/module-doc/socketengine_8h__incl.gif
deleted file mode 100644
index bcaa0ce95..000000000
--- a/docs/module-doc/socketengine_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/socketengine_8h__incl.map b/docs/module-doc/socketengine_8h__incl.map
deleted file mode 100644
index e57838a54..000000000
--- a/docs/module-doc/socketengine_8h__incl.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $globals_8h-source.html 175,108 250,135
-rect $inspircd_8h-source.html 172,159 252,186
diff --git a/docs/module-doc/socketengine_8h__incl.md5 b/docs/module-doc/socketengine_8h__incl.md5
deleted file mode 100644
index 5f44e8306..000000000
--- a/docs/module-doc/socketengine_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-9fbbbfd9144c559ad108601ee9a99b89 \ No newline at end of file
diff --git a/docs/module-doc/structInAddr__HashComp-members.html b/docs/module-doc/structInAddr__HashComp-members.html
deleted file mode 100644
index ccb39f559..000000000
--- a/docs/module-doc/structInAddr__HashComp-members.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 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.3.3 -->
-<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">Compound&nbsp;List</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">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>InAddr_HashComp Member List</h1>This is the complete list of members for <a class="el" href="structInAddr__HashComp.html">InAddr_HashComp</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structInAddr__HashComp.html#a0">operator()</a>(const in_addr &amp;s1, const in_addr &amp;s2) const</td><td><a class="el" href="structInAddr__HashComp.html">InAddr_HashComp</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 15 17:03:29 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/structInAddr__HashComp.html b/docs/module-doc/structInAddr__HashComp.html
deleted file mode 100644
index 4aebb1d97..000000000
--- a/docs/module-doc/structInAddr__HashComp.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>InspIRCd: InAddr_HashComp struct Reference</title>
-<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.3.3 -->
-<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">Compound&nbsp;List</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">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>InAddr_HashComp Struct Reference</h1>This class returns true if two in_addr structs match.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structInAddr__HashComp-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>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structInAddr__HashComp.html#a0">operator()</a> (const in_addr &amp;s1, const in_addr &amp;s2) const</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator () does the actual comparison in hash_map. </em> <a href="#a0"></a><em><br><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-This class returns true if two in_addr structs match.
-<p>
-Checking is done by copying both into a size_t then doing a numeric comparison of the two.
-<p>
-
-<p>
-Definition at line <a class="el" href="hashcomp_8h-source.html#l00071">71</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>.<hr><h2>Member Function Documentation</h2>
-<a name="a0" doxytag="InAddr_HashComp::operator()"></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> bool InAddr_HashComp::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const in_addr &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s1</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap>const in_addr &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s2</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"> const</td>
- </tr>
-
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The operator () does the actual comparison in hash_map.
-<p>
- </td>
- </tr>
-</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 Sun May 15 17:03:29 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/structStrHashComp-members.html b/docs/module-doc/structStrHashComp-members.html
deleted file mode 100644
index 98853fc0d..000000000
--- a/docs/module-doc/structStrHashComp-members.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 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.3.3 -->
-<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">Compound&nbsp;List</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">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>StrHashComp Member List</h1>This is the complete list of members for <a class="el" href="structStrHashComp.html">StrHashComp</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structStrHashComp.html#a0">operator()</a>(const string &amp;s1, const string &amp;s2) const</td><td><a class="el" href="structStrHashComp.html">StrHashComp</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Sun May 15 17:03:46 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/structStrHashComp.html b/docs/module-doc/structStrHashComp.html
deleted file mode 100644
index 23f3e82ef..000000000
--- a/docs/module-doc/structStrHashComp.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>InspIRCd: StrHashComp struct Reference</title>
-<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.3.3 -->
-<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">Compound&nbsp;List</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">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>StrHashComp Struct Reference</h1>This class returns true if two strings match.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structStrHashComp-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>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structStrHashComp.html#a0">operator()</a> (const string &amp;s1, const string &amp;s2) const</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator () does the actual comparison in hash_map. </em> <a href="#a0"></a><em><br><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-This class returns true if two strings match.
-<p>
-Case sensitivity is ignored, and the RFC 'character set' is adhered to
-<p>
-
-<p>
-Definition at line <a class="el" href="hashcomp_8h-source.html#l00060">60</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>.<hr><h2>Member Function Documentation</h2>
-<a name="a0" doxytag="StrHashComp::operator()"></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> bool StrHashComp::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s1</em>, </td>
- </tr>
- <tr>
- <td></td>
- <td></td>
- <td class="md" nowrap>const string &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s2</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"> const</td>
- </tr>
-
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The operator () does the actual comparison in hash_map.
-<p>
- </td>
- </tr>
-</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 Sun May 15 17:03:46 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/structdns__ip4list-members.html b/docs/module-doc/structdns__ip4list-members.html
deleted file mode 100644
index 71038e91a..000000000
--- a/docs/module-doc/structdns__ip4list-members.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!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>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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/structdns__ip4list.html b/docs/module-doc/structdns__ip4list.html
deleted file mode 100644
index c9df88476..000000000
--- a/docs/module-doc/structdns__ip4list.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!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: dns_ip4list Struct 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>dns_ip4list Struct Reference</h1><!-- doxytag: class="dns_ip4list" --><code>#include &lt;<a class="el" href="dns_8h-source.html">dns.h</a>&gt;</code>
-<p>
-Collaboration diagram for dns_ip4list:<p><center><img src="structdns__ip4list__coll__graph.gif" border="0" usemap="#dns__ip4list__coll__map" alt="Collaboration graph"></center>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="structdns__ip4list-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 Attributes</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">in_addr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdns__ip4list.html#ip">ip</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structdns__ip4list.html">dns_ip4list</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdns__ip4list.html#next">next</a></td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-
-<p>
-
-<p>
-Definition at line <a class="el" href="dns_8h-source.html#l00026">26</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>.<hr><h2>Member Data Documentation</h2>
-<a class="anchor" name="ip"></a><!-- doxytag: member="dns_ip4list::ip" ref="ip" 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">in_addr <a class="el" href="structdns__ip4list.html#ip">dns_ip4list::ip</a> </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="dns_8h-source.html#l00027">27</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="next"></a><!-- doxytag: member="dns_ip4list::next" ref="next" 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="structdns__ip4list.html">dns_ip4list</a>* <a class="el" href="structdns__ip4list.html#next">dns_ip4list::next</a> </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="dns_8h-source.html#l00028">28</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
- </tr>
-</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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/structdns__ip4list__coll__graph.gif b/docs/module-doc/structdns__ip4list__coll__graph.gif
deleted file mode 100644
index 8ca7d4d91..000000000
--- a/docs/module-doc/structdns__ip4list__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/structdns__ip4list__coll__graph.map b/docs/module-doc/structdns__ip4list__coll__graph.map
deleted file mode 100644
index 5a14779e7..000000000
--- a/docs/module-doc/structdns__ip4list__coll__graph.map
+++ /dev/null
@@ -1 +0,0 @@
-base referer
diff --git a/docs/module-doc/structdns__ip4list__coll__graph.md5 b/docs/module-doc/structdns__ip4list__coll__graph.md5
deleted file mode 100644
index edc1ae44e..000000000
--- a/docs/module-doc/structdns__ip4list__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-3cb4501ab4b94d3da075a47d5eeb6ad8 \ No newline at end of file
diff --git a/docs/module-doc/structirc_1_1InAddr__HashComp-members.html b/docs/module-doc/structirc_1_1InAddr__HashComp-members.html
deleted file mode 100644
index 3f3c3d577..000000000
--- a/docs/module-doc/structirc_1_1InAddr__HashComp-members.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!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>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 Mon Dec 19 18:05:24 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/structirc_1_1InAddr__HashComp.html b/docs/module-doc/structirc_1_1InAddr__HashComp.html
deleted file mode 100644
index 1e817c099..000000000
--- a/docs/module-doc/structirc_1_1InAddr__HashComp.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!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: irc::InAddr_HashComp Struct 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="namespaceirc.html">irc</a>::<a class="el" href="structirc_1_1InAddr__HashComp.html">InAddr_HashComp</a></div>
-<h1>irc::InAddr_HashComp Struct Reference</h1><!-- doxytag: class="irc::InAddr_HashComp" -->This class returns true if two in_addr structs match.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structirc_1_1InAddr__HashComp-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">bool&nbsp;</td><td class="memItemRight" valign="bottom"><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></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator () does the actual comparison in hash_map. <a href="#operator_28_29_28const_20in_5Faddr_20_26s_31_2C_20const_20in_5Faddr_20_26s_32_29_20const_20"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-This class returns true if two in_addr structs match.
-<p>
-Checking is done by copying both into a size_t then doing a numeric comparison of the two.
-<p>
-
-<p>
-Definition at line <a class="el" href="hashcomp_8h-source.html#l00092">92</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>.<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="operator_28_29_28const_20in_5Faddr_20_26s_31_2C_20const_20in_5Faddr_20_26s_32_29_20const_20"></a><!-- doxytag: member="irc::InAddr_HashComp::operator()" ref="operator_28_29_28const_20in_5Faddr_20_26s_31_2C_20const_20in_5Faddr_20_26s_32_29_20const_20" args="(const in_addr &amp;s1, const in_addr &amp;s2) const " --><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">bool irc::InAddr_HashComp::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const in_addr &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const in_addr &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s2</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The operator () does the actual comparison in hash_map.
-<p>
- </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/structirc_1_1StrHashComp-members.html b/docs/module-doc/structirc_1_1StrHashComp-members.html
deleted file mode 100644
index 320cf12c8..000000000
--- a/docs/module-doc/structirc_1_1StrHashComp-members.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!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>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 Mon Dec 19 18:05:24 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/structirc_1_1StrHashComp.html b/docs/module-doc/structirc_1_1StrHashComp.html
deleted file mode 100644
index c8a50eb8f..000000000
--- a/docs/module-doc/structirc_1_1StrHashComp.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!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: irc::StrHashComp Struct 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="namespaceirc.html">irc</a>::<a class="el" href="structirc_1_1StrHashComp.html">StrHashComp</a></div>
-<h1>irc::StrHashComp Struct Reference</h1><!-- doxytag: class="irc::StrHashComp" -->This class returns true if two strings match.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structirc_1_1StrHashComp-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">bool&nbsp;</td><td class="memItemRight" valign="bottom"><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 <a class="el" href="namespaceirc.html#string">std::string</a> &amp;s1, const <a class="el" href="namespaceirc.html#string">std::string</a> &amp;s2) const </td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The operator () does the actual comparison in hash_map. <a href="#operator_28_29_28const_20std_3A_3Astring_20_26s_31_2C_20const_20std_3A_3Astring_20_26s_32_29_20const_20"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-This class returns true if two strings match.
-<p>
-Case sensitivity is ignored, and the RFC 'character set' is adhered to
-<p>
-
-<p>
-Definition at line <a class="el" href="hashcomp_8h-source.html#l00080">80</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>.<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="operator_28_29_28const_20std_3A_3Astring_20_26s_31_2C_20const_20std_3A_3Astring_20_26s_32_29_20const_20"></a><!-- doxytag: member="irc::StrHashComp::operator()" ref="operator_28_29_28const_20std_3A_3Astring_20_26s_31_2C_20const_20std_3A_3Astring_20_26s_32_29_20const_20" args="(const std::string &amp;s1, const std::string &amp;s2) const " --><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">bool irc::StrHashComp::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="namespaceirc.html#string">std::string</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const <a class="el" href="namespaceirc.html#string">std::string</a> &amp;&nbsp;</td>
- <td class="mdname" nowrap> <em>s2</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-The operator () does the actual comparison in hash_map.
-<p>
- </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/structirc_1_1irc__char__traits-members.html b/docs/module-doc/structirc_1_1irc__char__traits-members.html
deleted file mode 100644
index 91745068c..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits-members.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<!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>irc::irc_char_traits Member List</h1>This is the complete list of members for <a class="el" href="structirc_1_1irc__char__traits.html">irc::irc_char_traits</a>, including all inherited members.<p><table>
- <tr class="memlist"><td><a class="el" href="structirc_1_1irc__char__traits.html#compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29">compare</a>(const char *str1, const char *str2, size_t n)</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#eq_28char_20c_31st_2C_20char_20c_32nd_29">eq</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#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 Mon Dec 19 18:05:24 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/structirc_1_1irc__char__traits.html b/docs/module-doc/structirc_1_1irc__char__traits.html
deleted file mode 100644
index 62e9805a8..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits.html
+++ /dev/null
@@ -1,263 +0,0 @@
-<!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: irc::irc_char_traits Struct 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="namespaceirc.html">irc</a>::<a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a></div>
-<h1>irc::irc_char_traits Struct Reference</h1><!-- doxytag: class="irc::irc_char_traits" --><!-- doxytag: inherits="std::char_traits" -->The <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> class is used for RFC-style comparison of strings.
-<a href="#_details">More...</a>
-<p>
-<code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-Inheritance diagram for irc::irc_char_traits:<p><center><img src="structirc_1_1irc__char__traits__inherit__graph.gif" border="0" usemap="#irc_1_1irc__char__traits__inherit__map" alt="Inheritance graph"></center>
-<map name="irc_1_1irc__char__traits__inherit__map">
-<area href="classstd_1_1char__traits.html" shape="rect" coords="7,7,159,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center>Collaboration diagram for irc::irc_char_traits:<p><center><img src="structirc_1_1irc__char__traits__coll__graph.gif" border="0" usemap="#irc_1_1irc__char__traits__coll__map" alt="Collaboration graph"></center>
-<map name="irc_1_1irc__char__traits__coll__map">
-<area href="classstd_1_1char__traits.html" shape="rect" coords="7,7,159,34" alt="">
-</map>
-<center><font size="2">[<a target="top" href="graph_legend.html">legend</a>]</font></center><a href="structirc_1_1irc__char__traits-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
-<tr><td></td></tr>
-<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1irc__char__traits.html#eq_28char_20c_31st_2C_20char_20c_32nd_29">eq</a> (char c1st, char c2nd)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if two chars match. <a href="#eq_28char_20c_31st_2C_20char_20c_32nd_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><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></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if two chars do NOT match. <a href="#ne_28char_20c_31st_2C_20char_20c_32nd_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><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></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if one char is less than another. <a href="#lt_28char_20c_31st_2C_20char_20c_32nd_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structirc_1_1irc__char__traits.html#compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29">compare</a> (const char *str1, const char *str2, size_t n)</td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two strings of size n. <a href="#compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><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></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a char within a string up to position n. <a href="#find_28const_20char_20_2As_31_2C_20int_20n_2C_20char_20c_29"></a><br></td></tr>
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-The <a class="el" href="structirc_1_1irc__char__traits.html">irc_char_traits</a> class is used for RFC-style comparison of strings.
-<p>
-This class is used to implement <a class="el" href="namespaceirc.html#string">irc::string</a>, a case-insensitive, RFC- comparing string class.
-<p>
-
-<p>
-Definition at line <a class="el" href="hashcomp_8h-source.html#l00104">104</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>.<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29"></a><!-- doxytag: member="irc::irc_char_traits::compare" ref="compare_28const_20char_20_2Astr_31_2C_20const_20char_20_2Astr_32_2C_20size_5Ft_20n_29" args="(const char *str1, const char *str2, size_t n)" --><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">static int irc::irc_char_traits::compare </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>str1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>str2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>size_t&nbsp;</td>
- <td class="mdname" nowrap> <em>n</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [static]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Compare two strings of size n.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="eq_28char_20c_31st_2C_20char_20c_32nd_29"></a><!-- doxytag: member="irc::irc_char_traits::eq" ref="eq_28char_20c_31st_2C_20char_20c_32nd_29" args="(char c1st, char c2nd)" --><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">static bool irc::irc_char_traits::eq </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c1st</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>c2nd</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [static]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check if two chars match.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="find_28const_20char_20_2As_31_2C_20int_20n_2C_20char_20c_29"></a><!-- doxytag: member="irc::irc_char_traits::find" ref="find_28const_20char_20_2As_31_2C_20int_20n_2C_20char_20c_29" args="(const char *s1, int n, char c)" --><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">static const char* irc::irc_char_traits::find </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>s1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>n</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>c</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [static]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Find a char within a string up to position n.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="lt_28char_20c_31st_2C_20char_20c_32nd_29"></a><!-- doxytag: member="irc::irc_char_traits::lt" ref="lt_28char_20c_31st_2C_20char_20c_32nd_29" args="(char c1st, char c2nd)" --><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">static bool irc::irc_char_traits::lt </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c1st</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>c2nd</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [static]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check if one char is less than another.
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ne_28char_20c_31st_2C_20char_20c_32nd_29"></a><!-- doxytag: member="irc::irc_char_traits::ne" ref="ne_28char_20c_31st_2C_20char_20c_32nd_29" args="(char c1st, char c2nd)" --><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">static bool irc::irc_char_traits::ne </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char&nbsp;</td>
- <td class="mdname" nowrap> <em>c1st</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char&nbsp;</td>
- <td class="mdname" nowrap> <em>c2nd</em></td>
- </tr>
- <tr>
- <td class="md"></td>
- <td class="md">)&nbsp;</td>
- <td class="md" colspan="2"><code> [static]</code></td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Check if two chars do NOT match.
-<p>
- </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/structirc_1_1irc__char__traits__coll__graph.gif b/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.gif
deleted file mode 100644
index 76951b859..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.map b/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.map
deleted file mode 100644
index be3cc4f79..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classstd_1_1char__traits.html 7,7 159,34
diff --git a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.md5 b/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.md5
deleted file mode 100644
index 748031b4f..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits__coll__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-7ee2a692b6c22ce46dde4bd8f592bb51 \ No newline at end of file
diff --git a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.gif b/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.gif
deleted file mode 100644
index 76951b859..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.map b/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.map
deleted file mode 100644
index be3cc4f79..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.map
+++ /dev/null
@@ -1,2 +0,0 @@
-base referer
-rect $classstd_1_1char__traits.html 7,7 159,34
diff --git a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.md5 b/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.md5
deleted file mode 100644
index 748031b4f..000000000
--- a/docs/module-doc/structirc_1_1irc__char__traits__inherit__graph.md5
+++ /dev/null
@@ -1 +0,0 @@
-7ee2a692b6c22ce46dde4bd8f592bb51 \ No newline at end of file
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
deleted file mode 100644
index bb0b5f241..000000000
--- a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4-members.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!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>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 Mon Dec 19 18:05:24 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/structnspace_1_1hash_3_01in__addr_01_4.html b/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html
deleted file mode 100644
index 6d867203d..000000000
--- a/docs/module-doc/structnspace_1_1hash_3_01in__addr_01_4.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!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: nspace::hash&lt; in_addr &gt; Struct Template 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="namespacenspace.html">nspace</a>::<a class="el" href="structnspace_1_1hash_3_01in__addr_01_4.html">hash&lt; in_addr &gt;</a></div>
-<h1>nspace::hash&lt; in_addr &gt; Struct Template Reference</h1><!-- doxytag: class="nspace::hash&lt; in_addr &gt;" --><code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structnspace_1_1hash_3_01in__addr_01_4-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">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><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></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;&gt;<br>
- struct nspace::hash&lt; in_addr &gt;</h3>
-
-
-<p>
-
-<p>
-Definition at line <a class="el" href="hashcomp_8h-source.html#l00054">54</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>.<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="operator_28_29_28const_20struct_20in_5Faddr_20_26a_29_20const_20"></a><!-- doxytag: member="nspace::hash&lt; in_addr &gt;::operator()" ref="operator_28_29_28const_20struct_20in_5Faddr_20_26a_29_20const_20" args="(const struct in_addr &amp;a) const " --><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">size_t nspace::hash&lt; in_addr &gt;::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const struct in_addr &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/structnspace_1_1hash_3_01string_01_4-members.html b/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html
deleted file mode 100644
index fd2ff01a9..000000000
--- a/docs/module-doc/structnspace_1_1hash_3_01string_01_4-members.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<!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>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 Mon Dec 19 18:05:24 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/structnspace_1_1hash_3_01string_01_4.html b/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html
deleted file mode 100644
index 0b3cfa9f0..000000000
--- a/docs/module-doc/structnspace_1_1hash_3_01string_01_4.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!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: nspace::hash&lt; string &gt; Struct Template 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="namespacenspace.html">nspace</a>::<a class="el" href="structnspace_1_1hash_3_01string_01_4.html">hash&lt; string &gt;</a></div>
-<h1>nspace::hash&lt; string &gt; Struct Template Reference</h1><!-- doxytag: class="nspace::hash&lt; string &gt;" --><code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structnspace_1_1hash_3_01string_01_4-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">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><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 <a class="el" href="namespaceirc.html#string">string</a> &amp;s) const </td></tr>
-
-</table>
-<hr><a name="_details"></a><h2>Detailed Description</h2>
-<h3>template&lt;&gt;<br>
- struct nspace::hash&lt; string &gt;</h3>
-
-
-<p>
-
-<p>
-Definition at line <a class="el" href="hashcomp_8h-source.html#l00062">62</a> of file <a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>.<hr><h2>Member Function Documentation</h2>
-<a class="anchor" name="operator_28_29_28const_20string_20_26s_29_20const_20"></a><!-- doxytag: member="nspace::hash&lt; string &gt;::operator()" ref="operator_28_29_28const_20string_20_26s_29_20const_20" args="(const string &amp;s) const " --><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">size_t nspace::hash&lt; <a class="el" href="namespaceirc.html#string">string</a> &gt;::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const <a class="el" href="namespaceirc.html#string">string</a> &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</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 Mon Dec 19 18:05:24 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/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html
deleted file mode 100644
index 490602a5f..000000000
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 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.3.3 -->
-<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">Compound&nbsp;List</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">Compound&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_1nspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html#a0">operator()</a>(const struct in_addr &amp;a) const</td><td><a class="el" href="structnspace_1_1nspace_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 Mon May 30 05:17:50 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html
deleted file mode 100644
index 40bf44d09..000000000
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>InspIRCd: Templatenspace::hash&lt; in_addr &gt; struct Reference</title>
-<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.3.3 -->
-<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">Compound&nbsp;List</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">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>nspace::hash&lt; in_addr &gt; Struct Template Reference</h1><code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-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>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html#a0">operator()</a> (const struct in_addr &amp;a) const</td></tr>
-
-</table>
-<h3>template&lt;&gt;<br>
- struct nspace::hash&lt; in_addr &gt;</h3>
-
-<hr><h2>Member Function Documentation</h2>
-<a name="a0" doxytag="nspace::nspace::hash< in_addr >::operator()"></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> size_t nspace::hash&lt; in_addr &gt;::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const struct in_addr &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
-
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</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 Mon May 30 05:17:50 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html
deleted file mode 100644
index 9501b6c61..000000000
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 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.3.3 -->
-<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">Compound&nbsp;List</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">Compound&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_1nspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a>, including all inherited members.<table>
- <tr class="memlist"><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html#a0">operator()</a>(const string &amp;s) const</td><td><a class="el" href="structnspace_1_1nspace_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 Mon May 30 05:17:50 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html
deleted file mode 100644
index b5995ec50..000000000
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>InspIRCd: Templatenspace::hash&lt; string &gt; struct Reference</title>
-<link href="inspircd.doxygen.css" rel="stylesheet" type="text/css">
-</head><body>
-<!-- Generated by Doxygen 1.3.3 -->
-<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">Compound&nbsp;List</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">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
-<h1>nspace::hash&lt; string &gt; Struct Template Reference</h1><code>#include &lt;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&gt;</code>
-<p>
-<a href="structnspace_1_1nspace_1_1hash_3_01string_01_4-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>size_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html#a0">operator()</a> (const string &amp;s) const</td></tr>
-
-</table>
-<h3>template&lt;&gt;<br>
- struct nspace::hash&lt; string &gt;</h3>
-
-<hr><h2>Member Function Documentation</h2>
-<a name="a0" doxytag="nspace::nspace::hash< string >::operator()"></a><p>
-<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> size_t nspace::hash&lt; string &gt;::operator() </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>s</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap> const</td>
- </tr>
-
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</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 Mon May 30 05:17:50 2005 for InspIRCd by
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
-</a>1.3.3 </small></address>
-</body>
-</html>
diff --git a/docs/module-doc/tree.html b/docs/module-doc/tree.html
deleted file mode 100644
index 1c7b81379..000000000
--- a/docs/module-doc/tree.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=iso-8859-1" />
- <meta http-equiv="Content-Style-Type" content="text/css" />
- <meta http-equiv="Content-Language" content="en" />
- <link rel="stylesheet" href="inspircd.doxygen.css">
- <title>TreeView</title>
- <style type="text/css">
- <!--
- .directory { font-size: 10pt; font-weight: bold; }
- .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
- .directory p { margin: 0px; white-space: nowrap; }
- .directory div { display: none; margin: 0px; }
- .directory img { vertical-align: middle; }
- -->
- </style>
- <script type="text/javascript">
- <!-- // Hide script from old browsers
-
- function toggleFolder(id, imageNode)
- {
- var folder = document.getElementById(id);
- var l = imageNode.src.length;
- if (imageNode.src.substring(l-20,l)=="ftv2folderclosed.png" ||
- imageNode.src.substring(l-18,l)=="ftv2folderopen.png")
- {
- imageNode = imageNode.previousSibling;
- l = imageNode.src.length;
- }
- if (folder == null)
- {
- }
- else if (folder.style.display == "block")
- {
- if (imageNode != null)
- {
- imageNode.nextSibling.src = "ftv2folderclosed.png";
- if (imageNode.src.substring(l-13,l) == "ftv2mnode.png")
- {
- imageNode.src = "ftv2pnode.png";
- }
- else if (imageNode.src.substring(l-17,l) == "ftv2mlastnode.png")
- {
- imageNode.src = "ftv2plastnode.png";
- }
- }
- folder.style.display = "none";
- }
- else
- {
- if (imageNode != null)
- {
- imageNode.nextSibling.src = "ftv2folderopen.png";
- if (imageNode.src.substring(l-13,l) == "ftv2pnode.png")
- {
- imageNode.src = "ftv2mnode.png";
- }
- else if (imageNode.src.substring(l-17,l) == "ftv2plastnode.png")
- {
- imageNode.src = "ftv2mlastnode.png";
- }
- }
- folder.style.display = "block";
- }
- }
-
- // End script hiding -->
- </script>
- </head>
-
- <body>
- <div class="directory">
- <h3>InspIRCd</h3>
- <div style="display: block;">
- <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder1', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder1', this)"/><a class="el" href="files.html" target="basefrm">File List</a></p>
- <div id="folder1">
- <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="aes_8h.html" target="basefrm">aes.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="base_8h.html" target="basefrm">base.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="channels_8cpp.html" target="basefrm">channels.cpp</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="channels_8h.html" target="basefrm">channels.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="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>
- <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="inspircd_8h.html" target="basefrm">inspircd.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="inspircd__io_8h.html" target="basefrm">inspircd_io.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="message_8h.html" target="basefrm">message.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="mode_8h.html" target="basefrm">mode.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="modules_8cpp.html" target="basefrm">modules.cpp</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="modules_8h.html" target="basefrm">modules.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="socket_8cpp.html" target="basefrm">socket.cpp</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="socket_8h.html" target="basefrm">socket.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="socketengine_8cpp.html" target="basefrm">socketengine.cpp</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="socketengine_8h.html" target="basefrm">socketengine.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="typedefs_8h.html" target="basefrm">typedefs.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="userprocess_8h.html" target="basefrm">userprocess.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="users_8cpp.html" target="basefrm">users.cpp</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="users_8h.html" target="basefrm">users.h</a></p>
- <p><img src="ftv2vertline.png" alt="|" 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="xline_8h.html" target="basefrm">xline.h</a></p>
- </div>
- <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder2', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder2', this)"/><a class="el" href="annotated.html" target="basefrm">Class List</a></p>
- <div id="folder2">
- <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="classAdmin.html" target="basefrm">Admin</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="classAES.html" target="basefrm">AES</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="classBanItem.html" target="basefrm">BanItem</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="classBoolSet.html" target="basefrm">BoolSet</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="classchanrec.html" target="basefrm">chanrec</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="classstd_1_1char__traits.html" target="basefrm">char_traits</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="classclassbase.html" target="basefrm">classbase</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="classcmd__mode.html" target="basefrm">cmd_mode</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="classcommand__t.html" target="basefrm">command_t</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="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>
- <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="classEvent.html" target="basefrm">Event</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="classExemptItem.html" target="basefrm">ExemptItem</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="classExtensible.html" target="basefrm">Extensible</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="classExtMode.html" target="basefrm">ExtMode</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="classFileReader.html" target="basefrm">FileReader</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="classGLine.html" target="basefrm">GLine</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>
- <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_01string_01_4.html" target="basefrm">nspace::hash< string ></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="classHostItem.html" target="basefrm">HostItem</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="structirc_1_1InAddr__HashComp.html" target="basefrm">irc::InAddr_HashComp</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="classInspIRCd.html" target="basefrm">InspIRCd</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="classInspSocket.html" target="basefrm">InspSocket</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="classInvited.html" target="basefrm">Invited</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="classInviteItem.html" target="basefrm">InviteItem</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="structirc_1_1irc__char__traits.html" target="basefrm">irc::irc_char_traits</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="classKLine.html" target="basefrm">KLine</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="classModeParameter.html" target="basefrm">ModeParameter</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="classModeParser.html" target="basefrm">ModeParser</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="classModule.html" target="basefrm">Module</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="classModuleFactory.html" target="basefrm">ModuleFactory</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="classModuleMessage.html" target="basefrm">ModuleMessage</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="classQLine.html" target="basefrm">QLine</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="classRequest.html" target="basefrm">Request</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="classServer.html" target="basefrm">Server</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="classServerConfig.html" target="basefrm">ServerConfig</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="classserverstats.html" target="basefrm">serverstats</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="classSocketEngine.html" target="basefrm">SocketEngine</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="structirc_1_1StrHashComp.html" target="basefrm">irc::StrHashComp</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="classucrec.html" target="basefrm">ucrec</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="classuserrec.html" target="basefrm">userrec</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="classVersion.html" target="basefrm">Version</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="classWhoWasUser.html" target="basefrm">WhoWasUser</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="classXLine.html" target="basefrm">XLine</a></p>
- <p><img src="ftv2vertline.png" alt="|" 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>
- <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder3', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder3', this)"/><a class="el" href="hierarchy.html" target="basefrm">Class Hierarchy</a></p>
- <div id="folder3">
- <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="classAES.html" target="basefrm">AES</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="classBoolSet.html" target="basefrm">BoolSet</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder4', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder4', this)"/><a class="el" href="classstd_1_1char__traits.html" target="basefrm">char_traits</a></p>
- <div id="folder4">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" 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="structirc_1_1irc__char__traits.html" target="basefrm">irc::irc_char_traits</a></p>
- </div>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder5', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder5', this)"/><a class="el" href="classclassbase.html" target="basefrm">classbase</a></p>
- <div id="folder5">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classAdmin.html" target="basefrm">Admin</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="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="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder6', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder6', this)"/><a class="el" href="classExtensible.html" target="basefrm">Extensible</a></p>
- <div id="folder6">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classchanrec.html" target="basefrm">chanrec</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder7', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder7', this)"/><a class="el" href="classconnection.html" target="basefrm">connection</a></p>
- <div id="folder7">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classuserrec.html" target="basefrm">userrec</a></p>
- </div>
- </div>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classExtMode.html" target="basefrm">ExtMode</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classFileReader.html" target="basefrm">FileReader</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder8', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder8', this)"/><a class="el" href="classHostItem.html" target="basefrm">HostItem</a></p>
- <div id="folder8">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classBanItem.html" target="basefrm">BanItem</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classExemptItem.html" target="basefrm">ExemptItem</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" 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="classInviteItem.html" target="basefrm">InviteItem</a></p>
- </div>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classInvited.html" target="basefrm">Invited</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classModeParameter.html" target="basefrm">ModeParameter</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classModule.html" target="basefrm">Module</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classModuleFactory.html" target="basefrm">ModuleFactory</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder9', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder9', this)"/><a class="el" href="classModuleMessage.html" target="basefrm">ModuleMessage</a></p>
- <div id="folder9">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classEvent.html" target="basefrm">Event</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" 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="classRequest.html" target="basefrm">Request</a></p>
- </div>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classServer.html" target="basefrm">Server</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classServerConfig.html" target="basefrm">ServerConfig</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classucrec.html" target="basefrm">ucrec</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><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="classVersion.html" target="basefrm">Version</a></p>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder10', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder10', this)"/><a class="el" href="classXLine.html" target="basefrm">XLine</a></p>
- <div id="folder10">
- <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="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>
- <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="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classGLine.html" target="basefrm">GLine</a></p>
- <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="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classKLine.html" target="basefrm">KLine</a></p>
- <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="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classQLine.html" target="basefrm">QLine</a></p>
- <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="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder11', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder11', this)"/><a class="el" href="classcommand__t.html" target="basefrm">command_t</a></p>
- <div id="folder11">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" 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="classcmd__mode.html" target="basefrm">cmd_mode</a></p>
- </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>
- <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_01string_01_4.html" target="basefrm">nspace::hash< string ></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="structirc_1_1InAddr__HashComp.html" target="basefrm">irc::InAddr_HashComp</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="classInspIRCd.html" target="basefrm">InspIRCd</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="classInspSocket.html" target="basefrm">InspSocket</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="classModeParser.html" target="basefrm">ModeParser</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="classserverstats.html" target="basefrm">serverstats</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="classSocketEngine.html" target="basefrm">SocketEngine</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="structirc_1_1StrHashComp.html" target="basefrm">irc::StrHashComp</a></p>
- <p><img src="ftv2vertline.png" alt="|" 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="classWhoWasUser.html" target="basefrm">WhoWasUser</a></p>
- </div>
- <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="functions.html" target="basefrm">Class Members</a></p>
- <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder12', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder12', this)"/><a class="el" href="namespaces.html" target="basefrm">Namespace List</a></p>
- <div id="folder12">
- <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="namespaceirc.html" target="basefrm">irc</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="namespacenspace.html" target="basefrm">nspace</a></p>
- <p><img src="ftv2vertline.png" alt="|" 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="namespacestd.html" target="basefrm">std</a></p>
- </div>
- <p><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder13', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder13', this)"/><a class="el" href="dirs.html" target="basefrm">Directories</a></p>
- <div id="folder13">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder14', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder14', this)"/><a class="el" href="dir_000000.html" target="basefrm">home</a></p>
- <div id="folder14">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder15', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder15', this)"/><a class="el" href="dir_000001.html" target="basefrm">brain</a></p>
- <div id="folder15">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder16', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder16', this)"/><a class="el" href="dir_000002.html" target="basefrm">inspircd-cvs</a></p>
- <div id="folder16">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder17', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder17', this)"/><a class="el" href="dir_000003.html" target="basefrm">inspircd</a></p>
- <div id="folder17">
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2pnode.png" alt="o" width=16 height=22 onclick="toggleFolder('folder18', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder18', this)"/><a class="el" href="dir_000004.html" target="basefrm">include</a></p>
- <div id="folder18">
- </div>
- <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2plastnode.png" alt="\" width=16 height=22 onclick="toggleFolder('folder19', this)"/><img src="ftv2folderclosed.png" alt="+" width=24 height=22 onclick="toggleFolder('folder19', this)"/><a class="el" href="dir_000005.html" target="basefrm">src</a></p>
- <div id="folder19">
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="globals.html" target="basefrm">File Members</a></p>
- <p><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="namespacemembers.html" target="basefrm">Namespace Members</a></p>
- <p><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="inherits.html" target="basefrm">Graphical Class Hierarchy</a></p>
- </div>
- </div>
- </body>
-</html>
diff --git a/docs/module-doc/tree.js b/docs/module-doc/tree.js
deleted file mode 100644
index f6bf6e04d..000000000
--- a/docs/module-doc/tree.js
+++ /dev/null
@@ -1 +0,0 @@
-foldersTree = gFld("<b>InspIRCd</b>", "", "")
diff --git a/docs/module-doc/treeview.js b/docs/module-doc/treeview.js
deleted file mode 100644
index 6b5ef5110..000000000
--- a/docs/module-doc/treeview.js
+++ /dev/null
@@ -1,500 +0,0 @@
-//****************************************************************
-// You are free to copy the "Folder-Tree" script as long as you
-// keep this copyright notice:
-// Script found in: http://www.geocities.com/Paris/LeftBank/2178/
-// Author: Marcelino Alves Martins (martins@hks.com) December '97.
-//****************************************************************
-
-//Log of changes:
-// 17 Feb 98 - Fix initialization flashing problem with Netscape
-//
-// 27 Jan 98 - Root folder starts open; support for USETEXTLINKS;
-// make the ftien4 a js file
-//
-// DvH: Dec 2000 - Made some minor changes to support external
-// references
-
-// Definition of class Folder
-// *****************************************************************
-
-function Folder(folderDescription, tagName, hreference) //constructor
-{
- //constant data
- this.desc = folderDescription
- this.tagName = tagName
- this.hreference = hreference
- this.id = -1
- this.navObj = 0
- this.iconImg = 0
- this.nodeImg = 0
- this.isLastNode = 0
-
- //dynamic data
- this.isOpen = true
- this.iconSrc = "ftv2folderopen.png"
- this.children = new Array
- this.nChildren = 0
-
- //methods
- this.initialize = initializeFolder
- this.setState = setStateFolder
- this.addChild = addChild
- this.createIndex = createEntryIndex
- this.hide = hideFolder
- this.display = display
- this.renderOb = drawFolder
- this.totalHeight = totalHeight
- this.subEntries = folderSubEntries
- this.outputLink = outputFolderLink
-}
-
-function setStateFolder(isOpen)
-{
- var subEntries
- var totalHeight
- var fIt = 0
- var i=0
-
- if (isOpen == this.isOpen)
- return
-
- if (browserVersion == 2)
- {
- totalHeight = 0
- for (i=0; i < this.nChildren; i++)
- totalHeight = totalHeight + this.children[i].navObj.clip.height
- subEntries = this.subEntries()
- if (this.isOpen)
- totalHeight = 0 - totalHeight
- for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++)
- indexOfEntries[fIt].navObj.moveBy(0, totalHeight)
- }
- this.isOpen = isOpen
- propagateChangesInState(this)
-}
-
-function propagateChangesInState(folder)
-{
- var i=0
-
- if (folder.isOpen)
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2mlastnode.png"
- else
- folder.nodeImg.src = "ftv2mnode.png"
- folder.iconImg.src = "ftv2folderopen.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].display()
- }
- else
- {
- if (folder.nodeImg)
- if (folder.isLastNode)
- folder.nodeImg.src = "ftv2plastnode.png"
- else
- folder.nodeImg.src = "ftv2pnode.png"
- folder.iconImg.src = "ftv2folderclosed.png"
- for (i=0; i<folder.nChildren; i++)
- folder.children[i].hide()
- }
-}
-
-function hideFolder()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-
- this.setState(0)
-}
-
-function initializeFolder(level, lastNode, leftSide)
-{
-var j=0
-var i=0
-var numberOfFolders
-var numberOfDocs
-var nc
-
- nc = this.nChildren
-
- this.createIndex()
-
- var auxEv = ""
-
- if (browserVersion > 0)
- auxEv = "<a href='javascript:clickOnNode("+this.id+")'>"
- else
- auxEv = "<a>"
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.png' width=16 height=22 border=0></a>")
- leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- this.isLastNode = 1
- }
- else
- {
- this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.png' width=16 height=22 border=0></a>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- this.isLastNode = 0
- }
- else
- this.renderOb("")
-
- if (nc > 0)
- {
- level = level + 1
- for (i=0 ; i < this.nChildren; i++)
- {
- if (i == this.nChildren-1)
- this.children[i].initialize(level, 1, leftSide)
- else
- this.children[i].initialize(level, 0, leftSide)
- }
- }
-}
-
-function drawFolder(leftSide)
-{
- if (browserVersion == 2) {
- if (!doc.yPos)
- doc.yPos=8
- doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- }
- if (browserVersion == 3)
- {
- doc.write("<div id='folder" + this.id + "' style='visibility:hide;'>")
- }
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='folder" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>")
- doc.write("\n<tr><td>")
- doc.write(leftSide)
- this.outputLink()
- doc.write("<img name='folderIcon" + this.id + "' ")
- doc.write("src='" + this.iconSrc+"' border=0></a>")
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS)
- {
- this.outputLink()
- doc.write(this.desc + "</a>")
- }
- else
- doc.write(this.desc)
- if (this.tagName!="")
- {
- doc.write(" [external]")
- }
- doc.write("</td>")
- doc.write("\n</table>\n")
-
- if (browserVersion == 2) {
- doc.write("</layer>")
- }
- if (browserVersion == 3) {
- doc.write("</div>")
- }
-
- if (browserVersion == 1) {
- this.navObj = doc.all["folder"+this.id]
- this.iconImg = doc.all["folderIcon"+this.id]
- this.nodeImg = doc.all["nodeIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["folder"+this.id]
- this.iconImg = this.navObj.document.images["folderIcon"+this.id]
- this.nodeImg = this.navObj.document.images["nodeIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("folder"+this.id)
- this.iconImg = doc.images.namedItem("folderIcon"+this.id)
- this.nodeImg = doc.images.namedItem("nodeIcon"+this.id)
- }
-}
-
-function outputFolderLink()
-{
- if (this.hreference)
- {
- doc.write("<a ")
- if (this.tagName)
- {
- doc.write("doxygen='" + this.tagName + "' ");
- }
- doc.write("href='" + this.hreference + "' TARGET=\"basefrm\" ")
- if (browserVersion > 0)
- doc.write("onClick='javascript:clickOnFolder("+this.id+")'")
- doc.write(">")
- }
- else
- doc.write("<a>")
-}
-
-function addChild(childNode)
-{
- this.children[this.nChildren] = childNode
- this.nChildren++
- return childNode
-}
-
-function folderSubEntries()
-{
- var i = 0
- var se = this.nChildren
-
- for (i=0; i < this.nChildren; i++){
- if (this.children[i].children) //is a folder
- se = se + this.children[i].subEntries()
- }
-
- return se
-}
-
-
-// Definition of class Item (a document or link inside a Folder)
-// *************************************************************
-
-function Item(itemDescription, tagName, itemLink) // Constructor
-{
- // constant data
- this.desc = itemDescription
- this.tagName = tagName
- this.link = itemLink
- this.id = -1 //initialized in initalize()
- this.navObj = 0 //initialized in render()
- this.iconImg = 0 //initialized in render()
- this.iconSrc = "ftv2doc.png"
-
- // methods
- this.initialize = initializeItem
- this.createIndex = createEntryIndex
- this.hide = hideItem
- this.display = display
- this.renderOb = drawItem
- this.totalHeight = totalHeight
-}
-
-function hideItem()
-{
- if (browserVersion == 1 || browserVersion == 3) {
- if (this.navObj.style.display == "none")
- return
- this.navObj.style.display = "none"
- } else {
- if (this.navObj.visibility == "hidden")
- return
- this.navObj.visibility = "hidden"
- }
-}
-
-function initializeItem(level, lastNode, leftSide)
-{
- this.createIndex()
-
- if (level>0)
- if (lastNode) //the last 'brother' in the children array
- {
- this.renderOb(leftSide + "<img src='ftv2lastnode.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2blank.png' width=16 height=22>"
- }
- else
- {
- this.renderOb(leftSide + "<img src='ftv2node.png' width=16 height=22>")
- leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>"
- }
- else
- this.renderOb("")
-}
-
-function drawItem(leftSide)
-{
- if (browserVersion == 2)
- doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hidden>")
- if (browserVersion == 3)
- doc.write("<div id='item" + this.id + "' style='display:block;'>")
-
- doc.write("\n<table ")
- if (browserVersion == 1)
- doc.write(" id='item" + this.id + "' style='position:block;' ")
- doc.write(" border=0 cellspacing=0 cellpadding=0>\n")
- doc.write("<tr><td>")
- doc.write(leftSide)
- if (this.link!="")
- {
- doc.write("<a href=" + this.link + ">")
- }
- doc.write("<img id='itemIcon"+this.id+"' ")
- doc.write("src='"+this.iconSrc+"' border=0>")
- if (this.link!="")
- {
- doc.write("</a>")
- }
- doc.write("</td>\n<td valign=middle nowrap>")
- if (USETEXTLINKS && this.link!="")
- doc.write("<a href=" + this.link + ">" + this.desc + "</a>")
- else
- doc.write(this.desc)
- if (this.tagName!="")
- {
- doc.write(" [external]");
- }
- doc.write("\n</table>\n")
-
- if (browserVersion == 2)
- doc.write("</layer>")
- if (browserVersion == 3)
- doc.write("</div>")
-
- if (browserVersion == 1) {
- this.navObj = doc.all["item"+this.id]
- this.iconImg = doc.all["itemIcon"+this.id]
- } else if (browserVersion == 2) {
- this.navObj = doc.layers["item"+this.id]
- this.iconImg = this.navObj.document.images["itemIcon"+this.id]
- doc.yPos=doc.yPos+this.navObj.clip.height
- } else if (browserVersion == 3) {
- this.navObj = doc.getElementById("item"+this.id)
- this.iconImg = doc.images.namedItem("itemIcon"+this.id)
- }
-}
-
-
-// Methods common to both objects (pseudo-inheritance)
-// ********************************************************
-
-function display()
-{
- if (browserVersion == 1 || browserVersion == 3)
- this.navObj.style.display = "block"
- else
- this.navObj.visibility = "show"
-}
-
-function createEntryIndex()
-{
- this.id = nEntries
- indexOfEntries[nEntries] = this
- nEntries++
-}
-
-// total height of subEntries open
-function totalHeight() //used with browserVersion == 2
-{
- var h = this.navObj.clip.height
- var i = 0
-
- if (this.isOpen) //is a folder and _is_ open
- for (i=0 ; i < this.nChildren; i++)
- h = h + this.children[i].totalHeight()
-
- return h
-}
-
-
-// Events
-// *********************************************************
-
-function clickOnFolder(folderId)
-{
- var clicked = indexOfEntries[folderId]
-
- if (!clicked.isOpen)
- clickOnNode(folderId)
-
- return
-
- if (clicked.isSelected)
- return
-}
-
-function clickOnNode(folderId)
-{
- var clickedFolder = 0
- var state = 0
-
- clickedFolder = indexOfEntries[folderId]
- state = clickedFolder.isOpen
-
- clickedFolder.setState(!state) //open<->close
-}
-
-function initializeDocument()
-{
- doc = document;
- if (doc.all)
- browserVersion = 1 //IE4
- else
- if (doc.layers)
- browserVersion = 2 //NS4
- else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)
- browserVersion = 3 //mozilla
- else
- browserVersion = 0 //other
-
- foldersTree.initialize(0, 1, "")
- foldersTree.display()
-
- if (browserVersion > 0)
- {
- if(browserVersion != 3)
- doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>")
-
- // close the whole tree
- clickOnNode(0)
- // open the root folder
- clickOnNode(0)
- }
-}
-
-// Auxiliary Functions for Folder-Treee backward compatibility
-// *********************************************************
-
-function gFld(description, tagName, hreference)
-{
- folder = new Folder(description, tagName, hreference)
- return folder
-}
-
-function gLnk(description, tagName, linkData)
-{
- fullLink = ""
-
- if (linkData!="")
- {
- fullLink = "'"+linkData+"' target=\"basefrm\""
- }
-
- linkItem = new Item(description, tagName, fullLink)
- return linkItem
-}
-
-function insFld(parentFolder, childFolder)
-{
- return parentFolder.addChild(childFolder)
-}
-
-function insDoc(parentFolder, document)
-{
- parentFolder.addChild(document)
-}
-
-// Global variables
-// ****************
-
-USETEXTLINKS = 1
-indexOfEntries = new Array
-nEntries = 0
-doc = document
-browserVersion = 0
-selectedFolder=0
diff --git a/docs/module-doc/typedefs_8h-source.html b/docs/module-doc/typedefs_8h-source.html
deleted file mode 100644
index cf0d2b97d..000000000
--- a/docs/module-doc/typedefs_8h-source.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!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: typedefs.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>typedefs.h</h1><a href="typedefs_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __TYPEDEF_H__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __TYPEDEF_H__</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span>
-<a name="l00004"></a>00004 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
-<a name="l00005"></a>00005 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
-<a name="l00006"></a>00006 <span class="preprocessor">#include "<a class="code" href="hashcomp_8h.html">hashcomp.h</a>"</span>
-<a name="l00007"></a>00007 <span class="preprocessor">#include "inspstring.h"</span>
-<a name="l00008"></a>00008 <span class="preprocessor">#include "<a class="code" href="ctables_8h.html">ctables.h</a>"</span>
-<a name="l00009"></a>00009 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00010"></a>00010 <span class="preprocessor">#include "<a class="code" href="modules_8h.html">modules.h</a>"</span>
-<a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="globals_8h.html">globals.h</a>"</span>
-<a name="l00012"></a>00012 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00013"></a>00013 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00014"></a>00014 <span class="preprocessor">#ifdef GCC3</span>
-<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#include &lt;ext/hash_map&gt;</span>
-<a name="l00016"></a>00016 <span class="preprocessor">#else</span>
-<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#include &lt;hash_map&gt;</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
-<a name="l00019"></a>00019 <span class="preprocessor"></span>
-<a name="l00020"></a><a class="code" href="typedefs_8h.html#user_5Fhash">00020</a> <span class="keyword">typedef</span> nspace::hash_map&lt;std::string, userrec*, nspace::hash&lt;string&gt;, <a class="code" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>&gt; <a class="code" href="typedefs_8h.html#user_5Fhash">user_hash</a>;
-<a name="l00021"></a><a class="code" href="typedefs_8h.html#chan_5Fhash">00021</a> <span class="keyword">typedef</span> nspace::hash_map&lt;std::string, chanrec*, nspace::hash&lt;string&gt;, <a class="code" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>&gt; <a class="code" href="typedefs_8h.html#chan_5Fhash">chan_hash</a>;
-<a name="l00022"></a><a class="code" href="typedefs_8h.html#address_5Fcache">00022</a> <span class="keyword">typedef</span> nspace::hash_map&lt;in_addr,string*, nspace::hash&lt;in_addr&gt;, <a class="code" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a>&gt; <a class="code" href="typedefs_8h.html#address_5Fcache">address_cache</a>;
-<a name="l00023"></a><a class="code" href="typedefs_8h.html#whowas_5Fhash">00023</a> <span class="keyword">typedef</span> nspace::hash_map&lt;std::string, WhoWasUser*, nspace::hash&lt;string&gt;, <a class="code" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>&gt; <a class="code" href="typedefs_8h.html#whowas_5Fhash">whowas_hash</a>;
-<a name="l00024"></a><a class="code" href="typedefs_8h.html#servernamelist">00024</a> <span class="keyword">typedef</span> std::vector&lt;std::string&gt; <a class="code" href="typedefs_8h.html#servernamelist">servernamelist</a>;
-<a name="l00025"></a><a class="code" href="typedefs_8h.html#ExtModeList">00025</a> <span class="keyword">typedef</span> std::vector&lt;ExtMode&gt; <a class="code" href="typedefs_8h.html#ExtModeList">ExtModeList</a>;
-<a name="l00026"></a><a class="code" href="typedefs_8h.html#ExtModeListIter">00026</a> <span class="keyword">typedef</span> ExtModeList::iterator <a class="code" href="typedefs_8h.html#ExtModeListIter">ExtModeListIter</a>;
-<a name="l00027"></a><a class="code" href="typedefs_8h.html#file_5Fcache">00027</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="l00028"></a>00028
-<a name="l00029"></a>00029 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/typedefs_8h.html b/docs/module-doc/typedefs_8h.html
deleted file mode 100644
index 75934bc0d..000000000
--- a/docs/module-doc/typedefs_8h.html
+++ /dev/null
@@ -1,276 +0,0 @@
-<!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: typedefs.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>typedefs.h File Reference</h1><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>
-<code>#include &quot;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&quot;</code><br>
-<code>#include &quot;inspstring.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="ctables_8h-source.html">ctables.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="modules_8h-source.html">modules.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="globals_8h-source.html">globals.h</a>&quot;</code><br>
-<code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &lt;ext/hash_map&gt;</code><br>
-
-<p>
-Include dependency graph for typedefs.h:<p><center><img src="typedefs_8h__incl.gif" border="0" usemap="#typedefs.h_map" alt=""></center>
-<map name="typedefs.h_map">
-<area href="users_8h-source.html" shape="rect" coords="280,245,344,272" alt="">
-<area href="channels_8h-source.html" shape="rect" coords="404,448,489,475" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="400,93,493,120" alt="">
-<area href="ctables_8h-source.html" shape="rect" coords="275,600,349,627" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="143,335,223,361" alt="">
-<area href="modules_8h-source.html" shape="rect" coords="141,600,224,627" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="145,423,220,449" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="typedefs_8h__dep__incl.gif" border="0" usemap="#typedefs.hdep_map" alt=""></center>
-<map name="typedefs.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="141,7,240,33" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="141,57,240,84" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="151,108,231,135" alt="">
-</map>
-
-<p>
-<a href="typedefs_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>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nspace::hash_map&lt;<br>
- <a class="el" href="namespaceirc.html#string">std::string</a>, <a class="el" href="classuserrec.html">userrec</a> *, nspace::hash&lt;<br>
- <a class="el" href="namespaceirc.html#string">string</a> &gt;, <a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#user_5Fhash">user_hash</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nspace::hash_map&lt;<br>
- <a class="el" href="namespaceirc.html#string">std::string</a>, <a class="el" href="classchanrec.html">chanrec</a> *, nspace::hash&lt;<br>
- <a class="el" href="namespaceirc.html#string">string</a> &gt;, <a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#chan_5Fhash">chan_hash</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nspace::hash_map&lt;<br>
- in_addr, <a class="el" href="namespaceirc.html#string">string</a> *, nspace::hash&lt;<br>
- in_addr &gt;, <a class="el" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#address_5Fcache">address_cache</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef nspace::hash_map&lt;<br>
- <a class="el" href="namespaceirc.html#string">std::string</a>, <a class="el" href="classWhoWasUser.html">WhoWasUser</a> *,<br>
- nspace::hash&lt; <a class="el" href="namespaceirc.html#string">string</a> &gt;, <a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#whowas_5Fhash">whowas_hash</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="namespaceirc.html#string">std::string</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#servernamelist">servernamelist</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classExtMode.html">ExtMode</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#ExtModeList">ExtModeList</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef ExtModeList::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#ExtModeListIter">ExtModeListIter</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::deque&lt; <a class="el" href="namespaceirc.html#string">std::string</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a></td></tr>
-
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="address_5Fcache"></a><!-- doxytag: member="typedefs.h::address_cache" ref="address_5Fcache" 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">typedef nspace::hash_map&lt;in_addr,<a class="el" href="namespaceirc.html#string">string</a>*, nspace::hash&lt;in_addr&gt;, <a class="el" href="structirc_1_1InAddr__HashComp.html">irc::InAddr_HashComp</a>&gt; <a class="el" href="typedefs_8h.html#address_5Fcache">address_cache</a> </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="typedefs_8h-source.html#l00022">22</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="chan_5Fhash"></a><!-- doxytag: member="typedefs.h::chan_hash" ref="chan_5Fhash" 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">typedef nspace::hash_map&lt;<a class="el" href="namespaceirc.html#string">std::string</a>, <a class="el" href="classchanrec.html">chanrec</a>*, nspace::hash&lt;<a class="el" href="namespaceirc.html#string">string</a>&gt;, <a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>&gt; <a class="el" href="typedefs_8h.html#chan_5Fhash">chan_hash</a> </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="typedefs_8h-source.html#l00021">21</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ExtModeList"></a><!-- doxytag: member="typedefs.h::ExtModeList" ref="ExtModeList" 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">typedef std::vector&lt;<a class="el" href="classExtMode.html">ExtMode</a>&gt; <a class="el" href="typedefs_8h.html#ExtModeList">ExtModeList</a> </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="typedefs_8h-source.html#l00025">25</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="ExtModeListIter"></a><!-- doxytag: member="typedefs.h::ExtModeListIter" ref="ExtModeListIter" 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">typedef ExtModeList::iterator <a class="el" href="typedefs_8h.html#ExtModeListIter">ExtModeListIter</a> </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="typedefs_8h-source.html#l00026">26</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="file_5Fcache"></a><!-- doxytag: member="typedefs.h::file_cache" ref="file_5Fcache" 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">typedef std::deque&lt;<a class="el" href="namespaceirc.html#string">std::string</a>&gt; <a class="el" href="typedefs_8h.html#file_5Fcache">file_cache</a> </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="typedefs_8h-source.html#l00027">27</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="servernamelist"></a><!-- doxytag: member="typedefs.h::servernamelist" ref="servernamelist" 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">typedef std::vector&lt;<a class="el" href="namespaceirc.html#string">std::string</a>&gt; <a class="el" href="typedefs_8h.html#servernamelist">servernamelist</a> </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="typedefs_8h-source.html#l00024">24</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="user_5Fhash"></a><!-- doxytag: member="typedefs.h::user_hash" ref="user_5Fhash" 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">typedef nspace::hash_map&lt;<a class="el" href="namespaceirc.html#string">std::string</a>, <a class="el" href="classuserrec.html">userrec</a>*, nspace::hash&lt;<a class="el" href="namespaceirc.html#string">string</a>&gt;, <a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>&gt; <a class="el" href="typedefs_8h.html#user_5Fhash">user_hash</a> </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="typedefs_8h-source.html#l00020">20</a> of file <a class="el" href="typedefs_8h-source.html">typedefs.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="whowas_5Fhash"></a><!-- doxytag: member="typedefs.h::whowas_hash" ref="whowas_5Fhash" 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">typedef nspace::hash_map&lt;<a class="el" href="namespaceirc.html#string">std::string</a>, <a class="el" href="classWhoWasUser.html">WhoWasUser</a>*, nspace::hash&lt;<a class="el" href="namespaceirc.html#string">string</a>&gt;, <a class="el" href="structirc_1_1StrHashComp.html">irc::StrHashComp</a>&gt; <a class="el" href="typedefs_8h.html#whowas_5Fhash">whowas_hash</a> </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="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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/typedefs_8h__dep__incl.gif b/docs/module-doc/typedefs_8h__dep__incl.gif
deleted file mode 100644
index 83917f390..000000000
--- a/docs/module-doc/typedefs_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/typedefs_8h__dep__incl.map b/docs/module-doc/typedefs_8h__dep__incl.map
deleted file mode 100644
index 122b85584..000000000
--- a/docs/module-doc/typedefs_8h__dep__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 141,7 240,33
-rect $modules_8cpp-source.html 141,57 240,84
-rect $users_8cpp-source.html 151,108 231,135
diff --git a/docs/module-doc/typedefs_8h__dep__incl.md5 b/docs/module-doc/typedefs_8h__dep__incl.md5
deleted file mode 100644
index 9905c76fe..000000000
--- a/docs/module-doc/typedefs_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-9650d15ddf009f9c420b6ac64e094f58 \ No newline at end of file
diff --git a/docs/module-doc/typedefs_8h__incl.gif b/docs/module-doc/typedefs_8h__incl.gif
deleted file mode 100644
index 54765764d..000000000
--- a/docs/module-doc/typedefs_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/typedefs_8h__incl.map b/docs/module-doc/typedefs_8h__incl.map
deleted file mode 100644
index 214c3651f..000000000
--- a/docs/module-doc/typedefs_8h__incl.map
+++ /dev/null
@@ -1,8 +0,0 @@
-base referer
-rect $users_8h-source.html 280,245 344,272
-rect $channels_8h-source.html 404,448 489,475
-rect $hashcomp_8h-source.html 400,93 493,120
-rect $ctables_8h-source.html 275,600 349,627
-rect $inspircd_8h-source.html 143,335 223,361
-rect $modules_8h-source.html 141,600 224,627
-rect $globals_8h-source.html 145,423 220,449
diff --git a/docs/module-doc/typedefs_8h__incl.md5 b/docs/module-doc/typedefs_8h__incl.md5
deleted file mode 100644
index 8797dc7d4..000000000
--- a/docs/module-doc/typedefs_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-74b3db4e6e9c4732328fa3d4f91f37f3 \ No newline at end of file
diff --git a/docs/module-doc/userprocess_8h-source.html b/docs/module-doc/userprocess_8h-source.html
deleted file mode 100644
index 081dc5134..000000000
--- a/docs/module-doc/userprocess_8h-source.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!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: userprocess.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>userprocess.h</h1><a href="userprocess_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __USERPROCESS_H__</span>
-<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __USERPROCESS_H__</span>
-<a name="l00003"></a>00003 <span class="preprocessor"></span>
-<a name="l00004"></a>00004 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
-<a name="l00005"></a>00005 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00006"></a>00006
-<a name="l00007"></a>00007 <span class="keywordtype">void</span> <a class="code" href="userprocess_8h.html#CheckDie_28_29">CheckDie</a>();
-<a name="l00008"></a>00008 <span class="keywordtype">void</span> <a class="code" href="userprocess_8h.html#LoadAllModules_28InspIRCd_20_2AServerInstance_29">LoadAllModules</a>(<a class="code" href="classInspIRCd.html">InspIRCd</a>* ServerInstance);
-<a name="l00009"></a>00009 <span class="keywordtype">void</span> <a class="code" href="userprocess_8h.html#CheckRoot_28_29">CheckRoot</a>();
-<a name="l00010"></a>00010 <span class="keywordtype">void</span> <a class="code" href="userprocess_8h.html#OpenLog_28char_20_2A_2Aargv_2C_20int_20argc_29">OpenLog</a>(<span class="keywordtype">char</span>** argv, <span class="keywordtype">int</span> argc);
-<a name="l00011"></a>00011 <span class="keywordtype">bool</span> <a class="code" href="userprocess_8h.html#DoBackgroundUserStuff_28time_5Ft_20TIME_29">DoBackgroundUserStuff</a>(time_t TIME);
-<a name="l00012"></a>00012 <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="l00013"></a>00013
-<a name="l00014"></a>00014 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/userprocess_8h.html b/docs/module-doc/userprocess_8h.html
deleted file mode 100644
index 214521d24..000000000
--- a/docs/module-doc/userprocess_8h.html
+++ /dev/null
@@ -1,217 +0,0 @@
-<!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: userprocess.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>userprocess.h File Reference</h1><code>#include &quot;<a class="el" href="users_8h-source.html">users.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for userprocess.h:<p><center><img src="userprocess_8h__incl.gif" border="0" usemap="#userprocess.h_map" alt=""></center>
-<map name="userprocess.h_map">
-<area href="users_8h-source.html" shape="rect" coords="291,32,355,59" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="162,58,242,84" alt="">
-</map>
-
-<p>
-<a href="userprocess_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>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="userprocess_8h.html#CheckDie_28_29">CheckDie</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="userprocess_8h.html#LoadAllModules_28InspIRCd_20_2AServerInstance_29">LoadAllModules</a> (<a class="el" href="classInspIRCd.html">InspIRCd</a> *<a class="el" href="users_8cpp.html#ServerInstance">ServerInstance</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="userprocess_8h.html#CheckRoot_28_29">CheckRoot</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="userprocess_8h.html#OpenLog_28char_20_2A_2Aargv_2C_20int_20argc_29">OpenLog</a> (char **argv, int argc)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="userprocess_8h.html#DoBackgroundUserStuff_28time_5Ft_20TIME_29">DoBackgroundUserStuff</a> (time_t <a class="el" href="users_8cpp.html#TIME">TIME</a>)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="userprocess_8h.html#ProcessUser_28userrec_20_2Acu_29">ProcessUser</a> (<a class="el" href="classuserrec.html">userrec</a> *cu)</td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="CheckDie_28_29"></a><!-- doxytag: member="userprocess.h::CheckDie" ref="CheckDie_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">void CheckDie </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="CheckRoot_28_29"></a><!-- doxytag: member="userprocess.h::CheckRoot" ref="CheckRoot_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">void CheckRoot </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="DoBackgroundUserStuff_28time_5Ft_20TIME_29"></a><!-- doxytag: member="userprocess.h::DoBackgroundUserStuff" ref="DoBackgroundUserStuff_28time_5Ft_20TIME_29" args="(time_t TIME)" --><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">bool DoBackgroundUserStuff </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">time_t&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>TIME</em> </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="LoadAllModules_28InspIRCd_20_2AServerInstance_29"></a><!-- doxytag: member="userprocess.h::LoadAllModules" ref="LoadAllModules_28InspIRCd_20_2AServerInstance_29" args="(InspIRCd *ServerInstance)" --><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 LoadAllModules </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top"><a class="el" href="classInspIRCd.html">InspIRCd</a> *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ServerInstance</em> </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="OpenLog_28char_20_2A_2Aargv_2C_20int_20argc_29"></a><!-- doxytag: member="userprocess.h::OpenLog" ref="OpenLog_28char_20_2A_2Aargv_2C_20int_20argc_29" args="(char **argv, int argc)" --><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 OpenLog </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char **&nbsp;</td>
- <td class="mdname" nowrap> <em>argv</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>argc</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ProcessUser_28userrec_20_2Acu_29"></a><!-- doxytag: member="userprocess.h::ProcessUser" ref="ProcessUser_28userrec_20_2Acu_29" args="(userrec *cu)" --><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 ProcessUser </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="mdname1" valign="top" nowrap> <em>cu</em> </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>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/userprocess_8h__incl.gif b/docs/module-doc/userprocess_8h__incl.gif
deleted file mode 100644
index 594200be4..000000000
--- a/docs/module-doc/userprocess_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/userprocess_8h__incl.map b/docs/module-doc/userprocess_8h__incl.map
deleted file mode 100644
index 2c35162eb..000000000
--- a/docs/module-doc/userprocess_8h__incl.map
+++ /dev/null
@@ -1,3 +0,0 @@
-base referer
-rect $users_8h-source.html 291,32 355,59
-rect $inspircd_8h-source.html 162,58 242,84
diff --git a/docs/module-doc/userprocess_8h__incl.md5 b/docs/module-doc/userprocess_8h__incl.md5
deleted file mode 100644
index d8ff2f5d6..000000000
--- a/docs/module-doc/userprocess_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-1cd979ceea10e39121f05ee648f60ec5 \ No newline at end of file
diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html
deleted file mode 100644
index 8b129741a..000000000
--- a/docs/module-doc/users_8cpp-source.html
+++ /dev/null
@@ -1,818 +0,0 @@
-<!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: users.cpp 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_000005.html">src</a></div>
-<h1>users.cpp</h1><a href="users_8cpp.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-2004 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="keyword">using</span> <span class="keyword">namespace </span>std;
-<a name="l00018"></a>00018
-<a name="l00019"></a>00019 <span class="preprocessor">#include "inspircd_config.h"</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="connection_8h.html">connection.h</a>"</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="users_8h.html">users.h</a>"</span>
-<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="inspircd_8h.html">inspircd.h</a>"</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;stdio.h&gt;</span>
-<a name="l00025"></a>00025 <span class="preprocessor">#ifdef THREADED_DNS</span>
-<a name="l00026"></a>00026 <span class="preprocessor"></span><span class="preprocessor">#include &lt;pthread.h&gt;</span>
-<a name="l00027"></a>00027 <span class="preprocessor">#include &lt;signal.h&gt;</span>
-<a name="l00028"></a>00028 <span class="preprocessor">#endif</span>
-<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#include "inspstring.h"</span>
-<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="commands_8h.html">commands.h</a>"</span>
-<a name="l00031"></a>00031 <span class="preprocessor">#include "helperfuncs.h"</span>
-<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="typedefs_8h.html">typedefs.h</a>"</span>
-<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="socketengine_8h.html">socketengine.h</a>"</span>
-<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="hashcomp_8h.html">hashcomp.h</a>"</span>
-<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="message_8h.html">message.h</a>"</span>
-<a name="l00036"></a>00036 <span class="preprocessor">#include "wildcard.h"</span>
-<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="xline_8h.html">xline.h</a>"</span>
-<a name="l00038"></a>00038
-<a name="l00039"></a>00039 <span class="keyword">extern</span> <a class="code" href="classInspIRCd.html">InspIRCd</a>* <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>;
-<a name="l00040"></a>00040 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a>;
-<a name="l00041"></a>00041 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a>;
-<a name="l00042"></a>00042 <span class="keyword">extern</span> std::vector&lt;Module*&gt; <a class="code" href="channels_8cpp.html#modules">modules</a>;
-<a name="l00043"></a>00043 <span class="keyword">extern</span> std::vector&lt;ircd_module*&gt; <a class="code" href="channels_8cpp.html#factory">factory</a>;
-<a name="l00044"></a>00044 <span class="keyword">extern</span> std::vector&lt;InspSocket*&gt; <a class="code" href="modules_8cpp.html#module_5Fsockets">module_sockets</a>;
-<a name="l00045"></a>00045 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="channels_8cpp.html#MODCOUNT">MODCOUNT</a>;
-<a name="l00046"></a>00046 <span class="keyword">extern</span> <a class="code" href="classInspSocket.html">InspSocket</a>* <a class="code" href="socket_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[65535];
-<a name="l00047"></a>00047 <span class="keyword">extern</span> time_t <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00048"></a>00048 <span class="keyword">extern</span> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[65536];
-<a name="l00049"></a>00049 <span class="keyword">extern</span> <a class="code" href="classServerConfig.html">ServerConfig</a> *<a class="code" href="channels_8cpp.html#Config">Config</a>;
-<a name="l00050"></a>00050 <span class="keyword">extern</span> <a class="code" href="typedefs_8h.html#user_5Fhash">user_hash</a> <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>;
-<a name="l00051"></a>00051 <span class="keyword">extern</span> <a class="code" href="typedefs_8h.html#whowas_5Fhash">whowas_hash</a> <a class="code" href="users_8cpp.html#whowas">whowas</a>;
-<a name="l00052"></a><a class="code" href="users_8cpp.html#local_5Fusers">00052</a> std::vector&lt;userrec*&gt; <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>;
-<a name="l00053"></a>00053
-<a name="l00054"></a><a class="code" href="users_8cpp.html#all_5Fopers">00054</a> std::vector&lt;userrec*&gt; <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>;
-<a name="l00055"></a>00055
-<a name="l00056"></a><a class="code" href="users_8h.html#ConvToStr_28const_20T_20_26in_29">00056</a> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <a class="code" href="namespaceirc.html#string">string</a> <a class="code" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">ConvToStr</a>(<span class="keyword">const</span> T &amp;in)
-<a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 stringstream tmp;
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (!(tmp &lt;&lt; in)) <span class="keywordflow">return</span> <a class="code" href="namespaceirc.html#string">string</a>();
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> tmp.str();
-<a name="l00061"></a>00061 }
-<a name="l00062"></a>00062
-<a name="l00063"></a><a class="code" href="classuserrec.html#userrec_28_29">00063</a> <a class="code" href="classuserrec.html#userrec_28_29">userrec::userrec</a>()
-<a name="l00064"></a>00064 {
-<a name="l00065"></a>00065 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
-<a name="l00066"></a>00066 strcpy(<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<span class="stringliteral">""</span>);
-<a name="l00067"></a>00067 strcpy(<a class="code" href="classconnection.html#ip_5B_31_36_5D">ip</a>,<span class="stringliteral">"127.0.0.1"</span>);
-<a name="l00068"></a>00068 <a class="code" href="classuserrec.html#timeout">timeout</a> = 0;
-<a name="l00069"></a>00069 strcpy(<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,<span class="stringliteral">""</span>);
-<a name="l00070"></a>00070 strcpy(<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,<span class="stringliteral">""</span>);
-<a name="l00071"></a>00071 strcpy(<a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>,<span class="stringliteral">""</span>);
-<a name="l00072"></a>00072 strcpy(<a class="code" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,<span class="stringliteral">""</span>);
-<a name="l00073"></a>00073 strcpy(<a class="code" href="classuserrec.html#modes_5B_35_34_5D">modes</a>,<span class="stringliteral">""</span>);
-<a name="l00074"></a>00074 <a class="code" href="classuserrec.html#server">server</a> = (<span class="keywordtype">char</span>*)<a class="code" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a>(Config-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>);
-<a name="l00075"></a>00075 strcpy(<a class="code" href="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">awaymsg</a>,<span class="stringliteral">""</span>);
-<a name="l00076"></a>00076 strcpy(<a class="code" href="classuserrec.html#oper_5BNICKMAX_5D">oper</a>,<span class="stringliteral">""</span>);
-<a name="l00077"></a>00077 <a class="code" href="classuserrec.html#reset_5Fdue">reset_due</a> = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00078"></a>00078 <a class="code" href="classuserrec.html#lines_5Fin">lines_in</a> = 0;
-<a name="l00079"></a>00079 <a class="code" href="classconnection.html#fd">fd</a> = <a class="code" href="classconnection.html#lastping">lastping</a> = <a class="code" href="classconnection.html#signon">signon</a> = <a class="code" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a> = <a class="code" href="classconnection.html#nping">nping</a> = <a class="code" href="classconnection.html#registered">registered</a> = 0;
-<a name="l00080"></a>00080 <a class="code" href="classuserrec.html#flood">flood</a> = <a class="code" href="classconnection.html#port">port</a> = <a class="code" href="classconnection.html#bytes_5Fin">bytes_in</a> = <a class="code" href="classconnection.html#bytes_5Fout">bytes_out</a> = <a class="code" href="classconnection.html#cmds_5Fin">cmds_in</a> = <a class="code" href="classconnection.html#cmds_5Fout">cmds_out</a> = 0;
-<a name="l00081"></a>00081 <a class="code" href="classconnection.html#haspassed">haspassed</a> = <span class="keyword">false</span>;
-<a name="l00082"></a>00082 <a class="code" href="classuserrec.html#dns_5Fdone">dns_done</a> = <span class="keyword">false</span>;
-<a name="l00083"></a>00083 <a class="code" href="classuserrec.html#recvq">recvq</a> = <span class="stringliteral">""</span>;
-<a name="l00084"></a>00084 <a class="code" href="classuserrec.html#sendq">sendq</a> = <span class="stringliteral">""</span>;
-<a name="l00085"></a>00085 <a class="code" href="classuserrec.html#chans">chans</a>.clear();
-<a name="l00086"></a>00086 <a class="code" href="classuserrec.html#invites">invites</a>.clear();
-<a name="l00087"></a>00087 }
-<a name="l00088"></a>00088
-<a name="l00089"></a><a class="code" href="classuserrec.html#_7Euserrec_28_29">00089</a> <a class="code" href="classuserrec.html#_7Euserrec_28_29">userrec::~userrec</a>()
-<a name="l00090"></a>00090 {
-<a name="l00091"></a>00091 }
-<a name="l00092"></a>00092
-<a name="l00093"></a><a class="code" href="classuserrec.html#CloseSocket_28_29">00093</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#CloseSocket_28_29">userrec::CloseSocket</a>()
-<a name="l00094"></a>00094 {
-<a name="l00095"></a>00095 shutdown(this-&gt;fd,2);
-<a name="l00096"></a>00096 close(this-&gt;fd);
-<a name="l00097"></a>00097 }
-<a name="l00098"></a>00098
-<a name="l00099"></a><a class="code" href="classuserrec.html#GetFullHost_28_29">00099</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#GetFullHost_28_29">userrec::GetFullHost</a>()
-<a name="l00100"></a>00100 {
-<a name="l00101"></a>00101 <span class="keyword">static</span> <span class="keywordtype">char</span> result[MAXBUF];
-<a name="l00102"></a>00102 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,<a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>);
-<a name="l00103"></a>00103 <span class="keywordflow">return</span> result;
-<a name="l00104"></a>00104 }
-<a name="l00105"></a>00105
-<a name="l00106"></a><a class="code" href="classuserrec.html#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29">00106</a> <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29">userrec::ReadData</a>(<span class="keywordtype">void</span>* buffer, size_t size)
-<a name="l00107"></a>00107 {
-<a name="l00108"></a>00108 <span class="keywordflow">if</span> (this-&gt;fd &gt; -1)
-<a name="l00109"></a>00109 {
-<a name="l00110"></a>00110 <span class="keywordflow">return</span> read(this-&gt;fd, buffer, size);
-<a name="l00111"></a>00111 }
-<a name="l00112"></a>00112 <span class="keywordflow">else</span> <span class="keywordflow">return</span> 0;
-<a name="l00113"></a>00113 }
-<a name="l00114"></a>00114
-<a name="l00115"></a>00115
-<a name="l00116"></a><a class="code" href="classuserrec.html#GetFullRealHost_28_29">00116</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#GetFullRealHost_28_29">userrec::GetFullRealHost</a>()
-<a name="l00117"></a>00117 {
-<a name="l00118"></a>00118 <span class="keyword">static</span> <span class="keywordtype">char</span> fresult[MAXBUF];
-<a name="l00119"></a>00119 snprintf(fresult,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>);
-<a name="l00120"></a>00120 <span class="keywordflow">return</span> fresult;
-<a name="l00121"></a>00121 }
-<a name="l00122"></a>00122
-<a name="l00123"></a><a class="code" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">00123</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">userrec::IsInvited</a>(<a class="code" href="namespaceirc.html#string">irc::string</a> &amp;channel)
-<a name="l00124"></a>00124 {
-<a name="l00125"></a>00125 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#invites">invites</a>.begin(); i != <a class="code" href="classuserrec.html#invites">invites</a>.end(); i++)
-<a name="l00126"></a>00126 {
-<a name="l00127"></a>00127 <a class="code" href="namespaceirc.html#string">irc::string</a> compare = i-&gt;channel;
-<a name="l00128"></a>00128 <span class="keywordflow">if</span> (compare == channel)
-<a name="l00129"></a>00129 {
-<a name="l00130"></a>00130 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00131"></a>00131 }
-<a name="l00132"></a>00132 }
-<a name="l00133"></a>00133 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00134"></a>00134 }
-<a name="l00135"></a>00135
-<a name="l00136"></a><a class="code" href="classuserrec.html#GetInviteList_28_29">00136</a> <a class="code" href="users_8h.html#InvitedList">InvitedList</a>* <a class="code" href="classuserrec.html#GetInviteList_28_29">userrec::GetInviteList</a>()
-<a name="l00137"></a>00137 {
-<a name="l00138"></a>00138 <span class="keywordflow">return</span> &amp;<a class="code" href="classuserrec.html#invites">invites</a>;
-<a name="l00139"></a>00139 }
-<a name="l00140"></a>00140
-<a name="l00141"></a><a class="code" href="classuserrec.html#InviteTo_28irc_3A_3Astring_20_26channel_29">00141</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#InviteTo_28irc_3A_3Astring_20_26channel_29">userrec::InviteTo</a>(<a class="code" href="namespaceirc.html#string">irc::string</a> &amp;channel)
-<a name="l00142"></a>00142 {
-<a name="l00143"></a>00143 <a class="code" href="classInvited.html">Invited</a> i;
-<a name="l00144"></a>00144 i.<a class="code" href="classInvited.html#channel">channel</a> = channel;
-<a name="l00145"></a>00145 <a class="code" href="classuserrec.html#invites">invites</a>.push_back(i);
-<a name="l00146"></a>00146 }
-<a name="l00147"></a>00147
-<a name="l00148"></a><a class="code" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">00148</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">userrec::RemoveInvite</a>(<a class="code" href="namespaceirc.html#string">irc::string</a> &amp;channel)
-<a name="l00149"></a>00149 {
-<a name="l00150"></a>00150 <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">"Removing invites"</span>);
-<a name="l00151"></a>00151 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#invites">invites</a>.size())
-<a name="l00152"></a>00152 {
-<a name="l00153"></a>00153 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#invites">invites</a>.begin(); i != <a class="code" href="classuserrec.html#invites">invites</a>.end(); i++)
-<a name="l00154"></a>00154 {
-<a name="l00155"></a>00155 <a class="code" href="namespaceirc.html#string">irc::string</a> compare = i-&gt;channel;
-<a name="l00156"></a>00156 <span class="keywordflow">if</span> (compare == channel)
-<a name="l00157"></a>00157 {
-<a name="l00158"></a>00158 <a class="code" href="classuserrec.html#invites">invites</a>.erase(i);
-<a name="l00159"></a>00159 <span class="keywordflow">return</span>;
-<a name="l00160"></a>00160 }
-<a name="l00161"></a>00161 }
-<a name="l00162"></a>00162 }
-<a name="l00163"></a>00163 }
-<a name="l00164"></a>00164
-<a name="l00165"></a><a class="code" href="classuserrec.html#HasPermission_28std_3A_3Astring_20_26command_29">00165</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#HasPermission_28std_3A_3Astring_20_26command_29">userrec::HasPermission</a>(<a class="code" href="namespaceirc.html#string">std::string</a> &amp;command)
-<a name="l00166"></a>00166 {
-<a name="l00167"></a>00167 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-<a name="l00168"></a>00168 <span class="keywordtype">char</span>* mycmd;
-<a name="l00169"></a>00169 <span class="keywordtype">char</span>* savept;
-<a name="l00170"></a>00170 <span class="keywordtype">char</span>* savept2;
-<a name="l00171"></a>00171
-<a name="l00172"></a>00172 <span class="comment">// users on u-lined servers can completely bypass</span>
-<a name="l00173"></a>00173 <span class="comment">// all permissions based checks.</span>
-<a name="l00174"></a>00174 <span class="comment">//</span>
-<a name="l00175"></a>00175 <span class="comment">// of course, if this is sent to a remote server and this</span>
-<a name="l00176"></a>00176 <span class="comment">// server is not ulined there, then that other server</span>
-<a name="l00177"></a>00177 <span class="comment">// silently drops the command.</span>
-<a name="l00178"></a>00178 <span class="keywordflow">if</span> (<a class="code" href="commands_8h.html#is_5Fuline_28const_20char_20_2Aserver_29">is_uline</a>(this-&gt;server))
-<a name="l00179"></a>00179 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00180"></a>00180
-<a name="l00181"></a>00181 <span class="comment">// are they even an oper at all?</span>
-<a name="l00182"></a>00182 <span class="keywordflow">if</span> (strchr(this-&gt;modes,<span class="charliteral">'o'</span>))
-<a name="l00183"></a>00183 {
-<a name="l00184"></a>00184 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j &lt; Config-&gt;ConfValueEnum(<span class="stringliteral">"type"</span>,&amp;Config-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>); j++)
-<a name="l00185"></a>00185 {
-<a name="l00186"></a>00186 Config-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&amp;Config-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00187"></a>00187 <span class="keywordflow">if</span> (!strcmp(TypeName,this-&gt;oper))
-<a name="l00188"></a>00188 {
-<a name="l00189"></a>00189 Config-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&amp;Config-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00190"></a>00190 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&amp;savept);
-<a name="l00191"></a>00191 <span class="keywordflow">while</span> (myclass)
-<a name="l00192"></a>00192 {
-<a name="l00193"></a>00193 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k &lt; Config-&gt;ConfValueEnum(<span class="stringliteral">"class"</span>,&amp;Config-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>); k++)
-<a name="l00194"></a>00194 {
-<a name="l00195"></a>00195 Config-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&amp;Config-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00196"></a>00196 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
-<a name="l00197"></a>00197 {
-<a name="l00198"></a>00198 Config-&gt;<a class="code" href="classServerConfig.html#ConfValue_28char_20_2Atag_2C_20char_20_2Avar_2C_20int_20index_2C_20char_20_2Aresult_2C_20std_3A_3Astringstream_20_2Aconfig_29">ConfValue</a>(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&amp;Config-&gt;<a class="code" href="classServerConfig.html#config_5Ff">config_f</a>);
-<a name="l00199"></a>00199 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&amp;savept2);
-<a name="l00200"></a>00200 <span class="keywordflow">while</span> (mycmd)
-<a name="l00201"></a>00201 {
-<a name="l00202"></a>00202 <span class="keywordflow">if</span> ((!strcasecmp(mycmd,command.c_str())) || (*mycmd == <span class="charliteral">'*'</span>))
-<a name="l00203"></a>00203 {
-<a name="l00204"></a>00204 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00205"></a>00205 }
-<a name="l00206"></a>00206 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept2);
-<a name="l00207"></a>00207 }
-<a name="l00208"></a>00208 }
-<a name="l00209"></a>00209 }
-<a name="l00210"></a>00210 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept);
-<a name="l00211"></a>00211 }
-<a name="l00212"></a>00212 }
-<a name="l00213"></a>00213 }
-<a name="l00214"></a>00214 }
-<a name="l00215"></a>00215 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00216"></a>00216 }
-<a name="l00217"></a>00217
-<a name="l00218"></a>00218
-<a name="l00219"></a><a class="code" href="classuserrec.html#AddBuffer_28std_3A_3Astring_20a_29">00219</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#AddBuffer_28std_3A_3Astring_20a_29">userrec::AddBuffer</a>(<a class="code" href="namespaceirc.html#string">std::string</a> a)
-<a name="l00220"></a>00220 {
-<a name="l00221"></a>00221 <a class="code" href="namespaceirc.html#string">std::string</a> b = <span class="stringliteral">""</span>;
-<a name="l00222"></a>00222 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; a.length(); i++)
-<a name="l00223"></a>00223 <span class="keywordflow">if</span> ((a[i] != <span class="charliteral">'\r'</span>) &amp;&amp; (a[i] != <span class="charliteral">'\0'</span>) &amp;&amp; (a[i] != 7))
-<a name="l00224"></a>00224 b = b + a[i];
-<a name="l00225"></a>00225 std::stringstream stream(<a class="code" href="classuserrec.html#recvq">recvq</a>);
-<a name="l00226"></a>00226 stream &lt;&lt; b;
-<a name="l00227"></a>00227 <a class="code" href="classuserrec.html#recvq">recvq</a> = stream.str();
-<a name="l00228"></a>00228 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0;
-<a name="l00229"></a>00229 <span class="comment">// count the size of the first line in the buffer.</span>
-<a name="l00230"></a>00230 <span class="keywordflow">while</span> (i &lt; <a class="code" href="classuserrec.html#recvq">recvq</a>.length())
-<a name="l00231"></a>00231 {
-<a name="l00232"></a>00232 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a>[i++] == <span class="charliteral">'\n'</span>)
-<a name="l00233"></a>00233 <span class="keywordflow">break</span>;
-<a name="l00234"></a>00234 }
-<a name="l00235"></a>00235 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a>.length() &gt; (unsigned)this-&gt;<a class="code" href="classuserrec.html#recvqmax">recvqmax</a>)
-<a name="l00236"></a>00236 {
-<a name="l00237"></a>00237 this-&gt;<a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(<span class="stringliteral">"RecvQ exceeded"</span>);
-<a name="l00238"></a>00238 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** User %s RecvQ of %d exceeds connect class maximum of %d"</span>,this-&gt;nick,<a class="code" href="classuserrec.html#recvq">recvq</a>.length(),this-&gt;<a class="code" href="classuserrec.html#recvqmax">recvqmax</a>);
-<a name="l00239"></a>00239 }
-<a name="l00240"></a>00240 <span class="comment">// return false if we've had more than 600 characters WITHOUT</span>
-<a name="l00241"></a>00241 <span class="comment">// a carriage return (this is BAD, drop the socket)</span>
-<a name="l00242"></a>00242 <span class="keywordflow">return</span> (i &lt; 600);
-<a name="l00243"></a>00243 }
-<a name="l00244"></a>00244
-<a name="l00245"></a><a class="code" href="classuserrec.html#BufferIsReady_28_29">00245</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#BufferIsReady_28_29">userrec::BufferIsReady</a>()
-<a name="l00246"></a>00246 {
-<a name="l00247"></a>00247 <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; <a class="code" href="classuserrec.html#recvq">recvq</a>.length(); i++)
-<a name="l00248"></a>00248 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a>[i] == <span class="charliteral">'\n'</span>)
-<a name="l00249"></a>00249 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-<a name="l00250"></a>00250 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-<a name="l00251"></a>00251 }
-<a name="l00252"></a>00252
-<a name="l00253"></a><a class="code" href="classuserrec.html#ClearBuffer_28_29">00253</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#ClearBuffer_28_29">userrec::ClearBuffer</a>()
-<a name="l00254"></a>00254 {
-<a name="l00255"></a>00255 <a class="code" href="classuserrec.html#recvq">recvq</a> = <span class="stringliteral">""</span>;
-<a name="l00256"></a>00256 }
-<a name="l00257"></a>00257
-<a name="l00258"></a><a class="code" href="classuserrec.html#GetBuffer_28_29">00258</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classuserrec.html#GetBuffer_28_29">userrec::GetBuffer</a>()
-<a name="l00259"></a>00259 {
-<a name="l00260"></a>00260 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#recvq">recvq</a> == <span class="stringliteral">""</span>)
-<a name="l00261"></a>00261 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
-<a name="l00262"></a>00262 <span class="keywordtype">char</span>* line = (<span class="keywordtype">char</span>*)<a class="code" href="classuserrec.html#recvq">recvq</a>.c_str();
-<a name="l00263"></a>00263 <a class="code" href="namespaceirc.html#string">std::string</a> ret = <span class="stringliteral">""</span>;
-<a name="l00264"></a>00264 <span class="keywordflow">while</span> ((*line != <span class="charliteral">'\n'</span>) &amp;&amp; (strlen(line)))
-<a name="l00265"></a>00265 {
-<a name="l00266"></a>00266 ret = ret + *line;
-<a name="l00267"></a>00267 line++;
-<a name="l00268"></a>00268 }
-<a name="l00269"></a>00269 <span class="keywordflow">if</span> ((*line == <span class="charliteral">'\n'</span>) || (*line == <span class="charliteral">'\r'</span>))
-<a name="l00270"></a>00270 line++;
-<a name="l00271"></a>00271 <a class="code" href="classuserrec.html#recvq">recvq</a> = line;
-<a name="l00272"></a>00272 <span class="keywordflow">return</span> ret;
-<a name="l00273"></a>00273 }
-<a name="l00274"></a>00274
-<a name="l00275"></a><a class="code" href="classuserrec.html#AddWriteBuf_28std_3A_3Astring_20data_29">00275</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#AddWriteBuf_28std_3A_3Astring_20data_29">userrec::AddWriteBuf</a>(<a class="code" href="namespaceirc.html#string">std::string</a> data)
-<a name="l00276"></a>00276 {
-<a name="l00277"></a>00277 <span class="keywordflow">if</span> (this-&gt;GetWriteError() != <span class="stringliteral">""</span>)
-<a name="l00278"></a>00278 <span class="keywordflow">return</span>;
-<a name="l00279"></a>00279 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#sendq">sendq</a>.length() + data.length() &gt; (unsigned)this-&gt;<a class="code" href="classuserrec.html#sendqmax">sendqmax</a>)
-<a name="l00280"></a>00280 {
-<a name="l00281"></a>00281 <span class="comment">/* Fix by brain - Set the error text BEFORE calling writeopers, because</span>
-<a name="l00282"></a>00282 <span class="comment"> * if we dont it'll recursively call here over and over again trying</span>
-<a name="l00283"></a>00283 <span class="comment"> * to repeatedly add the text to the sendq!</span>
-<a name="l00284"></a>00284 <span class="comment"> */</span>
-<a name="l00285"></a>00285 this-&gt;<a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(<span class="stringliteral">"SendQ exceeded"</span>);
-<a name="l00286"></a>00286 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** User %s SendQ of %d exceeds connect class maximum of %d"</span>,this-&gt;nick,<a class="code" href="classuserrec.html#sendq">sendq</a>.length() + data.length(),this-&gt;<a class="code" href="classuserrec.html#sendqmax">sendqmax</a>);
-<a name="l00287"></a>00287 <span class="keywordflow">return</span>;
-<a name="l00288"></a>00288 }
-<a name="l00289"></a>00289 std::stringstream stream;
-<a name="l00290"></a>00290 stream &lt;&lt; <a class="code" href="classuserrec.html#sendq">sendq</a> &lt;&lt; data;
-<a name="l00291"></a>00291 <a class="code" href="classuserrec.html#sendq">sendq</a> = stream.str();
-<a name="l00292"></a>00292 }
-<a name="l00293"></a>00293
-<a name="l00294"></a>00294 <span class="comment">// send AS MUCH OF THE USERS SENDQ as we are able to (might not be all of it)</span>
-<a name="l00295"></a><a class="code" href="classuserrec.html#FlushWriteBuf_28_29">00295</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#FlushWriteBuf_28_29">userrec::FlushWriteBuf</a>()
-<a name="l00296"></a>00296 {
-<a name="l00297"></a>00297 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#sendq">sendq</a>.length())
-<a name="l00298"></a>00298 {
-<a name="l00299"></a>00299 <span class="keywordtype">char</span>* tb = (<span class="keywordtype">char</span>*)this-&gt;<a class="code" href="classuserrec.html#sendq">sendq</a>.c_str();
-<a name="l00300"></a>00300 <span class="keywordtype">int</span> n_sent = write(this-&gt;fd,tb,this-&gt;sendq.length());
-<a name="l00301"></a>00301 <span class="keywordflow">if</span> (n_sent == -1)
-<a name="l00302"></a>00302 {
-<a name="l00303"></a>00303 this-&gt;<a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(strerror(errno));
-<a name="l00304"></a>00304 }
-<a name="l00305"></a>00305 <span class="keywordflow">else</span>
-<a name="l00306"></a>00306 {
-<a name="l00307"></a>00307 <span class="comment">// advance the queue</span>
-<a name="l00308"></a>00308 tb += n_sent;
-<a name="l00309"></a>00309 this-&gt;<a class="code" href="classuserrec.html#sendq">sendq</a> = tb;
-<a name="l00310"></a>00310 <span class="comment">// update the user's stats counters</span>
-<a name="l00311"></a>00311 this-&gt;<a class="code" href="classconnection.html#bytes_5Fout">bytes_out</a> += n_sent;
-<a name="l00312"></a>00312 this-&gt;<a class="code" href="classconnection.html#cmds_5Fout">cmds_out</a>++;
-<a name="l00313"></a>00313 }
-<a name="l00314"></a>00314 }
-<a name="l00315"></a>00315 }
-<a name="l00316"></a>00316
-<a name="l00317"></a><a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">00317</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">userrec::SetWriteError</a>(<a class="code" href="namespaceirc.html#string">std::string</a> error)
-<a name="l00318"></a>00318 {
-<a name="l00319"></a>00319 <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">"Setting error string for %s to '%s'"</span>,this-&gt;nick,error.c_str());
-<a name="l00320"></a>00320 <span class="comment">// don't try to set the error twice, its already set take the first string.</span>
-<a name="l00321"></a>00321 <span class="keywordflow">if</span> (this-&gt;WriteError == <span class="stringliteral">""</span>)
-<a name="l00322"></a>00322 this-&gt;<a class="code" href="classuserrec.html#WriteError">WriteError</a> = error;
-<a name="l00323"></a>00323 }
-<a name="l00324"></a>00324
-<a name="l00325"></a><a class="code" href="classuserrec.html#GetWriteError_28_29">00325</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classuserrec.html#GetWriteError_28_29">userrec::GetWriteError</a>()
-<a name="l00326"></a>00326 {
-<a name="l00327"></a>00327 <span class="keywordflow">return</span> this-&gt;<a class="code" href="classuserrec.html#WriteError">WriteError</a>;
-<a name="l00328"></a>00328 }
-<a name="l00329"></a>00329
-<a name="l00330"></a><a class="code" href="users_8h.html#AddOper_28userrec_20_2Auser_29">00330</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#AddOper_28userrec_20_2Auser_29">AddOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user)
-<a name="l00331"></a>00331 {
-<a name="l00332"></a>00332 <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">"Oper added to optimization list"</span>);
-<a name="l00333"></a>00333 <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.push_back(user);
-<a name="l00334"></a>00334 }
-<a name="l00335"></a>00335
-<a name="l00336"></a><a class="code" href="users_8h.html#DeleteOper_28userrec_20_2Auser_29">00336</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#DeleteOper_28userrec_20_2Auser_29">DeleteOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user)
-<a name="l00337"></a>00337 {
-<a name="l00338"></a>00338 <span class="keywordflow">for</span> (std::vector&lt;userrec*&gt;::iterator a = <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.begin(); a &lt; <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.end(); a++)
-<a name="l00339"></a>00339 {
-<a name="l00340"></a>00340 <span class="keywordflow">if</span> (*a == user)
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <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">"Oper removed from optimization list"</span>);
-<a name="l00343"></a>00343 <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.erase(a);
-<a name="l00344"></a>00344 <span class="keywordflow">return</span>;
-<a name="l00345"></a>00345 }
-<a name="l00346"></a>00346 }
-<a name="l00347"></a>00347 }
-<a name="l00348"></a>00348
-<a name="l00349"></a><a class="code" href="users_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">00349</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.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="l00350"></a>00350 {
-<a name="l00351"></a>00351 user_hash::iterator iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00352"></a>00352
-<a name="l00353"></a>00353 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00354"></a>00354
-<a name="l00355"></a>00355 strncpy(reason,r,MAXBUF);
-<a name="l00356"></a>00356
-<a name="l00357"></a>00357 <span class="keywordflow">if</span> (strlen(reason)&gt;MAXQUIT)
-<a name="l00358"></a>00358 {
-<a name="l00359"></a>00359 reason[MAXQUIT-1] = <span class="charliteral">'\0'</span>;
-<a name="l00360"></a>00360 }
-<a name="l00361"></a>00361
-<a name="l00362"></a>00362 <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">"kill_link: %s '%s'"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,reason);
-<a name="l00363"></a>00363 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<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>,reason);
-<a name="l00364"></a>00364 <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">"closing fd %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00365"></a>00365
-<a name="l00366"></a>00366 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00367"></a>00367 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserQuit(user,reason);
-<a name="l00368"></a>00368 <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">"QUIT :%s"</span>,reason);
-<a name="l00369"></a>00369 }
-<a name="l00370"></a>00370
-<a name="l00371"></a>00371 user-&gt;<a class="code" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>();
-<a name="l00372"></a>00372
-<a name="l00373"></a>00373 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserDisconnect(user);
-<a name="l00374"></a>00374
-<a name="l00375"></a>00375 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00376"></a>00376 {
-<a name="l00377"></a>00377 <span class="keywordflow">if</span> (Config-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>))
-<a name="l00378"></a>00378 {
-<a name="l00379"></a>00379 Config-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>)-&gt;<a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00380"></a>00380 }
-<a name="l00381"></a>00381 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00382"></a>00382 user-&gt;<a class="code" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>();
-<a name="l00383"></a>00383 }
-<a name="l00384"></a>00384
-<a name="l00385"></a>00385 <span class="comment">// this must come before the WriteOpers so that it doesnt try to fill their buffer with anything</span>
-<a name="l00386"></a>00386 <span class="comment">// if they were an oper with +s.</span>
-<a name="l00387"></a>00387 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00388"></a>00388 purge_empty_chans(user);
-<a name="l00389"></a>00389 <span class="comment">// fix by brain: only show local quits because we only show local connects (it just makes SENSE)</span>
-<a name="l00390"></a>00390 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00391"></a>00391 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Client exiting: %s!%s@%s [%s]"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>,reason);
-<a name="l00392"></a>00392 <a class="code" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a>(user);
-<a name="l00393"></a>00393 }
-<a name="l00394"></a>00394
-<a name="l00395"></a>00395 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00396"></a>00396 {
-<a name="l00397"></a>00397 <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">"deleting user hash value %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user);
-<a name="l00398"></a>00398 <span class="keywordflow">if</span> (user-&gt;fd &gt; -1)
-<a name="l00399"></a>00399 {
-<a name="l00400"></a>00400 fd_ref_table[user-&gt;fd] = NULL;
-<a name="l00401"></a>00401 <span class="keywordflow">if</span> (find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user) != <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end())
-<a name="l00402"></a>00402 {
-<a name="l00403"></a>00403 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.erase(find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user));
-<a name="l00404"></a>00404 <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">"Delete local user"</span>);
-<a name="l00405"></a>00405 }
-<a name="l00406"></a>00406 }
-<a name="l00407"></a>00407 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00408"></a>00408 }
-<a name="l00409"></a>00409 <span class="keyword">delete</span> user;
-<a name="l00410"></a>00410 }
-<a name="l00411"></a>00411
-<a name="l00412"></a><a class="code" href="users_8h.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">00412</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.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="l00413"></a>00413 {
-<a name="l00414"></a>00414 user_hash::iterator iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00415"></a>00415
-<a name="l00416"></a>00416 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00417"></a>00417
-<a name="l00418"></a>00418 strncpy(reason,r,MAXBUF);
-<a name="l00419"></a>00419
-<a name="l00420"></a>00420 <span class="keywordflow">if</span> (strlen(reason)&gt;MAXQUIT)
-<a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 reason[MAXQUIT-1] = <span class="charliteral">'\0'</span>;
-<a name="l00423"></a>00423 }
-<a name="l00424"></a>00424
-<a name="l00425"></a>00425 <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">"kill_link: %s '%s'"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,reason);
-<a name="l00426"></a>00426 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<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>,reason);
-<a name="l00427"></a>00427 <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">"closing fd %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00428"></a>00428
-<a name="l00429"></a>00429 user-&gt;<a class="code" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>();
-<a name="l00430"></a>00430
-<a name="l00431"></a>00431 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00432"></a>00432 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserQuit(user,reason);
-<a name="l00433"></a>00433 <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">"QUIT :%s"</span>,reason);
-<a name="l00434"></a>00434 }
-<a name="l00435"></a>00435
-<a name="l00436"></a>00436 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserDisconnect(user);
-<a name="l00437"></a>00437
-<a name="l00438"></a>00438 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00439"></a>00439 {
-<a name="l00440"></a>00440 <span class="keywordflow">if</span> (Config-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>))
-<a name="l00441"></a>00441 {
-<a name="l00442"></a>00442 Config-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>)-&gt;<a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00443"></a>00443 }
-<a name="l00444"></a>00444 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00445"></a>00445 user-&gt;<a class="code" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>();
-<a name="l00446"></a>00446 }
-<a name="l00447"></a>00447
-<a name="l00448"></a>00448 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00449"></a>00449 purge_empty_chans(user);
-<a name="l00450"></a>00450 }
-<a name="l00451"></a>00451
-<a name="l00452"></a>00452 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00453"></a>00453 {
-<a name="l00454"></a>00454 <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">"deleting user hash value %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user);
-<a name="l00455"></a>00455 <span class="keywordflow">if</span> (user-&gt;fd &gt; -1)
-<a name="l00456"></a>00456 {
-<a name="l00457"></a>00457 fd_ref_table[user-&gt;fd] = NULL;
-<a name="l00458"></a>00458 <span class="keywordflow">if</span> (find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user) != <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end())
-<a name="l00459"></a>00459 {
-<a name="l00460"></a>00460 <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">"Delete local user"</span>);
-<a name="l00461"></a>00461 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.erase(find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user));
-<a name="l00462"></a>00462 }
-<a name="l00463"></a>00463 }
-<a name="l00464"></a>00464 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00465"></a>00465 }
-<a name="l00466"></a>00466 <span class="keyword">delete</span> user;
-<a name="l00467"></a>00467 }
-<a name="l00468"></a>00468
-<a name="l00469"></a>00469
-<a name="l00470"></a>00470 <span class="comment">/* adds or updates an entry in the whowas list */</span>
-<a name="l00471"></a><a class="code" href="users_8h.html#AddWhoWas_28userrec_20_2Au_29">00471</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a>(<a class="code" href="classuserrec.html">userrec</a>* u)
-<a name="l00472"></a>00472 {
-<a name="l00473"></a>00473 whowas_hash::iterator iter = <a class="code" href="users_8cpp.html#whowas">whowas</a>.find(u-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00474"></a>00474 <a class="code" href="classWhoWasUser.html">WhoWasUser</a> *a = <span class="keyword">new</span> <a class="code" href="classWhoWasUser.html">WhoWasUser</a>();
-<a name="l00475"></a>00475 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a>,u-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,NICKMAX);
-<a name="l00476"></a>00476 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">ident</a>,u-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,IDENTMAX);
-<a name="l00477"></a>00477 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">dhost</a>,u-&gt;<a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>,160);
-<a name="l00478"></a>00478 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#host_5B_31_36_30_5D">host</a>,u-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,160);
-<a name="l00479"></a>00479 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,u-&gt;<a class="code" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,MAXGECOS);
-<a name="l00480"></a>00480 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#server_5B_32_35_36_5D">server</a>,u-&gt;<a class="code" href="classuserrec.html#server">server</a>,256);
-<a name="l00481"></a>00481 a-&gt;<a class="code" href="classWhoWasUser.html#signon">signon</a> = u-&gt;<a class="code" href="classconnection.html#signon">signon</a>;
-<a name="l00482"></a>00482
-<a name="l00483"></a>00483 <span class="comment">/* MAX_WHOWAS: max number of /WHOWAS items</span>
-<a name="l00484"></a>00484 <span class="comment"> * WHOWAS_STALE: number of hours before a WHOWAS item is marked as stale and</span>
-<a name="l00485"></a>00485 <span class="comment"> * can be replaced by a newer one</span>
-<a name="l00486"></a>00486 <span class="comment"> */</span>
-<a name="l00487"></a>00487
-<a name="l00488"></a>00488 <span class="keywordflow">if</span> (iter == <a class="code" href="users_8cpp.html#whowas">whowas</a>.end())
-<a name="l00489"></a>00489 {
-<a name="l00490"></a>00490 <span class="keywordflow">if</span> (<a class="code" href="users_8cpp.html#whowas">whowas</a>.size() &gt;= (unsigned)<a class="code" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a>)
-<a name="l00491"></a>00491 {
-<a name="l00492"></a>00492 <span class="keywordflow">for</span> (whowas_hash::iterator i = <a class="code" href="users_8cpp.html#whowas">whowas</a>.begin(); i != <a class="code" href="users_8cpp.html#whowas">whowas</a>.end(); i++)
-<a name="l00493"></a>00493 {
-<a name="l00494"></a>00494 <span class="comment">// 3600 seconds in an hour ;)</span>
-<a name="l00495"></a>00495 <span class="keywordflow">if</span> ((i-&gt;second-&gt;signon)&lt;(<a class="code" href="channels_8cpp.html#TIME">TIME</a>-(<a class="code" href="channels_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a>*3600)))
-<a name="l00496"></a>00496 {
-<a name="l00497"></a>00497 <span class="comment">// delete the old one</span>
-<a name="l00498"></a>00498 <span class="keywordflow">if</span> (i-&gt;second) <span class="keyword">delete</span> i-&gt;second;
-<a name="l00499"></a>00499 <span class="comment">// replace with new one</span>
-<a name="l00500"></a>00500 i-&gt;second = a;
-<a name="l00501"></a>00501 <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">"added WHOWAS entry, purged an old record"</span>);
-<a name="l00502"></a>00502 <span class="keywordflow">return</span>;
-<a name="l00503"></a>00503 }
-<a name="l00504"></a>00504 }
-<a name="l00505"></a>00505 <span class="comment">// no space left and user doesnt exist. Don't leave ram in use!</span>
-<a name="l00506"></a>00506 <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">"Not able to update whowas (list at WHOWAS_MAX entries and trying to add new?), freeing excess ram"</span>);
-<a name="l00507"></a>00507 <span class="keyword">delete</span> a;
-<a name="l00508"></a>00508 }
-<a name="l00509"></a>00509 <span class="keywordflow">else</span>
-<a name="l00510"></a>00510 {
-<a name="l00511"></a>00511 <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">"added fresh WHOWAS entry"</span>);
-<a name="l00512"></a>00512 <a class="code" href="users_8cpp.html#whowas">whowas</a>[a-&gt;<a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a>] = a;
-<a name="l00513"></a>00513 }
-<a name="l00514"></a>00514 }
-<a name="l00515"></a>00515 <span class="keywordflow">else</span>
-<a name="l00516"></a>00516 {
-<a name="l00517"></a>00517 <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">"updated WHOWAS entry"</span>);
-<a name="l00518"></a>00518 <span class="keywordflow">if</span> (iter-&gt;second) <span class="keyword">delete</span> iter-&gt;second;
-<a name="l00519"></a>00519 iter-&gt;second = a;
-<a name="l00520"></a>00520 }
-<a name="l00521"></a>00521 }
-<a name="l00522"></a>00522
-<a name="l00523"></a>00523 <span class="comment">/* add a client connection to the sockets list */</span>
-<a name="l00524"></a><a class="code" href="users_8h.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">00524</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">AddClient</a>(<span class="keywordtype">int</span> socket, <span class="keywordtype">char</span>* host, <span class="keywordtype">int</span> port, <span class="keywordtype">bool</span> iscached, <span class="keywordtype">char</span>* ip)
-<a name="l00525"></a>00525 {
-<a name="l00526"></a>00526 <a class="code" href="namespaceirc.html#string">string</a> tempnick;
-<a name="l00527"></a>00527 <span class="keywordtype">char</span> tn2[MAXBUF];
-<a name="l00528"></a>00528 user_hash::iterator iter;
-<a name="l00529"></a>00529
-<a name="l00530"></a>00530 tempnick = <a class="code" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">ConvToStr</a>(socket) + <span class="stringliteral">"-unknown"</span>;
-<a name="l00531"></a>00531 sprintf(tn2,<span class="stringliteral">"%lu-unknown"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)socket);
-<a name="l00532"></a>00532
-<a name="l00533"></a>00533 iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(tempnick);
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="comment">// fix by brain.</span>
-<a name="l00536"></a>00536 <span class="comment">// as these nicknames are 'RFC impossible', we can be sure nobody is going to be</span>
-<a name="l00537"></a>00537 <span class="comment">// using one as a registered connection. As theyre per fd, we can also safely assume</span>
-<a name="l00538"></a>00538 <span class="comment">// that we wont have collisions. Therefore, if the nick exists in the list, its only</span>
-<a name="l00539"></a>00539 <span class="comment">// used by a dead socket, erase the iterator so that the new client may reclaim it.</span>
-<a name="l00540"></a>00540 <span class="comment">// this was probably the cause of 'server ignores me when i hammer it with reconnects'</span>
-<a name="l00541"></a>00541 <span class="comment">// issue in earlier alphas/betas</span>
-<a name="l00542"></a>00542 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00543"></a>00543 {
-<a name="l00544"></a>00544 <a class="code" href="classuserrec.html">userrec</a>* goner = iter-&gt;second;
-<a name="l00545"></a>00545 <span class="keyword">delete</span> goner;
-<a name="l00546"></a>00546 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00547"></a>00547 }
-<a name="l00548"></a>00548
-<a name="l00549"></a>00549 <span class="comment">/*</span>
-<a name="l00550"></a>00550 <span class="comment"> * It is OK to access the value here this way since we know</span>
-<a name="l00551"></a>00551 <span class="comment"> * it exists, we just created it above.</span>
-<a name="l00552"></a>00552 <span class="comment"> *</span>
-<a name="l00553"></a>00553 <span class="comment"> * At NO other time should you access a value in a map or a</span>
-<a name="l00554"></a>00554 <span class="comment"> * hash_map this way.</span>
-<a name="l00555"></a>00555 <span class="comment"> */</span>
-<a name="l00556"></a>00556 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick] = <span class="keyword">new</span> <a class="code" href="classuserrec.html">userrec</a>();
-<a name="l00557"></a>00557
-<a name="l00558"></a>00558 <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">"AddClient: %lu %s %d %s"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)socket,host,port,ip);
-<a name="l00559"></a>00559
-<a name="l00560"></a>00560 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;fd = socket;
-<a name="l00561"></a>00561 strlcpy(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;nick, tn2,NICKMAX);
-<a name="l00562"></a>00562 strlcpy(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;host, host,160);
-<a name="l00563"></a>00563 strlcpy(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;dhost, host,160);
-<a name="l00564"></a>00564 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;server = (<span class="keywordtype">char</span>*)<a class="code" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a>(Config-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>);
-<a name="l00565"></a>00565 strlcpy(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;ident, <span class="stringliteral">"unknown"</span>,IDENTMAX);
-<a name="l00566"></a>00566 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;registered = 0;
-<a name="l00567"></a>00567 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;signon = <a class="code" href="channels_8cpp.html#TIME">TIME</a> + Config-&gt;<a class="code" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a>;
-<a name="l00568"></a>00568 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;lastping = 1;
-<a name="l00569"></a>00569 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;port = port;
-<a name="l00570"></a>00570 strlcpy(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;ip,ip,16);
-<a name="l00571"></a>00571
-<a name="l00572"></a>00572 <span class="comment">// set the registration timeout for this user</span>
-<a name="l00573"></a>00573 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> class_regtimeout = 90;
-<a name="l00574"></a>00574 <span class="keywordtype">int</span> class_flood = 0;
-<a name="l00575"></a>00575 <span class="keywordtype">long</span> class_threshold = 5;
-<a name="l00576"></a>00576 <span class="keywordtype">long</span> class_sqmax = 262144; <span class="comment">// 256kb</span>
-<a name="l00577"></a>00577 <span class="keywordtype">long</span> class_rqmax = 4096; <span class="comment">// 4k</span>
-<a name="l00578"></a>00578
-<a name="l00579"></a>00579 <span class="keywordflow">for</span> (ClassVector::iterator i = Config-&gt;<a class="code" href="classServerConfig.html#Classes">Classes</a>.begin(); i != Config-&gt;<a class="code" href="classServerConfig.html#Classes">Classes</a>.end(); i++)
-<a name="l00580"></a>00580 {
-<a name="l00581"></a>00581 <span class="keywordflow">if</span> (match(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;host,i-&gt;host) &amp;&amp; (i-&gt;type == <a class="code" href="users_8h.html#CC_5FALLOW">CC_ALLOW</a>))
-<a name="l00582"></a>00582 {
-<a name="l00583"></a>00583 class_regtimeout = (<span class="keywordtype">unsigned</span> long)i-&gt;registration_timeout;
-<a name="l00584"></a>00584 class_flood = i-&gt;flood;
-<a name="l00585"></a>00585 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;pingmax = i-&gt;pingtime;
-<a name="l00586"></a>00586 class_threshold = i-&gt;threshold;
-<a name="l00587"></a>00587 class_sqmax = i-&gt;sendqmax;
-<a name="l00588"></a>00588 class_rqmax = i-&gt;recvqmax;
-<a name="l00589"></a>00589 <span class="keywordflow">break</span>;
-<a name="l00590"></a>00590 }
-<a name="l00591"></a>00591 }
-<a name="l00592"></a>00592
-<a name="l00593"></a>00593 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;nping = <a class="code" href="channels_8cpp.html#TIME">TIME</a>+<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;pingmax + Config-&gt;<a class="code" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a>;
-<a name="l00594"></a>00594 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;timeout = <a class="code" href="channels_8cpp.html#TIME">TIME</a>+class_regtimeout;
-<a name="l00595"></a>00595 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;flood = class_flood;
-<a name="l00596"></a>00596 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;threshold = class_threshold;
-<a name="l00597"></a>00597 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;sendqmax = class_sqmax;
-<a name="l00598"></a>00598 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;recvqmax = class_rqmax;
-<a name="l00599"></a>00599
-<a name="l00600"></a>00600 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00601"></a>00601 a.<a class="code" href="classucrec.html#channel">channel</a> = NULL;
-<a name="l00602"></a>00602 a.<a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a> = 0;
-<a name="l00603"></a>00603 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
-<a name="l00604"></a>00604 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;chans.push_back(a);
-<a name="l00605"></a>00605
-<a name="l00606"></a>00606 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.size() &gt; Config-&gt;<a class="code" href="classServerConfig.html#SoftLimit">SoftLimit</a>)
-<a name="l00607"></a>00607 {
-<a name="l00608"></a>00608 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick],<span class="stringliteral">"No more connections allowed"</span>);
-<a name="l00609"></a>00609 <span class="keywordflow">return</span>;
-<a name="l00610"></a>00610 }
-<a name="l00611"></a>00611
-<a name="l00612"></a>00612 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.size() &gt;= MAXCLIENTS)
-<a name="l00613"></a>00613 {
-<a name="l00614"></a>00614 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick],<span class="stringliteral">"No more connections allowed"</span>);
-<a name="l00615"></a>00615 <span class="keywordflow">return</span>;
-<a name="l00616"></a>00616 }
-<a name="l00617"></a>00617
-<a name="l00618"></a>00618 <span class="comment">// this is done as a safety check to keep the file descriptors within range of fd_ref_table.</span>
-<a name="l00619"></a>00619 <span class="comment">// its a pretty big but for the moment valid assumption:</span>
-<a name="l00620"></a>00620 <span class="comment">// file descriptors are handed out starting at 0, and are recycled as theyre freed.</span>
-<a name="l00621"></a>00621 <span class="comment">// therefore if there is ever an fd over 65535, 65536 clients must be connected to the</span>
-<a name="l00622"></a>00622 <span class="comment">// irc server at once (or the irc server otherwise initiating this many connections, files etc)</span>
-<a name="l00623"></a>00623 <span class="comment">// which for the time being is a physical impossibility (even the largest networks dont have more</span>
-<a name="l00624"></a>00624 <span class="comment">// than about 10,000 users on ONE server!)</span>
-<a name="l00625"></a>00625 <span class="keywordflow">if</span> ((<span class="keywordtype">unsigned</span>)socket &gt; 65534)
-<a name="l00626"></a>00626 {
-<a name="l00627"></a>00627 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick],<span class="stringliteral">"Server is full"</span>);
-<a name="l00628"></a>00628 <span class="keywordflow">return</span>;
-<a name="l00629"></a>00629 }
-<a name="l00630"></a>00630 <span class="keywordtype">char</span>* e = <a class="code" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a>(ip);
-<a name="l00631"></a>00631 <span class="keywordflow">if</span> (!e)
-<a name="l00632"></a>00632 {
-<a name="l00633"></a>00633 <span class="keywordtype">char</span>* r = <a class="code" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">matches_zline</a>(ip);
-<a name="l00634"></a>00634 <span class="keywordflow">if</span> (r)
-<a name="l00635"></a>00635 {
-<a name="l00636"></a>00636 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00637"></a>00637 snprintf(reason,MAXBUF,<span class="stringliteral">"Z-Lined: %s"</span>,r);
-<a name="l00638"></a>00638 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick],reason);
-<a name="l00639"></a>00639 <span class="keywordflow">return</span>;
-<a name="l00640"></a>00640 }
-<a name="l00641"></a>00641 }
-<a name="l00642"></a>00642 fd_ref_table[socket] = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick];
-<a name="l00643"></a>00643 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.push_back(<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]);
-<a name="l00644"></a>00644 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(socket,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">X_ESTAB_CLIENT</a>);
-<a name="l00645"></a>00645 }
-<a name="l00646"></a>00646
-<a name="l00647"></a><a class="code" href="users_8h.html#FullConnectUser_28userrec_20_2Auser_29">00647</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user)
-<a name="l00648"></a>00648 {
-<a name="l00649"></a>00649 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsConnects">statsConnects</a>++;
-<a name="l00650"></a>00650 user-&gt;<a class="code" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a> = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00651"></a>00651 <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">"ConnectUser: %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00652"></a>00652
-<a name="l00653"></a>00653 <span class="keywordflow">if</span> ((strcmp(Passwd(user),<span class="stringliteral">""</span>)) &amp;&amp; (!user-&gt;<a class="code" href="classconnection.html#haspassed">haspassed</a>))
-<a name="l00654"></a>00654 {
-<a name="l00655"></a>00655 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Invalid password"</span>);
-<a name="l00656"></a>00656 <span class="keywordflow">return</span>;
-<a name="l00657"></a>00657 }
-<a name="l00658"></a>00658 <span class="keywordflow">if</span> (IsDenied(user))
-<a name="l00659"></a>00659 {
-<a name="l00660"></a>00660 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Unauthorised connection"</span>);
-<a name="l00661"></a>00661 <span class="keywordflow">return</span>;
-<a name="l00662"></a>00662 }
-<a name="l00663"></a>00663
-<a name="l00664"></a>00664 <span class="keywordtype">char</span> match_against[MAXBUF];
-<a name="l00665"></a>00665 snprintf(match_against,MAXBUF,<span class="stringliteral">"%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>);
-<a name="l00666"></a>00666 <span class="keywordtype">char</span>* e = <a class="code" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a>(match_against);
-<a name="l00667"></a>00667 <span class="keywordflow">if</span> (!e)
-<a name="l00668"></a>00668 {
-<a name="l00669"></a>00669 <span class="keywordtype">char</span>* r = <a class="code" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">matches_gline</a>(match_against);
-<a name="l00670"></a>00670 <span class="keywordflow">if</span> (r)
-<a name="l00671"></a>00671 {
-<a name="l00672"></a>00672 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00673"></a>00673 snprintf(reason,MAXBUF,<span class="stringliteral">"G-Lined: %s"</span>,r);
-<a name="l00674"></a>00674 <a class="code" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(user,reason);
-<a name="l00675"></a>00675 <span class="keywordflow">return</span>;
-<a name="l00676"></a>00676 }
-<a name="l00677"></a>00677 r = <a class="code" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">matches_kline</a>(user-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>);
-<a name="l00678"></a>00678 <span class="keywordflow">if</span> (r)
-<a name="l00679"></a>00679 {
-<a name="l00680"></a>00680 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00681"></a>00681 snprintf(reason,MAXBUF,<span class="stringliteral">"K-Lined: %s"</span>,r);
-<a name="l00682"></a>00682 <a class="code" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(user,reason);
-<a name="l00683"></a>00683 <span class="keywordflow">return</span>;
-<a name="l00684"></a>00684 }
-<a name="l00685"></a>00685 }
-<a name="l00686"></a>00686
-<a name="l00687"></a>00687
-<a name="l00688"></a>00688 <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 Auth :Welcome to \002%s\002!"</span>,Config-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>);
-<a name="l00689"></a>00689 <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">"001 %s :Welcome to the %s IRC Network %s!%s@%s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,Config-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>);
-<a name="l00690"></a>00690 <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">"002 %s :Your host is %s, running version %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,Config-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>,VERSION);
-<a name="l00691"></a>00691 <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">"003 %s :This server was created %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,__TIME__,__DATE__);
-<a name="l00692"></a>00692 <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">"004 %s %s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,Config-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>,VERSION);
-<a name="l00693"></a>00693 <span class="comment">// the neatest way to construct the initial 005 numeric, considering the number of configure constants to go in it...</span>
-<a name="l00694"></a>00694 std::stringstream v;
-<a name="l00695"></a>00695 v &lt;&lt; <span class="stringliteral">"WALLCHOPS MODES=13 CHANTYPES=# PREFIX=(ohv)@%+ MAP SAFELIST MAXCHANNELS="</span> &lt;&lt; MAXCHANS;
-<a name="l00696"></a>00696 v &lt;&lt; <span class="stringliteral">" MAXBANS=60 NICKLEN="</span> &lt;&lt; NICKMAX;
-<a name="l00697"></a>00697 v &lt;&lt; <span class="stringliteral">" TOPICLEN="</span> &lt;&lt; MAXTOPIC &lt;&lt; <span class="stringliteral">" KICKLEN="</span> &lt;&lt; MAXKICK &lt;&lt; <span class="stringliteral">" MAXTARGETS=20 AWAYLEN="</span> &lt;&lt; MAXAWAY &lt;&lt; <span class="stringliteral">" CHANMODES=ohvb,k,l,psmnti NETWORK="</span>;
-<a name="l00698"></a>00698 v &lt;&lt; Config-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
-<a name="l00699"></a>00699 <a class="code" href="namespaceirc.html#string">std::string</a> data005 = v.str();
-<a name="l00700"></a>00700 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> On005Numeric(data005);
-<a name="l00701"></a>00701 <span class="comment">// anfl @ #ratbox, efnet reminded me that according to the RFC this cant contain more than 13 tokens per line...</span>
-<a name="l00702"></a>00702 <span class="comment">// so i'd better split it :)</span>
-<a name="l00703"></a>00703 std::stringstream out(data005);
-<a name="l00704"></a>00704 <a class="code" href="namespaceirc.html#string">std::string</a> token = <span class="stringliteral">""</span>;
-<a name="l00705"></a>00705 <a class="code" href="namespaceirc.html#string">std::string</a> line5 = <span class="stringliteral">""</span>;
-<a name="l00706"></a>00706 <span class="keywordtype">int</span> token_counter = 0;
-<a name="l00707"></a>00707 <span class="keywordflow">while</span> (!out.eof())
-<a name="l00708"></a>00708 {
-<a name="l00709"></a>00709 out &gt;&gt; token;
-<a name="l00710"></a>00710 line5 = line5 + token + <span class="stringliteral">" "</span>;
-<a name="l00711"></a>00711 token_counter++;
-<a name="l00712"></a>00712 <span class="keywordflow">if</span> ((token_counter &gt;= 13) || (out.eof() == <span class="keyword">true</span>))
-<a name="l00713"></a>00713 {
-<a name="l00714"></a>00714 <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">"005 %s %s:are supported by this server"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,line5.c_str());
-<a name="l00715"></a>00715 line5 = <span class="stringliteral">""</span>;
-<a name="l00716"></a>00716 token_counter = 0;
-<a name="l00717"></a>00717 }
-<a name="l00718"></a>00718 }
-<a name="l00719"></a>00719 ShowMOTD(user);
-<a name="l00720"></a>00720
-<a name="l00721"></a>00721 <span class="comment">// fix 3 by brain, move registered = 7 below these so that spurious modes and host changes dont go out</span>
-<a name="l00722"></a>00722 <span class="comment">// onto the network and produce 'fake direction'</span>
-<a name="l00723"></a>00723 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserConnect(user);
-<a name="l00724"></a>00724 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnGlobalConnect(user);
-<a name="l00725"></a>00725 user-&gt;<a class="code" href="classconnection.html#registered">registered</a> = 7;
-<a name="l00726"></a>00726 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Client connecting on port %lu: %s!%s@%s [%s]"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#port">port</a>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>,user-&gt;<a class="code" href="classconnection.html#ip_5B_31_36_5D">ip</a>);
-<a name="l00727"></a>00727 }
-<a name="l00728"></a>00728
-<a name="l00729"></a>00729
-<a name="l00730"></a>00730 <span class="comment">/* shows the message of the day, and any other on-logon stuff */</span>
-<a name="l00731"></a><a class="code" href="users_8h.html#ConnectUser_28userrec_20_2Auser_29">00731</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#ConnectUser_28userrec_20_2Auser_29">ConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a> *user)
-<a name="l00732"></a>00732 {
-<a name="l00733"></a>00733 <span class="comment">// dns is already done, things are fast. no need to wait for dns to complete just pass them straight on</span>
-<a name="l00734"></a>00734 <span class="keywordflow">if</span> ((user-&gt;<a class="code" href="classuserrec.html#dns_5Fdone">dns_done</a>) &amp;&amp; (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> &gt;= 3) &amp;&amp; (AllModulesReportReady(user)))
-<a name="l00735"></a>00735 {
-<a name="l00736"></a>00736 <a class="code" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</a>(user);
-<a name="l00737"></a>00737 }
-<a name="l00738"></a>00738 }
-<a name="l00739"></a>00739
-<a name="l00740"></a>00740 <span class="comment">/* re-allocates a nick in the user_hash after they change nicknames,</span>
-<a name="l00741"></a>00741 <span class="comment"> * returns a pointer to the new user as it may have moved */</span>
-<a name="l00742"></a>00742
-<a name="l00743"></a><a class="code" href="users_8h.html#ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29">00743</a> <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="users_8cpp.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="l00744"></a>00744 {
-<a name="l00745"></a>00745 <span class="comment">//user_hash::iterator newnick;</span>
-<a name="l00746"></a>00746 user_hash::iterator oldnick = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(Old);
-<a name="l00747"></a>00747
-<a name="l00748"></a>00748 <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">"ReHashNick: %s %s"</span>,Old,New);
-<a name="l00749"></a>00749
-<a name="l00750"></a>00750 <span class="keywordflow">if</span> (!strcasecmp(Old,New))
-<a name="l00751"></a>00751 {
-<a name="l00752"></a>00752 <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">"old nick is new nick, skipping"</span>);
-<a name="l00753"></a>00753 <span class="keywordflow">return</span> oldnick-&gt;second;
-<a name="l00754"></a>00754 }
-<a name="l00755"></a>00755
-<a name="l00756"></a>00756 <span class="keywordflow">if</span> (oldnick == <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end()) <span class="keywordflow">return</span> NULL; <span class="comment">/* doesnt exist */</span>
-<a name="l00757"></a>00757
-<a name="l00758"></a>00758 <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">"ReHashNick: Found hashed nick %s"</span>,Old);
-<a name="l00759"></a>00759
-<a name="l00760"></a>00760 <a class="code" href="classuserrec.html">userrec</a>* olduser = oldnick-&gt;second;
-<a name="l00761"></a>00761 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[New] = olduser;
-<a name="l00762"></a>00762 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(oldnick);
-<a name="l00763"></a>00763
-<a name="l00764"></a>00764 <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">"ReHashNick: Nick rehashed as %s"</span>,New);
-<a name="l00765"></a>00765
-<a name="l00766"></a>00766 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[New];
-<a name="l00767"></a>00767 }
-<a name="l00768"></a>00768
-<a name="l00769"></a><a class="code" href="users_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">00769</a> <span class="keywordtype">void</span> <a class="code" href="users_8cpp.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="l00770"></a>00770 {
-<a name="l00771"></a>00771 <span class="keywordtype">char</span> nick[MAXBUF];
-<a name="l00772"></a>00772 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00773"></a>00773
-<a name="l00774"></a>00774 strcpy(nick,<span class="stringliteral">""</span>);
-<a name="l00775"></a>00775
-<a name="l00776"></a>00776 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreNick(user,newnick));
-<a name="l00777"></a>00777 <span class="keywordflow">if</span> (MOD_RESULT) {
-<a name="l00778"></a>00778 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a>++;
-<a name="l00779"></a>00779 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Nickname collision"</span>);
-<a name="l00780"></a>00780 <span class="keywordflow">return</span>;
-<a name="l00781"></a>00781 }
-<a name="l00782"></a>00782 <span class="keywordflow">if</span> (<a class="code" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">matches_qline</a>(newnick))
-<a name="l00783"></a>00783 {
-<a name="l00784"></a>00784 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a>++;
-<a name="l00785"></a>00785 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Nickname collision"</span>);
-<a name="l00786"></a>00786 <span class="keywordflow">return</span>;
-<a name="l00787"></a>00787 }
-<a name="l00788"></a>00788
-<a name="l00789"></a>00789 <span class="keywordflow">if</span> (user)
-<a name="l00790"></a>00790 {
-<a name="l00791"></a>00791 <span class="keywordflow">if</span> (newnick)
-<a name="l00792"></a>00792 {
-<a name="l00793"></a>00793 strncpy(nick,newnick,MAXBUF);
-<a name="l00794"></a>00794 }
-<a name="l00795"></a>00795 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7)
-<a name="l00796"></a>00796 {
-<a name="l00797"></a>00797 <span class="keywordtype">char</span>* pars[1];
-<a name="l00798"></a>00798 pars[0] = nick;
-<a name="l00799"></a>00799 <a class="code" href="namespaceirc.html#string">std::string</a> cmd = <span class="stringliteral">"NICK"</span>;
-<a name="l00800"></a>00800 ServerInstance-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;CallHandler(cmd,pars,1,user);
-<a name="l00801"></a>00801 }
-<a name="l00802"></a>00802 }
-<a name="l00803"></a>00803 }
-<a name="l00804"></a>00804
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/users_8cpp.html b/docs/module-doc/users_8cpp.html
deleted file mode 100644
index ac1655953..000000000
--- a/docs/module-doc/users_8cpp.html
+++ /dev/null
@@ -1,1366 +0,0 @@
-<!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: users.cpp 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_000005.html">src</a></div>
-<h1>users.cpp File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="channels_8h-source.html">channels.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="connection_8h-source.html">connection.h</a>&quot;</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="inspircd_8h-source.html">inspircd.h</a>&quot;</code><br>
-<code>#include &lt;stdio.h&gt;</code><br>
-<code>#include &quot;inspstring.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="commands_8h-source.html">commands.h</a>&quot;</code><br>
-<code>#include &quot;helperfuncs.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="typedefs_8h-source.html">typedefs.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="socketengine_8h-source.html">socketengine.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&quot;</code><br>
-<code>#include &quot;<a class="el" href="message_8h-source.html">message.h</a>&quot;</code><br>
-<code>#include &quot;wildcard.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="xline_8h-source.html">xline.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for users.cpp:<p><center><img src="users_8cpp__incl.gif" border="0" usemap="#users.cpp_map" alt=""></center>
-<map name="users.cpp_map">
-<area href="channels_8h-source.html" shape="rect" coords="600,640,685,667" alt="">
-<area href="connection_8h-source.html" shape="rect" coords="593,260,692,287" alt="">
-<area href="users_8h-source.html" shape="rect" coords="457,564,521,591" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="596,438,689,464" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="296,210,376,236" alt="">
-<area href="socketengine_8h-source.html" shape="rect" coords="433,159,545,186" alt="">
-<area href="commands_8h-source.html" shape="rect" coords="287,716,385,743" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="144,412,229,439" alt="">
-<area href="message_8h-source.html" shape="rect" coords="293,666,379,692" alt="">
-<area href="xline_8h-source.html" shape="rect" coords="305,767,367,794" alt="">
-</map>
-
-<p>
-<a href="users_8cpp-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>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">string</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">ConvToStr</a> (const T &amp;in)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.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="users_8cpp.html#DeleteOper_28userrec_20_2Auser_29">DeleteOper</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="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a> (<a class="el" href="classuserrec.html">userrec</a> *u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">AddClient</a> (int socket, char *host, int port, bool iscached, char *ip)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</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="users_8cpp.html#ConnectUser_28userrec_20_2Auser_29">ConnectUser</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</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="users_8cpp.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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *newnick)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classInspIRCd.html">InspIRCd</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#ServerInstance">ServerInstance</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classModule.html">Module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#modules">modules</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="modules_8h.html#ircd_5Fmodule">ircd_module</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#factory">factory</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classInspSocket.html">InspSocket</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#module_5Fsockets">module_sockets</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#MODCOUNT">MODCOUNT</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classInspSocket.html">InspSocket</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a> [65535]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">time_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#TIME">TIME</a></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="users_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a> [65536]</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classServerConfig.html">ServerConfig</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#Config">Config</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#user_5Fhash">user_hash</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#clientlist">clientlist</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="typedefs_8h.html#whowas_5Fhash">whowas_hash</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#whowas">whowas</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classuserrec.html">userrec</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#local_5Fusers">local_users</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">std::vector&lt; <a class="el" href="classuserrec.html">userrec</a> * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8cpp.html#all_5Fopers">all_opers</a></td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29"></a><!-- doxytag: member="users.cpp::AddClient" ref="AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29" args="(int socket, char *host, int port, bool iscached, char *ip)" --><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 AddClient </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>socket</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>host</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>port</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>iscached</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>ip</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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00524">524</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="users_8h-source.html#l00036">CC_ALLOW</a>, <a class="el" href="channels_8h-source.html#l00254">ucrec::channel</a>, <a class="el" href="inspircd__io_8h-source.html#l00243">ServerConfig::Classes</a>, <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="users_8cpp-source.html#l00056">ConvToStr()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00177">ServerConfig::dns_timeout</a>, <a class="el" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00052">local_users</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="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception()</a>, <a class="el" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">matches_zline()</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</a>, <a class="el" href="inspircd__io_8h-source.html#l00069">ServerConfig::ServerName</a>, <a class="el" href="inspircd__io_8h-source.html#l00194">ServerConfig::SoftLimit</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</a>, <a class="el" href="channels_8h-source.html#l00249">ucrec::uc_modes</a>, and <a class="el" href="socketengine_8h-source.html#l00043">X_ESTAB_CLIENT</a>.<div class="fragment"><pre class="fragment"><a name="l00525"></a>00525 {
-<a name="l00526"></a>00526 <a class="code" href="namespaceirc.html#string">string</a> tempnick;
-<a name="l00527"></a>00527 <span class="keywordtype">char</span> tn2[MAXBUF];
-<a name="l00528"></a>00528 user_hash::iterator iter;
-<a name="l00529"></a>00529
-<a name="l00530"></a>00530 tempnick = <a class="code" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">ConvToStr</a>(socket) + <span class="stringliteral">"-unknown"</span>;
-<a name="l00531"></a>00531 sprintf(tn2,<span class="stringliteral">"%lu-unknown"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)socket);
-<a name="l00532"></a>00532
-<a name="l00533"></a>00533 iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(tempnick);
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="comment">// fix by brain.</span>
-<a name="l00536"></a>00536 <span class="comment">// as these nicknames are 'RFC impossible', we can be sure nobody is going to be</span>
-<a name="l00537"></a>00537 <span class="comment">// using one as a registered connection. As theyre per fd, we can also safely assume</span>
-<a name="l00538"></a>00538 <span class="comment">// that we wont have collisions. Therefore, if the nick exists in the list, its only</span>
-<a name="l00539"></a>00539 <span class="comment">// used by a dead socket, erase the iterator so that the new client may reclaim it.</span>
-<a name="l00540"></a>00540 <span class="comment">// this was probably the cause of 'server ignores me when i hammer it with reconnects'</span>
-<a name="l00541"></a>00541 <span class="comment">// issue in earlier alphas/betas</span>
-<a name="l00542"></a>00542 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00543"></a>00543 {
-<a name="l00544"></a>00544 <a class="code" href="classuserrec.html">userrec</a>* goner = iter-&gt;second;
-<a name="l00545"></a>00545 <span class="keyword">delete</span> goner;
-<a name="l00546"></a>00546 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00547"></a>00547 }
-<a name="l00548"></a>00548
-<a name="l00549"></a>00549 <span class="comment">/*</span>
-<a name="l00550"></a>00550 <span class="comment"> * It is OK to access the value here this way since we know</span>
-<a name="l00551"></a>00551 <span class="comment"> * it exists, we just created it above.</span>
-<a name="l00552"></a>00552 <span class="comment"> *</span>
-<a name="l00553"></a>00553 <span class="comment"> * At NO other time should you access a value in a map or a</span>
-<a name="l00554"></a>00554 <span class="comment"> * hash_map this way.</span>
-<a name="l00555"></a>00555 <span class="comment"> */</span>
-<a name="l00556"></a>00556 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick] = <span class="keyword">new</span> <a class="code" href="classuserrec.html">userrec</a>();
-<a name="l00557"></a>00557
-<a name="l00558"></a>00558 <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">"AddClient: %lu %s %d %s"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)socket,host,port,ip);
-<a name="l00559"></a>00559
-<a name="l00560"></a>00560 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;fd = socket;
-<a name="l00561"></a>00561 strlcpy(clientlist[tempnick]-&gt;nick, tn2,NICKMAX);
-<a name="l00562"></a>00562 strlcpy(clientlist[tempnick]-&gt;host, host,160);
-<a name="l00563"></a>00563 strlcpy(clientlist[tempnick]-&gt;dhost, host,160);
-<a name="l00564"></a>00564 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;server = (<span class="keywordtype">char</span>*)<a class="code" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a>(<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>);
-<a name="l00565"></a>00565 strlcpy(clientlist[tempnick]-&gt;ident, <span class="stringliteral">"unknown"</span>,IDENTMAX);
-<a name="l00566"></a>00566 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;registered = 0;
-<a name="l00567"></a>00567 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;signon = <a class="code" href="channels_8cpp.html#TIME">TIME</a> + <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a>;
-<a name="l00568"></a>00568 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;lastping = 1;
-<a name="l00569"></a>00569 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;port = port;
-<a name="l00570"></a>00570 strlcpy(clientlist[tempnick]-&gt;ip,ip,16);
-<a name="l00571"></a>00571
-<a name="l00572"></a>00572 <span class="comment">// set the registration timeout for this user</span>
-<a name="l00573"></a>00573 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> class_regtimeout = 90;
-<a name="l00574"></a>00574 <span class="keywordtype">int</span> class_flood = 0;
-<a name="l00575"></a>00575 <span class="keywordtype">long</span> class_threshold = 5;
-<a name="l00576"></a>00576 <span class="keywordtype">long</span> class_sqmax = 262144; <span class="comment">// 256kb</span>
-<a name="l00577"></a>00577 <span class="keywordtype">long</span> class_rqmax = 4096; <span class="comment">// 4k</span>
-<a name="l00578"></a>00578
-<a name="l00579"></a>00579 <span class="keywordflow">for</span> (ClassVector::iterator i = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Classes">Classes</a>.begin(); i != <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Classes">Classes</a>.end(); i++)
-<a name="l00580"></a>00580 {
-<a name="l00581"></a>00581 <span class="keywordflow">if</span> (match(clientlist[tempnick]-&gt;host,i-&gt;host) &amp;&amp; (i-&gt;type == <a class="code" href="users_8h.html#CC_5FALLOW">CC_ALLOW</a>))
-<a name="l00582"></a>00582 {
-<a name="l00583"></a>00583 class_regtimeout = (<span class="keywordtype">unsigned</span> long)i-&gt;registration_timeout;
-<a name="l00584"></a>00584 class_flood = i-&gt;flood;
-<a name="l00585"></a>00585 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;pingmax = i-&gt;pingtime;
-<a name="l00586"></a>00586 class_threshold = i-&gt;threshold;
-<a name="l00587"></a>00587 class_sqmax = i-&gt;sendqmax;
-<a name="l00588"></a>00588 class_rqmax = i-&gt;recvqmax;
-<a name="l00589"></a>00589 <span class="keywordflow">break</span>;
-<a name="l00590"></a>00590 }
-<a name="l00591"></a>00591 }
-<a name="l00592"></a>00592
-<a name="l00593"></a>00593 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;nping = <a class="code" href="channels_8cpp.html#TIME">TIME</a>+<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;pingmax + <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a>;
-<a name="l00594"></a>00594 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;timeout = <a class="code" href="channels_8cpp.html#TIME">TIME</a>+class_regtimeout;
-<a name="l00595"></a>00595 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;flood = class_flood;
-<a name="l00596"></a>00596 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;threshold = class_threshold;
-<a name="l00597"></a>00597 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;sendqmax = class_sqmax;
-<a name="l00598"></a>00598 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;recvqmax = class_rqmax;
-<a name="l00599"></a>00599
-<a name="l00600"></a>00600 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00601"></a>00601 a.<a class="code" href="classucrec.html#channel">channel</a> = NULL;
-<a name="l00602"></a>00602 a.<a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a> = 0;
-<a name="l00603"></a>00603 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
-<a name="l00604"></a>00604 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;chans.push_back(a);
-<a name="l00605"></a>00605
-<a name="l00606"></a>00606 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.size() &gt; <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#SoftLimit">SoftLimit</a>)
-<a name="l00607"></a>00607 {
-<a name="l00608"></a>00608 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],<span class="stringliteral">"No more connections allowed"</span>);
-<a name="l00609"></a>00609 <span class="keywordflow">return</span>;
-<a name="l00610"></a>00610 }
-<a name="l00611"></a>00611
-<a name="l00612"></a>00612 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.size() &gt;= MAXCLIENTS)
-<a name="l00613"></a>00613 {
-<a name="l00614"></a>00614 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],<span class="stringliteral">"No more connections allowed"</span>);
-<a name="l00615"></a>00615 <span class="keywordflow">return</span>;
-<a name="l00616"></a>00616 }
-<a name="l00617"></a>00617
-<a name="l00618"></a>00618 <span class="comment">// this is done as a safety check to keep the file descriptors within range of fd_ref_table.</span>
-<a name="l00619"></a>00619 <span class="comment">// its a pretty big but for the moment valid assumption:</span>
-<a name="l00620"></a>00620 <span class="comment">// file descriptors are handed out starting at 0, and are recycled as theyre freed.</span>
-<a name="l00621"></a>00621 <span class="comment">// therefore if there is ever an fd over 65535, 65536 clients must be connected to the</span>
-<a name="l00622"></a>00622 <span class="comment">// irc server at once (or the irc server otherwise initiating this many connections, files etc)</span>
-<a name="l00623"></a>00623 <span class="comment">// which for the time being is a physical impossibility (even the largest networks dont have more</span>
-<a name="l00624"></a>00624 <span class="comment">// than about 10,000 users on ONE server!)</span>
-<a name="l00625"></a>00625 <span class="keywordflow">if</span> ((<span class="keywordtype">unsigned</span>)socket &gt; 65534)
-<a name="l00626"></a>00626 {
-<a name="l00627"></a>00627 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],<span class="stringliteral">"Server is full"</span>);
-<a name="l00628"></a>00628 <span class="keywordflow">return</span>;
-<a name="l00629"></a>00629 }
-<a name="l00630"></a>00630 <span class="keywordtype">char</span>* e = <a class="code" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a>(ip);
-<a name="l00631"></a>00631 <span class="keywordflow">if</span> (!e)
-<a name="l00632"></a>00632 {
-<a name="l00633"></a>00633 <span class="keywordtype">char</span>* r = <a class="code" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">matches_zline</a>(ip);
-<a name="l00634"></a>00634 <span class="keywordflow">if</span> (r)
-<a name="l00635"></a>00635 {
-<a name="l00636"></a>00636 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00637"></a>00637 snprintf(reason,MAXBUF,<span class="stringliteral">"Z-Lined: %s"</span>,r);
-<a name="l00638"></a>00638 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],reason);
-<a name="l00639"></a>00639 <span class="keywordflow">return</span>;
-<a name="l00640"></a>00640 }
-<a name="l00641"></a>00641 }
-<a name="l00642"></a>00642 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[socket] = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick];
-<a name="l00643"></a>00643 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.push_back(clientlist[tempnick]);
-<a name="l00644"></a>00644 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(socket,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">X_ESTAB_CLIENT</a>);
-<a name="l00645"></a>00645 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddOper_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.cpp::AddOper" ref="AddOper_28userrec_20_2Auser_29" args="(userrec *user)" --><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 AddOper </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00330">330</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00054">all_opers</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, and <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="l00331"></a>00331 {
-<a name="l00332"></a>00332 <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">"Oper added to optimization list"</span>);
-<a name="l00333"></a>00333 <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.push_back(user);
-<a name="l00334"></a>00334 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddWhoWas_28userrec_20_2Au_29"></a><!-- doxytag: member="users.cpp::AddWhoWas" ref="AddWhoWas_28userrec_20_2Au_29" args="(userrec *u)" --><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 AddWhoWas </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="mdname1" valign="top" nowrap> <em>u</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00471">471</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="users_8h-source.html#l00341">WhoWasUser::dhost</a>, <a class="el" href="users_8h-source.html#l00138">userrec::dhost</a>, <a class="el" href="users_8h-source.html#l00343">WhoWasUser::fullname</a>, <a class="el" href="users_8h-source.html#l00142">userrec::fullname</a>, <a class="el" href="users_8h-source.html#l00342">WhoWasUser::host</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00340">WhoWasUser::ident</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</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#l00128">userrec::nick</a>, <a class="el" href="users_8h-source.html#l00339">WhoWasUser::nick</a>, <a class="el" href="users_8h-source.html#l00344">WhoWasUser::server</a>, <a class="el" href="users_8h-source.html#l00157">userrec::server</a>, <a class="el" href="users_8h-source.html#l00345">WhoWasUser::signon</a>, <a class="el" href="connection_8h-source.html#l00088">connection::signon</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</a>, <a class="el" href="users_8cpp.html#whowas">whowas</a>, <a class="el" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a>, and <a class="el" href="channels_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>.<div class="fragment"><pre class="fragment"><a name="l00472"></a>00472 {
-<a name="l00473"></a>00473 whowas_hash::iterator iter = <a class="code" href="users_8cpp.html#whowas">whowas</a>.find(u-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00474"></a>00474 <a class="code" href="classWhoWasUser.html">WhoWasUser</a> *a = <span class="keyword">new</span> <a class="code" href="classWhoWasUser.html">WhoWasUser</a>();
-<a name="l00475"></a>00475 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a>,u-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,NICKMAX);
-<a name="l00476"></a>00476 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">ident</a>,u-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,IDENTMAX);
-<a name="l00477"></a>00477 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">dhost</a>,u-&gt;<a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>,160);
-<a name="l00478"></a>00478 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#host_5B_31_36_30_5D">host</a>,u-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,160);
-<a name="l00479"></a>00479 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,u-&gt;<a class="code" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,MAXGECOS);
-<a name="l00480"></a>00480 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#server_5B_32_35_36_5D">server</a>,u-&gt;<a class="code" href="classuserrec.html#server">server</a>,256);
-<a name="l00481"></a>00481 a-&gt;<a class="code" href="classWhoWasUser.html#signon">signon</a> = u-&gt;<a class="code" href="classconnection.html#signon">signon</a>;
-<a name="l00482"></a>00482
-<a name="l00483"></a>00483 <span class="comment">/* MAX_WHOWAS: max number of /WHOWAS items</span>
-<a name="l00484"></a>00484 <span class="comment"> * WHOWAS_STALE: number of hours before a WHOWAS item is marked as stale and</span>
-<a name="l00485"></a>00485 <span class="comment"> * can be replaced by a newer one</span>
-<a name="l00486"></a>00486 <span class="comment"> */</span>
-<a name="l00487"></a>00487
-<a name="l00488"></a>00488 <span class="keywordflow">if</span> (iter == <a class="code" href="users_8cpp.html#whowas">whowas</a>.end())
-<a name="l00489"></a>00489 {
-<a name="l00490"></a>00490 <span class="keywordflow">if</span> (<a class="code" href="users_8cpp.html#whowas">whowas</a>.size() &gt;= (unsigned)<a class="code" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a>)
-<a name="l00491"></a>00491 {
-<a name="l00492"></a>00492 <span class="keywordflow">for</span> (whowas_hash::iterator i = <a class="code" href="users_8cpp.html#whowas">whowas</a>.begin(); i != <a class="code" href="users_8cpp.html#whowas">whowas</a>.end(); i++)
-<a name="l00493"></a>00493 {
-<a name="l00494"></a>00494 <span class="comment">// 3600 seconds in an hour ;)</span>
-<a name="l00495"></a>00495 <span class="keywordflow">if</span> ((i-&gt;second-&gt;signon)&lt;(TIME-(WHOWAS_STALE*3600)))
-<a name="l00496"></a>00496 {
-<a name="l00497"></a>00497 <span class="comment">// delete the old one</span>
-<a name="l00498"></a>00498 <span class="keywordflow">if</span> (i-&gt;second) <span class="keyword">delete</span> i-&gt;second;
-<a name="l00499"></a>00499 <span class="comment">// replace with new one</span>
-<a name="l00500"></a>00500 i-&gt;second = a;
-<a name="l00501"></a>00501 <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">"added WHOWAS entry, purged an old record"</span>);
-<a name="l00502"></a>00502 <span class="keywordflow">return</span>;
-<a name="l00503"></a>00503 }
-<a name="l00504"></a>00504 }
-<a name="l00505"></a>00505 <span class="comment">// no space left and user doesnt exist. Don't leave ram in use!</span>
-<a name="l00506"></a>00506 <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">"Not able to update whowas (list at WHOWAS_MAX entries and trying to add new?), freeing excess ram"</span>);
-<a name="l00507"></a>00507 <span class="keyword">delete</span> a;
-<a name="l00508"></a>00508 }
-<a name="l00509"></a>00509 <span class="keywordflow">else</span>
-<a name="l00510"></a>00510 {
-<a name="l00511"></a>00511 <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">"added fresh WHOWAS entry"</span>);
-<a name="l00512"></a>00512 <a class="code" href="users_8cpp.html#whowas">whowas</a>[a-&gt;<a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a>] = a;
-<a name="l00513"></a>00513 }
-<a name="l00514"></a>00514 }
-<a name="l00515"></a>00515 <span class="keywordflow">else</span>
-<a name="l00516"></a>00516 {
-<a name="l00517"></a>00517 <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">"updated WHOWAS entry"</span>);
-<a name="l00518"></a>00518 <span class="keywordflow">if</span> (iter-&gt;second) <span class="keyword">delete</span> iter-&gt;second;
-<a name="l00519"></a>00519 iter-&gt;second = a;
-<a name="l00520"></a>00520 }
-<a name="l00521"></a>00521 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ConnectUser_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.cpp::ConnectUser" ref="ConnectUser_28userrec_20_2Auser_29" args="(userrec *user)" --><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 ConnectUser </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00731">731</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00185">userrec::dns_done</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, and <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>.<div class="fragment"><pre class="fragment"><a name="l00732"></a>00732 {
-<a name="l00733"></a>00733 <span class="comment">// dns is already done, things are fast. no need to wait for dns to complete just pass them straight on</span>
-<a name="l00734"></a>00734 <span class="keywordflow">if</span> ((user-&gt;<a class="code" href="classuserrec.html#dns_5Fdone">dns_done</a>) &amp;&amp; (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> &gt;= 3) &amp;&amp; (AllModulesReportReady(user)))
-<a name="l00735"></a>00735 {
-<a name="l00736"></a>00736 <a class="code" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</a>(user);
-<a name="l00737"></a>00737 }
-<a name="l00738"></a>00738 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ConvToStr_28const_20T_20_26in_29"></a><!-- doxytag: member="users.cpp::ConvToStr" ref="ConvToStr_28const_20T_20_26in_29" args="(const T &amp;in)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="mdPrefix" colspan="4">
-template&lt;typename T&gt; </td>
- </tr>
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">string</a> ConvToStr </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>in</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</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="users_8cpp-source.html#l00056">56</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>.<div class="fragment"><pre class="fragment"><a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 stringstream tmp;
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (!(tmp &lt;&lt; in)) <span class="keywordflow">return</span> <a class="code" href="namespaceirc.html#string">string</a>();
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> tmp.str();
-<a name="l00061"></a>00061 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DeleteOper_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.cpp::DeleteOper" ref="DeleteOper_28userrec_20_2Auser_29" args="(userrec *user)" --><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 DeleteOper </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00336">336</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00054">all_opers</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, and <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="l00337"></a>00337 {
-<a name="l00338"></a>00338 <span class="keywordflow">for</span> (std::vector&lt;userrec*&gt;::iterator a = <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.begin(); a &lt; <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.end(); a++)
-<a name="l00339"></a>00339 {
-<a name="l00340"></a>00340 <span class="keywordflow">if</span> (*a == user)
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <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">"Oper removed from optimization list"</span>);
-<a name="l00343"></a>00343 <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.erase(a);
-<a name="l00344"></a>00344 <span class="keywordflow">return</span>;
-<a name="l00345"></a>00345 }
-<a name="l00346"></a>00346 }
-<a name="l00347"></a>00347 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29"></a><!-- doxytag: member="users.cpp::force_nickchange" ref="force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29" args="(userrec *user, const char *newnick)" --><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 force_nickchange </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>newnick</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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00769">769</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00090">FOREACH_RESULT</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">matches_qline()</a>, <a class="el" href="inspircd_8h-source.html#l00110">InspIRCd::Parser</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd_8h-source.html#l00112">InspIRCd::stats</a>, and <a class="el" href="inspircd_8h-source.html#l00080">serverstats::statsCollisions</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00385">Server::ChangeUserNick()</a>.<div class="fragment"><pre class="fragment"><a name="l00770"></a>00770 {
-<a name="l00771"></a>00771 <span class="keywordtype">char</span> nick[MAXBUF];
-<a name="l00772"></a>00772 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00773"></a>00773
-<a name="l00774"></a>00774 strcpy(nick,<span class="stringliteral">""</span>);
-<a name="l00775"></a>00775
-<a name="l00776"></a>00776 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreNick(user,newnick));
-<a name="l00777"></a>00777 <span class="keywordflow">if</span> (MOD_RESULT) {
-<a name="l00778"></a>00778 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a>++;
-<a name="l00779"></a>00779 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Nickname collision"</span>);
-<a name="l00780"></a>00780 <span class="keywordflow">return</span>;
-<a name="l00781"></a>00781 }
-<a name="l00782"></a>00782 <span class="keywordflow">if</span> (<a class="code" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">matches_qline</a>(newnick))
-<a name="l00783"></a>00783 {
-<a name="l00784"></a>00784 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a>++;
-<a name="l00785"></a>00785 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Nickname collision"</span>);
-<a name="l00786"></a>00786 <span class="keywordflow">return</span>;
-<a name="l00787"></a>00787 }
-<a name="l00788"></a>00788
-<a name="l00789"></a>00789 <span class="keywordflow">if</span> (user)
-<a name="l00790"></a>00790 {
-<a name="l00791"></a>00791 <span class="keywordflow">if</span> (newnick)
-<a name="l00792"></a>00792 {
-<a name="l00793"></a>00793 strncpy(nick,newnick,MAXBUF);
-<a name="l00794"></a>00794 }
-<a name="l00795"></a>00795 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7)
-<a name="l00796"></a>00796 {
-<a name="l00797"></a>00797 <span class="keywordtype">char</span>* pars[1];
-<a name="l00798"></a>00798 pars[0] = nick;
-<a name="l00799"></a>00799 <a class="code" href="namespaceirc.html#string">std::string</a> cmd = <span class="stringliteral">"NICK"</span>;
-<a name="l00800"></a>00800 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;CallHandler(cmd,pars,1,user);
-<a name="l00801"></a>00801 }
-<a name="l00802"></a>00802 }
-<a name="l00803"></a>00803 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FullConnectUser_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.cpp::FullConnectUser" ref="FullConnectUser_28userrec_20_2Auser_29" args="(userrec *user)" --><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 FullConnectUser </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00647">647</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="connection_8h-source.html#l00070">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="connection_8h-source.html#l00092">connection::idle_lastmsg</a>, <a class="el" href="connection_8h-source.html#l00050">connection::ip</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</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="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception()</a>, <a class="el" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">matches_gline()</a>, <a class="el" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">matches_kline()</a>, <a class="el" href="inspircd__io_8h-source.html#l00075">ServerConfig::Network</a>, <a class="el" href="users_8h-source.html#l00128">userrec::nick</a>, <a class="el" href="connection_8h-source.html#l00076">connection::port</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd__io_8h-source.html#l00069">ServerConfig::ServerName</a>, <a class="el" href="inspircd_8h-source.html#l00112">InspIRCd::stats</a>, <a class="el" href="inspircd_8h-source.html#l00084">serverstats::statsConnects</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</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>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00731">ConnectUser()</a>.<div class="fragment"><pre class="fragment"><a name="l00648"></a>00648 {
-<a name="l00649"></a>00649 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsConnects">statsConnects</a>++;
-<a name="l00650"></a>00650 user-&gt;<a class="code" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a> = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00651"></a>00651 <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">"ConnectUser: %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00652"></a>00652
-<a name="l00653"></a>00653 <span class="keywordflow">if</span> ((strcmp(Passwd(user),<span class="stringliteral">""</span>)) &amp;&amp; (!user-&gt;<a class="code" href="classconnection.html#haspassed">haspassed</a>))
-<a name="l00654"></a>00654 {
-<a name="l00655"></a>00655 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Invalid password"</span>);
-<a name="l00656"></a>00656 <span class="keywordflow">return</span>;
-<a name="l00657"></a>00657 }
-<a name="l00658"></a>00658 <span class="keywordflow">if</span> (IsDenied(user))
-<a name="l00659"></a>00659 {
-<a name="l00660"></a>00660 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Unauthorised connection"</span>);
-<a name="l00661"></a>00661 <span class="keywordflow">return</span>;
-<a name="l00662"></a>00662 }
-<a name="l00663"></a>00663
-<a name="l00664"></a>00664 <span class="keywordtype">char</span> match_against[MAXBUF];
-<a name="l00665"></a>00665 snprintf(match_against,MAXBUF,<span class="stringliteral">"%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>);
-<a name="l00666"></a>00666 <span class="keywordtype">char</span>* e = <a class="code" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a>(match_against);
-<a name="l00667"></a>00667 <span class="keywordflow">if</span> (!e)
-<a name="l00668"></a>00668 {
-<a name="l00669"></a>00669 <span class="keywordtype">char</span>* r = <a class="code" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">matches_gline</a>(match_against);
-<a name="l00670"></a>00670 <span class="keywordflow">if</span> (r)
-<a name="l00671"></a>00671 {
-<a name="l00672"></a>00672 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00673"></a>00673 snprintf(reason,MAXBUF,<span class="stringliteral">"G-Lined: %s"</span>,r);
-<a name="l00674"></a>00674 <a class="code" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(user,reason);
-<a name="l00675"></a>00675 <span class="keywordflow">return</span>;
-<a name="l00676"></a>00676 }
-<a name="l00677"></a>00677 r = <a class="code" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">matches_kline</a>(user-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>);
-<a name="l00678"></a>00678 <span class="keywordflow">if</span> (r)
-<a name="l00679"></a>00679 {
-<a name="l00680"></a>00680 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00681"></a>00681 snprintf(reason,MAXBUF,<span class="stringliteral">"K-Lined: %s"</span>,r);
-<a name="l00682"></a>00682 <a class="code" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(user,reason);
-<a name="l00683"></a>00683 <span class="keywordflow">return</span>;
-<a name="l00684"></a>00684 }
-<a name="l00685"></a>00685 }
-<a name="l00686"></a>00686
-<a name="l00687"></a>00687
-<a name="l00688"></a>00688 <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 Auth :Welcome to \002%s\002!"</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="l00689"></a>00689 <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">"001 %s :Welcome to the %s IRC Network %s!%s@%s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>);
-<a name="l00690"></a>00690 <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">"002 %s :Your host is %s, running version %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>,VERSION);
-<a name="l00691"></a>00691 <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">"003 %s :This server was created %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,__TIME__,__DATE__);
-<a name="l00692"></a>00692 <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">"004 %s %s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>,VERSION);
-<a name="l00693"></a>00693 <span class="comment">// the neatest way to construct the initial 005 numeric, considering the number of configure constants to go in it...</span>
-<a name="l00694"></a>00694 std::stringstream v;
-<a name="l00695"></a>00695 v &lt;&lt; <span class="stringliteral">"WALLCHOPS MODES=13 CHANTYPES=# PREFIX=(ohv)@%+ MAP SAFELIST MAXCHANNELS="</span> &lt;&lt; MAXCHANS;
-<a name="l00696"></a>00696 v &lt;&lt; <span class="stringliteral">" MAXBANS=60 NICKLEN="</span> &lt;&lt; NICKMAX;
-<a name="l00697"></a>00697 v &lt;&lt; <span class="stringliteral">" TOPICLEN="</span> &lt;&lt; MAXTOPIC &lt;&lt; <span class="stringliteral">" KICKLEN="</span> &lt;&lt; MAXKICK &lt;&lt; <span class="stringliteral">" MAXTARGETS=20 AWAYLEN="</span> &lt;&lt; MAXAWAY &lt;&lt; <span class="stringliteral">" CHANMODES=ohvb,k,l,psmnti NETWORK="</span>;
-<a name="l00698"></a>00698 v &lt;&lt; <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
-<a name="l00699"></a>00699 <a class="code" href="namespaceirc.html#string">std::string</a> data005 = v.str();
-<a name="l00700"></a>00700 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> On005Numeric(data005);
-<a name="l00701"></a>00701 <span class="comment">// anfl @ #ratbox, efnet reminded me that according to the RFC this cant contain more than 13 tokens per line...</span>
-<a name="l00702"></a>00702 <span class="comment">// so i'd better split it :)</span>
-<a name="l00703"></a>00703 std::stringstream out(data005);
-<a name="l00704"></a>00704 <a class="code" href="namespaceirc.html#string">std::string</a> token = <span class="stringliteral">""</span>;
-<a name="l00705"></a>00705 <a class="code" href="namespaceirc.html#string">std::string</a> line5 = <span class="stringliteral">""</span>;
-<a name="l00706"></a>00706 <span class="keywordtype">int</span> token_counter = 0;
-<a name="l00707"></a>00707 <span class="keywordflow">while</span> (!out.eof())
-<a name="l00708"></a>00708 {
-<a name="l00709"></a>00709 out &gt;&gt; token;
-<a name="l00710"></a>00710 line5 = line5 + token + <span class="stringliteral">" "</span>;
-<a name="l00711"></a>00711 token_counter++;
-<a name="l00712"></a>00712 <span class="keywordflow">if</span> ((token_counter &gt;= 13) || (out.eof() == <span class="keyword">true</span>))
-<a name="l00713"></a>00713 {
-<a name="l00714"></a>00714 <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">"005 %s %s:are supported by this server"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,line5.c_str());
-<a name="l00715"></a>00715 line5 = <span class="stringliteral">""</span>;
-<a name="l00716"></a>00716 token_counter = 0;
-<a name="l00717"></a>00717 }
-<a name="l00718"></a>00718 }
-<a name="l00719"></a>00719 ShowMOTD(user);
-<a name="l00720"></a>00720
-<a name="l00721"></a>00721 <span class="comment">// fix 3 by brain, move registered = 7 below these so that spurious modes and host changes dont go out</span>
-<a name="l00722"></a>00722 <span class="comment">// onto the network and produce 'fake direction'</span>
-<a name="l00723"></a>00723 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserConnect(user);
-<a name="l00724"></a>00724 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnGlobalConnect(user);
-<a name="l00725"></a>00725 user-&gt;<a class="code" href="classconnection.html#registered">registered</a> = 7;
-<a name="l00726"></a>00726 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Client connecting on port %lu: %s!%s@%s [%s]"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#port">port</a>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>,user-&gt;<a class="code" href="classconnection.html#ip_5B_31_36_5D">ip</a>);
-<a name="l00727"></a>00727 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29"></a><!-- doxytag: member="users.cpp::kill_link" ref="kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29" args="(userrec *user, const char *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">void kill_link </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>const char *&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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00349">349</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00471">AddWhoWas()</a>, <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="users_8cpp-source.html#l00093">userrec::CloseSocket()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</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="users_8cpp-source.html#l00295">userrec::FlushWriteBuf()</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">ServerConfig::GetIOHook()</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="users_8cpp-source.html#l00052">local_users</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#l00128">userrec::nick</a>, <a class="el" href="modules_8cpp-source.html#l00270">Module::OnRawSocketClose()</a>, <a class="el" href="connection_8h-source.html#l00076">connection::port</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</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#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept()</a>, and <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers()</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00390">Server::QuitUser()</a>.<div class="fragment"><pre class="fragment"><a name="l00350"></a>00350 {
-<a name="l00351"></a>00351 user_hash::iterator iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00352"></a>00352
-<a name="l00353"></a>00353 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00354"></a>00354
-<a name="l00355"></a>00355 strncpy(reason,r,MAXBUF);
-<a name="l00356"></a>00356
-<a name="l00357"></a>00357 <span class="keywordflow">if</span> (strlen(reason)&gt;MAXQUIT)
-<a name="l00358"></a>00358 {
-<a name="l00359"></a>00359 reason[MAXQUIT-1] = <span class="charliteral">'\0'</span>;
-<a name="l00360"></a>00360 }
-<a name="l00361"></a>00361
-<a name="l00362"></a>00362 <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">"kill_link: %s '%s'"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,reason);
-<a name="l00363"></a>00363 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<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>,reason);
-<a name="l00364"></a>00364 <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">"closing fd %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00365"></a>00365
-<a name="l00366"></a>00366 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00367"></a>00367 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserQuit(user,reason);
-<a name="l00368"></a>00368 <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">"QUIT :%s"</span>,reason);
-<a name="l00369"></a>00369 }
-<a name="l00370"></a>00370
-<a name="l00371"></a>00371 user-&gt;<a class="code" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>();
-<a name="l00372"></a>00372
-<a name="l00373"></a>00373 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserDisconnect(user);
-<a name="l00374"></a>00374
-<a name="l00375"></a>00375 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00376"></a>00376 {
-<a name="l00377"></a>00377 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>))
-<a name="l00378"></a>00378 {
-<a name="l00379"></a>00379 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>)-&gt;<a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00380"></a>00380 }
-<a name="l00381"></a>00381 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00382"></a>00382 user-&gt;<a class="code" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>();
-<a name="l00383"></a>00383 }
-<a name="l00384"></a>00384
-<a name="l00385"></a>00385 <span class="comment">// this must come before the WriteOpers so that it doesnt try to fill their buffer with anything</span>
-<a name="l00386"></a>00386 <span class="comment">// if they were an oper with +s.</span>
-<a name="l00387"></a>00387 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00388"></a>00388 purge_empty_chans(user);
-<a name="l00389"></a>00389 <span class="comment">// fix by brain: only show local quits because we only show local connects (it just makes SENSE)</span>
-<a name="l00390"></a>00390 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00391"></a>00391 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Client exiting: %s!%s@%s [%s]"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>,reason);
-<a name="l00392"></a>00392 <a class="code" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a>(user);
-<a name="l00393"></a>00393 }
-<a name="l00394"></a>00394
-<a name="l00395"></a>00395 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00396"></a>00396 {
-<a name="l00397"></a>00397 <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">"deleting user hash value %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user);
-<a name="l00398"></a>00398 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00399"></a>00399 {
-<a name="l00400"></a>00400 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[user-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = NULL;
-<a name="l00401"></a>00401 <span class="keywordflow">if</span> (find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user) != <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end())
-<a name="l00402"></a>00402 {
-<a name="l00403"></a>00403 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.erase(find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user));
-<a name="l00404"></a>00404 <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">"Delete local user"</span>);
-<a name="l00405"></a>00405 }
-<a name="l00406"></a>00406 }
-<a name="l00407"></a>00407 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00408"></a>00408 }
-<a name="l00409"></a>00409 <span class="keyword">delete</span> user;
-<a name="l00410"></a>00410 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29"></a><!-- doxytag: member="users.cpp::kill_link_silent" ref="kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29" args="(userrec *user, const char *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">void kill_link_silent </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>const char *&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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00412">412</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="users_8cpp-source.html#l00093">userrec::CloseSocket()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</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="users_8cpp-source.html#l00295">userrec::FlushWriteBuf()</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">ServerConfig::GetIOHook()</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="users_8cpp-source.html#l00052">local_users</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#l00128">userrec::nick</a>, <a class="el" href="modules_8cpp-source.html#l00270">Module::OnRawSocketClose()</a>, <a class="el" href="connection_8h-source.html#l00076">connection::port</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</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#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept()</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>.<div class="fragment"><pre class="fragment"><a name="l00413"></a>00413 {
-<a name="l00414"></a>00414 user_hash::iterator iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00415"></a>00415
-<a name="l00416"></a>00416 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00417"></a>00417
-<a name="l00418"></a>00418 strncpy(reason,r,MAXBUF);
-<a name="l00419"></a>00419
-<a name="l00420"></a>00420 <span class="keywordflow">if</span> (strlen(reason)&gt;MAXQUIT)
-<a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 reason[MAXQUIT-1] = <span class="charliteral">'\0'</span>;
-<a name="l00423"></a>00423 }
-<a name="l00424"></a>00424
-<a name="l00425"></a>00425 <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">"kill_link: %s '%s'"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,reason);
-<a name="l00426"></a>00426 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<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>,reason);
-<a name="l00427"></a>00427 <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">"closing fd %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00428"></a>00428
-<a name="l00429"></a>00429 user-&gt;<a class="code" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>();
-<a name="l00430"></a>00430
-<a name="l00431"></a>00431 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00432"></a>00432 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserQuit(user,reason);
-<a name="l00433"></a>00433 <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">"QUIT :%s"</span>,reason);
-<a name="l00434"></a>00434 }
-<a name="l00435"></a>00435
-<a name="l00436"></a>00436 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserDisconnect(user);
-<a name="l00437"></a>00437
-<a name="l00438"></a>00438 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00439"></a>00439 {
-<a name="l00440"></a>00440 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>))
-<a name="l00441"></a>00441 {
-<a name="l00442"></a>00442 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>)-&gt;<a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00443"></a>00443 }
-<a name="l00444"></a>00444 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00445"></a>00445 user-&gt;<a class="code" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>();
-<a name="l00446"></a>00446 }
-<a name="l00447"></a>00447
-<a name="l00448"></a>00448 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00449"></a>00449 purge_empty_chans(user);
-<a name="l00450"></a>00450 }
-<a name="l00451"></a>00451
-<a name="l00452"></a>00452 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00453"></a>00453 {
-<a name="l00454"></a>00454 <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">"deleting user hash value %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user);
-<a name="l00455"></a>00455 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00456"></a>00456 {
-<a name="l00457"></a>00457 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[user-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = NULL;
-<a name="l00458"></a>00458 <span class="keywordflow">if</span> (find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user) != <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end())
-<a name="l00459"></a>00459 {
-<a name="l00460"></a>00460 <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">"Delete local user"</span>);
-<a name="l00461"></a>00461 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.erase(find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user));
-<a name="l00462"></a>00462 }
-<a name="l00463"></a>00463 }
-<a name="l00464"></a>00464 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00465"></a>00465 }
-<a name="l00466"></a>00466 <span class="keyword">delete</span> user;
-<a name="l00467"></a>00467 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29"></a><!-- doxytag: member="users.cpp::ReHashNick" ref="ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29" args="(char *Old, char *New)" --><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>* ReHashNick </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>Old</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>New</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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00743">743</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, and <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="l00744"></a>00744 {
-<a name="l00745"></a>00745 <span class="comment">//user_hash::iterator newnick;</span>
-<a name="l00746"></a>00746 user_hash::iterator oldnick = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(Old);
-<a name="l00747"></a>00747
-<a name="l00748"></a>00748 <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">"ReHashNick: %s %s"</span>,Old,New);
-<a name="l00749"></a>00749
-<a name="l00750"></a>00750 <span class="keywordflow">if</span> (!strcasecmp(Old,New))
-<a name="l00751"></a>00751 {
-<a name="l00752"></a>00752 <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">"old nick is new nick, skipping"</span>);
-<a name="l00753"></a>00753 <span class="keywordflow">return</span> oldnick-&gt;second;
-<a name="l00754"></a>00754 }
-<a name="l00755"></a>00755
-<a name="l00756"></a>00756 <span class="keywordflow">if</span> (oldnick == <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end()) <span class="keywordflow">return</span> NULL; <span class="comment">/* doesnt exist */</span>
-<a name="l00757"></a>00757
-<a name="l00758"></a>00758 <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">"ReHashNick: Found hashed nick %s"</span>,Old);
-<a name="l00759"></a>00759
-<a name="l00760"></a>00760 <a class="code" href="classuserrec.html">userrec</a>* olduser = oldnick-&gt;second;
-<a name="l00761"></a>00761 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[New] = olduser;
-<a name="l00762"></a>00762 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(oldnick);
-<a name="l00763"></a>00763
-<a name="l00764"></a>00764 <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">"ReHashNick: Nick rehashed as %s"</span>,New);
-<a name="l00765"></a>00765
-<a name="l00766"></a>00766 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[New];
-<a name="l00767"></a>00767 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="all_5Fopers"></a><!-- doxytag: member="users.cpp::all_opers" ref="all_5Fopers" 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="classuserrec.html">userrec</a>*&gt; <a class="el" href="users_8cpp.html#all_5Fopers">all_opers</a> </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="users_8cpp-source.html#l00054">54</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00330">AddOper()</a>, and <a class="el" href="users_8cpp-source.html#l00336">DeleteOper()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="clientlist"></a><!-- doxytag: member="users.cpp::clientlist" ref="clientlist" 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="typedefs_8h.html#user_5Fhash">user_hash</a> <a class="el" href="users_8cpp.html#clientlist">clientlist</a> </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="Config"></a><!-- doxytag: member="users.cpp::Config" ref="Config" 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="classServerConfig.html">ServerConfig</a>* <a class="el" href="users_8cpp.html#Config">Config</a> </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="factory"></a><!-- doxytag: member="users.cpp::factory" ref="factory" 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="modules_8h.html#ircd_5Fmodule">ircd_module</a>*&gt; factory </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="fd_5Fref_5Ftable_5B_36_35_35_33_36_5D"></a><!-- doxytag: member="users.cpp::fd_ref_table" ref="fd_5Fref_5Ftable_5B_36_35_35_33_36_5D" args="[65536]" --><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="users_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[65536] </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="local_5Fusers"></a><!-- doxytag: member="users.cpp::local_users" ref="local_5Fusers" 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="classuserrec.html">userrec</a>*&gt; <a class="el" href="users_8cpp.html#local_5Fusers">local_users</a> </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="users_8cpp-source.html#l00052">52</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, and <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="MODCOUNT"></a><!-- doxytag: member="users.cpp::MODCOUNT" ref="MODCOUNT" 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 <a class="el" href="users_8cpp.html#MODCOUNT">MODCOUNT</a> </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="module_5Fsockets"></a><!-- doxytag: member="users.cpp::module_sockets" ref="module_5Fsockets" 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="classInspSocket.html">InspSocket</a>*&gt; <a class="el" href="users_8cpp.html#module_5Fsockets">module_sockets</a> </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="modules"></a><!-- doxytag: member="users.cpp::modules" ref="modules" 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="classModule.html">Module</a>*&gt; modules </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="ServerInstance"></a><!-- doxytag: member="users.cpp::ServerInstance" ref="ServerInstance" 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="classInspIRCd.html">InspIRCd</a>* <a class="el" href="users_8cpp.html#ServerInstance">ServerInstance</a> </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="socket_5Fref_5B_36_35_35_33_35_5D"></a><!-- doxytag: member="users.cpp::socket_ref" ref="socket_5Fref_5B_36_35_35_33_35_5D" args="[65535]" --><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="classInspSocket.html">InspSocket</a>* <a class="el" href="users_8cpp.html#socket_5Fref_5B_36_35_35_33_35_5D">socket_ref</a>[65535] </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="socket_8cpp-source.html#l00043">43</a> of file <a class="el" href="socket_8cpp-source.html">socket.cpp</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="TIME"></a><!-- doxytag: member="users.cpp::TIME" ref="TIME" 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">time_t <a class="el" href="users_8cpp.html#TIME">TIME</a> </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="whowas"></a><!-- doxytag: member="users.cpp::whowas" ref="whowas" 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="typedefs_8h.html#whowas_5Fhash">whowas_hash</a> <a class="el" href="users_8cpp.html#whowas">whowas</a> </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="users_8cpp-source.html#l00471">AddWhoWas()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="WHOWAS_5FMAX"></a><!-- doxytag: member="users.cpp::WHOWAS_MAX" ref="WHOWAS_5FMAX" 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 <a class="el" href="users_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a> </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="WHOWAS_5FSTALE"></a><!-- doxytag: member="users.cpp::WHOWAS_STALE" ref="WHOWAS_5FSTALE" 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 <a class="el" href="users_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/users_8cpp__incl.gif b/docs/module-doc/users_8cpp__incl.gif
deleted file mode 100644
index cf7ff8676..000000000
--- a/docs/module-doc/users_8cpp__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/users_8cpp__incl.map b/docs/module-doc/users_8cpp__incl.map
deleted file mode 100644
index 10b1319b3..000000000
--- a/docs/module-doc/users_8cpp__incl.map
+++ /dev/null
@@ -1,11 +0,0 @@
-base referer
-rect $channels_8h-source.html 600,640 685,667
-rect $connection_8h-source.html 593,260 692,287
-rect $users_8h-source.html 457,564 521,591
-rect $hashcomp_8h-source.html 596,438 689,464
-rect $inspircd_8h-source.html 296,210 376,236
-rect $socketengine_8h-source.html 433,159 545,186
-rect $commands_8h-source.html 287,716 385,743
-rect $typedefs_8h-source.html 144,412 229,439
-rect $message_8h-source.html 293,666 379,692
-rect $xline_8h-source.html 305,767 367,794
diff --git a/docs/module-doc/users_8cpp__incl.md5 b/docs/module-doc/users_8cpp__incl.md5
deleted file mode 100644
index b5702ddcc..000000000
--- a/docs/module-doc/users_8cpp__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-6b9b901afd1c7a5528dabf33f5a1687e \ No newline at end of file
diff --git a/docs/module-doc/users_8h-source.html b/docs/module-doc/users_8h-source.html
deleted file mode 100644
index 592526d3c..000000000
--- a/docs/module-doc/users_8h-source.html
+++ /dev/null
@@ -1,214 +0,0 @@
-<!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: users.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>users.h</h1><a href="users_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-2004 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">#include "inspircd_config.h"</span>
-<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="channels_8h.html">channels.h</a>"</span>
-<a name="l00019"></a>00019 <span class="preprocessor">#include "inspstring.h"</span>
-<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="connection_8h.html">connection.h</a>"</span>
-<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;string&gt;</span>
-<a name="l00022"></a>00022 <span class="preprocessor">#ifdef THREADED_DNS</span>
-<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#include &lt;pthread.h&gt;</span>
-<a name="l00024"></a>00024 <span class="preprocessor">#endif</span>
-<a name="l00025"></a>00025 <span class="preprocessor"></span>
-<a name="l00026"></a>00026 <span class="preprocessor">#ifndef __USERS_H__ </span>
-<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define __USERS_H__ </span>
-<a name="l00028"></a>00028 <span class="preprocessor"></span>
-<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="hashcomp_8h.html">hashcomp.h</a>"</span>
-<a name="l00030"></a>00030
-<a name="l00031"></a><a class="code" href="users_8h.html#STATUS_5FOP">00031</a> <span class="preprocessor">#define STATUS_OP 4</span>
-<a name="l00032"></a><a class="code" href="users_8h.html#STATUS_5FHOP">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define STATUS_HOP 2</span>
-<a name="l00033"></a><a class="code" href="users_8h.html#STATUS_5FVOICE">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define STATUS_VOICE 1</span>
-<a name="l00034"></a><a class="code" href="users_8h.html#STATUS_5FNORMAL">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define STATUS_NORMAL 0</span>
-<a name="l00035"></a>00035 <span class="preprocessor"></span>
-<a name="l00036"></a><a class="code" href="users_8h.html#CC_5FALLOW">00036</a> <span class="preprocessor">#define CC_ALLOW 0</span>
-<a name="l00037"></a><a class="code" href="users_8h.html#CC_5FDENY">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define CC_DENY 1</span>
-<a name="l00038"></a>00038 <span class="preprocessor"></span>
-<a name="l00039"></a>00039 <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <a class="code" href="namespaceirc.html#string">string</a> <a class="code" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">ConvToStr</a>(<span class="keyword">const</span> T &amp;in);
-<a name="l00040"></a>00040
-<a name="l00043"></a><a class="code" href="classInvited.html">00043</a> <span class="keyword">class </span><a class="code" href="classInvited.html">Invited</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00044"></a>00044 {
-<a name="l00045"></a>00045 <span class="keyword">public</span>:
-<a name="l00046"></a><a class="code" href="classInvited.html#channel">00046</a> <a class="code" href="namespaceirc.html#string">irc::string</a> <a class="code" href="classInvited.html#channel">channel</a>;
-<a name="l00047"></a>00047 };
-<a name="l00048"></a>00048
-<a name="l00049"></a>00049
-<a name="l00052"></a><a class="code" href="classConnectClass.html">00052</a> <span class="keyword">class </span><a class="code" href="classConnectClass.html">ConnectClass</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00053"></a>00053 {
-<a name="l00054"></a>00054 <span class="keyword">public</span>:
-<a name="l00057"></a><a class="code" href="classConnectClass.html#type">00057</a> <span class="keywordtype">char</span> <a class="code" href="classConnectClass.html#type">type</a>;
-<a name="l00060"></a><a class="code" href="classConnectClass.html#registration_5Ftimeout">00060</a> <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#registration_5Ftimeout">registration_timeout</a>;
-<a name="l00063"></a><a class="code" href="classConnectClass.html#flood">00063</a> <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#flood">flood</a>;
-<a name="l00066"></a><a class="code" href="classConnectClass.html#host_5BMAXBUF_5D">00066</a> <span class="keywordtype">char</span> <a class="code" href="classConnectClass.html#host_5BMAXBUF_5D">host</a>[MAXBUF];
-<a name="l00069"></a><a class="code" href="classConnectClass.html#pingtime">00069</a> <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#pingtime">pingtime</a>;
-<a name="l00072"></a><a class="code" href="classConnectClass.html#pass_5BMAXBUF_5D">00072</a> <span class="keywordtype">char</span> <a class="code" href="classConnectClass.html#pass_5BMAXBUF_5D">pass</a>[MAXBUF];
-<a name="l00073"></a>00073
-<a name="l00076"></a><a class="code" href="classConnectClass.html#threshold">00076</a> <span class="keywordtype">int</span> <a class="code" href="classConnectClass.html#threshold">threshold</a>;
-<a name="l00077"></a>00077
-<a name="l00080"></a><a class="code" href="classConnectClass.html#sendqmax">00080</a> <span class="keywordtype">long</span> <a class="code" href="classConnectClass.html#sendqmax">sendqmax</a>;
-<a name="l00081"></a>00081
-<a name="l00084"></a><a class="code" href="classConnectClass.html#recvqmax">00084</a> <span class="keywordtype">long</span> <a class="code" href="classConnectClass.html#recvqmax">recvqmax</a>;
-<a name="l00085"></a>00085
-<a name="l00086"></a><a class="code" href="classConnectClass.html#ConnectClass_28_29">00086</a> <a class="code" href="classConnectClass.html#ConnectClass_28_29">ConnectClass</a>()
-<a name="l00087"></a>00087 {
-<a name="l00088"></a>00088 <a class="code" href="classConnectClass.html#registration_5Ftimeout">registration_timeout</a> = 0;
-<a name="l00089"></a>00089 <a class="code" href="classConnectClass.html#flood">flood</a> = 0;
-<a name="l00090"></a>00090 <a class="code" href="classConnectClass.html#pingtime">pingtime</a> = 0;
-<a name="l00091"></a>00091 <a class="code" href="classConnectClass.html#threshold">threshold</a> = 0;
-<a name="l00092"></a>00092 <a class="code" href="classConnectClass.html#sendqmax">sendqmax</a> = 0;
-<a name="l00093"></a>00093 <a class="code" href="classConnectClass.html#recvqmax">recvqmax</a> = 0;
-<a name="l00094"></a>00094 strlcpy(<a class="code" href="classConnectClass.html#host_5BMAXBUF_5D">host</a>,<span class="stringliteral">""</span>,MAXBUF);
-<a name="l00095"></a>00095 strlcpy(<a class="code" href="classConnectClass.html#pass_5BMAXBUF_5D">pass</a>,<span class="stringliteral">""</span>,MAXBUF);
-<a name="l00096"></a>00096 }
-<a name="l00097"></a>00097 };
-<a name="l00098"></a>00098
-<a name="l00101"></a><a class="code" href="users_8h.html#InvitedList">00101</a> <span class="keyword">typedef</span> std::vector&lt;Invited&gt; <a class="code" href="users_8h.html#InvitedList">InvitedList</a>;
-<a name="l00102"></a>00102
-<a name="l00103"></a>00103
-<a name="l00104"></a>00104
-<a name="l00107"></a><a class="code" href="users_8h.html#ClassVector">00107</a> <span class="keyword">typedef</span> std::vector&lt;ConnectClass&gt; <a class="code" href="users_8h.html#ClassVector">ClassVector</a>;
-<a name="l00108"></a>00108
-<a name="l00115"></a><a class="code" href="classuserrec.html">00115</a> <span class="keyword">class </span><a class="code" href="classuserrec.html">userrec</a> : <span class="keyword">public</span> <a class="code" href="classconnection.html">connection</a>
-<a name="l00116"></a>00116 {
-<a name="l00117"></a>00117 <span class="keyword">private</span>:
-<a name="l00118"></a>00118
-<a name="l00121"></a><a class="code" href="classuserrec.html#invites">00121</a> <a class="code" href="users_8h.html#InvitedList">InvitedList</a> <a class="code" href="classuserrec.html#invites">invites</a>;
-<a name="l00122"></a>00122 <span class="keyword">public</span>:
-<a name="l00123"></a>00123
-<a name="l00128"></a><a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">00128</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>[NICKMAX];
-<a name="l00129"></a>00129
-<a name="l00133"></a><a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">00133</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>[IDENTMAX+2];
-<a name="l00134"></a>00134
-<a name="l00138"></a><a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">00138</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>[160];
-<a name="l00139"></a>00139
-<a name="l00142"></a><a class="code" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">00142</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>[MAXGECOS+1];
-<a name="l00143"></a>00143
-<a name="l00151"></a><a class="code" href="classuserrec.html#modes_5B_35_34_5D">00151</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#modes_5B_35_34_5D">modes</a>[54];
-<a name="l00152"></a>00152
-<a name="l00153"></a><a class="code" href="classuserrec.html#chans">00153</a> std::vector&lt;ucrec&gt; <a class="code" href="classuserrec.html#chans">chans</a>;
-<a name="l00154"></a>00154
-<a name="l00157"></a><a class="code" href="classuserrec.html#server">00157</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#server">server</a>;
-<a name="l00158"></a>00158
-<a name="l00162"></a><a class="code" href="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">00162</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#awaymsg_5BMAXAWAY_2B_31_5D">awaymsg</a>[MAXAWAY+1];
-<a name="l00163"></a>00163
-<a name="l00168"></a><a class="code" href="classuserrec.html#flood">00168</a> <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#flood">flood</a>;
-<a name="l00169"></a>00169
-<a name="l00174"></a><a class="code" href="classuserrec.html#timeout">00174</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#timeout">timeout</a>;
-<a name="l00175"></a>00175
-<a name="l00181"></a><a class="code" href="classuserrec.html#oper_5BNICKMAX_5D">00181</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#oper_5BNICKMAX_5D">oper</a>[NICKMAX];
-<a name="l00182"></a>00182
-<a name="l00185"></a><a class="code" href="classuserrec.html#dns_5Fdone">00185</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#dns_5Fdone">dns_done</a>;
-<a name="l00186"></a>00186
-<a name="l00189"></a><a class="code" href="classuserrec.html#pingmax">00189</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#pingmax">pingmax</a>;
-<a name="l00190"></a>00190
-<a name="l00195"></a><a class="code" href="classuserrec.html#password_5BMAXBUF_5D">00195</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#password_5BMAXBUF_5D">password</a>[MAXBUF];
-<a name="l00196"></a>00196
-<a name="l00201"></a><a class="code" href="classuserrec.html#recvq">00201</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classuserrec.html#recvq">recvq</a>;
-<a name="l00202"></a>00202
-<a name="l00206"></a><a class="code" href="classuserrec.html#sendq">00206</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classuserrec.html#sendq">sendq</a>;
-<a name="l00207"></a>00207
-<a name="l00210"></a><a class="code" href="classuserrec.html#lines_5Fin">00210</a> <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#lines_5Fin">lines_in</a>;
-<a name="l00211"></a><a class="code" href="classuserrec.html#reset_5Fdue">00211</a> time_t <a class="code" href="classuserrec.html#reset_5Fdue">reset_due</a>;
-<a name="l00212"></a><a class="code" href="classuserrec.html#threshold">00212</a> <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#threshold">threshold</a>;
-<a name="l00213"></a>00213
-<a name="l00214"></a>00214 <span class="comment">/* Write error string</span>
-<a name="l00215"></a>00215 <span class="comment"> */</span>
-<a name="l00216"></a><a class="code" href="classuserrec.html#WriteError">00216</a> <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classuserrec.html#WriteError">WriteError</a>;
-<a name="l00217"></a>00217
-<a name="l00220"></a><a class="code" href="classuserrec.html#sendqmax">00220</a> <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#sendqmax">sendqmax</a>;
-<a name="l00221"></a>00221
-<a name="l00224"></a><a class="code" href="classuserrec.html#recvqmax">00224</a> <span class="keywordtype">long</span> <a class="code" href="classuserrec.html#recvqmax">recvqmax</a>;
-<a name="l00225"></a>00225
-<a name="l00226"></a>00226 <a class="code" href="classuserrec.html#userrec_28_29">userrec</a>();
-<a name="l00227"></a>00227
-<a name="l00232"></a>00232 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#GetFullHost_28_29">GetFullHost</a>();
-<a name="l00233"></a>00233
-<a name="l00239"></a>00239 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#GetFullRealHost_28_29">GetFullRealHost</a>();
-<a name="l00240"></a>00240
-<a name="l00243"></a>00243 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#IsInvited_28irc_3A_3Astring_20_26channel_29">IsInvited</a>(<a class="code" href="namespaceirc.html#string">irc::string</a> &amp;channel);
-<a name="l00244"></a>00244
-<a name="l00247"></a>00247 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#InviteTo_28irc_3A_3Astring_20_26channel_29">InviteTo</a>(<a class="code" href="namespaceirc.html#string">irc::string</a> &amp;channel);
-<a name="l00248"></a>00248
-<a name="l00253"></a>00253 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#RemoveInvite_28irc_3A_3Astring_20_26channel_29">RemoveInvite</a>(<a class="code" href="namespaceirc.html#string">irc::string</a> &amp;channel);
-<a name="l00254"></a>00254
-<a name="l00259"></a>00259 <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#HasPermission_28std_3A_3Astring_20_26command_29">HasPermission</a>(<a class="code" href="namespaceirc.html#string">std::string</a> &amp;command);
-<a name="l00260"></a>00260
-<a name="l00263"></a>00263 <span class="keywordtype">int</span> <a class="code" href="classuserrec.html#ReadData_28void_20_2Abuffer_2C_20size_5Ft_20size_29">ReadData</a>(<span class="keywordtype">void</span>* buffer, size_t size);
-<a name="l00264"></a>00264
-<a name="l00272"></a>00272 <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#AddBuffer_28std_3A_3Astring_20a_29">AddBuffer</a>(<a class="code" href="namespaceirc.html#string">std::string</a> a);
-<a name="l00273"></a>00273
-<a name="l00277"></a>00277 <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#BufferIsReady_28_29">BufferIsReady</a>();
-<a name="l00278"></a>00278
-<a name="l00281"></a>00281 <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#ClearBuffer_28_29">ClearBuffer</a>();
-<a name="l00282"></a>00282
-<a name="l00290"></a>00290 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classuserrec.html#GetBuffer_28_29">GetBuffer</a>();
-<a name="l00291"></a>00291
-<a name="l00297"></a>00297 <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#SetWriteError_28std_3A_3Astring_20error_29">SetWriteError</a>(<a class="code" href="namespaceirc.html#string">std::string</a> error);
-<a name="l00298"></a>00298
-<a name="l00302"></a>00302 <a class="code" href="namespaceirc.html#string">std::string</a> <a class="code" href="classuserrec.html#GetWriteError_28_29">GetWriteError</a>();
-<a name="l00303"></a>00303
-<a name="l00309"></a>00309 <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#AddWriteBuf_28std_3A_3Astring_20data_29">AddWriteBuf</a>(<a class="code" href="namespaceirc.html#string">std::string</a> data);
-<a name="l00310"></a>00310
-<a name="l00317"></a>00317 <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>();
-<a name="l00318"></a>00318
-<a name="l00321"></a>00321 <a class="code" href="users_8h.html#InvitedList">InvitedList</a>* <a class="code" href="classuserrec.html#GetInviteList_28_29">GetInviteList</a>();
-<a name="l00322"></a>00322
-<a name="l00325"></a>00325 <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>();
-<a name="l00326"></a>00326
-<a name="l00327"></a>00327 <span class="keyword">virtual</span> <a class="code" href="classuserrec.html#_7Euserrec_28_29">~userrec</a>();
-<a name="l00328"></a>00328
-<a name="l00329"></a>00329 <span class="preprocessor">#ifdef THREADED_DNS</span>
-<a name="l00330"></a>00330 <span class="preprocessor"></span> pthread_t dnsthread;
-<a name="l00331"></a>00331 <span class="preprocessor">#endif</span>
-<a name="l00332"></a>00332 <span class="preprocessor"></span>};
-<a name="l00333"></a>00333
-<a name="l00336"></a><a class="code" href="classWhoWasUser.html">00336</a> <span class="keyword">class </span><a class="code" href="classWhoWasUser.html">WhoWasUser</a>
-<a name="l00337"></a>00337 {
-<a name="l00338"></a>00338 <span class="keyword">public</span>:
-<a name="l00339"></a><a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">00339</a> <span class="keywordtype">char</span> <a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a>[NICKMAX];
-<a name="l00340"></a><a class="code" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">00340</a> <span class="keywordtype">char</span> <a class="code" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">ident</a>[IDENTMAX+1];
-<a name="l00341"></a><a class="code" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">00341</a> <span class="keywordtype">char</span> <a class="code" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">dhost</a>[160];
-<a name="l00342"></a><a class="code" href="classWhoWasUser.html#host_5B_31_36_30_5D">00342</a> <span class="keywordtype">char</span> <a class="code" href="classWhoWasUser.html#host_5B_31_36_30_5D">host</a>[160];
-<a name="l00343"></a><a class="code" href="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">00343</a> <span class="keywordtype">char</span> <a class="code" href="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>[MAXGECOS+1];
-<a name="l00344"></a><a class="code" href="classWhoWasUser.html#server_5B_32_35_36_5D">00344</a> <span class="keywordtype">char</span> <a class="code" href="classWhoWasUser.html#server_5B_32_35_36_5D">server</a>[256];
-<a name="l00345"></a><a class="code" href="classWhoWasUser.html#signon">00345</a> time_t <a class="code" href="classWhoWasUser.html#signon">signon</a>;
-<a name="l00346"></a>00346 };
-<a name="l00347"></a>00347
-<a name="l00348"></a>00348 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#AddOper_28userrec_20_2Auser_29">AddOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00349"></a>00349 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#DeleteOper_28userrec_20_2Auser_29">DeleteOper</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00350"></a>00350 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.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="l00351"></a>00351 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.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="l00352"></a>00352 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a>(<a class="code" href="classuserrec.html">userrec</a>* u);
-<a name="l00353"></a>00353 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">AddClient</a>(<span class="keywordtype">int</span> socket, <span class="keywordtype">char</span>* host, <span class="keywordtype">int</span> port, <span class="keywordtype">bool</span> iscached, <span class="keywordtype">char</span>* ip);
-<a name="l00354"></a>00354 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00355"></a>00355 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.html#ConnectUser_28userrec_20_2Auser_29">ConnectUser</a>(<a class="code" href="classuserrec.html">userrec</a> *user);
-<a name="l00356"></a>00356 <a class="code" href="classuserrec.html">userrec</a>* <a class="code" href="users_8cpp.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="l00357"></a>00357 <span class="keywordtype">void</span> <a class="code" href="users_8cpp.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="l00358"></a>00358
-<a name="l00359"></a>00359 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/users_8h.html b/docs/module-doc/users_8h.html
deleted file mode 100644
index c8bbbca30..000000000
--- a/docs/module-doc/users_8h.html
+++ /dev/null
@@ -1,1221 +0,0 @@
-<!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: users.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>users.h File Reference</h1><code>#include &quot;inspircd_config.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="channels_8h-source.html">channels.h</a>&quot;</code><br>
-<code>#include &quot;inspstring.h&quot;</code><br>
-<code>#include &quot;<a class="el" href="connection_8h-source.html">connection.h</a>&quot;</code><br>
-<code>#include &lt;string&gt;</code><br>
-<code>#include &quot;<a class="el" href="hashcomp_8h-source.html">hashcomp.h</a>&quot;</code><br>
-
-<p>
-Include dependency graph for users.h:<p><center><img src="users_8h__incl.gif" border="0" usemap="#users.h_map" alt=""></center>
-<map name="users.h_map">
-<area href="channels_8h-source.html" shape="rect" coords="128,108,213,135" alt="">
-<area href="connection_8h-source.html" shape="rect" coords="121,159,220,185" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="124,57,217,84" alt="">
-</map>
-
-<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="531,235,629,261" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="531,387,629,413" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="540,564,620,591" alt="">
-<area href="commands_8h-source.html" shape="rect" coords="379,615,477,641" alt="">
-<area href="cull__list_8h-source.html" shape="rect" coords="121,311,199,337" alt="">
-<area href="globals_8h-source.html" shape="rect" coords="249,159,324,185" alt="">
-<area href="typedefs_8h-source.html" shape="rect" coords="385,260,471,287" alt="">
-<area href="inspircd_8h-source.html" shape="rect" coords="247,412,327,439" alt="">
-<area href="userprocess_8h-source.html" shape="rect" coords="376,463,480,489" alt="">
-<area href="mode_8h-source.html" shape="rect" coords="127,361,193,388" alt="">
-<area href="message_8h-source.html" shape="rect" coords="385,311,471,337" alt="">
-<area href="xline_8h-source.html" shape="rect" coords="397,513,459,540" alt="">
-</map>
-
-<p>
-<a href="users_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="classInvited.html">Invited</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a channel name to which a user has been invited. <a href="classInvited.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="classConnectClass.html">ConnectClass</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds information relevent to &lt;connect allow&gt; and &lt;connect deny&gt; tags in the config file. <a href="classConnectClass.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="classuserrec.html">userrec</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds all information about a user This class stores all information about a user connected to the irc server. <a href="classuserrec.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="classWhoWasUser.html">WhoWasUser</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A lightweight userrec used by WHOWAS. <a href="classWhoWasUser.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#STATUS_5FOP">STATUS_OP</a>&nbsp;&nbsp;&nbsp;4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#STATUS_5FHOP">STATUS_HOP</a>&nbsp;&nbsp;&nbsp;2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#STATUS_5FVOICE">STATUS_VOICE</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#STATUS_5FNORMAL">STATUS_NORMAL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#CC_5FALLOW">CC_ALLOW</a>&nbsp;&nbsp;&nbsp;0</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#CC_5FDENY">CC_DENY</a>&nbsp;&nbsp;&nbsp;1</td></tr>
-
-<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classInvited.html">Invited</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#InvitedList">InvitedList</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a complete list of all channels to which a user has been invited and has not yet joined. <a href="#InvitedList"></a><br></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector&lt; <a class="el" href="classConnectClass.html">ConnectClass</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#ClassVector">ClassVector</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Holds a complete list of all allow and deny tags from the configuration file (connection classes). <a href="#ClassVector"></a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T&gt; </td></tr>
-<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="namespaceirc.html#string">string</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="users_8h.html#ConvToStr_28const_20T_20_26in_29">ConvToStr</a> (const T &amp;in)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_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="users_8h.html#DeleteOper_28userrec_20_2Auser_29">DeleteOper</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="users_8h.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *r)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a> (<a class="el" href="classuserrec.html">userrec</a> *u)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29">AddClient</a> (int socket, char *host, int port, bool iscached, char *ip)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</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="users_8h.html#ConnectUser_28userrec_20_2Auser_29">ConnectUser</a> (<a class="el" href="classuserrec.html">userrec</a> *user)</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="users_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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="users_8h.html#force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29">force_nickchange</a> (<a class="el" href="classuserrec.html">userrec</a> *user, const char *newnick)</td></tr>
-
-</table>
-<hr><h2>Define Documentation</h2>
-<a class="anchor" name="CC_5FALLOW"></a><!-- doxytag: member="users.h::CC_ALLOW" ref="CC_5FALLOW" 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">#define CC_ALLOW&nbsp;&nbsp;&nbsp;0 </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="users_8h-source.html#l00036">36</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#l00524">AddClient()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="CC_5FDENY"></a><!-- doxytag: member="users.h::CC_DENY" ref="CC_5FDENY" 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">#define CC_DENY&nbsp;&nbsp;&nbsp;1 </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="users_8h-source.html#l00037">37</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="STATUS_5FHOP"></a><!-- doxytag: member="users.h::STATUS_HOP" ref="STATUS_5FHOP" 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">#define STATUS_HOP&nbsp;&nbsp;&nbsp;2 </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="users_8h-source.html#l00032">32</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#l00459">kick_channel()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="STATUS_5FNORMAL"></a><!-- doxytag: member="users.h::STATUS_NORMAL" ref="STATUS_5FNORMAL" 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">#define STATUS_NORMAL&nbsp;&nbsp;&nbsp;0 </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="users_8h-source.html#l00034">34</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="STATUS_5FOP"></a><!-- doxytag: member="users.h::STATUS_OP" ref="STATUS_5FOP" 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">#define STATUS_OP&nbsp;&nbsp;&nbsp;4 </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="users_8h-source.html#l00031">31</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="STATUS_5FVOICE"></a><!-- doxytag: member="users.h::STATUS_VOICE" ref="STATUS_5FVOICE" 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">#define STATUS_VOICE&nbsp;&nbsp;&nbsp;1 </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="users_8h-source.html#l00033">33</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Typedef Documentation</h2>
-<a class="anchor" name="ClassVector"></a><!-- doxytag: member="users.h::ClassVector" ref="ClassVector" 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">typedef std::vector&lt;<a class="el" href="classConnectClass.html">ConnectClass</a>&gt; <a class="el" href="users_8h.html#ClassVector">ClassVector</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds a complete list of all allow and deny tags from the configuration file (connection classes).
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00107">107</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="InvitedList"></a><!-- doxytag: member="users.h::InvitedList" ref="InvitedList" 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">typedef std::vector&lt;<a class="el" href="classInvited.html">Invited</a>&gt; <a class="el" href="users_8h.html#InvitedList">InvitedList</a> </td>
- </tr>
- </table>
- </td>
- </tr>
-</table>
-<table cellspacing="5" cellpadding="0" border="0">
- <tr>
- <td>
- &nbsp;
- </td>
- <td>
-
-<p>
-Holds a complete list of all channels to which a user has been invited and has not yet joined.
-<p>
-
-<p>
-Definition at line <a class="el" href="users_8h-source.html#l00101">101</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
- </tr>
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29"></a><!-- doxytag: member="users.h::AddClient" ref="AddClient_28int_20socket_2C_20char_20_2Ahost_2C_20int_20port_2C_20bool_20iscached_2C_20char_20_2Aip_29" args="(int socket, char *host, int port, bool iscached, char *ip)" --><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 AddClient </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">int&nbsp;</td>
- <td class="mdname" nowrap> <em>socket</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>host</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>int&nbsp;</td>
- <td class="mdname" nowrap> <em>port</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>bool&nbsp;</td>
- <td class="mdname" nowrap> <em>iscached</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>ip</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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00524">524</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="socketengine_8cpp-source.html#l00065">SocketEngine::AddFd()</a>, <a class="el" href="users_8h-source.html#l00036">CC_ALLOW</a>, <a class="el" href="channels_8h-source.html#l00254">ucrec::channel</a>, <a class="el" href="inspircd__io_8h-source.html#l00243">ServerConfig::Classes</a>, <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="users_8cpp-source.html#l00056">ConvToStr()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="inspircd__io_8h-source.html#l00177">ServerConfig::dns_timeout</a>, <a class="el" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr()</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00052">local_users</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="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception()</a>, <a class="el" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">matches_zline()</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</a>, <a class="el" href="inspircd__io_8h-source.html#l00069">ServerConfig::ServerName</a>, <a class="el" href="inspircd__io_8h-source.html#l00194">ServerConfig::SoftLimit</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</a>, <a class="el" href="channels_8h-source.html#l00249">ucrec::uc_modes</a>, and <a class="el" href="socketengine_8h-source.html#l00043">X_ESTAB_CLIENT</a>.<div class="fragment"><pre class="fragment"><a name="l00525"></a>00525 {
-<a name="l00526"></a>00526 <a class="code" href="namespaceirc.html#string">string</a> tempnick;
-<a name="l00527"></a>00527 <span class="keywordtype">char</span> tn2[MAXBUF];
-<a name="l00528"></a>00528 user_hash::iterator iter;
-<a name="l00529"></a>00529
-<a name="l00530"></a>00530 tempnick = <a class="code" href="users_8cpp.html#ConvToStr_28const_20T_20_26in_29">ConvToStr</a>(socket) + <span class="stringliteral">"-unknown"</span>;
-<a name="l00531"></a>00531 sprintf(tn2,<span class="stringliteral">"%lu-unknown"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)socket);
-<a name="l00532"></a>00532
-<a name="l00533"></a>00533 iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(tempnick);
-<a name="l00534"></a>00534
-<a name="l00535"></a>00535 <span class="comment">// fix by brain.</span>
-<a name="l00536"></a>00536 <span class="comment">// as these nicknames are 'RFC impossible', we can be sure nobody is going to be</span>
-<a name="l00537"></a>00537 <span class="comment">// using one as a registered connection. As theyre per fd, we can also safely assume</span>
-<a name="l00538"></a>00538 <span class="comment">// that we wont have collisions. Therefore, if the nick exists in the list, its only</span>
-<a name="l00539"></a>00539 <span class="comment">// used by a dead socket, erase the iterator so that the new client may reclaim it.</span>
-<a name="l00540"></a>00540 <span class="comment">// this was probably the cause of 'server ignores me when i hammer it with reconnects'</span>
-<a name="l00541"></a>00541 <span class="comment">// issue in earlier alphas/betas</span>
-<a name="l00542"></a>00542 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00543"></a>00543 {
-<a name="l00544"></a>00544 <a class="code" href="classuserrec.html">userrec</a>* goner = iter-&gt;second;
-<a name="l00545"></a>00545 <span class="keyword">delete</span> goner;
-<a name="l00546"></a>00546 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00547"></a>00547 }
-<a name="l00548"></a>00548
-<a name="l00549"></a>00549 <span class="comment">/*</span>
-<a name="l00550"></a>00550 <span class="comment"> * It is OK to access the value here this way since we know</span>
-<a name="l00551"></a>00551 <span class="comment"> * it exists, we just created it above.</span>
-<a name="l00552"></a>00552 <span class="comment"> *</span>
-<a name="l00553"></a>00553 <span class="comment"> * At NO other time should you access a value in a map or a</span>
-<a name="l00554"></a>00554 <span class="comment"> * hash_map this way.</span>
-<a name="l00555"></a>00555 <span class="comment"> */</span>
-<a name="l00556"></a>00556 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick] = <span class="keyword">new</span> <a class="code" href="classuserrec.html">userrec</a>();
-<a name="l00557"></a>00557
-<a name="l00558"></a>00558 <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">"AddClient: %lu %s %d %s"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)socket,host,port,ip);
-<a name="l00559"></a>00559
-<a name="l00560"></a>00560 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;fd = socket;
-<a name="l00561"></a>00561 strlcpy(clientlist[tempnick]-&gt;nick, tn2,NICKMAX);
-<a name="l00562"></a>00562 strlcpy(clientlist[tempnick]-&gt;host, host,160);
-<a name="l00563"></a>00563 strlcpy(clientlist[tempnick]-&gt;dhost, host,160);
-<a name="l00564"></a>00564 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;server = (<span class="keywordtype">char</span>*)<a class="code" href="inspircd_8h.html#FindServerNamePtr_28std_3A_3Astring_20servername_29">FindServerNamePtr</a>(<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>);
-<a name="l00565"></a>00565 strlcpy(clientlist[tempnick]-&gt;ident, <span class="stringliteral">"unknown"</span>,IDENTMAX);
-<a name="l00566"></a>00566 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;registered = 0;
-<a name="l00567"></a>00567 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;signon = <a class="code" href="channels_8cpp.html#TIME">TIME</a> + <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a>;
-<a name="l00568"></a>00568 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;lastping = 1;
-<a name="l00569"></a>00569 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;port = port;
-<a name="l00570"></a>00570 strlcpy(clientlist[tempnick]-&gt;ip,ip,16);
-<a name="l00571"></a>00571
-<a name="l00572"></a>00572 <span class="comment">// set the registration timeout for this user</span>
-<a name="l00573"></a>00573 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> class_regtimeout = 90;
-<a name="l00574"></a>00574 <span class="keywordtype">int</span> class_flood = 0;
-<a name="l00575"></a>00575 <span class="keywordtype">long</span> class_threshold = 5;
-<a name="l00576"></a>00576 <span class="keywordtype">long</span> class_sqmax = 262144; <span class="comment">// 256kb</span>
-<a name="l00577"></a>00577 <span class="keywordtype">long</span> class_rqmax = 4096; <span class="comment">// 4k</span>
-<a name="l00578"></a>00578
-<a name="l00579"></a>00579 <span class="keywordflow">for</span> (ClassVector::iterator i = <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Classes">Classes</a>.begin(); i != <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Classes">Classes</a>.end(); i++)
-<a name="l00580"></a>00580 {
-<a name="l00581"></a>00581 <span class="keywordflow">if</span> (match(clientlist[tempnick]-&gt;host,i-&gt;host) &amp;&amp; (i-&gt;type == <a class="code" href="users_8h.html#CC_5FALLOW">CC_ALLOW</a>))
-<a name="l00582"></a>00582 {
-<a name="l00583"></a>00583 class_regtimeout = (<span class="keywordtype">unsigned</span> long)i-&gt;registration_timeout;
-<a name="l00584"></a>00584 class_flood = i-&gt;flood;
-<a name="l00585"></a>00585 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;pingmax = i-&gt;pingtime;
-<a name="l00586"></a>00586 class_threshold = i-&gt;threshold;
-<a name="l00587"></a>00587 class_sqmax = i-&gt;sendqmax;
-<a name="l00588"></a>00588 class_rqmax = i-&gt;recvqmax;
-<a name="l00589"></a>00589 <span class="keywordflow">break</span>;
-<a name="l00590"></a>00590 }
-<a name="l00591"></a>00591 }
-<a name="l00592"></a>00592
-<a name="l00593"></a>00593 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;nping = <a class="code" href="channels_8cpp.html#TIME">TIME</a>+<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;pingmax + <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#dns_5Ftimeout">dns_timeout</a>;
-<a name="l00594"></a>00594 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;timeout = <a class="code" href="channels_8cpp.html#TIME">TIME</a>+class_regtimeout;
-<a name="l00595"></a>00595 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;flood = class_flood;
-<a name="l00596"></a>00596 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;threshold = class_threshold;
-<a name="l00597"></a>00597 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;sendqmax = class_sqmax;
-<a name="l00598"></a>00598 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;recvqmax = class_rqmax;
-<a name="l00599"></a>00599
-<a name="l00600"></a>00600 <a class="code" href="classucrec.html">ucrec</a> a;
-<a name="l00601"></a>00601 a.<a class="code" href="classucrec.html#channel">channel</a> = NULL;
-<a name="l00602"></a>00602 a.<a class="code" href="classucrec.html#uc_5Fmodes">uc_modes</a> = 0;
-<a name="l00603"></a>00603 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
-<a name="l00604"></a>00604 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick]-&gt;chans.push_back(a);
-<a name="l00605"></a>00605
-<a name="l00606"></a>00606 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.size() &gt; <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#SoftLimit">SoftLimit</a>)
-<a name="l00607"></a>00607 {
-<a name="l00608"></a>00608 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],<span class="stringliteral">"No more connections allowed"</span>);
-<a name="l00609"></a>00609 <span class="keywordflow">return</span>;
-<a name="l00610"></a>00610 }
-<a name="l00611"></a>00611
-<a name="l00612"></a>00612 <span class="keywordflow">if</span> (<a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.size() &gt;= MAXCLIENTS)
-<a name="l00613"></a>00613 {
-<a name="l00614"></a>00614 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],<span class="stringliteral">"No more connections allowed"</span>);
-<a name="l00615"></a>00615 <span class="keywordflow">return</span>;
-<a name="l00616"></a>00616 }
-<a name="l00617"></a>00617
-<a name="l00618"></a>00618 <span class="comment">// this is done as a safety check to keep the file descriptors within range of fd_ref_table.</span>
-<a name="l00619"></a>00619 <span class="comment">// its a pretty big but for the moment valid assumption:</span>
-<a name="l00620"></a>00620 <span class="comment">// file descriptors are handed out starting at 0, and are recycled as theyre freed.</span>
-<a name="l00621"></a>00621 <span class="comment">// therefore if there is ever an fd over 65535, 65536 clients must be connected to the</span>
-<a name="l00622"></a>00622 <span class="comment">// irc server at once (or the irc server otherwise initiating this many connections, files etc)</span>
-<a name="l00623"></a>00623 <span class="comment">// which for the time being is a physical impossibility (even the largest networks dont have more</span>
-<a name="l00624"></a>00624 <span class="comment">// than about 10,000 users on ONE server!)</span>
-<a name="l00625"></a>00625 <span class="keywordflow">if</span> ((<span class="keywordtype">unsigned</span>)socket &gt; 65534)
-<a name="l00626"></a>00626 {
-<a name="l00627"></a>00627 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],<span class="stringliteral">"Server is full"</span>);
-<a name="l00628"></a>00628 <span class="keywordflow">return</span>;
-<a name="l00629"></a>00629 }
-<a name="l00630"></a>00630 <span class="keywordtype">char</span>* e = <a class="code" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a>(ip);
-<a name="l00631"></a>00631 <span class="keywordflow">if</span> (!e)
-<a name="l00632"></a>00632 {
-<a name="l00633"></a>00633 <span class="keywordtype">char</span>* r = <a class="code" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">matches_zline</a>(ip);
-<a name="l00634"></a>00634 <span class="keywordflow">if</span> (r)
-<a name="l00635"></a>00635 {
-<a name="l00636"></a>00636 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00637"></a>00637 snprintf(reason,MAXBUF,<span class="stringliteral">"Z-Lined: %s"</span>,r);
-<a name="l00638"></a>00638 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(clientlist[tempnick],reason);
-<a name="l00639"></a>00639 <span class="keywordflow">return</span>;
-<a name="l00640"></a>00640 }
-<a name="l00641"></a>00641 }
-<a name="l00642"></a>00642 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[socket] = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[tempnick];
-<a name="l00643"></a>00643 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.push_back(clientlist[tempnick]);
-<a name="l00644"></a>00644 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#AddFd_28int_20fd_2C_20bool_20readable_2C_20char_20type_29">AddFd</a>(socket,<span class="keyword">true</span>,<a class="code" href="socketengine_8h.html#X_5FESTAB_5FCLIENT">X_ESTAB_CLIENT</a>);
-<a name="l00645"></a>00645 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddOper_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.h::AddOper" ref="AddOper_28userrec_20_2Auser_29" args="(userrec *user)" --><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 AddOper </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00330">330</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00054">all_opers</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, and <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="l00331"></a>00331 {
-<a name="l00332"></a>00332 <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">"Oper added to optimization list"</span>);
-<a name="l00333"></a>00333 <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.push_back(user);
-<a name="l00334"></a>00334 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="AddWhoWas_28userrec_20_2Au_29"></a><!-- doxytag: member="users.h::AddWhoWas" ref="AddWhoWas_28userrec_20_2Au_29" args="(userrec *u)" --><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 AddWhoWas </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="mdname1" valign="top" nowrap> <em>u</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00471">471</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="users_8h-source.html#l00138">userrec::dhost</a>, <a class="el" href="users_8h-source.html#l00341">WhoWasUser::dhost</a>, <a class="el" href="users_8h-source.html#l00142">userrec::fullname</a>, <a class="el" href="users_8h-source.html#l00343">WhoWasUser::fullname</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00342">WhoWasUser::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="users_8h-source.html#l00340">WhoWasUser::ident</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#l00339">WhoWasUser::nick</a>, <a class="el" href="users_8h-source.html#l00128">userrec::nick</a>, <a class="el" href="users_8h-source.html#l00157">userrec::server</a>, <a class="el" href="users_8h-source.html#l00344">WhoWasUser::server</a>, <a class="el" href="connection_8h-source.html#l00088">connection::signon</a>, <a class="el" href="users_8h-source.html#l00345">WhoWasUser::signon</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</a>, <a class="el" href="users_8cpp.html#whowas">whowas</a>, <a class="el" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a>, and <a class="el" href="channels_8cpp.html#WHOWAS_5FSTALE">WHOWAS_STALE</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>.<div class="fragment"><pre class="fragment"><a name="l00472"></a>00472 {
-<a name="l00473"></a>00473 whowas_hash::iterator iter = <a class="code" href="users_8cpp.html#whowas">whowas</a>.find(u-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00474"></a>00474 <a class="code" href="classWhoWasUser.html">WhoWasUser</a> *a = <span class="keyword">new</span> <a class="code" href="classWhoWasUser.html">WhoWasUser</a>();
-<a name="l00475"></a>00475 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a>,u-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,NICKMAX);
-<a name="l00476"></a>00476 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#ident_5BIDENTMAX_2B_31_5D">ident</a>,u-&gt;<a class="code" href="classuserrec.html#ident_5BIDENTMAX_2B_32_5D">ident</a>,IDENTMAX);
-<a name="l00477"></a>00477 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#dhost_5B_31_36_30_5D">dhost</a>,u-&gt;<a class="code" href="classuserrec.html#dhost_5B_31_36_30_5D">dhost</a>,160);
-<a name="l00478"></a>00478 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#host_5B_31_36_30_5D">host</a>,u-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>,160);
-<a name="l00479"></a>00479 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,u-&gt;<a class="code" href="classuserrec.html#fullname_5BMAXGECOS_2B_31_5D">fullname</a>,MAXGECOS);
-<a name="l00480"></a>00480 strlcpy(a-&gt;<a class="code" href="classWhoWasUser.html#server_5B_32_35_36_5D">server</a>,u-&gt;<a class="code" href="classuserrec.html#server">server</a>,256);
-<a name="l00481"></a>00481 a-&gt;<a class="code" href="classWhoWasUser.html#signon">signon</a> = u-&gt;<a class="code" href="classconnection.html#signon">signon</a>;
-<a name="l00482"></a>00482
-<a name="l00483"></a>00483 <span class="comment">/* MAX_WHOWAS: max number of /WHOWAS items</span>
-<a name="l00484"></a>00484 <span class="comment"> * WHOWAS_STALE: number of hours before a WHOWAS item is marked as stale and</span>
-<a name="l00485"></a>00485 <span class="comment"> * can be replaced by a newer one</span>
-<a name="l00486"></a>00486 <span class="comment"> */</span>
-<a name="l00487"></a>00487
-<a name="l00488"></a>00488 <span class="keywordflow">if</span> (iter == <a class="code" href="users_8cpp.html#whowas">whowas</a>.end())
-<a name="l00489"></a>00489 {
-<a name="l00490"></a>00490 <span class="keywordflow">if</span> (<a class="code" href="users_8cpp.html#whowas">whowas</a>.size() &gt;= (unsigned)<a class="code" href="channels_8cpp.html#WHOWAS_5FMAX">WHOWAS_MAX</a>)
-<a name="l00491"></a>00491 {
-<a name="l00492"></a>00492 <span class="keywordflow">for</span> (whowas_hash::iterator i = <a class="code" href="users_8cpp.html#whowas">whowas</a>.begin(); i != <a class="code" href="users_8cpp.html#whowas">whowas</a>.end(); i++)
-<a name="l00493"></a>00493 {
-<a name="l00494"></a>00494 <span class="comment">// 3600 seconds in an hour ;)</span>
-<a name="l00495"></a>00495 <span class="keywordflow">if</span> ((i-&gt;second-&gt;signon)&lt;(TIME-(WHOWAS_STALE*3600)))
-<a name="l00496"></a>00496 {
-<a name="l00497"></a>00497 <span class="comment">// delete the old one</span>
-<a name="l00498"></a>00498 <span class="keywordflow">if</span> (i-&gt;second) <span class="keyword">delete</span> i-&gt;second;
-<a name="l00499"></a>00499 <span class="comment">// replace with new one</span>
-<a name="l00500"></a>00500 i-&gt;second = a;
-<a name="l00501"></a>00501 <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">"added WHOWAS entry, purged an old record"</span>);
-<a name="l00502"></a>00502 <span class="keywordflow">return</span>;
-<a name="l00503"></a>00503 }
-<a name="l00504"></a>00504 }
-<a name="l00505"></a>00505 <span class="comment">// no space left and user doesnt exist. Don't leave ram in use!</span>
-<a name="l00506"></a>00506 <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">"Not able to update whowas (list at WHOWAS_MAX entries and trying to add new?), freeing excess ram"</span>);
-<a name="l00507"></a>00507 <span class="keyword">delete</span> a;
-<a name="l00508"></a>00508 }
-<a name="l00509"></a>00509 <span class="keywordflow">else</span>
-<a name="l00510"></a>00510 {
-<a name="l00511"></a>00511 <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">"added fresh WHOWAS entry"</span>);
-<a name="l00512"></a>00512 <a class="code" href="users_8cpp.html#whowas">whowas</a>[a-&gt;<a class="code" href="classWhoWasUser.html#nick_5BNICKMAX_5D">nick</a>] = a;
-<a name="l00513"></a>00513 }
-<a name="l00514"></a>00514 }
-<a name="l00515"></a>00515 <span class="keywordflow">else</span>
-<a name="l00516"></a>00516 {
-<a name="l00517"></a>00517 <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">"updated WHOWAS entry"</span>);
-<a name="l00518"></a>00518 <span class="keywordflow">if</span> (iter-&gt;second) <span class="keyword">delete</span> iter-&gt;second;
-<a name="l00519"></a>00519 iter-&gt;second = a;
-<a name="l00520"></a>00520 }
-<a name="l00521"></a>00521 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ConnectUser_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.h::ConnectUser" ref="ConnectUser_28userrec_20_2Auser_29" args="(userrec *user)" --><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 ConnectUser </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00731">731</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8h-source.html#l00185">userrec::dns_done</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, and <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>.<div class="fragment"><pre class="fragment"><a name="l00732"></a>00732 {
-<a name="l00733"></a>00733 <span class="comment">// dns is already done, things are fast. no need to wait for dns to complete just pass them straight on</span>
-<a name="l00734"></a>00734 <span class="keywordflow">if</span> ((user-&gt;<a class="code" href="classuserrec.html#dns_5Fdone">dns_done</a>) &amp;&amp; (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> &gt;= 3) &amp;&amp; (AllModulesReportReady(user)))
-<a name="l00735"></a>00735 {
-<a name="l00736"></a>00736 <a class="code" href="users_8cpp.html#FullConnectUser_28userrec_20_2Auser_29">FullConnectUser</a>(user);
-<a name="l00737"></a>00737 }
-<a name="l00738"></a>00738 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ConvToStr_28const_20T_20_26in_29"></a><!-- doxytag: member="users.h::ConvToStr" ref="ConvToStr_28const_20T_20_26in_29" args="(const T &amp;in)" --><p>
-<table class="mdTable" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="mdPrefix" colspan="4">
-template&lt;typename T&gt; </td>
- </tr>
- <tr>
- <td class="md" nowrap valign="top"><a class="el" href="namespaceirc.html#string">string</a> ConvToStr </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>in</em> </td>
- <td class="md" valign="top">&nbsp;)&nbsp;</td>
- <td class="md" nowrap><code> [inline]</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="users_8cpp-source.html#l00056">56</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>.<div class="fragment"><pre class="fragment"><a name="l00057"></a>00057 {
-<a name="l00058"></a>00058 stringstream tmp;
-<a name="l00059"></a>00059 <span class="keywordflow">if</span> (!(tmp &lt;&lt; in)) <span class="keywordflow">return</span> <a class="code" href="namespaceirc.html#string">string</a>();
-<a name="l00060"></a>00060 <span class="keywordflow">return</span> tmp.str();
-<a name="l00061"></a>00061 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="DeleteOper_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.h::DeleteOper" ref="DeleteOper_28userrec_20_2Auser_29" args="(userrec *user)" --><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 DeleteOper </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00336">336</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00054">all_opers</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, and <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="l00337"></a>00337 {
-<a name="l00338"></a>00338 <span class="keywordflow">for</span> (std::vector&lt;userrec*&gt;::iterator a = <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.begin(); a &lt; <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.end(); a++)
-<a name="l00339"></a>00339 {
-<a name="l00340"></a>00340 <span class="keywordflow">if</span> (*a == user)
-<a name="l00341"></a>00341 {
-<a name="l00342"></a>00342 <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">"Oper removed from optimization list"</span>);
-<a name="l00343"></a>00343 <a class="code" href="users_8cpp.html#all_5Fopers">all_opers</a>.erase(a);
-<a name="l00344"></a>00344 <span class="keywordflow">return</span>;
-<a name="l00345"></a>00345 }
-<a name="l00346"></a>00346 }
-<a name="l00347"></a>00347 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29"></a><!-- doxytag: member="users.h::force_nickchange" ref="force_5Fnickchange_28userrec_20_2Auser_2C_20const_20char_20_2Anewnick_29" args="(userrec *user, const char *newnick)" --><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 force_nickchange </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>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>newnick</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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00769">769</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="modules_8h-source.html#l00090">FOREACH_RESULT</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">matches_qline()</a>, <a class="el" href="inspircd_8h-source.html#l00110">InspIRCd::Parser</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd_8h-source.html#l00112">InspIRCd::stats</a>, and <a class="el" href="inspircd_8h-source.html#l00080">serverstats::statsCollisions</a>.
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00385">Server::ChangeUserNick()</a>.<div class="fragment"><pre class="fragment"><a name="l00770"></a>00770 {
-<a name="l00771"></a>00771 <span class="keywordtype">char</span> nick[MAXBUF];
-<a name="l00772"></a>00772 <span class="keywordtype">int</span> MOD_RESULT = 0;
-<a name="l00773"></a>00773
-<a name="l00774"></a>00774 strcpy(nick,<span class="stringliteral">""</span>);
-<a name="l00775"></a>00775
-<a name="l00776"></a>00776 <a class="code" href="modules_8h.html#FOREACH_5FRESULT_28x_29">FOREACH_RESULT</a>(OnUserPreNick(user,newnick));
-<a name="l00777"></a>00777 <span class="keywordflow">if</span> (MOD_RESULT) {
-<a name="l00778"></a>00778 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a>++;
-<a name="l00779"></a>00779 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Nickname collision"</span>);
-<a name="l00780"></a>00780 <span class="keywordflow">return</span>;
-<a name="l00781"></a>00781 }
-<a name="l00782"></a>00782 <span class="keywordflow">if</span> (<a class="code" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">matches_qline</a>(newnick))
-<a name="l00783"></a>00783 {
-<a name="l00784"></a>00784 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsCollisions">statsCollisions</a>++;
-<a name="l00785"></a>00785 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Nickname collision"</span>);
-<a name="l00786"></a>00786 <span class="keywordflow">return</span>;
-<a name="l00787"></a>00787 }
-<a name="l00788"></a>00788
-<a name="l00789"></a>00789 <span class="keywordflow">if</span> (user)
-<a name="l00790"></a>00790 {
-<a name="l00791"></a>00791 <span class="keywordflow">if</span> (newnick)
-<a name="l00792"></a>00792 {
-<a name="l00793"></a>00793 strncpy(nick,newnick,MAXBUF);
-<a name="l00794"></a>00794 }
-<a name="l00795"></a>00795 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7)
-<a name="l00796"></a>00796 {
-<a name="l00797"></a>00797 <span class="keywordtype">char</span>* pars[1];
-<a name="l00798"></a>00798 pars[0] = nick;
-<a name="l00799"></a>00799 <a class="code" href="namespaceirc.html#string">std::string</a> cmd = <span class="stringliteral">"NICK"</span>;
-<a name="l00800"></a>00800 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#Parser">Parser</a>-&gt;CallHandler(cmd,pars,1,user);
-<a name="l00801"></a>00801 }
-<a name="l00802"></a>00802 }
-<a name="l00803"></a>00803 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="FullConnectUser_28userrec_20_2Auser_29"></a><!-- doxytag: member="users.h::FullConnectUser" ref="FullConnectUser_28userrec_20_2Auser_29" args="(userrec *user)" --><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 FullConnectUser </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="mdname1" valign="top" nowrap> <em>user</em> </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>
-Definition at line <a class="el" href="users_8cpp-source.html#l00647">647</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, <a class="el" href="connection_8h-source.html#l00042">connection::fd</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="connection_8h-source.html#l00070">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="connection_8h-source.html#l00092">connection::idle_lastmsg</a>, <a class="el" href="connection_8h-source.html#l00050">connection::ip</a>, <a class="el" href="users_8cpp-source.html#l00349">kill_link()</a>, <a class="el" href="users_8cpp-source.html#l00412">kill_link_silent()</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="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception()</a>, <a class="el" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">matches_gline()</a>, <a class="el" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">matches_kline()</a>, <a class="el" href="inspircd__io_8h-source.html#l00075">ServerConfig::Network</a>, <a class="el" href="users_8h-source.html#l00128">userrec::nick</a>, <a class="el" href="connection_8h-source.html#l00076">connection::port</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd__io_8h-source.html#l00069">ServerConfig::ServerName</a>, <a class="el" href="inspircd_8h-source.html#l00112">InspIRCd::stats</a>, <a class="el" href="inspircd_8h-source.html#l00084">serverstats::statsConnects</a>, <a class="el" href="channels_8cpp.html#TIME">TIME</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>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00731">ConnectUser()</a>.<div class="fragment"><pre class="fragment"><a name="l00648"></a>00648 {
-<a name="l00649"></a>00649 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#stats">stats</a>-&gt;<a class="code" href="classserverstats.html#statsConnects">statsConnects</a>++;
-<a name="l00650"></a>00650 user-&gt;<a class="code" href="classconnection.html#idle_5Flastmsg">idle_lastmsg</a> = <a class="code" href="channels_8cpp.html#TIME">TIME</a>;
-<a name="l00651"></a>00651 <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">"ConnectUser: %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00652"></a>00652
-<a name="l00653"></a>00653 <span class="keywordflow">if</span> ((strcmp(Passwd(user),<span class="stringliteral">""</span>)) &amp;&amp; (!user-&gt;<a class="code" href="classconnection.html#haspassed">haspassed</a>))
-<a name="l00654"></a>00654 {
-<a name="l00655"></a>00655 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Invalid password"</span>);
-<a name="l00656"></a>00656 <span class="keywordflow">return</span>;
-<a name="l00657"></a>00657 }
-<a name="l00658"></a>00658 <span class="keywordflow">if</span> (IsDenied(user))
-<a name="l00659"></a>00659 {
-<a name="l00660"></a>00660 <a class="code" href="users_8cpp.html#kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link</a>(user,<span class="stringliteral">"Unauthorised connection"</span>);
-<a name="l00661"></a>00661 <span class="keywordflow">return</span>;
-<a name="l00662"></a>00662 }
-<a name="l00663"></a>00663
-<a name="l00664"></a>00664 <span class="keywordtype">char</span> match_against[MAXBUF];
-<a name="l00665"></a>00665 snprintf(match_against,MAXBUF,<span class="stringliteral">"%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>);
-<a name="l00666"></a>00666 <span class="keywordtype">char</span>* e = <a class="code" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a>(match_against);
-<a name="l00667"></a>00667 <span class="keywordflow">if</span> (!e)
-<a name="l00668"></a>00668 {
-<a name="l00669"></a>00669 <span class="keywordtype">char</span>* r = <a class="code" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">matches_gline</a>(match_against);
-<a name="l00670"></a>00670 <span class="keywordflow">if</span> (r)
-<a name="l00671"></a>00671 {
-<a name="l00672"></a>00672 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00673"></a>00673 snprintf(reason,MAXBUF,<span class="stringliteral">"G-Lined: %s"</span>,r);
-<a name="l00674"></a>00674 <a class="code" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(user,reason);
-<a name="l00675"></a>00675 <span class="keywordflow">return</span>;
-<a name="l00676"></a>00676 }
-<a name="l00677"></a>00677 r = <a class="code" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">matches_kline</a>(user-&gt;<a class="code" href="classconnection.html#host_5B_31_36_30_5D">host</a>);
-<a name="l00678"></a>00678 <span class="keywordflow">if</span> (r)
-<a name="l00679"></a>00679 {
-<a name="l00680"></a>00680 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00681"></a>00681 snprintf(reason,MAXBUF,<span class="stringliteral">"K-Lined: %s"</span>,r);
-<a name="l00682"></a>00682 <a class="code" href="users_8cpp.html#kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29">kill_link_silent</a>(user,reason);
-<a name="l00683"></a>00683 <span class="keywordflow">return</span>;
-<a name="l00684"></a>00684 }
-<a name="l00685"></a>00685 }
-<a name="l00686"></a>00686
-<a name="l00687"></a>00687
-<a name="l00688"></a>00688 <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 Auth :Welcome to \002%s\002!"</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="l00689"></a>00689 <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">"001 %s :Welcome to the %s IRC Network %s!%s@%s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>);
-<a name="l00690"></a>00690 <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">"002 %s :Your host is %s, running version %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>,VERSION);
-<a name="l00691"></a>00691 <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">"003 %s :This server was created %s %s"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,__TIME__,__DATE__);
-<a name="l00692"></a>00692 <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">"004 %s %s %s iowghraAsORVSxNCWqBzvdHtGI lvhopsmntikrRcaqOALQbSeKVfHGCuzN"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#ServerName_5BMAXBUF_5D">ServerName</a>,VERSION);
-<a name="l00693"></a>00693 <span class="comment">// the neatest way to construct the initial 005 numeric, considering the number of configure constants to go in it...</span>
-<a name="l00694"></a>00694 std::stringstream v;
-<a name="l00695"></a>00695 v &lt;&lt; <span class="stringliteral">"WALLCHOPS MODES=13 CHANTYPES=# PREFIX=(ohv)@%+ MAP SAFELIST MAXCHANNELS="</span> &lt;&lt; MAXCHANS;
-<a name="l00696"></a>00696 v &lt;&lt; <span class="stringliteral">" MAXBANS=60 NICKLEN="</span> &lt;&lt; NICKMAX;
-<a name="l00697"></a>00697 v &lt;&lt; <span class="stringliteral">" TOPICLEN="</span> &lt;&lt; MAXTOPIC &lt;&lt; <span class="stringliteral">" KICKLEN="</span> &lt;&lt; MAXKICK &lt;&lt; <span class="stringliteral">" MAXTARGETS=20 AWAYLEN="</span> &lt;&lt; MAXAWAY &lt;&lt; <span class="stringliteral">" CHANMODES=ohvb,k,l,psmnti NETWORK="</span>;
-<a name="l00698"></a>00698 v &lt;&lt; <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#Network_5BMAXBUF_5D">Network</a>;
-<a name="l00699"></a>00699 <a class="code" href="namespaceirc.html#string">std::string</a> data005 = v.str();
-<a name="l00700"></a>00700 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> On005Numeric(data005);
-<a name="l00701"></a>00701 <span class="comment">// anfl @ #ratbox, efnet reminded me that according to the RFC this cant contain more than 13 tokens per line...</span>
-<a name="l00702"></a>00702 <span class="comment">// so i'd better split it :)</span>
-<a name="l00703"></a>00703 std::stringstream out(data005);
-<a name="l00704"></a>00704 <a class="code" href="namespaceirc.html#string">std::string</a> token = <span class="stringliteral">""</span>;
-<a name="l00705"></a>00705 <a class="code" href="namespaceirc.html#string">std::string</a> line5 = <span class="stringliteral">""</span>;
-<a name="l00706"></a>00706 <span class="keywordtype">int</span> token_counter = 0;
-<a name="l00707"></a>00707 <span class="keywordflow">while</span> (!out.eof())
-<a name="l00708"></a>00708 {
-<a name="l00709"></a>00709 out &gt;&gt; token;
-<a name="l00710"></a>00710 line5 = line5 + token + <span class="stringliteral">" "</span>;
-<a name="l00711"></a>00711 token_counter++;
-<a name="l00712"></a>00712 <span class="keywordflow">if</span> ((token_counter &gt;= 13) || (out.eof() == <span class="keyword">true</span>))
-<a name="l00713"></a>00713 {
-<a name="l00714"></a>00714 <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">"005 %s %s:are supported by this server"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,line5.c_str());
-<a name="l00715"></a>00715 line5 = <span class="stringliteral">""</span>;
-<a name="l00716"></a>00716 token_counter = 0;
-<a name="l00717"></a>00717 }
-<a name="l00718"></a>00718 }
-<a name="l00719"></a>00719 ShowMOTD(user);
-<a name="l00720"></a>00720
-<a name="l00721"></a>00721 <span class="comment">// fix 3 by brain, move registered = 7 below these so that spurious modes and host changes dont go out</span>
-<a name="l00722"></a>00722 <span class="comment">// onto the network and produce 'fake direction'</span>
-<a name="l00723"></a>00723 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserConnect(user);
-<a name="l00724"></a>00724 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnGlobalConnect(user);
-<a name="l00725"></a>00725 user-&gt;<a class="code" href="classconnection.html#registered">registered</a> = 7;
-<a name="l00726"></a>00726 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Client connecting on port %lu: %s!%s@%s [%s]"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#port">port</a>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>,user-&gt;<a class="code" href="classconnection.html#ip_5B_31_36_5D">ip</a>);
-<a name="l00727"></a>00727 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29"></a><!-- doxytag: member="users.h::kill_link" ref="kill_5Flink_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29" args="(userrec *user, const char *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">void kill_link </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>const char *&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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00349">349</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="users_8cpp-source.html#l00471">AddWhoWas()</a>, <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="users_8cpp-source.html#l00093">userrec::CloseSocket()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</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="users_8cpp-source.html#l00295">userrec::FlushWriteBuf()</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">ServerConfig::GetIOHook()</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="users_8cpp-source.html#l00052">local_users</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#l00128">userrec::nick</a>, <a class="el" href="modules_8cpp-source.html#l00270">Module::OnRawSocketClose()</a>, <a class="el" href="connection_8h-source.html#l00076">connection::port</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</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#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept()</a>, and <a class="el" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers()</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00524">AddClient()</a>, <a class="el" href="users_8cpp-source.html#l00769">force_nickchange()</a>, <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>, <a class="el" href="modules_8cpp-source.html#l00609">Server::PseudoToUser()</a>, and <a class="el" href="modules_8cpp-source.html#l00390">Server::QuitUser()</a>.<div class="fragment"><pre class="fragment"><a name="l00350"></a>00350 {
-<a name="l00351"></a>00351 user_hash::iterator iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00352"></a>00352
-<a name="l00353"></a>00353 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00354"></a>00354
-<a name="l00355"></a>00355 strncpy(reason,r,MAXBUF);
-<a name="l00356"></a>00356
-<a name="l00357"></a>00357 <span class="keywordflow">if</span> (strlen(reason)&gt;MAXQUIT)
-<a name="l00358"></a>00358 {
-<a name="l00359"></a>00359 reason[MAXQUIT-1] = <span class="charliteral">'\0'</span>;
-<a name="l00360"></a>00360 }
-<a name="l00361"></a>00361
-<a name="l00362"></a>00362 <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">"kill_link: %s '%s'"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,reason);
-<a name="l00363"></a>00363 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<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>,reason);
-<a name="l00364"></a>00364 <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">"closing fd %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00365"></a>00365
-<a name="l00366"></a>00366 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00367"></a>00367 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserQuit(user,reason);
-<a name="l00368"></a>00368 <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">"QUIT :%s"</span>,reason);
-<a name="l00369"></a>00369 }
-<a name="l00370"></a>00370
-<a name="l00371"></a>00371 user-&gt;<a class="code" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>();
-<a name="l00372"></a>00372
-<a name="l00373"></a>00373 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserDisconnect(user);
-<a name="l00374"></a>00374
-<a name="l00375"></a>00375 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00376"></a>00376 {
-<a name="l00377"></a>00377 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>))
-<a name="l00378"></a>00378 {
-<a name="l00379"></a>00379 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>)-&gt;<a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00380"></a>00380 }
-<a name="l00381"></a>00381 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00382"></a>00382 user-&gt;<a class="code" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>();
-<a name="l00383"></a>00383 }
-<a name="l00384"></a>00384
-<a name="l00385"></a>00385 <span class="comment">// this must come before the WriteOpers so that it doesnt try to fill their buffer with anything</span>
-<a name="l00386"></a>00386 <span class="comment">// if they were an oper with +s.</span>
-<a name="l00387"></a>00387 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00388"></a>00388 purge_empty_chans(user);
-<a name="l00389"></a>00389 <span class="comment">// fix by brain: only show local quits because we only show local connects (it just makes SENSE)</span>
-<a name="l00390"></a>00390 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00391"></a>00391 <a class="code" href="globals_8h.html#WriteOpers_28char_20_2Atext_2C_2E_2E_2E_29">WriteOpers</a>(<span class="stringliteral">"*** Client exiting: %s!%s@%s [%s]"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,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>,reason);
-<a name="l00392"></a>00392 <a class="code" href="users_8cpp.html#AddWhoWas_28userrec_20_2Au_29">AddWhoWas</a>(user);
-<a name="l00393"></a>00393 }
-<a name="l00394"></a>00394
-<a name="l00395"></a>00395 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00396"></a>00396 {
-<a name="l00397"></a>00397 <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">"deleting user hash value %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user);
-<a name="l00398"></a>00398 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00399"></a>00399 {
-<a name="l00400"></a>00400 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[user-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = NULL;
-<a name="l00401"></a>00401 <span class="keywordflow">if</span> (find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user) != <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end())
-<a name="l00402"></a>00402 {
-<a name="l00403"></a>00403 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.erase(find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user));
-<a name="l00404"></a>00404 <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">"Delete local user"</span>);
-<a name="l00405"></a>00405 }
-<a name="l00406"></a>00406 }
-<a name="l00407"></a>00407 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00408"></a>00408 }
-<a name="l00409"></a>00409 <span class="keyword">delete</span> user;
-<a name="l00410"></a>00410 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29"></a><!-- doxytag: member="users.h::kill_link_silent" ref="kill_5Flink_5Fsilent_28userrec_20_2Auser_2C_20const_20char_20_2Ar_29" args="(userrec *user, const char *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">void kill_link_silent </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>const char *&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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00412">412</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="users_8cpp-source.html#l00093">userrec::CloseSocket()</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</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="users_8cpp-source.html#l00295">userrec::FlushWriteBuf()</a>, <a class="el" href="modules_8h-source.html#l00082">FOREACH_MOD</a>, <a class="el" href="classServerConfig.html#GetIOHook_28int_20port_29">ServerConfig::GetIOHook()</a>, <a class="el" href="connection_8h-source.html#l00046">connection::host</a>, <a class="el" href="users_8h-source.html#l00133">userrec::ident</a>, <a class="el" href="users_8cpp-source.html#l00052">local_users</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#l00128">userrec::nick</a>, <a class="el" href="modules_8cpp-source.html#l00270">Module::OnRawSocketClose()</a>, <a class="el" href="connection_8h-source.html#l00076">connection::port</a>, <a class="el" href="connection_8h-source.html#l00080">connection::registered</a>, <a class="el" href="inspircd_8h-source.html#l00111">InspIRCd::SE</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#WriteCommonExcept_28userrec_20_2Au_2C_20char_20_2Atext_2C_2E_2E_2E_29">WriteCommonExcept()</a>.
-<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>.<div class="fragment"><pre class="fragment"><a name="l00413"></a>00413 {
-<a name="l00414"></a>00414 user_hash::iterator iter = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>);
-<a name="l00415"></a>00415
-<a name="l00416"></a>00416 <span class="keywordtype">char</span> reason[MAXBUF];
-<a name="l00417"></a>00417
-<a name="l00418"></a>00418 strncpy(reason,r,MAXBUF);
-<a name="l00419"></a>00419
-<a name="l00420"></a>00420 <span class="keywordflow">if</span> (strlen(reason)&gt;MAXQUIT)
-<a name="l00421"></a>00421 {
-<a name="l00422"></a>00422 reason[MAXQUIT-1] = <span class="charliteral">'\0'</span>;
-<a name="l00423"></a>00423 }
-<a name="l00424"></a>00424
-<a name="l00425"></a>00425 <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">"kill_link: %s '%s'"</span>,user-&gt;<a class="code" href="classuserrec.html#nick_5BNICKMAX_5D">nick</a>,reason);
-<a name="l00426"></a>00426 <a class="code" href="globals_8h.html#Write_28int_20sock_2C_20char_20_2Atext_2C_2E_2E_2E_29">Write</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>,<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>,reason);
-<a name="l00427"></a>00427 <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">"closing fd %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00428"></a>00428
-<a name="l00429"></a>00429 user-&gt;<a class="code" href="classuserrec.html#FlushWriteBuf_28_29">FlushWriteBuf</a>();
-<a name="l00430"></a>00430
-<a name="l00431"></a>00431 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00432"></a>00432 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserQuit(user,reason);
-<a name="l00433"></a>00433 <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">"QUIT :%s"</span>,reason);
-<a name="l00434"></a>00434 }
-<a name="l00435"></a>00435
-<a name="l00436"></a>00436 <a class="code" href="modules_8h.html#FOREACH_5FMOD">FOREACH_MOD</a> OnUserDisconnect(user);
-<a name="l00437"></a>00437
-<a name="l00438"></a>00438 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00439"></a>00439 {
-<a name="l00440"></a>00440 <span class="keywordflow">if</span> (<a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>))
-<a name="l00441"></a>00441 {
-<a name="l00442"></a>00442 <a class="code" href="channels_8cpp.html#Config">Config</a>-&gt;<a class="code" href="classServerConfig.html#GetIOHook_28int_20port_29">GetIOHook</a>(user-&gt;<a class="code" href="classconnection.html#port">port</a>)-&gt;<a class="code" href="classModule.html#OnRawSocketClose_28int_20fd_29">OnRawSocketClose</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00443"></a>00443 }
-<a name="l00444"></a>00444 <a class="code" href="modules_8cpp.html#ServerInstance">ServerInstance</a>-&gt;<a class="code" href="classInspIRCd.html#SE">SE</a>-&gt;<a class="code" href="classSocketEngine.html#DelFd_28int_20fd_29">DelFd</a>(user-&gt;<a class="code" href="classconnection.html#fd">fd</a>);
-<a name="l00445"></a>00445 user-&gt;<a class="code" href="classuserrec.html#CloseSocket_28_29">CloseSocket</a>();
-<a name="l00446"></a>00446 }
-<a name="l00447"></a>00447
-<a name="l00448"></a>00448 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#registered">registered</a> == 7) {
-<a name="l00449"></a>00449 purge_empty_chans(user);
-<a name="l00450"></a>00450 }
-<a name="l00451"></a>00451
-<a name="l00452"></a>00452 <span class="keywordflow">if</span> (iter != <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end())
-<a name="l00453"></a>00453 {
-<a name="l00454"></a>00454 <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">"deleting user hash value %lu"</span>,(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>)user);
-<a name="l00455"></a>00455 <span class="keywordflow">if</span> (user-&gt;<a class="code" href="classconnection.html#fd">fd</a> &gt; -1)
-<a name="l00456"></a>00456 {
-<a name="l00457"></a>00457 <a class="code" href="modules_8cpp.html#fd_5Fref_5Ftable_5B_36_35_35_33_36_5D">fd_ref_table</a>[user-&gt;<a class="code" href="classconnection.html#fd">fd</a>] = NULL;
-<a name="l00458"></a>00458 <span class="keywordflow">if</span> (find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user) != <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end())
-<a name="l00459"></a>00459 {
-<a name="l00460"></a>00460 <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">"Delete local user"</span>);
-<a name="l00461"></a>00461 <a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.erase(find(<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.begin(),<a class="code" href="users_8cpp.html#local_5Fusers">local_users</a>.end(),user));
-<a name="l00462"></a>00462 }
-<a name="l00463"></a>00463 }
-<a name="l00464"></a>00464 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(iter);
-<a name="l00465"></a>00465 }
-<a name="l00466"></a>00466 <span class="keyword">delete</span> user;
-<a name="l00467"></a>00467 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<a class="anchor" name="ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29"></a><!-- doxytag: member="users.h::ReHashNick" ref="ReHashNick_28char_20_2AOld_2C_20char_20_2ANew_29" args="(char *Old, char *New)" --><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>* ReHashNick </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>Old</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>char *&nbsp;</td>
- <td class="mdname" nowrap> <em>New</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>
-
-<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00743">743</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
-<p>
-References <a class="el" href="modules_8cpp.html#clientlist">clientlist</a>, <a class="el" href="inspircd__io_8h-source.html#l00029">DEBUG</a>, and <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="l00744"></a>00744 {
-<a name="l00745"></a>00745 <span class="comment">//user_hash::iterator newnick;</span>
-<a name="l00746"></a>00746 user_hash::iterator oldnick = <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.find(Old);
-<a name="l00747"></a>00747
-<a name="l00748"></a>00748 <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">"ReHashNick: %s %s"</span>,Old,New);
-<a name="l00749"></a>00749
-<a name="l00750"></a>00750 <span class="keywordflow">if</span> (!strcasecmp(Old,New))
-<a name="l00751"></a>00751 {
-<a name="l00752"></a>00752 <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">"old nick is new nick, skipping"</span>);
-<a name="l00753"></a>00753 <span class="keywordflow">return</span> oldnick-&gt;second;
-<a name="l00754"></a>00754 }
-<a name="l00755"></a>00755
-<a name="l00756"></a>00756 <span class="keywordflow">if</span> (oldnick == <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.end()) <span class="keywordflow">return</span> NULL; <span class="comment">/* doesnt exist */</span>
-<a name="l00757"></a>00757
-<a name="l00758"></a>00758 <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">"ReHashNick: Found hashed nick %s"</span>,Old);
-<a name="l00759"></a>00759
-<a name="l00760"></a>00760 <a class="code" href="classuserrec.html">userrec</a>* olduser = oldnick-&gt;second;
-<a name="l00761"></a>00761 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[New] = olduser;
-<a name="l00762"></a>00762 <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>.erase(oldnick);
-<a name="l00763"></a>00763
-<a name="l00764"></a>00764 <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">"ReHashNick: Nick rehashed as %s"</span>,New);
-<a name="l00765"></a>00765
-<a name="l00766"></a>00766 <span class="keywordflow">return</span> <a class="code" href="modules_8cpp.html#clientlist">clientlist</a>[New];
-<a name="l00767"></a>00767 }
-</pre></div>
-<p>
- </td>
- </tr>
-</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/users_8h__dep__incl.gif b/docs/module-doc/users_8h__dep__incl.gif
deleted file mode 100644
index 989f855cd..000000000
--- a/docs/module-doc/users_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/users_8h__dep__incl.map b/docs/module-doc/users_8h__dep__incl.map
deleted file mode 100644
index 8d3acb66f..000000000
--- a/docs/module-doc/users_8h__dep__incl.map
+++ /dev/null
@@ -1,13 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 531,235 629,261
-rect $modules_8cpp-source.html 531,387 629,413
-rect $users_8cpp-source.html 540,564 620,591
-rect $commands_8h-source.html 379,615 477,641
-rect $cull__list_8h-source.html 121,311 199,337
-rect $globals_8h-source.html 249,159 324,185
-rect $typedefs_8h-source.html 385,260 471,287
-rect $inspircd_8h-source.html 247,412 327,439
-rect $userprocess_8h-source.html 376,463 480,489
-rect $mode_8h-source.html 127,361 193,388
-rect $message_8h-source.html 385,311 471,337
-rect $xline_8h-source.html 397,513 459,540
diff --git a/docs/module-doc/users_8h__dep__incl.md5 b/docs/module-doc/users_8h__dep__incl.md5
deleted file mode 100644
index 9619fc58f..000000000
--- a/docs/module-doc/users_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-b1eec238e42f7d91bc0d7f5a3b91a235 \ No newline at end of file
diff --git a/docs/module-doc/users_8h__incl.gif b/docs/module-doc/users_8h__incl.gif
deleted file mode 100644
index e8c9defe4..000000000
--- a/docs/module-doc/users_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/users_8h__incl.map b/docs/module-doc/users_8h__incl.map
deleted file mode 100644
index de04ab43e..000000000
--- a/docs/module-doc/users_8h__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $channels_8h-source.html 128,108 213,135
-rect $connection_8h-source.html 121,159 220,185
-rect $hashcomp_8h-source.html 124,57 217,84
diff --git a/docs/module-doc/users_8h__incl.md5 b/docs/module-doc/users_8h__incl.md5
deleted file mode 100644
index da43ba319..000000000
--- a/docs/module-doc/users_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-24445b415c7267f43aad5464edd11467 \ No newline at end of file
diff --git a/docs/module-doc/xline_8h-source.html b/docs/module-doc/xline_8h-source.html
deleted file mode 100644
index 6ea6891fc..000000000
--- a/docs/module-doc/xline_8h-source.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<!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: xline.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>xline.h</h1><a href="xline_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-2004 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 __XLINE_H</span>
-<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __XLINE_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="l00031"></a><a class="code" href="xline_8h.html#APPLY_5FGLINES">00031</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="xline_8h.html#APPLY_5FGLINES">APPLY_GLINES</a> = 1;
-<a name="l00032"></a><a class="code" href="xline_8h.html#APPLY_5FKLINES">00032</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="xline_8h.html#APPLY_5FKLINES">APPLY_KLINES</a> = 2;
-<a name="l00033"></a><a class="code" href="xline_8h.html#APPLY_5FQLINES">00033</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="xline_8h.html#APPLY_5FQLINES">APPLY_QLINES</a> = 4;
-<a name="l00034"></a><a class="code" href="xline_8h.html#APPLY_5FZLINES">00034</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="xline_8h.html#APPLY_5FZLINES">APPLY_ZLINES</a> = 8;
-<a name="l00035"></a><a class="code" href="xline_8h.html#APPLY_5FALL">00035</a> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="xline_8h.html#APPLY_5FALL">APPLY_ALL</a> = <a class="code" href="xline_8h.html#APPLY_5FGLINES">APPLY_GLINES</a> | <a class="code" href="xline_8h.html#APPLY_5FKLINES">APPLY_KLINES</a> | <a class="code" href="xline_8h.html#APPLY_5FQLINES">APPLY_QLINES</a> | <a class="code" href="xline_8h.html#APPLY_5FZLINES">APPLY_ZLINES</a>;
-<a name="l00036"></a>00036
-<a name="l00039"></a><a class="code" href="classXLine.html">00039</a> <span class="keyword">class </span><a class="code" href="classXLine.html">XLine</a> : <span class="keyword">public</span> <a class="code" href="classclassbase.html">classbase</a>
-<a name="l00040"></a>00040 {
-<a name="l00041"></a>00041 <span class="keyword">public</span>:
-<a name="l00042"></a>00042
-<a name="l00045"></a><a class="code" href="classXLine.html#set_5Ftime">00045</a> time_t <a class="code" href="classXLine.html#set_5Ftime">set_time</a>;
-<a name="l00046"></a>00046
-<a name="l00049"></a><a class="code" href="classXLine.html#duration">00049</a> <span class="keywordtype">long</span> <a class="code" href="classXLine.html#duration">duration</a>;
-<a name="l00050"></a>00050
-<a name="l00053"></a><a class="code" href="classXLine.html#source_5B_32_35_36_5D">00053</a> <span class="keywordtype">char</span> <a class="code" href="classXLine.html#source_5B_32_35_36_5D">source</a>[256];
-<a name="l00054"></a>00054
-<a name="l00057"></a><a class="code" href="classXLine.html#reason_5BMAXBUF_5D">00057</a> <span class="keywordtype">char</span> <a class="code" href="classXLine.html#reason_5BMAXBUF_5D">reason</a>[MAXBUF];
-<a name="l00058"></a>00058
-<a name="l00061"></a><a class="code" href="classXLine.html#n_5Fmatches">00061</a> <span class="keywordtype">long</span> <a class="code" href="classXLine.html#n_5Fmatches">n_matches</a>;
-<a name="l00062"></a>00062
-<a name="l00063"></a>00063 };
-<a name="l00064"></a>00064
-<a name="l00067"></a><a class="code" href="classKLine.html">00067</a> <span class="keyword">class </span><a class="code" href="classKLine.html">KLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
-<a name="l00068"></a>00068 {
-<a name="l00069"></a>00069 <span class="keyword">public</span>:
-<a name="l00073"></a><a class="code" href="classKLine.html#hostmask_5B_32_30_30_5D">00073</a> <span class="keywordtype">char</span> <a class="code" href="classKLine.html#hostmask_5B_32_30_30_5D">hostmask</a>[200];
-<a name="l00074"></a>00074 };
-<a name="l00075"></a>00075
-<a name="l00078"></a><a class="code" href="classGLine.html">00078</a> <span class="keyword">class </span><a class="code" href="classGLine.html">GLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
-<a name="l00079"></a>00079 {
-<a name="l00080"></a>00080 <span class="keyword">public</span>:
-<a name="l00084"></a><a class="code" href="classGLine.html#hostmask_5B_32_30_30_5D">00084</a> <span class="keywordtype">char</span> <a class="code" href="classGLine.html#hostmask_5B_32_30_30_5D">hostmask</a>[200];
-<a name="l00085"></a>00085 };
-<a name="l00086"></a>00086
-<a name="l00087"></a><a class="code" href="classELine.html">00087</a> <span class="keyword">class </span><a class="code" href="classELine.html">ELine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
-<a name="l00088"></a>00088 {
-<a name="l00089"></a>00089 <span class="keyword">public</span>:
-<a name="l00093"></a><a class="code" href="classELine.html#hostmask_5B_32_30_30_5D">00093</a> <span class="keywordtype">char</span> <a class="code" href="classELine.html#hostmask_5B_32_30_30_5D">hostmask</a>[200];
-<a name="l00094"></a>00094 };
-<a name="l00095"></a>00095
-<a name="l00098"></a><a class="code" href="classZLine.html">00098</a> <span class="keyword">class </span><a class="code" href="classZLine.html">ZLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
-<a name="l00099"></a>00099 {
-<a name="l00100"></a>00100 <span class="keyword">public</span>:
-<a name="l00104"></a><a class="code" href="classZLine.html#ipaddr_5B_34_30_5D">00104</a> <span class="keywordtype">char</span> <a class="code" href="classZLine.html#ipaddr_5B_34_30_5D">ipaddr</a>[40];
-<a name="l00108"></a><a class="code" href="classZLine.html#is_5Fglobal">00108</a> <span class="keywordtype">bool</span> <a class="code" href="classZLine.html#is_5Fglobal">is_global</a>;
-<a name="l00109"></a>00109 };
-<a name="l00110"></a>00110
-<a name="l00113"></a><a class="code" href="classQLine.html">00113</a> <span class="keyword">class </span><a class="code" href="classQLine.html">QLine</a> : <span class="keyword">public</span> <a class="code" href="classXLine.html">XLine</a>
-<a name="l00114"></a>00114 {
-<a name="l00115"></a>00115 <span class="keyword">public</span>:
-<a name="l00119"></a><a class="code" href="classQLine.html#nick_5B_36_34_5D">00119</a> <span class="keywordtype">char</span> <a class="code" href="classQLine.html#nick_5B_36_34_5D">nick</a>[64];
-<a name="l00123"></a><a class="code" href="classQLine.html#is_5Fglobal">00123</a> <span class="keywordtype">bool</span> <a class="code" href="classQLine.html#is_5Fglobal">is_global</a>;
-<a name="l00124"></a>00124 };
-<a name="l00125"></a>00125
-<a name="l00126"></a>00126 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#read_5Fxline_5Fdefaults_28_29">read_xline_defaults</a>();
-<a name="l00127"></a>00127
-<a name="l00128"></a>00128 <span class="keywordtype">void</span> <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>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
-<a name="l00129"></a>00129 <span class="keywordtype">void</span> <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>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* nickname);
-<a name="l00130"></a>00130 <span class="keywordtype">void</span> <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>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
-<a name="l00131"></a>00131 <span class="keywordtype">void</span> <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>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
-<a name="l00132"></a>00132 <span class="keywordtype">void</span> <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>(<span class="keywordtype">long</span> <a class="code" href="commands_8h.html#duration_28const_20char_20_2Astr_29">duration</a>, <span class="keyword">const</span> <span class="keywordtype">char</span>* source, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason, <span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
-<a name="l00133"></a>00133
-<a name="l00134"></a>00134 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
-<a name="l00135"></a>00135 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nickname);
-<a name="l00136"></a>00136 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
-<a name="l00137"></a>00137 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
-<a name="l00138"></a>00138 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* hostmask);
-<a name="l00139"></a>00139
-<a name="l00140"></a>00140 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">matches_qline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nick);
-<a name="l00141"></a>00141 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">matches_gline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* host);
-<a name="l00142"></a>00142 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">matches_zline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
-<a name="l00143"></a>00143 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">matches_kline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* host);
-<a name="l00144"></a>00144 <span class="keywordtype">char</span>* <a class="code" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* host);
-<a name="l00145"></a>00145
-<a name="l00146"></a>00146 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#expire_5Flines_28_29">expire_lines</a>();
-<a name="l00147"></a>00147 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#apply_5Flines_28const_20int_20What_29">apply_lines</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> What);
-<a name="l00148"></a>00148
-<a name="l00149"></a>00149 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#stats_5Fk_28userrec_20_2Auser_29">stats_k</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00150"></a>00150 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#stats_5Fg_28userrec_20_2Auser_29">stats_g</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00151"></a>00151 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#stats_5Fq_28userrec_20_2Auser_29">stats_q</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00152"></a>00152 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#stats_5Fz_28userrec_20_2Auser_29">stats_z</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00153"></a>00153 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#stats_5Fe_28userrec_20_2Auser_29">stats_e</a>(<a class="code" href="classuserrec.html">userrec</a>* user);
-<a name="l00154"></a>00154
-<a name="l00155"></a>00155 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#gline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29">gline_set_creation_time</a>(<span class="keywordtype">char</span>* host, time_t create_time);
-<a name="l00156"></a>00156 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#qline_5Fset_5Fcreation_5Ftime_28char_20_2Anick_2C_20time_5Ft_20create_5Ftime_29">qline_set_creation_time</a>(<span class="keywordtype">char</span>* nick, time_t create_time);
-<a name="l00157"></a>00157 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#zline_5Fset_5Fcreation_5Ftime_28char_20_2Aip_2C_20time_5Ft_20create_5Ftime_29">zline_set_creation_time</a>(<span class="keywordtype">char</span>* ip, time_t create_time);
-<a name="l00158"></a>00158 <span class="keywordtype">void</span> <a class="code" href="xline_8h.html#eline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29">eline_set_creation_time</a>(<span class="keywordtype">char</span>* host, time_t create_time);
-<a name="l00159"></a>00159
-<a name="l00160"></a>00160 <span class="keywordtype">bool</span> <a class="code" href="xline_8h.html#zline_5Fmake_5Fglobal_28const_20char_20_2Aipaddr_29">zline_make_global</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* ipaddr);
-<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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/xline_8h.html b/docs/module-doc/xline_8h.html
deleted file mode 100644
index 29f5a04b1..000000000
--- a/docs/module-doc/xline_8h.html
+++ /dev/null
@@ -1,1240 +0,0 @@
-<!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: xline.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>xline.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 xline.h:<p><center><img src="xline_8h__incl.gif" border="0" usemap="#xline.h_map" alt=""></center>
-<map name="xline.h_map">
-<area href="users_8h-source.html" shape="rect" coords="124,260,188,287" alt="">
-<area href="channels_8h-source.html" shape="rect" coords="248,209,333,236" alt="">
-<area href="connection_8h-source.html" shape="rect" coords="241,412,340,439" alt="">
-<area href="hashcomp_8h-source.html" shape="rect" coords="244,311,337,337" alt="">
-</map>
-
-<p>
-This graph shows which files directly or indirectly include this file:<p><center><img src="xline_8h__dep__incl.gif" border="0" usemap="#xline.hdep_map" alt=""></center>
-<map name="xline.hdep_map">
-<area href="channels_8cpp-source.html" shape="rect" coords="120,7,219,33" alt="">
-<area href="modules_8cpp-source.html" shape="rect" coords="120,57,219,84" alt="">
-<area href="users_8cpp-source.html" shape="rect" coords="130,108,210,135" alt="">
-</map>
-
-<p>
-<a href="xline_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="classXLine.html">XLine</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">XLine is the base class for ban lines such as G lines and K lines. <a href="classXLine.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="classKLine.html">KLine</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">KLine class. <a href="classKLine.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="classGLine.html">GLine</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GLine class. <a href="classGLine.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="classELine.html">ELine</a></td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classZLine.html">ZLine</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">ZLine class. <a href="classZLine.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="classQLine.html">QLine</a></td></tr>
-
-<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">QLine class. <a href="classQLine.html#_details">More...</a><br></td></tr>
-<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#read_5Fxline_5Fdefaults_28_29">read_xline_defaults</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (long duration, const char *source, const char *reason, const char *hostmask)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (long duration, const char *source, const char *reason, const char *nickname)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (long duration, const char *source, const char *reason, const char *ipaddr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (long duration, const char *source, const char *reason, const char *hostmask)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><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> (long duration, const char *source, const char *reason, const char *hostmask)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#del_5Fgline_28const_20char_20_2Ahostmask_29">del_gline</a> (const char *hostmask)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#del_5Fqline_28const_20char_20_2Anickname_29">del_qline</a> (const char *nickname)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#del_5Fzline_28const_20char_20_2Aipaddr_29">del_zline</a> (const char *ipaddr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#del_5Fkline_28const_20char_20_2Ahostmask_29">del_kline</a> (const char *hostmask)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#del_5Feline_28const_20char_20_2Ahostmask_29">del_eline</a> (const char *hostmask)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#matches_5Fqline_28const_20char_20_2Anick_29">matches_qline</a> (const char *nick)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#matches_5Fgline_28const_20char_20_2Ahost_29">matches_gline</a> (const char *host)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#matches_5Fzline_28const_20char_20_2Aipaddr_29">matches_zline</a> (const char *ipaddr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#matches_5Fkline_28const_20char_20_2Ahost_29">matches_kline</a> (const char *host)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#matches_5Fexception_28const_20char_20_2Ahost_29">matches_exception</a> (const char *host)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#expire_5Flines_28_29">expire_lines</a> ()</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#apply_5Flines_28const_20int_20What_29">apply_lines</a> (const int What)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#stats_5Fk_28userrec_20_2Auser_29">stats_k</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="xline_8h.html#stats_5Fg_28userrec_20_2Auser_29">stats_g</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="xline_8h.html#stats_5Fq_28userrec_20_2Auser_29">stats_q</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="xline_8h.html#stats_5Fz_28userrec_20_2Auser_29">stats_z</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="xline_8h.html#stats_5Fe_28userrec_20_2Auser_29">stats_e</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="xline_8h.html#gline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29">gline_set_creation_time</a> (char *host, time_t create_time)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#qline_5Fset_5Fcreation_5Ftime_28char_20_2Anick_2C_20time_5Ft_20create_5Ftime_29">qline_set_creation_time</a> (char *nick, time_t create_time)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#zline_5Fset_5Fcreation_5Ftime_28char_20_2Aip_2C_20time_5Ft_20create_5Ftime_29">zline_set_creation_time</a> (char *ip, time_t create_time)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#eline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29">eline_set_creation_time</a> (char *host, time_t create_time)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#zline_5Fmake_5Fglobal_28const_20char_20_2Aipaddr_29">zline_make_global</a> (const char *ipaddr)</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#qline_5Fmake_5Fglobal_28const_20char_20_2Anickname_29">qline_make_global</a> (const char *nickname)</td></tr>
-
-<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#APPLY_5FGLINES">APPLY_GLINES</a> = 1</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#APPLY_5FKLINES">APPLY_KLINES</a> = 2</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#APPLY_5FQLINES">APPLY_QLINES</a> = 4</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#APPLY_5FZLINES">APPLY_ZLINES</a> = 8</td></tr>
-
-<tr><td class="memItemLeft" nowrap align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xline_8h.html#APPLY_5FALL">APPLY_ALL</a> = <a class="el" href="xline_8h.html#APPLY_5FGLINES">APPLY_GLINES</a> | <a class="el" href="xline_8h.html#APPLY_5FKLINES">APPLY_KLINES</a> | <a class="el" href="xline_8h.html#APPLY_5FQLINES">APPLY_QLINES</a> | <a class="el" href="xline_8h.html#APPLY_5FZLINES">APPLY_ZLINES</a></td></tr>
-
-</table>
-<hr><h2>Function Documentation</h2>
-<a class="anchor" name="add_5Feline_28long_20duration_2C_20const_20char_20_2Asource_2C_20const_20char_20_2Areason_2C_20const_20char_20_2Ahostmask_29"></a><!-- doxytag: member="xline.h::add_eline" ref="add_5Feline_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>
-<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 add_eline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>reason</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>hostmask</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00659">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>
-<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 add_gline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>reason</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>hostmask</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00639">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>
-<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 add_kline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>reason</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>hostmask</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00654">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>
-<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 add_qline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>reason</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>nickname</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00644">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>
-<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 add_zline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">long&nbsp;</td>
- <td class="mdname" nowrap> <em>duration</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>source</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>reason</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>const char *&nbsp;</td>
- <td class="mdname" nowrap> <em>ipaddr</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>
-
-<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00649">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>
-<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 apply_lines </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const int&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>What</em> </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="del_5Feline_28const_20char_20_2Ahostmask_29"></a><!-- doxytag: member="xline.h::del_eline" ref="del_5Feline_28const_20char_20_2Ahostmask_29" args="(const char *hostmask)" --><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">bool del_eline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>hostmask</em> </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#l00684">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>
-<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">bool del_gline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>hostmask</em> </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#l00664">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>
-<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">bool del_kline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>hostmask</em> </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#l00679">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>
-<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">bool del_qline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>nickname</em> </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#l00669">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>
-<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">bool del_zline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ipaddr</em> </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#l00674">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>
-<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 eline_set_creation_time </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>host</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>time_t&nbsp;</td>
- <td class="mdname" nowrap> <em>create_time</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="expire_5Flines_28_29"></a><!-- doxytag: member="xline.h::expire_lines" ref="expire_5Flines_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">void expire_lines </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="gline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29"></a><!-- doxytag: member="xline.h::gline_set_creation_time" ref="gline_5Fset_5Fcreation_5Ftime_28char_20_2Ahost_2C_20time_5Ft_20create_5Ftime_29" args="(char *host, time_t create_time)" --><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 gline_set_creation_time </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>host</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>time_t&nbsp;</td>
- <td class="mdname" nowrap> <em>create_time</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="matches_5Fexception_28const_20char_20_2Ahost_29"></a><!-- doxytag: member="xline.h::matches_exception" ref="matches_5Fexception_28const_20char_20_2Ahost_29" args="(const char *host)" --><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* matches_exception </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>host</em> </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="users_8cpp-source.html#l00524">AddClient()</a>, and <a class="el" href="users_8cpp-source.html#l00647">FullConnectUser()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="matches_5Fgline_28const_20char_20_2Ahost_29"></a><!-- doxytag: member="xline.h::matches_gline" ref="matches_5Fgline_28const_20char_20_2Ahost_29" args="(const char *host)" --><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* matches_gline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>host</em> </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="users_8cpp-source.html#l00647">FullConnectUser()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="matches_5Fkline_28const_20char_20_2Ahost_29"></a><!-- doxytag: member="xline.h::matches_kline" ref="matches_5Fkline_28const_20char_20_2Ahost_29" args="(const char *host)" --><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* matches_kline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>host</em> </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="users_8cpp-source.html#l00647">FullConnectUser()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="matches_5Fqline_28const_20char_20_2Anick_29"></a><!-- doxytag: member="xline.h::matches_qline" ref="matches_5Fqline_28const_20char_20_2Anick_29" args="(const char *nick)" --><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* matches_qline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>nick</em> </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="users_8cpp-source.html#l00769">force_nickchange()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="matches_5Fzline_28const_20char_20_2Aipaddr_29"></a><!-- doxytag: member="xline.h::matches_zline" ref="matches_5Fzline_28const_20char_20_2Aipaddr_29" args="(const char *ipaddr)" --><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* matches_zline </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ipaddr</em> </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="users_8cpp-source.html#l00524">AddClient()</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="qline_5Fmake_5Fglobal_28const_20char_20_2Anickname_29"></a><!-- doxytag: member="xline.h::qline_make_global" ref="qline_5Fmake_5Fglobal_28const_20char_20_2Anickname_29" args="(const char *nickname)" --><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">bool qline_make_global </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>nickname</em> </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="qline_5Fset_5Fcreation_5Ftime_28char_20_2Anick_2C_20time_5Ft_20create_5Ftime_29"></a><!-- doxytag: member="xline.h::qline_set_creation_time" ref="qline_5Fset_5Fcreation_5Ftime_28char_20_2Anick_2C_20time_5Ft_20create_5Ftime_29" args="(char *nick, time_t create_time)" --><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 qline_set_creation_time </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>nick</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>time_t&nbsp;</td>
- <td class="mdname" nowrap> <em>create_time</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>
- </td>
- </tr>
-</table>
-<a class="anchor" name="read_5Fxline_5Fdefaults_28_29"></a><!-- doxytag: member="xline.h::read_xline_defaults" ref="read_5Fxline_5Fdefaults_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">void read_xline_defaults </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="stats_5Fe_28userrec_20_2Auser_29"></a><!-- doxytag: member="xline.h::stats_e" ref="stats_5Fe_28userrec_20_2Auser_29" args="(userrec *user)" --><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 stats_e </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="mdname1" valign="top" nowrap> <em>user</em> </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="stats_5Fg_28userrec_20_2Auser_29"></a><!-- doxytag: member="xline.h::stats_g" ref="stats_5Fg_28userrec_20_2Auser_29" args="(userrec *user)" --><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 stats_g </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="mdname1" valign="top" nowrap> <em>user</em> </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="stats_5Fk_28userrec_20_2Auser_29"></a><!-- doxytag: member="xline.h::stats_k" ref="stats_5Fk_28userrec_20_2Auser_29" args="(userrec *user)" --><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 stats_k </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="mdname1" valign="top" nowrap> <em>user</em> </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="stats_5Fq_28userrec_20_2Auser_29"></a><!-- doxytag: member="xline.h::stats_q" ref="stats_5Fq_28userrec_20_2Auser_29" args="(userrec *user)" --><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 stats_q </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="mdname1" valign="top" nowrap> <em>user</em> </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="stats_5Fz_28userrec_20_2Auser_29"></a><!-- doxytag: member="xline.h::stats_z" ref="stats_5Fz_28userrec_20_2Auser_29" args="(userrec *user)" --><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 stats_z </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="mdname1" valign="top" nowrap> <em>user</em> </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="zline_5Fmake_5Fglobal_28const_20char_20_2Aipaddr_29"></a><!-- doxytag: member="xline.h::zline_make_global" ref="zline_5Fmake_5Fglobal_28const_20char_20_2Aipaddr_29" args="(const char *ipaddr)" --><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">bool zline_make_global </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">const char *&nbsp;</td>
- <td class="mdname1" valign="top" nowrap> <em>ipaddr</em> </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="zline_5Fset_5Fcreation_5Ftime_28char_20_2Aip_2C_20time_5Ft_20create_5Ftime_29"></a><!-- doxytag: member="xline.h::zline_set_creation_time" ref="zline_5Fset_5Fcreation_5Ftime_28char_20_2Aip_2C_20time_5Ft_20create_5Ftime_29" args="(char *ip, time_t create_time)" --><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 zline_set_creation_time </td>
- <td class="md" valign="top">(&nbsp;</td>
- <td class="md" nowrap valign="top">char *&nbsp;</td>
- <td class="mdname" nowrap> <em>ip</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td class="md"></td>
- <td class="md" nowrap>time_t&nbsp;</td>
- <td class="mdname" nowrap> <em>create_time</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>
- </td>
- </tr>
-</table>
-<hr><h2>Variable Documentation</h2>
-<a class="anchor" name="APPLY_5FALL"></a><!-- doxytag: member="xline.h::APPLY_ALL" ref="APPLY_5FALL" 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">const int <a class="el" href="xline_8h.html#APPLY_5FALL">APPLY_ALL</a> = <a class="el" href="xline_8h.html#APPLY_5FGLINES">APPLY_GLINES</a> | <a class="el" href="xline_8h.html#APPLY_5FKLINES">APPLY_KLINES</a> | <a class="el" href="xline_8h.html#APPLY_5FQLINES">APPLY_QLINES</a> | <a class="el" href="xline_8h.html#APPLY_5FZLINES">APPLY_ZLINES</a> </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="xline_8h-source.html#l00035">35</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="APPLY_5FGLINES"></a><!-- doxytag: member="xline.h::APPLY_GLINES" ref="APPLY_5FGLINES" 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">const int <a class="el" href="xline_8h.html#APPLY_5FGLINES">APPLY_GLINES</a> = 1 </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="xline_8h-source.html#l00031">31</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="APPLY_5FKLINES"></a><!-- doxytag: member="xline.h::APPLY_KLINES" ref="APPLY_5FKLINES" 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">const int <a class="el" href="xline_8h.html#APPLY_5FKLINES">APPLY_KLINES</a> = 2 </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="xline_8h-source.html#l00032">32</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="APPLY_5FQLINES"></a><!-- doxytag: member="xline.h::APPLY_QLINES" ref="APPLY_5FQLINES" 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">const int <a class="el" href="xline_8h.html#APPLY_5FQLINES">APPLY_QLINES</a> = 4 </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="xline_8h-source.html#l00033">33</a> of file <a class="el" href="xline_8h-source.html">xline.h</a>. </td>
- </tr>
-</table>
-<a class="anchor" name="APPLY_5FZLINES"></a><!-- doxytag: member="xline.h::APPLY_ZLINES" ref="APPLY_5FZLINES" 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">const int <a class="el" href="xline_8h.html#APPLY_5FZLINES">APPLY_ZLINES</a> = 8 </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="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 Mon Dec 19 18:05: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>
-</html>
diff --git a/docs/module-doc/xline_8h__dep__incl.gif b/docs/module-doc/xline_8h__dep__incl.gif
deleted file mode 100644
index f159c57da..000000000
--- a/docs/module-doc/xline_8h__dep__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/xline_8h__dep__incl.map b/docs/module-doc/xline_8h__dep__incl.map
deleted file mode 100644
index 3000d3ddf..000000000
--- a/docs/module-doc/xline_8h__dep__incl.map
+++ /dev/null
@@ -1,4 +0,0 @@
-base referer
-rect $channels_8cpp-source.html 120,7 219,33
-rect $modules_8cpp-source.html 120,57 219,84
-rect $users_8cpp-source.html 130,108 210,135
diff --git a/docs/module-doc/xline_8h__dep__incl.md5 b/docs/module-doc/xline_8h__dep__incl.md5
deleted file mode 100644
index 842472c9b..000000000
--- a/docs/module-doc/xline_8h__dep__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-c8590565d44b3716ffcd0bac63383582 \ No newline at end of file
diff --git a/docs/module-doc/xline_8h__incl.gif b/docs/module-doc/xline_8h__incl.gif
deleted file mode 100644
index 5d89df74b..000000000
--- a/docs/module-doc/xline_8h__incl.gif
+++ /dev/null
Binary files differ
diff --git a/docs/module-doc/xline_8h__incl.map b/docs/module-doc/xline_8h__incl.map
deleted file mode 100644
index a0ec2f1b6..000000000
--- a/docs/module-doc/xline_8h__incl.map
+++ /dev/null
@@ -1,5 +0,0 @@
-base referer
-rect $users_8h-source.html 124,260 188,287
-rect $channels_8h-source.html 248,209 333,236
-rect $connection_8h-source.html 241,412 340,439
-rect $hashcomp_8h-source.html 244,311 337,337
diff --git a/docs/module-doc/xline_8h__incl.md5 b/docs/module-doc/xline_8h__incl.md5
deleted file mode 100644
index db8dff57e..000000000
--- a/docs/module-doc/xline_8h__incl.md5
+++ /dev/null
@@ -1 +0,0 @@
-923f635ea1c21953bb7135ac47173dce \ No newline at end of file