SYNOPSIS
        #include <sys/driver_hooks.h>

        set_driver_hook(H_CREATE_CLONE, value)

        <value> being:

          void <name>   (...)
          int <closure> ( void )
          int <closure> (object obj_to_init, ...)

DESCRIPTION
        Optional hooks to initialize a cloned object after creation.
        Hook setting can be unbound lambda closures, or the name of
        the function (static or public) to call in the object.

        If the hook is a closure expecting arguments, it is bound to the
        current object and called with the created object as the first
        argument and any further arguments from the clone_object() call.
        If the hook is a closure without arguments, it is bound to
        the object to be initalized and called.

        If the result of the closure call is a non-zero number, it is used
        as the interval to wait before the first reset(), else the default
        interval computed from TIME_TO_RESET is used.

        If the hook is defined as the name of an lfun in the object,
        it is called in the object with any further arguments from the
        clone_object() call, and any result is ignored.

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), create_ob(H), create_super(H), create_lwobject(H)
