.\" .\" This file and its contents are supplied under the terms of the .\" Common Development and Distribution License ("CDDL"), version 1.0. .\" You may only use this file in accordance with the terms of version .\" 1.0 of the CDDL. .\" .\" A full copy of the text of the CDDL should have accompanied this .\" source. A copy of the CDDL is also available via the Internet at .\" http://www.illumos.org/license/CDDL. .\" .\" .\" Copyright 2015 Joyent, Inc. .\" .Dd May 11, 2016 .Dt PSYSENTRY 3PROC .Os .Sh NAME .Nm Psysentry , .Nm Psysexit .Nd set system call entry and exit actions .Sh LIBRARY .Lb libproc .Sh SYNOPSIS .In libproc.h .Ft int .Fo Psysentry .Fa "struct ps_prochandle *P" .Fa "int which" .Fa "int stop" .Fc .Ft int .Fo Psysexit .Fa "struct ps_prochandle *P" .Fa "int which" .Fa "int stop" .Fc .Sh DESCRIPTION The .Fn Psysentry and .Fn Psysexit functions controls what actions the process handle .Fa P should take upon executing a system call. .Pp The system allows a process to be stopped on both entry and exit of a system call. For information on the state of the process when it is stopped due to system call tracing, see the .Sy PCSENTRY and .Sy PCSEXIT sections of .Xr proc 5 . .Pp The value of the .Fa stop parameter controls whether or not the system call listed in .Fa which causes the process to stop. A value of non-zero indicates the process should stop; a value of 0 indicates it should not. .Pp The value of .Fa which indicates which system call the change applies to. A value of 0 applies to all system calls. Note, the system does not supply a stable mapping from system call names to identifiers. .Pp These functions only apply to actively running processes. They do not function on handles that refer to core files, zombie processes, or ELF objects. .Sh RETURN VALUES Upon successful completion, the .Fn Psysentry and .Fn Psysexit functions return the previous disposition of the system call -- .Sy 0 if it was not set to stop and .Sy 1 if it was -- and the system call state is updated. Otherwise, .Sy -1 is returned, .Dv errno is updated with the error that occurred, and the system call state is not updated. .Sh ERRORS The .Fn Psysentry and .Fn Psysexit functions will fail if: .Bl -tag -width Er .It Er EINVAL The value of .Fa which is invalid, e.g. it is less than zero or greater than the largest defined system call. .It Er ENOENT The handle .Fa P refers to a process that is a zombie, a core file, or an ELF object. .El .Sh INTERFACE STABILITY .Sy Uncommitted .Pp Note, while the .Fn Psysentry and .Fn Psysexit functions are uncommitted, the mapping of system calls to system call numbers is .Sy Not-an-Interface and may change at any time. .Sh MT-LEVEL See .Sy LOCKING in .Xr libproc 3LIB . .Sh SEE ALSO .Xr libproc 3LIB , .Xr proc 5 , .Xr attributes 7