PR_DOOR_INFO(3PROC) Process Control Library Functions PR_DOOR_INFO(3PROC)

NAME


pr_door_info - inject door_info library call into victim process

LIBRARY


Process Control Library (libproc, -lproc)

SYNOPSIS


#include <libproc.h>

int
pr_door_info(struct ps_prochandle *P, int did, struct door_info *info);

DESCRIPTION


The pr_door_info() function injects the door_info(3C) 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 door_info(3C) on the currently
running process.

The arguments did and info have the same meaning as in door_info(3C). See
door_info(3C) for the full description and purpose of the door_info library
call and its arguments.

The pr_door_info() function only works on active processes. Process
handles that correspond to core files, zombie processes, or ELF objects do
not support library call injection.

RETURN VALUES


Upon successful completion, the pr_door_info() function's return value is
that described in door_info(3C). Otherwise, -1 is returned and errno is
set to ENOSYS to indicate that the library call could not be injected.

ERRORS


For the full list of errors see the ERRORS section in door_info(3C).

The pr_door_info() function will fail if:

ENOSYS An error occurred while trying to invoke the agent LWP
and inject a library call in the process handle P or the
process handle P does not support library call
injection.

INTERFACE STABILITY


Uncommitted

MT-LEVEL
See LOCKING in libproc(3LIB).

SEE ALSO


door_info(3C), libproc(3LIB), proc(5)

illumos November 27, 2023 illumos