8158 Want named threads API
[unleashed.git] / usr / src / man / man3proc / Puname.3proc
blobf6134de653d47125f03c728d2e98ee18ed0938db
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
81 .Xr libproc 3LIB .
82 .Sh SEE ALSO
83 .Xr uname 1 ,
84 .Xr uname 2 ,
85 .Xr libproc 3LIB