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 PPLATFORM 3PROC
  16 .Os
  17 .Sh NAME
  18 .Nm Pplatform
  19 .Nd get platform string
  20 .Sh SYNOPSIS
  21 .Lb libproc
  22 .In libproc.h
  23 .Ft "char *"
  24 .Fo Pplatform
  25 .Fa "struct ps_prochandle *P"
  26 .Fa "char *buffer"
  27 .Fa "size_t bufsize"
  28 .Fc
  29 .Sh DESCRIPTION
  30 The
  31 .Fn Pplatform
  32 function determines the name of the platform for the process handle
  33 .Fa P .
  34 Up to
  35 .Fa bufsize
  36 characters, including the null terminator, will be copied into
  37 .Fa buffer .
  38 .Pp
  39 The platform is the value reported by the
  40 .Sy -s
  41 option to
  42 .Xr uname 1 .
  43 For example, on x86 systems, the value will be
  44 .Sy i86pc .
  45 .Pp
  46 Note, process handles that correspond to a file, created by
  47 .Xr Pgrab_file 3PROC ,
  48 will not report a platform and the
  49 .Fn Pplatform
  50 function will fail.
  51 .Sh RETURN VALUES
  52 Upon successful completion, the
  53 .Fn Pplatform
  54 function returns
  55 .Fa buffer .
  56 Otherwise,
  57 .Dv NULL
  58 is returned,
  59 .Sy errno
  60 is set, and
  61 .Fa buffer
  62 is not updated.
  63 .Sh ERRORS
  64 The
  65 .Fn Pplatform
  66 function will fail if:
  67 .Bl -tag -width Er
  68 .It Er ENODATA
  69 .Fa P
  70 refers to a core file and there is no
  71 .Sy NT_PLATFORM
  72 ELF note available.
  73 .It Er EFAULT
  74 .Fa P
  75 refers to a live process and
  76 .Fa buffer
  77 is an invalid address.
  78 .El
  79 .Sh INTERFACE STABILITY
  80 .Sy Uncommitted
  81 .Sh MT-LEVEL
  82 See
  83 .Sy LOCKING
  84 in
  85 .Xr libproc 3LIB .
  86 .Sh SEE ALSO
  87 .Xr uname 1 ,
  88 .Xr sysinfo 2 ,
  89 .Xr libproc 3LIB ,
  90 .Xr proc 4