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