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