drv_priv(D3)
drv_priv - determine whether credentials are privileged
As shipped in IRIX 6.5. First release of IRIX 6.5.
NAME drv_priv - determine whether credentials are privileged SYNOPSIS int drv_priv(cred_t *crp); Arguments crp Pointer to the user credential structure. DESCRIPTION The drv_priv function determines whether the credentials specified by the credential structure pointed to by crp identify a privileged process. Return Values drv_prv returns 0 if the specified credentials identify a privileged process and EPERM otherwise. USAGE This function should only be used when file access modes and special minor device numbers are insufficient to provide the necessary protection for the driver operation being performed. Calls to drv_priv should replace all calls to suser and any explicit checks for effective user ID equal to zero in driver code. A credential structure pointer is passed into various driver entry point functions [open(D2), close(D2), read(D2), write(D2), and ioctl(D2)] and can also be obtained by calling drv_getparm(D3) from base level driver code. Level Base or Interrupt. Synchronization Constraints Does not sleep. Driver-defined basic locks, read/write locks, and sleep locks may be held across calls to this function. Warnings The only valid use for a credential structure pointer is as an argument to drv_priv. The contents of a credential structure are not defined by the DDI/DKI and a driver may not examine the contents of the structure directly.