SYNOPSIS
        #include <sys/driver_hooks.h>

        set_driver_hook(H_CLONE_UIDS, value)

        <value> being:

          mixed <closure>(object blueprint, string objectname)

DESCRIPTION
        Mandatory hooks to determine the uid and euid of cloned
        objects.  Hook settings can be any closure.

        When an object is cloned, the H_CLONE_UIDS hook is called with
        the blueprint object as first and the clone's designated name
        as second argument. The new object already exists, but has 0
        uids.

        For the result, the following possibilities exist (<num> is
        a non-zero number, <no-string> is anything but a string):

           "<uid>"                    -> uid = "<uid>", euid = "<uid>"
           ({ "<uid>", "<euid>" })    -> uid = "<uid>", euid = "<euid>"
           ({ "<uid>", <no-string> }) -> uid = "<uid>", euid = 0

        If strict-euids is not active, the following results are
        possible, too:

           <num>                      -> uid = 0, euid = 0
           ({ <num>, "<euid>" })      -> uid = 0, euid = "<euid>"
           ({ <num>, <no-string> })   -> uid = 0, euid = 0

HISTORY

SEE ALSO
        hooks(C), uids(C), load_uids(H)
