PR_PROCESSOR_BIND(3PROC) | Process Control Library Functions | PR_PROCESSOR_BIND(3PROC) |
pr_processor_bind
—
inject processor_bind system call into victim
process
Process Control Library (libproc, -lproc)
#include
<libproc.h>
int
pr_processor_bind
(struct ps_prochandle
*P, idtype_t idtype, id_t
id, int processorid, int
*obind);
The
pr_processor_bind
()
function injects the
processor_bind(2) system 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
processor_bind(2) on the
currently running process.
The arguments idtype, id, processorid, and obind have the same meaning as in processor_bind(2). See processor_bind(2) for the full description and purpose of the processor_bind system call and its arguments.
The
pr_processor_bind
()
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_processor_bind
() function's return value is that
described in
processor_bind(2). 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 processor_bind(2).
The pr_processor_bind
() function will fail
if:
ENOSYS
See LOCKING in libproc(3LIB).
November 27, 2023 | OmniOS |