143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
1443051d27SRobert Mustacchi.Dd May 11, 2016
1543051d27SRobert Mustacchi.Dt PZONENAME 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1843051d27SRobert Mustacchi.Nm Pzonename ,
1943051d27SRobert Mustacchi.Nm Pzoneroot ,
2043051d27SRobert Mustacchi.Nm Pzonepath
2143051d27SRobert Mustacchi.Nd get zone name, root, and full object path
22ab618543SJohn Levon.Sh LIBRARY
2343051d27SRobert Mustacchi.Lb libproc
24ab618543SJohn Levon.Sh SYNOPSIS
2543051d27SRobert Mustacchi.In libproc.h
2643051d27SRobert Mustacchi.Ft char *
2743051d27SRobert Mustacchi.Fo Pzonename
2843051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
2943051d27SRobert Mustacchi.Fa "char *buf"
3043051d27SRobert Mustacchi.Fa "size_t nbyte"
3143051d27SRobert Mustacchi.Fc
3243051d27SRobert Mustacchi.Ft char *
3343051d27SRobert Mustacchi.Fo Pzoneroot
3443051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
3543051d27SRobert Mustacchi.Fa "char *buf"
3643051d27SRobert Mustacchi.Fa "size_t nbyte"
3743051d27SRobert Mustacchi.Fc
3843051d27SRobert Mustacchi.Ft char *
3943051d27SRobert Mustacchi.Fo Pzonepath
4043051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
4143051d27SRobert Mustacchi.Fa "const char *path"
4243051d27SRobert Mustacchi.Fa "char *buf"
4343051d27SRobert Mustacchi.Fa "size_t nbyte"
4443051d27SRobert Mustacchi.Fc
4543051d27SRobert Mustacchi.Sh DESCRIPTION
4643051d27SRobert MustacchiThe
4743051d27SRobert Mustacchi.Fn Pzonename
4843051d27SRobert Mustacchifunction attempts to determine the name of the zone for the process
4943051d27SRobert Mustacchihandle
5043051d27SRobert Mustacchi.Fa P .
5143051d27SRobert MustacchiIf found, up to
5243051d27SRobert Mustacchi.Fa nbytes ,
5343051d27SRobert Mustacchiincluding a null terminator, will be written into
5443051d27SRobert Mustacchi.Fa buf .
5543051d27SRobert Mustacchi.Pp
5643051d27SRobert MustacchiThe
5743051d27SRobert Mustacchi.Fn Pzoneroot
5843051d27SRobert Mustacchifunction attempts to determine the root of the zone corresponding to the
5943051d27SRobert Mustacchiprocess handle
6043051d27SRobert Mustacchi.Fa P .
6143051d27SRobert MustacchiIf found, up to
6243051d27SRobert Mustacchi.Fa nbytes ,
6343051d27SRobert Mustacchiincluding a null terminator, will be written into
6443051d27SRobert Mustacchi.Fa buf .
6543051d27SRobert MustacchiIf the root cannot be found, for example a core file that did not
6643051d27SRobert Mustacchioriginate on the current system, then the empty string will be written
6743051d27SRobert Mustacchiinto
6843051d27SRobert Mustacchi.Fa buf .
6943051d27SRobert Mustacchi.Pp
7043051d27SRobert MustacchiThe
7143051d27SRobert Mustacchi.Fn Pzonepath
7243051d27SRobert Mustacchifunction attempts to derive the full path of the object
7343051d27SRobert Mustacchi.Fa path
7443051d27SRobert Mustacchiin a zone relative to the root associated with the current process
7543051d27SRobert Mustacchihandle
7643051d27SRobert Mustacchi.Fa P .
7743051d27SRobert MustacchiIf found, up to
7843051d27SRobert Mustacchi.Fa nbytes ,
7943051d27SRobert Mustacchiincluding a null terminator, will be written into
8043051d27SRobert Mustacchi.Fa buf .
8143051d27SRobert MustacchiIt is legal to use the same buffer for both
8243051d27SRobert Mustacchi.Fa path
8343051d27SRobert Mustacchiand
8443051d27SRobert Mustacchi.Fa buf ;
8543051d27SRobert Mustacchiit will not be updated unless the function completes successfully.
8643051d27SRobert Mustacchi.Sh RETURN VALUES
8743051d27SRobert MustacchiUpon successful completion, the
8843051d27SRobert Mustacchi.Fn Pzonename ,
8943051d27SRobert Mustacchi.Fn Pzoneroot ,
9043051d27SRobert Mustacchiand
9143051d27SRobert Mustacchi.Fn Pzonepath
9243051d27SRobert Mustacchifunctions return
9343051d27SRobert Mustacchi.Sy buf .
9443051d27SRobert MustacchiOtherwise, if an error occurred,
9543051d27SRobert Mustacchi.Dv NULL
9643051d27SRobert Mustacchiis returned and
9743051d27SRobert Mustacchi.Sy errno
9843051d27SRobert Mustacchiis set.
9943051d27SRobert Mustacchi.Sh ERRORS
10043051d27SRobert MustacchiThe
10143051d27SRobert Mustacchi.Fn Pzonename
10243051d27SRobert Mustacchiand
10343051d27SRobert Mustacchi.Fn Pzoneroot
10443051d27SRobert Mustacchifunctions will fail if:
10543051d27SRobert Mustacchi.Bl -tag -width Er
10643051d27SRobert Mustacchi.It Er ENODATA
10743051d27SRobert Mustacchi.Fa P
10843051d27SRobert Mustacchirefers to a core file and zone information was not available in the core
10943051d27SRobert Mustacchidump or
11043051d27SRobert Mustacchi.Fa P
11143051d27SRobert Mustacchirefers to an ELF object grabbed through
11272d3dbb9SYuri Pankov.Xr Pgrab_file 3PROC .
11343051d27SRobert Mustacchi.It Er EFAULT
11443051d27SRobert Mustacchi.Fa P
11543051d27SRobert Mustacchirefers to an active process and
11643051d27SRobert Mustacchi.Fa buf
11743051d27SRobert Mustacchiis invalid.
11843051d27SRobert Mustacchi.El
11943051d27SRobert Mustacchi.Pp
12043051d27SRobert MustacchiThe
12143051d27SRobert Mustacchi.Fn Pzoneroot
12243051d27SRobert Mustacchifunction will fail if:
12343051d27SRobert Mustacchi.Bl -tag -width Er
12443051d27SRobert Mustacchi.It Er ENOMEM
12543051d27SRobert MustacchiInsufficient memory was available on the system.
12643051d27SRobert Mustacchi.El
12743051d27SRobert Mustacchi.Sh INTERFACE STABILITY
12843051d27SRobert Mustacchi.Sy Uncommitted
12943051d27SRobert Mustacchi.Sh MT-LEVEL
13043051d27SRobert MustacchiSee
13143051d27SRobert Mustacchi.Sy LOCKING
13243051d27SRobert Mustacchiin
13343051d27SRobert Mustacchi.Xr libproc 3LIB .
13443051d27SRobert Mustacchi.Sh SEE ALSO
13543051d27SRobert Mustacchi.Xr getzoneidbyname 3C ,
13643051d27SRobert Mustacchi.Xr libproc 3LIB ,
137*bbf21555SRichard Lowe.Xr proc 5
138