1 .\"
   2 .\" This file and its contents are supplied under the terms of the
   3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
   4 .\" You may only use this file in accordance with the terms of version
   5 .\" 1.0 of the CDDL.
   6 .\"
   7 .\" A full copy of the text of the CDDL should have accompanied this
   8 .\" source.  A copy of the CDDL is also available via the Internet at
   9 .\" http://www.illumos.org/license/CDDL.
  10 .\"
  11 .\"
  12 .\" Copyright 2015 Joyent, Inc.
  13 .\"
  14 .Dd May 11, 2016
  15 .Dt PSETPRIV 3PROC
  16 .Os
  17 .Sh NAME
  18 .Nm Psetpriv
  19 .Nd set process privileges
  20 .Sh SYNOPSIS
  21 .Lb libproc
  22 .In libproc.h
  23 .Ft int
  24 .Fo Psetpriv
  25 .Fa "struct ps_prochandle *P"
  26 .Fa "prpriv_t *pprv"
  27 .Fc
  28 .Sh DESCRIPTION
  29 The
  30 .Fn Psetpriv
  31 function updates the privileges of the process handle
  32 .Fa P
  33 to the set described by
  34 .Fa pprv .
  35 The updated privilege set has restrictions on what it may change for a
  36 process which are documented in the
  37 .Sy PCSPRIV
  38 section of
  39 .Xr proc 4 .
  40 In addition, the definition of the
  41 .Sy prpriv_t
  42 structure is described in
  43 .Xr proc 4 .
  44 .Pp
  45 The current privilege set for the process may be obtained through a call
  46 to
  47 .Xr Ppriv 3PROC .
  48 .Pp
  49 Note, the privilege set may only be updated for active processes.
  50 Process handles which correspond to core files, zombie processes, and
  51 files, may not have their privilege sets updated.
  52 .Sh RETURN VALUES
  53 Upon successful completion, the
  54 .Fn Psetpriv
  55 function returns
  56 .Sy 0
  57 and updates the privilege sets of the process.
  58 Otherwise,
  59 .Sy -1
  60 is returned and
  61 .Sy errno
  62 is set to indicate the error.
  63 .Sh ERRORS
  64 For a full list of possible errors see the
  65 .Sy DIAGNOSTICS
  66 section in
  67 .Xr proc 4 .
  68 .Pp
  69 The
  70 .Fn Psetpriv
  71 function will fail if:
  72 .Bl -tag -width Er
  73 .It Er EBADF
  74 .Fa P
  75 doesn't refer to an active process, but a core file, zombie, or a file.
  76 .El
  77 .Sh INTERFACE STABILITY
  78 .Sy Uncommitted
  79 .Sh MT-LEVEL
  80 See
  81 .Sy LOCKING
  82 in
  83 .Xr libproc 3LIB .
  84 .Sh SEE ALSO
  85 .Xr libproc 3LIB ,
  86 .Xr Ppriv 3PROC ,
  87 .Xr proc 4 ,
  88 .Xr privileges 5