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.\" 14*a7d7cafeSRobert Mustacchi.Dd November 27, 2023 1543051d27SRobert Mustacchi.Dt PR_GETSOCKNAME 3PROC 1643051d27SRobert Mustacchi.Os 1743051d27SRobert Mustacchi.Sh NAME 1843051d27SRobert Mustacchi.Nm pr_getsockname 1943051d27SRobert Mustacchi.Nd inject getsockname library call into victim process 20*a7d7cafeSRobert Mustacchi.Sh LIBRARY 2143051d27SRobert Mustacchi.Lb libproc 22*a7d7cafeSRobert Mustacchi.Sh SYNOPSIS 2343051d27SRobert Mustacchi.In libproc.h 2443051d27SRobert Mustacchi.Ft int 2543051d27SRobert Mustacchi.Fo pr_getsockname 2643051d27SRobert Mustacchi.Fa "struct ps_prochandle *P" 2743051d27SRobert Mustacchi.Fa "int sock" 2843051d27SRobert Mustacchi.Fa "struct sockaddr *name" 2943051d27SRobert Mustacchi.Fa "socklen_t *namelen" 3043051d27SRobert Mustacchi.Fc 3143051d27SRobert Mustacchi.Sh DESCRIPTION 3243051d27SRobert MustacchiThe 3343051d27SRobert Mustacchi.Fn pr_getsockname 3443051d27SRobert Mustacchifunction injects the 3543051d27SRobert Mustacchi.Xr getsockname 3SOCKET 3643051d27SRobert Mustacchilibrary call into the target process 3743051d27SRobert Mustacchi.Fa P 3843051d27SRobert Mustacchiby means of the agent LWP. 3943051d27SRobert MustacchiIf the process handle 4043051d27SRobert Mustacchi.Fa P 4143051d27SRobert Mustacchiis the value 4243051d27SRobert Mustacchi.Dv NULL 4343051d27SRobert Mustacchithen this will be equivalent to calling 4443051d27SRobert Mustacchi.Xr getsockname 3SOCKET 4543051d27SRobert Mustacchion the currently running process. 4643051d27SRobert Mustacchi.Pp 4743051d27SRobert MustacchiThe arguments 4843051d27SRobert Mustacchi.Fa sock , 4943051d27SRobert Mustacchi.Fa name , 5043051d27SRobert Mustacchiand 5143051d27SRobert Mustacchi.Fa namelen 5243051d27SRobert Mustacchihave the same meaning as in 5343051d27SRobert Mustacchi.Xr getsockname 3SOCKET . 5443051d27SRobert MustacchiSee 5543051d27SRobert Mustacchi.Xr getsockname 3SOCKET 5643051d27SRobert Mustacchifor the full description and purpose of the 5743051d27SRobert Mustacchi.Sy getsockname 5843051d27SRobert Mustacchilibrary call and its arguments. 5943051d27SRobert Mustacchi.Pp 6043051d27SRobert MustacchiThe 6143051d27SRobert Mustacchi.Fn pr_getsockname 6272d3dbb9SYuri Pankovfunction only works on active processes. 6372d3dbb9SYuri PankovProcess handles that correspond to core files, zombie processes, or ELF objects 6472d3dbb9SYuri Pankovdo not support library call injection. 6543051d27SRobert Mustacchi.Sh RETURN VALUES 6643051d27SRobert MustacchiUpon successful completion, the 6743051d27SRobert Mustacchi.Fn pr_getsockname 6843051d27SRobert Mustacchifunction's return value is that described in 6943051d27SRobert Mustacchi.Xr getsockname 3SOCKET . 7043051d27SRobert MustacchiOtherwise, 7143051d27SRobert Mustacchi.Sy -1 7243051d27SRobert Mustacchiis returned and 7343051d27SRobert Mustacchi.Sy errno 7443051d27SRobert Mustacchiis set to 7543051d27SRobert Mustacchi.Er ENOSYS 7643051d27SRobert Mustacchito indicate that the library call could not be injected. 7743051d27SRobert Mustacchi.Sh ERRORS 7843051d27SRobert MustacchiFor the full list of errors see the 7943051d27SRobert Mustacchi.Sy ERRORS 8043051d27SRobert Mustacchisection in 8143051d27SRobert Mustacchi.Xr getsockname 3SOCKET . 8243051d27SRobert Mustacchi.Pp 8343051d27SRobert MustacchiThe 8443051d27SRobert Mustacchi.Fn pr_getsockname 8543051d27SRobert Mustacchifunction will fail if: 8643051d27SRobert Mustacchi.Bl -tag -width Er 8743051d27SRobert Mustacchi.It Er ENOSYS 8843051d27SRobert MustacchiAn error occurred while trying to invoke the agent LWP and inject a 8943051d27SRobert Mustacchilibrary call in the process handle 9043051d27SRobert Mustacchi.Fa P 9143051d27SRobert Mustacchior the process handle 9243051d27SRobert Mustacchi.Fa P 9343051d27SRobert Mustacchidoes not support library call injection. 9443051d27SRobert Mustacchi.El 9543051d27SRobert Mustacchi.Sh INTERFACE STABILITY 9643051d27SRobert Mustacchi.Sy Uncommitted 9743051d27SRobert Mustacchi.Sh MT-LEVEL 9843051d27SRobert MustacchiSee 9943051d27SRobert Mustacchi.Sy LOCKING 10043051d27SRobert Mustacchiin 10143051d27SRobert Mustacchi.Xr libproc 3LIB . 10243051d27SRobert Mustacchi.Sh SEE ALSO 10343051d27SRobert Mustacchi.Xr libproc 3LIB , 10443051d27SRobert Mustacchi.Xr getsockname 3SOCKET , 105bbf21555SRichard Lowe.Xr proc 5 106