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 PUNAME 3PROC
  16 .Os
  17 .Sh NAME
  18 .Nm Puname
  19 .Nd get uname information from a process
  20 .Sh LIBRARY
  21 .Lb libproc
  22 .Sh SYNOPSIS
  23 .In libproc.h
  24 .Ft int
  25 .Fo Puname
  26 .Fa "struct ps_prochandle *P"
  27 .Fa "struct utsname *u"
  28 .Fc
  29 .Sh DESCRIPTION
  30 The
  31 .Fn Puname
  32 function copies the operating system information from the process
  33 handle
  34 .Fa P
  35 into
  36 .Fa u .
  37 .Pp
  38 For an active process or zombie process, this is the same information
  39 obtained from
  40 .Xr uname 2 .
  41 For core files, if available, it is the system information at the time
  42 the core was dumped.
  43 .Pp
  44 Handles that correspond to ELF objects do not contain uname
  45 information.
  46 .Sh RETURN VALUES
  47 Upon successful completion, the
  48 .Fn Puname
  49 function returns
  50 .Sy 0
  51 and updates the information at
  52 .Fa u .
  53 Otherwise,
  54 .Sy -1
  55 is returned and
  56 .Sy errno
  57 is set to indicate the error.
  58 .Sh ERRORS
  59 The
  60 .Fn Puname
  61 function will fail if:
  62 .Bl -tag -width Er
  63 .It Er ENODATA
  64 .Fa P
  65 is a handle that corresponds to an ELF object or
  66 .Fa P
  67 is a handle that corresponds to a core file and that information is not
  68 available in the core file.
  69 .It Er EFAULT
  70 .Fa P
  71 is a handle that corresponds to an active process and
  72 .Fa u
  73 is a bad address.
  74 .El
  75 .Sh INTERFACE STABILITY
  76 .Sy Uncommitted
  77 .Sh MT-LEVEL
  78 See
  79 .Sy LOCKING
  80 in
  81 .Xr libproc 3LIB .
  82 .Sh SEE ALSO
  83 .Xr uname 1 ,
  84 .Xr uname 2 ,
  85 .Xr libproc 3LIB