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 PCRED 3PROC 16 .Os 17 .Sh NAME 18 .Nm Pcred 19 .Nd obtain process credentials 20 .Sh LIBRARY 21 .Lb libproc 22 .Sh SYNOPSIS 23 .In libproc.h 24 .Ft int 25 .Fo Pcred 26 .Fa "struct ps_prochandle *P" 27 .Fa "prcred_t *pcrp" 28 .Fa "int ngroups" 29 .Fc 30 .Sh DESCRIPTION 31 The 32 .Fn Pcred 33 function obtains the credentials of the process from the handle 34 .Fa P . 35 .Pp 36 The credentials are read into the buffer pointed to by 37 .Fa pcrp . 38 The 39 .Sy prcred_t 40 type is defined in 41 .Xr proc 4 . 42 It contains information about the current effective, saved, and real 43 user and group IDs. 44 It also allows for supplemental groups to be obtained. 45 The 46 .Fn Pcred 47 function will read a number of supplemental groups based on the value of 48 .Fa ngroups . 49 The 50 .Sy prcred_t 51 structure only contains the space for one supplemental group by default. 52 Callers should ensure that the buffer pointed to by 53 .Fa pcrp 54 contains enough space to include all of the required supplemental 55 groups that are desired. 56 .Pp 57 Not all process handles have credential information available to them. 58 For example, the handles that come from 59 .Xr Pgrab_file 3PROC 60 have no processes associated with them and thus have no credentials 61 associated with them. 62 .Sh RETURN VALUES 63 Upon successful completion, the 64 .Fn Pcred 65 function returns 66 .Sy 0 67 and updates the memory at 68 .Fa pcrp 69 with the credentials. 70 Otherwise, 71 .Sy -1 72 is returned to indicate an error. 73 .Sh INTERFACE STABILITY 74 .Sy Uncommitted 75 .Sh MT-LEVEL 76 See 77 .Sy LOCKING 78 in 79 .Xr libproc 3LIB . 80 .Sh SEE ALSO 81 .Xr libproc 3LIB , 82 .Xr Psetcred 3PROC , 83 .Xr proc 4