'\" te .\" Copyright (c) 2006, Sun Microsystems, Inc. All Rights Reserved. .\" Copyright 1989 AT&T .TH drv_priv 9F "16 Jan 2006" "SunOS 5.11" "Kernel Functions for Drivers" .SH NAME drv_priv \- determine driver privilege .SH SYNOPSIS .LP .nf #include #include #include \fBint\fR \fBdrv_priv\fR(\fBcred_t *\fR\fIcr\fR); .fi .SH INTERFACE LEVEL .sp .LP Architecture independent level 1 (DDI/DKI). .SH PARAMETERS .sp .ne 2 .mk .na \fB\fIcr\fR\fR .ad .RS 6n .rt Pointer to the user credential structure. .RE .SH DESCRIPTION .sp .LP The \fBdrv_priv()\fR function provides a general interface to the system privilege policy. It determines whether the credentials supplied by the user credential structure pointed to by \fIcr\fR identify a process that has the \fB{PRIV_SYS_DEVICES}\fR 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 \fBprivileges\fR(5), \fBadd_drv\fR(1M)) are insufficient to provide protection for the requested driver function. It is intended to replace all calls to \fBsuser()\fR and any explicit checks for effective user ID = 0 in driver code. .SH RETURN VALUES .sp .LP This routine returns \fB0\fR if it succeeds, \fBEPERM\fR if it fails. .SH CONTEXT .sp .LP The \fBdrv_priv()\fR function can be called from user, interrupt, or kernel context. .SH SEE ALSO .sp .LP \fBadd_drv\fR(1M), \fBupdate_drv\fR(1M), \fBprivileges\fR(5) .sp .LP \fIWriting Device Drivers for Oracle Solaris 11.2\fR