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