cc -mt [ flag ... ] file ... -ldoor [ library ... ] #include <door.h>int door_cred(door_cred_t *info);
The door_cred() function returns credential information associated with the client (if any) of the current door invocation.
The contents of the info argument include the following fields:
uid_t dc_euid; /* Effective uid of client */ gid_t dc_egid; /* Effective gid of client */ uid_t dc_ruid; /* Real uid of client */ gid_t dc_rgid; /* Real gid of client */ pid_t dc_pid; /* pid of client */
The credential information associated with the client refers to the information from the immediate caller; not necessarily from the first thread in a chain of door calls.
Upon successful completion, door_cred() returns 0. Otherwise, door_cred() returns -1 and sets errno to indicate the error.
The door_cred() function will fail if:
The address of the info argument is invalid.
There is no associated door client.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|