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 PLWP_GETPSINFO 3PROC
16.Os
17.Sh NAME
18.Nm Plwp_getpsinfo
19.Nd get thread specific ps information
20.Sh LIBRARY
21.Lb libproc
22.Sh SYNOPSIS
23.In libproc.h
24.Ft int
25.Fo Plwp_getpsinfo
26.Fa "struct ps_prochandle *P"
27.Fa "lwpid_t lwpid"
28.Fa "lwpsinfo_t *lps"
29.Fc
30.Sh DESCRIPTION
31The
32.Fn Plwp_getpsinfo
33function
34looks up the thread-specific
35.Xr ps 1
36information for the thread specified by
37.Fa lwpid
38in the process handle
39.Fa P .
40The caller should provide a pointer to an
41.Sy lwpsinfo_t ,
42.Fa lps ,
43whose definition can be found in
44.Xr proc 5 .
45.Fa lps
46will be filled in with information such as the thread's id, its current
47state, priority, and run-time.
48.Pp
49The
50.Fn Plwp_getpsinfo
51function only works on process handles that refer to active processes
52and core files, it does not work on process handles that refer to
53individual files.
54.Sh RETURN VALUES
55Upon successful completion, the
56.Fn Plwp_getpsinfo
57function returns
58.Sy 0
59and
60.Fa lps
61is filled in with the
62thread-specific
63.Xr ps 1
64information.
65Otherwise,
66.Sy -1
67is returned and
68.Sy errno
69is set to indicate the error.
70.Sh ERRORS
71For a full list of possible errors also see the
72.Sy DIAGNOSTICS
73section in
74.Xr proc 5 .
75.Pp
76The
77.Fn Plwp_getpsinfo
78function will fail if:
79.Bl -tag -width Er
80.It Er ENODATA
81.Fa P
82refers to a file handle obtained through
83.Xr Pgrab_file 3PROC .
84.It Er EINVAL
85The process handle
86.Fa P
87refers to a core file and the specified thread does not exist.
88.It Er ENOENT
89The process handle
90.Fa P
91refers to an active process and the specified thread does not exist.
92.El
93.Sh INTERFACE STABILITY
94.Sy Uncommitted
95.Sh MT-LEVEL
96See
97.Sy LOCKING
98in
99.Xr ps 1 ,
100.Xr libproc 3LIB .
101.Sh SEE ALSO
102.Xr libproc 3LIB ,
103.Xr proc 5
104