8158 Want named threads API
[unleashed.git] / usr / src / man / man3proc / Psysentry.3proc
blobca0a92369a1c1ac0cdf269bc78ca121eb95ff83d
1 .\"
2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
5 .\" 1.0 of the CDDL.
6 .\"
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source.  A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
10 .\"
11 .\"
12 .\" Copyright 2015 Joyent, Inc.
13 .\"
14 .Dd May 11, 2016
15 .Dt PSYSENTRY 3PROC
16 .Os
17 .Sh NAME
18 .Nm Psysentry ,
19 .Nm Psysexit
20 .Nd set system call entry and exit actions
21 .Sh LIBRARY
22 .Lb libproc
23 .Sh SYNOPSIS
24 .In libproc.h
25 .Ft int
26 .Fo Psysentry
27 .Fa "struct ps_prochandle *P"
28 .Fa "int which"
29 .Fa "int stop"
30 .Fc
31 .Ft int
32 .Fo Psysexit
33 .Fa "struct ps_prochandle *P"
34 .Fa "int which"
35 .Fa "int stop"
36 .Fc
37 .Sh DESCRIPTION
38 The
39 .Fn Psysentry
40 and
41 .Fn Psysexit
42 functions controls what actions the process handle
43 .Fa P
44 should take upon executing a system call.
45 .Pp
46 The system allows a process to be stopped on both entry and exit of a
47 system call.
48 For information on the state of the process when it is stopped due to system
49 call tracing, see the
50 .Sy PCSENTRY
51 and
52 .Sy PCSEXIT
53 sections of
54 .Xr proc 4 .
55 .Pp
56 The value of the
57 .Fa stop
58 parameter controls whether or not the system call listed in
59 .Fa which
60 causes the process to stop.
61 A value of non-zero indicates the process should stop;
62 a value of 0 indicates it should not.
63 .Pp
64 The value of
65 .Fa which
66 indicates which system call the change applies to.
67 A value of 0 applies to all system calls.
68 Note, the system does not supply a stable mapping from system call names to
69 identifiers.
70 .Pp
71 These functions only apply to actively running processes.
72 They do not function on handles that refer to core files, zombie processes,
73 or ELF objects.
74 .Sh RETURN VALUES
75 Upon successful completion, the
76 .Fn Psysentry
77 and
78 .Fn Psysexit
79 functions return the previous disposition of the system call --
80 .Sy 0
81 if it was not set to stop and
82 .Sy 1
83 if it was --
84 and the system call state is updated.
85 Otherwise,
86 .Sy -1
87 is returned,
88 .Dv errno
89 is updated with the error that occurred, and the system call state is
90 not updated.
91 .Sh ERRORS
92 The
93 .Fn Psysentry
94 and
95 .Fn Psysexit
96 functions will fail if:
97 .Bl -tag -width Er
98 .It Er EINVAL
99 The value of
100 .Fa which
101 is invalid, e.g. it is less than zero or greater than the largest defined
102 system call.
103 .It Er ENOENT
104 The handle
105 .Fa P
106 refers to a process that is a zombie, a core file, or an ELF object.
108 .Sh INTERFACE STABILITY
109 .Sy Uncommitted
111 Note, while the
112 .Fn Psysentry
114 .Fn Psysexit
115 functions are uncommitted, the mapping of system calls to system call
116 numbers is
117 .Sy Not-an-Interface
118 and may change at any time.
119 .Sh MT-LEVEL
121 .Sy LOCKING
123 .Xr libproc 3LIB .
124 .Sh SEE ALSO
125 .Xr libproc 3LIB ,
126 .Xr proc 4 ,
127 .Xr attributes 5