RageIRCd v2.0 (bluemoon): XMODE Framework
-----------------------------------------

$Id: xmode.txt,v 1.6.2.1 2005/02/21 02:32:45 amcwilliam Exp $
(C) 2000-2005 the RageIRCd Development Team, all rights reserved.

Separate user and channel modes have been replaced with an extremely 
generic and flexible "XMODE" (eXtended Mode) framework in RageIRCd v2.0.
However, please be aware that it is not yet complete. As such, API 
documentation has not been provided.

Currently, XMODE only supports the standard range of 32 flags. All flags 
are also stored in a "table". Previous releases required a loop-based 
searching method to locate flags, however, an index map has been 
introduced in beta-4 that eliminates this. Instead, the flag is simply 
used as a map intex to locate the table index.

The XMODE framework may be extended in future versions to accomodate 64 
flags, should we feel the need to do so.

The user and channel mode systems currently utilise the XMODE framework.
However, due to initial limitations, only the user mode subsystem has an API
for modules. A channel mode API shall be introduced in the next major version
of RageIRCd, which will cater for custom parameters too.

For information regarding the user mode subsystem and it's API for creating
new modes (i.e. from third party modules), please refer to usermode-api.txt
in the doc/technical directory.

End of document.
