RageIRCd v2.0 (bluemoon): Hook Events
-------------------------------------

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

One of the major new features in RageIRCd v2.0 is the Hook subsystem. It 
allows dynamic modules to plug into ircd, to extend the servers 
functionality. Dynamic modules can even register their own hooks, for more 
modules to plug into. See hook-api.txt for further information.

A hook can be plugged into by a function. This function is known as a Hook 
Event. Each time this hook is called, the associated events are performed. 
Hook Events are of type int, and should return a value appropriate for the 
hook it's plugged into. See hooks.txt for more information.

HookEvent* register_hook_event(Module* owner, Hook* hook, int (*event)())

This API will register the specified event (of type int) within the specified
hook. Every time the hook is called, each event associated with it will be
run. Depending on the context of the hook, a return value may alter behaviour
of the routine calling the hook. See doc/hooks.txt for hook details.

Please see the module-api.txt document for information on how to use the
MOD_HEADER macro to specify the owner of the object.

End of document.
