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