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

pr_door_info
inject door_info library call into victim process

Process Control Library (libproc, -lproc)
#include <libproc.h>

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

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.

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.

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

The pr_door_info() function will fail if:

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.

Uncommitted

See LOCKING in libproc(3LIB).

door_info(3C), libproc(3LIB), proc(5)
May 11, 2016 OmniOS