suser(9r) [osf1 man page]
suser(9r) suser(9r) NAME
suser - General: Checks whether the current user is the superuser SYNOPSIS
#include <sys/proc.h> #include <sys/acct.h> int suser( struct u_cred *cred, struct flag_field *ac_flag ); ARGUMENTS
Specifies a pointer to the credentials for the current process. Specifies a pointer to a flag_field structure that contains accounting flags. DESCRIPTION
The suser routine checks whether the current user is the superuser. If the test succeeds and ac_flag is not a null pointer, the ASU flag is set in the flag_field structure pointed to by ac_flag. The most common value for ac_flag is as follows: &u.u_acflag NOTES
You use the suser routine only if the security feature is not enabled. If the security feature is enabled, use the privileged routine to determine if the current process has the appropriate privilege. RETURN VALUES
If the current user is the superuser, the suser routine returns the value 0 (zero). Otherwise, it returns an error. ERRORS
The current user is not the superuser. SEE ALSO
Routines: privileged(9r) suser(9r)
Check Out this Related Man Page
drv_priv(9F) Kernel Functions for Drivers drv_priv(9F) NAME
drv_priv - determine driver privilege SYNOPSIS
#include <sys/types.h> #include <sys/cred.h> #include <sys/ddi.h> int drv_priv(cred_t *cr); INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI). PARAMETERS
cr Pointer to the user credential structure. DESCRIPTION
drv_priv() provides a general interface to the system privilege policy. It determines whether the credentials supplied by the user creden- tial structure pointed to by cr identify a process that has the {PRIV_SYS_DEVICES} privilege asserted in its effective set. This function should be used only when file access modes, special minor device numbers, and the device policy (see privileges(5), add_drv(1M)) are insuf- ficient to provide protection for the requested driver function. It is intended to replace all calls to suser() and any explicit checks for effective user ID = 0 in driver code. RETURN VALUES
This routine returns 0 if it succeeds, EPERM if it fails. CONTEXT
drv_priv() can be called from user or interrupt context. SEE ALSO
add_drv(1M), update_drv(1M), privileges(5) Writing Device Drivers SunOS 5.10 29 Jan 2003 drv_priv(9F)