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 PZONENAME 3PROC 16 .Os 17 .Sh NAME 18 .Nm Pzonename , 19 .Nm Pzoneroot , 20 .Nm Pzonepath 21 .Nd get zone name, root, and full object path 22 .Sh LIBRARY 23 .Lb libproc 24 .Sh SYNOPSIS 25 .In libproc.h 26 .Ft char * 27 .Fo Pzonename 28 .Fa "struct ps_prochandle *P" 29 .Fa "char *buf" 30 .Fa "size_t nbyte" 31 .Fc 32 .Ft char * 33 .Fo Pzoneroot 34 .Fa "struct ps_prochandle *P" 35 .Fa "char *buf" 36 .Fa "size_t nbyte" 37 .Fc 38 .Ft char * 39 .Fo Pzonepath 40 .Fa "struct ps_prochandle *P" 41 .Fa "const char *path" 42 .Fa "char *buf" 43 .Fa "size_t nbyte" 44 .Fc 45 .Sh DESCRIPTION 46 The 47 .Fn Pzonename 48 function attempts to determine the name of the zone for the process 49 handle 50 .Fa P . 51 If found, up to 52 .Fa nbytes , 53 including a null terminator, will be written into 54 .Fa buf . 55 .Pp 56 The 57 .Fn Pzoneroot 58 function attempts to determine the root of the zone corresponding to the 59 process handle 60 .Fa P . 61 If found, up to 62 .Fa nbytes , 63 including a null terminator, will be written into 64 .Fa buf . 65 If the root cannot be found, for example a core file that did not 66 originate on the current system, then the empty string will be written 67 into 68 .Fa buf . 69 .Pp 70 The 71 .Fn Pzonepath 72 function attempts to derive the full path of the object 73 .Fa path 74 in a zone relative to the root associated with the current process 75 handle 76 .Fa P . 77 If found, up to 78 .Fa nbytes , 79 including a null terminator, will be written into 80 .Fa buf . 81 It is legal to use the same buffer for both 82 .Fa path 83 and 84 .Fa buf ; 85 it will not be updated unless the function completes successfully. 86 .Sh RETURN VALUES 87 Upon successful completion, the 88 .Fn Pzonename , 89 .Fn Pzoneroot , 90 and 91 .Fn Pzonepath 92 functions return 93 .Sy buf . 94 Otherwise, if an error occurred, 95 .Dv NULL 96 is returned and 97 .Sy errno 98 is set. 99 .Sh ERRORS 100 The 101 .Fn Pzonename 102 and 103 .Fn Pzoneroot 104 functions will fail if: 105 .Bl -tag -width Er 106 .It Er ENODATA 107 .Fa P 108 refers to a core file and zone information was not available in the core 109 dump or 110 .Fa P 111 refers to an ELF object grabbed through 112 .Xr Pgrab_file 3PROC . 113 .It Er EFAULT 114 .Fa P 115 refers to an active process and 116 .Fa buf 117 is invalid. 118 .El 119 .Pp 120 The 121 .Fn Pzoneroot 122 function will fail if: 123 .Bl -tag -width Er 124 .It Er ENOMEM 125 Insufficient memory was available on the system. 126 .El 127 .Sh INTERFACE STABILITY 128 .Sy Uncommitted 129 .Sh MT-LEVEL 130 See 131 .Sy LOCKING 132 in 133 .Xr libproc 3LIB . 134 .Sh SEE ALSO 135 .Xr getzoneidbyname 3C , 136 .Xr libproc 3LIB , 137 .Xr proc 4