blob: a71ea1c16e07c4c293fd9e80c495ca570aac7db3 [file] [log] [blame]
Robert Mustacchi43051d22016-05-12 09:47:18 -07001.\"
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
John Levonab618542018-10-08 15:34:11 +010020.Sh LIBRARY
Robert Mustacchi43051d22016-05-12 09:47:18 -070021.Lb libproc
John Levonab618542018-10-08 15:34:11 +010022.Sh SYNOPSIS
Robert Mustacchi43051d22016-05-12 09:47:18 -070023.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
31The
32.Fn Pcred
33function obtains the credentials of the process from the handle
34.Fa P .
35.Pp
36The credentials are read into the buffer pointed to by
37.Fa pcrp .
38The
39.Sy prcred_t
40type is defined in
41.Xr proc 4 .
42It contains information about the current effective, saved, and real
Yuri Pankov72d3dbb2017-05-29 03:56:19 +030043user and group IDs.
44It also allows for supplemental groups to be obtained.
45The
Robert Mustacchi43051d22016-05-12 09:47:18 -070046.Fn Pcred
47function will read a number of supplemental groups based on the value of
48.Fa ngroups .
49The
50.Sy prcred_t
51structure only contains the space for one supplemental group by default.
52Callers should ensure that the buffer pointed to by
53.Fa pcrp
54contains enough space to include all of the required supplemental
55groups that are desired.
56.Pp
57Not all process handles have credential information available to them.
58For example, the handles that come from
Yuri Pankov72d3dbb2017-05-29 03:56:19 +030059.Xr Pgrab_file 3PROC
Robert Mustacchi43051d22016-05-12 09:47:18 -070060have no processes associated with them and thus have no credentials
61associated with them.
62.Sh RETURN VALUES
63Upon successful completion, the
64.Fn Pcred
65function returns
66.Sy 0
67and updates the memory at
68.Fa pcrp
Yuri Pankov72d3dbb2017-05-29 03:56:19 +030069with the credentials.
70Otherwise,
Robert Mustacchi43051d22016-05-12 09:47:18 -070071.Sy -1
72is returned to indicate an error.
73.Sh INTERFACE STABILITY
74.Sy Uncommitted
75.Sh MT-LEVEL
76See
77.Sy LOCKING
78in
79.Xr libproc 3LIB .
80.Sh SEE ALSO
81.Xr libproc 3LIB ,
82.Xr Psetcred 3PROC ,
83.Xr proc 4