drv_priv(D3) drv_priv(D3)
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.
Copyright 1994 Novell, Inc. Page 1
drv_priv(D3) drv_priv(D3)
NOTICES
Portability
All processors
Applicability
ddi: 1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp
Copyright 1994 Novell, Inc. Page 2