SYNOPSIS
        #include <sys/driver_hooks.h>

        set_driver_hook(H_RESET, value)

        <value> being:

          void <name>( void )
          void|int <closure> ( void )
          void|int <closure> (object obj_to_reset)

DESCRIPTION
        Optional hook to reset an object. Hook setting can be any
        closure, or the name of the function (static or public) to
        call in the object.

        If the hook is an unbound lambda closure, it is bound to the
        object to be reset and called with no argument. If the hook
        is any other type of closure, it is called with the target
        object as argument.

        If the result of this call is a positive number, it is used as
        the interval to wait before the next reset(). If the result
        is 0, the default interval computed from TIME_TO_RESET is
        used. If the result is a negative number, the object will not
        be reset again, unless directed otherwise by set_next_reset().

        If the hook is defined as the name of an lfun in the object,
        it is called in the object with no argument, and any result
        is ignored. In this call the previous_object() is the object
        initiating the reset. If the function does not exist, the
        object won't be reset again.

        Note that an object is only reset by call to this hook if it
        has been used since the last reset.

HISTORY
        LDMud 3.2.10 allowed static functions to be given by name.
        LDMud 3.6.5 removed the argument given for the lfun call.

SEE ALSO
        hooks(C)