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