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 PEXECNAME 3PROC 16.Os 17.Sh NAME 18.Nm Pexecname 19.Nd obtain full path to process executable 20.Sh SYNOPSIS 21.Lb libproc 22.In libproc.h 23.Ft "char *" 24.Fo Pexecname 25.Fa "struct ps_prochandle *P" 26.Fa "char *buf" 27.Fa "size_t buflen" 28.Fc 29.Sh DESCRIPTION 30The 31.Fn Pexecname 32function attempts to determine the full path to the process executable 33referred to by the handle 34.Fa P . 35.Pp 36If found, 37.Fa buf 38will be filled in with the full path for up to 39.Fa buflen 40bytes, including the null terminator. 41.Pp 42For a handle grabbed with 43.Xr Pgrab_file 3PROC , 44the executable refers to the path of the file itself. For a core file, 45the system attempts to determine the original path of the executable 46and return that. 47.Sh RETURN VALUES 48Upon successful completion, the 49.Fn Pexecname 50function returns the value of 51.Fa buf , 52and up to 53.Fa buflen 54bytes of 55.Fa buf 56are filled in with a null-terminated path. 57Otherwise, 58.Dv NULL 59is returned. 60.Sh INTERFACE STABILITY 61.Sy Uncommitted 62.Sh MT-LEVEL 63See 64.Sy LOCKING 65in 66.Xr libproc 3LIB . 67.Sh SEE ALSO 68.Xr libproc 3LIB 69