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 any closure, or the name of the function
        (static or public) to call in the object.

        If the hook is an unbound lambda 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 an unbound lambda
        closure without arguments, it is bound to the object to be
        initalized and called. If the hook is any other type of closure,
        it is called with the created object as the first argument and
        any further arguments from the clone_object() call.

        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)