xref: /illumos-gate/usr/src/man/man3proc/Plwp_getspymaster.3proc (revision bbf215553c7233fbab8a0afdf1fac74c44781867)
143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
1443051d27SRobert Mustacchi.Dd May 11, 2016
1543051d27SRobert Mustacchi.Dt PLWP_GETSPYMASTER 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1843051d27SRobert Mustacchi.Nm Plwp_getspymaster
1943051d27SRobert Mustacchi.Nd get agent LWP spy master information
20ab618543SJohn Levon.Sh LIBRARY
2143051d27SRobert Mustacchi.Lb libproc
22ab618543SJohn Levon.Sh SYNOPSIS
2343051d27SRobert Mustacchi.In libproc.h
2443051d27SRobert Mustacchi.Ft int
2543051d27SRobert Mustacchi.Fo Plwp_getspymaster
2643051d27SRobert Mustacchi.Fa "struct ps_prochandle *P"
2743051d27SRobert Mustacchi.Fa "lwpid_t lwpid"
2843051d27SRobert Mustacchi.Fa "psinfo_t *ps"
2943051d27SRobert Mustacchi.Fc
3043051d27SRobert Mustacchi.Sh DESCRIPTION
3143051d27SRobert MustacchiThe
3243051d27SRobert Mustacchi.Fn Plwp_getspymaster
3343051d27SRobert Mustacchifunction returns information about the spy master that corresponds to
3443051d27SRobert Mustacchithe agent LWP for the thread
3543051d27SRobert Mustacchi.Fa lwpid
3643051d27SRobert Mustacchiin the process handle
3743051d27SRobert Mustacchi.Fa P .
3843051d27SRobert Mustacchi.Pp
3972d3dbb9SYuri PankovThe agent LWP allows another process to inject actions into the target process.
4072d3dbb9SYuri PankovWhen an agent LWP is created, it leverages an existing thread in the process and
4172d3dbb9SYuri Pankovit also creates a record of whom created the agent, which is called the spy
4272d3dbb9SYuri Pankovmaster.
4372d3dbb9SYuri PankovFor more information on the agent LWP and the spy master, see
44*bbf21555SRichard Lowe.Xr proc 5 .
4543051d27SRobert Mustacchi.Pp
4643051d27SRobert MustacchiIf the thread identified
4743051d27SRobert Mustacchi.Fa lwpid
48c66b8046SYuri Pankovhas an agent LWP, the corresponding ps information
49c66b8046SYuri Pankov.Po see
50*bbf21555SRichard Lowe.Xr proc 5
5143051d27SRobert Mustacchifor the definition of the
52c66b8046SYuri Pankov.Sy psinfo_t
53c66b8046SYuri Pankov.Pc
5443051d27SRobert Mustacchiwill be filled into
5543051d27SRobert Mustacchi.Fa ps .
5643051d27SRobert Mustacchi.Pp
5743051d27SRobert MustacchiNote, process handles that correspond to a file, created by
5843051d27SRobert Mustacchi.Xr Pgrab_file 3PROC ,
5943051d27SRobert Mustacchicannot have an agent LWP created for them and thus cannot have any spy
6072d3dbb9SYuri Pankovmaster information.
6172d3dbb9SYuri PankovIn addition, core files from older releases may not have any data on the spy
6272d3dbb9SYuri Pankovmaster.
6343051d27SRobert Mustacchi.Sh RETURN VALUES
6443051d27SRobert MustacchiUpon successful completion, the
6543051d27SRobert Mustacchi.Fn Plwp_getspymaster
6643051d27SRobert Mustacchireturns
6743051d27SRobert Mustacchi.Sy 0
6843051d27SRobert Mustacchiand updates
6943051d27SRobert Mustacchi.Fa ps .
7043051d27SRobert MustacchiOtherwise, it returns
7143051d27SRobert Mustacchi.Sy -1 ,
7243051d27SRobert Mustacchisets
7343051d27SRobert Mustacchi.Sy errno ,
7443051d27SRobert Mustacchiand
7543051d27SRobert Mustacchi.Fa ps
7643051d27SRobert Mustacchiis not modified.
7743051d27SRobert Mustacchi.Sh ERRORS
7843051d27SRobert MustacchiFor a full list of possible errors also see the
7943051d27SRobert Mustacchi.Sy DIAGNOSTICS
8043051d27SRobert Mustacchisection in
81*bbf21555SRichard Lowe.Xr proc 5 .
8243051d27SRobert Mustacchi.Pp
8343051d27SRobert MustacchiThe
8443051d27SRobert Mustacchi.Fn Plwp_getpsinfo
8543051d27SRobert Mustacchifunction will fail if:
8643051d27SRobert Mustacchi.Bl -tag -width Er
8743051d27SRobert Mustacchi.It Er ENODATA
8843051d27SRobert Mustacchi.Fa P
8943051d27SRobert Mustacchirefers to a file handle obtained through
9043051d27SRobert Mustacchi.Xr Pgrab_file 3PROC
9143051d27SRobert Mustacchior
9243051d27SRobert Mustacchi.Fa P
9343051d27SRobert Mustacchidoes not have any information about the spy master.
9443051d27SRobert Mustacchi.It Er EINVAL
9543051d27SRobert MustacchiThe process handle
9643051d27SRobert Mustacchi.Fa P
9743051d27SRobert Mustacchirefers to a core file and the specified thread does not exist.
9843051d27SRobert Mustacchi.Pp
9943051d27SRobert MustacchiThe thread,
10043051d27SRobert Mustacchi.Fa lwpid
10143051d27SRobert Mustacchidoes not have an active agent,
10243051d27SRobert Mustacchi.Dv PR_AGENT
10343051d27SRobert Mustacchiis not set in the
10443051d27SRobert Mustacchi.Sy pr_flags
10543051d27SRobert Mustacchimember of the thread's status information.
10643051d27SRobert Mustacchi.It Er ENOENT
10743051d27SRobert MustacchiThe process handle
10843051d27SRobert Mustacchi.Fa P
10943051d27SRobert Mustacchirefers to an active process and the specified thread does not exist.
11043051d27SRobert Mustacchi.El
11143051d27SRobert Mustacchi.Sh INTERFACE STABILITY
11243051d27SRobert Mustacchi.Sy Uncommitted
11343051d27SRobert Mustacchi.Sh MT-LEVEL
11443051d27SRobert MustacchiSee
11543051d27SRobert Mustacchi.Sy LOCKING
11643051d27SRobert Mustacchiin
11743051d27SRobert Mustacchi.Xr libproc 3LIB .
11843051d27SRobert Mustacchi.Sh SEE ALSO
11943051d27SRobert Mustacchi.Xr libproc 3LIB ,
120*bbf21555SRichard Lowe.Xr proc 5
121