xref: /illumos-gate/usr/src/man/man3proc/pr_getsockname.3proc (revision 685c1a21304711e8d0a21bade51b783487d53044)
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 PR_GETSOCKNAME 3PROC
16.Os
17.Sh NAME
18.Nm pr_getsockname
19.Nd inject getsockname library call into victim process
20.Sh SYNOPSIS
21.Lb libproc
22.In libproc.h
23.Ft int
24.Fo pr_getsockname
25.Fa "struct ps_prochandle *P"
26.Fa "int sock"
27.Fa "struct sockaddr *name"
28.Fa "socklen_t *namelen"
29.Fc
30.Sh DESCRIPTION
31The
32.Fn pr_getsockname
33function injects the
34.Xr getsockname 3SOCKET
35library call into the target process
36.Fa P
37by means of the agent LWP.
38If the process handle
39.Fa P
40is the value
41.Dv NULL
42then this will be equivalent to calling
43.Xr getsockname 3SOCKET
44on the currently running process.
45.Pp
46The arguments
47.Fa sock ,
48.Fa name ,
49and
50.Fa namelen
51have the same meaning as in
52.Xr getsockname 3SOCKET .
53See
54.Xr getsockname 3SOCKET
55for the full description and purpose of the
56.Sy getsockname
57library call and its arguments.
58.Pp
59The
60.Fn pr_getsockname
61function only works on active processes.
62Process handles that correspond to core files, zombie processes, or ELF objects
63do not support library call injection.
64.Sh RETURN VALUES
65Upon successful completion, the
66.Fn pr_getsockname
67function's return value is that described in
68.Xr getsockname 3SOCKET .
69Otherwise,
70.Sy -1
71is returned and
72.Sy errno
73is set to
74.Er ENOSYS
75to indicate that the library call could not be injected.
76.Sh ERRORS
77For the full list of errors see the
78.Sy ERRORS
79section in
80.Xr getsockname 3SOCKET .
81.Pp
82The
83.Fn pr_getsockname
84function will fail if:
85.Bl -tag -width Er
86.It Er ENOSYS
87An error occurred while trying to invoke the agent LWP and inject a
88library call in the process handle
89.Fa P
90or the process handle
91.Fa P
92does not support library call injection.
93.El
94.Sh INTERFACE STABILITY
95.Sy Uncommitted
96.Sh MT-LEVEL
97See
98.Sy LOCKING
99in
100.Xr libproc 3LIB .
101.Sh SEE ALSO
102.Xr libproc 3LIB ,
103.Xr getsockname 3SOCKET ,
104.Xr proc 4
105