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