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_GETSPYMASTER 3PROC 16 .Os 17 .Sh NAME 18 .Nm Plwp_getspymaster 19 .Nd get agent LWP spy master information 20 .Sh LIBRARY 21 .Lb libproc 22 .Sh SYNOPSIS 23 .In libproc.h 24 .Ft int 25 .Fo Plwp_getspymaster 26 .Fa "struct ps_prochandle *P" 27 .Fa "lwpid_t lwpid" 28 .Fa "psinfo_t *ps" 29 .Fc 30 .Sh DESCRIPTION 31 The 32 .Fn Plwp_getspymaster 33 function returns information about the spy master that corresponds to 34 the agent LWP for the thread 35 .Fa lwpid 36 in the process handle 37 .Fa P . 38 .Pp 39 The agent LWP allows another process to inject actions into the target process. 40 When an agent LWP is created, it leverages an existing thread in the process and 41 it also creates a record of whom created the agent, which is called the spy 42 master. 43 For more information on the agent LWP and the spy master, see 44 .Xr proc 4 . 45 .Pp 46 If the thread identified 47 .Fa lwpid 48 has an agent LWP, the corresponding ps information 49 .Po see 50 .Xr proc 4 51 for the definition of the 52 .Sy psinfo_t 53 .Pc 54 will be filled into 55 .Fa ps . 56 .Pp 57 Note, process handles that correspond to a file, created by 58 .Xr Pgrab_file 3PROC , 59 cannot have an agent LWP created for them and thus cannot have any spy 60 master information. 61 In addition, core files from older releases may not have any data on the spy 62 master. 63 .Sh RETURN VALUES 64 Upon successful completion, the 65 .Fn Plwp_getspymaster 66 returns 67 .Sy 0 68 and updates 69 .Fa ps . 70 Otherwise, it returns 71 .Sy -1 , 72 sets 73 .Sy errno , 74 and 75 .Fa ps 76 is not modified. 77 .Sh ERRORS 78 For a full list of possible errors also see the 79 .Sy DIAGNOSTICS 80 section in 81 .Xr proc 4 . 82 .Pp 83 The 84 .Fn Plwp_getpsinfo 85 function will fail if: 86 .Bl -tag -width Er 87 .It Er ENODATA 88 .Fa P 89 refers to a file handle obtained through 90 .Xr Pgrab_file 3PROC 91 or 92 .Fa P 93 does not have any information about the spy master. 94 .It Er EINVAL 95 The process handle 96 .Fa P 97 refers to a core file and the specified thread does not exist. 98 .Pp 99 The thread, 100 .Fa lwpid 101 does not have an active agent, 102 .Dv PR_AGENT 103 is not set in the 104 .Sy pr_flags 105 member of the thread's status information. 106 .It Er ENOENT 107 The process handle 108 .Fa P 109 refers to an active process and the specified thread does not exist. 110 .El 111 .Sh INTERFACE STABILITY 112 .Sy Uncommitted 113 .Sh MT-LEVEL 114 See 115 .Sy LOCKING 116 in 117 .Xr libproc 3LIB . 118 .Sh SEE ALSO 119 .Xr libproc 3LIB , 120 .Xr proc 4