PR_GETPEERNAME(3PROC) | Process Control Library Functions | PR_GETPEERNAME(3PROC) |
pr_getpeername
—
inject getpeername library call into victim
process
Process Control Library (libproc, -lproc)
#include
<libproc.h>
int
pr_getpeername
(struct ps_prochandle
*P, int sock, struct sockaddr
*name, socklen_t *namelen);
The
pr_getpeername
()
function injects the
getpeername(3SOCKET)
library call into the target process P by means of the
agent LWP. If the process handle P is
NULL
then this is equivalent to calling
getpeername(3SOCKET) on the
currently running process.
The arguments sock, name, and namelen have the same meaning as in getpeername(3SOCKET). See getpeername(3SOCKET) for the full description and purpose of the getpeername library call and its arguments.
The
pr_getpeername
()
function only works on active processes. Process handles that correspond to
core files, zombie processes, or ELF objects do not support library call
injection.
Upon successful completion, the
pr_getpeername
() function's return value is that
described in
getpeername(3SOCKET).
Otherwise, -1 is
returned and
errno is
set to ENOSYS
to indicate that the library call
could not be injected.
For the full list of errors see the ERRORS section in getpeername(3SOCKET).
The pr_getpeername
() function will fail
if:
ENOSYS
See LOCKING in libproc(3LIB).
November 27, 2023 | OmniOS |