PR_GETRLIMIT(3PROC) | Process Control Library Functions | PR_GETRLIMIT(3PROC) |
pr_getrlimit
,
pr_getrlimit64
— inject
getrlimit system call into victim process
Process Control Library (libproc, -lproc)
#include
<libproc.h>
int
pr_getrlimit
(struct ps_prochandle
*P, int resource, struct rlimit
*rlp);
int
pr_getrlimit64
(struct ps_prochandle
*P, int resource, struct
rlimit64 *rlp);
The
pr_getrlimit
()
function injects the getrlimit(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
getrlimit(2) on the currently
running process.
The arguments resource and rlp have the same meaning as in getrlimit(2). See getrlimit(2) for the full description and purpose of the getrlimit system call and its arguments.
The
pr_getrlimit
()
function only works on active processes. Process handles that correspond to
core files, zombie processes, or ELF objects do not support system call
injection.
The
pr_getrlimit64
()
function is equivalent to pr_getrlimit
(); however,
rather than having the rlimit information be subject to the data model of
the target process, they always provide 64-bit rlimit information. See
lf64(7) for more information.
Upon successful completion, the
pr_getrlimit
() function's return value is that
described in getrlimit(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 getrlimit(2).
The pr_getrlimit
() function will fail
if:
ENOSYS
See LOCKING in libproc(3LIB).
November 27, 2023 | OmniOS |