PZONENAME(3PROC) Process Control Library Functions PZONENAME(3PROC)

NAME


Pzonename, Pzoneroot, Pzonepath - get zone name, root, and full object path

LIBRARY


Process Control Library (libproc, -lproc)

SYNOPSIS


#include <libproc.h>

char *
Pzonename(struct ps_prochandle *P, char *buf, size_t nbyte);

char *
Pzoneroot(struct ps_prochandle *P, char *buf, size_t nbyte);

char *
Pzonepath(struct ps_prochandle *P, const char *path, char *buf,
size_t nbyte);

DESCRIPTION


The Pzonename() function attempts to determine the name of the zone for the
process handle P. If found, up to nbytes, including a null terminator,
will be written into buf.

The Pzoneroot() function attempts to determine the root of the zone
corresponding to the process handle P. If found, up to nbytes, including a
null terminator, will be written into buf. If the root cannot be found,
for example a core file that did not originate on the current system, then
the empty string will be written into buf.

The Pzonepath() function attempts to derive the full path of the object
path in a zone relative to the root associated with the current process
handle P. If found, up to nbytes, including a null terminator, will be
written into buf. It is legal to use the same buffer for both path and
buf; it will not be updated unless the function completes successfully.

RETURN VALUES


Upon successful completion, the Pzonename(), Pzoneroot(), and Pzonepath()
functions return buf. Otherwise, if an error occurred, NULL is returned
and errno is set.

ERRORS


The Pzonename() and Pzoneroot() functions will fail if:

ENODATA P refers to a core file and zone information was not
available in the core dump or P refers to an ELF object
grabbed through Pgrab_file(3PROC).

EFAULT P refers to an active process and buf is invalid.

The Pzoneroot() function will fail if:

ENOMEM Insufficient memory was available on the system.

INTERFACE STABILITY


Uncommitted

MT-LEVEL
See LOCKING in libproc(3LIB).

SEE ALSO


getzoneidbyname(3C), libproc(3LIB), proc(4)

illumos May 11, 2016 illumos