aboutsummaryrefslogtreecommitdiff
path: root/cddl/lib/libdtrace/signal.d
blob: cdd4338833974c4d1485582d4d48050eb4e2910c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 *
 * Portions Copyright 2008 John Birrell jb@freebsd.org
 * Portions Copyright 2018 Devin Teske dteske@freebsd.org
 *
 * $FreeBSD$
 */

inline int SIGHUP = 1;
#pragma D binding "1.0" SIGHUP
inline int SIGINT = 2;
#pragma D binding "1.0" SIGINT
inline int SIGQUIT = 3;
#pragma D binding "1.0" SIGQUIT
inline int SIGILL = 4;
#pragma D binding "1.0" SIGILL
inline int SIGTRAP = 5;
#pragma D binding "1.0" SIGTRAP
inline int SIGABRT = 6;
#pragma D binding "1.0" SIGABRT
inline int SIGEMT = 7;
#pragma D binding "1.0" SIGEMT
inline int SIGFPE = 8;
#pragma D binding "1.0" SIGFPE
inline int SIGKILL = 9;
#pragma D binding "1.0" SIGKILL
inline int SIGBUS = 10;
#pragma D binding "1.0" SIGBUS
inline int SIGSEGV = 11;
#pragma D binding "1.0" SIGSEGV
inline int SIGSYS = 12;
#pragma D binding "1.0" SIGSYS
inline int SIGPIPE = 13;
#pragma D binding "1.0" SIGPIPE
inline int SIGALRM = 14;
#pragma D binding "1.0" SIGALRM
inline int SIGTERM = 15;
#pragma D binding "1.0" SIGTERM
inline int SIGURG = 16;
#pragma D binding "1.0" SIGURG
inline int SIGSTOP = 17;
#pragma D binding "1.0" SIGSTOP
inline int SIGTSTP = 18;
#pragma D binding "1.0" SIGTSTP
inline int SIGCONT = 19;
#pragma D binding "1.0" SIGCONT
inline int SIGCHLD = 20;
#pragma D binding "1.0" SIGCHLD
inline int SIGTTIN = 21;
#pragma D binding "1.0" SIGTTIN
inline int SIGTTOU = 22;
#pragma D binding "1.0" SIGTTOU
inline int SIGIO = 23;
#pragma D binding "1.0" SIGIO
inline int SIGXCPU = 24;
#pragma D binding "1.0" SIGXCPU
inline int SIGXFSZ = 25;
#pragma D binding "1.0" SIGXFSZ
inline int SIGVTALRM = 26;
#pragma D binding "1.0" SIGVTALRM
inline int SIGPROF = 27;
#pragma D binding "1.0" SIGPROF
inline int SIGWINCH = 28;
#pragma D binding "1.0" SIGWINCH
inline int SIGINFO = 29;
#pragma D binding "1.0" SIGINFO
inline int SIGUSR1 = 30;
#pragma D binding "1.0" SIGUSR1
inline int SIGUSR2 = 31;
#pragma D binding "1.0" SIGUSR2
inline int SIGTHR = 32;
#pragma D binding "1.13" SIGTHR
inline int SIGLIBRT = 33;
#pragma D binding "1.13" SIGLIBRT

#pragma D binding "1.13" signal_string
inline string signal_string[int signal] =
	signal == SIGHUP ?	"SIGHUP" :
	signal == SIGINT ?	"SIGINT" :
	signal == SIGQUIT ?	"SIGQUIT" :
	signal == SIGILL ?	"SIGILL":
	signal == SIGTRAP ?	"SIGTRAP" :
	signal == SIGABRT ?	"SIGABRT" :
	signal == SIGEMT ?	"SIGEMT" :
	signal == SIGFPE ?	"SIGFPE" :
	signal == SIGKILL ?	"SIGKILL" :
	signal == SIGBUS ?	"SIGBUS" :
	signal == SIGSEGV ?	"SIGSEGV" :
	signal == SIGSYS ?	"SIGSYS" :
	signal == SIGPIPE ?	"SIGPIPE" :
	signal == SIGALRM ?	"SIGALRM" :
	signal == SIGTERM ?	"SIGTERM" :
	signal == SIGURG ?	"SIGURG" :
	signal == SIGSTOP ?	"SIGSTOP" :
	signal == SIGTSTP ?	"SIGTSTP" :
	signal == SIGCONT ?	"SIGCONT" :
	signal == SIGCHLD ?	"SIGCHLD" :
	signal == SIGTTIN ?	"SIGTTIN" :
	signal == SIGTTOU ?	"SIGTTOU" :
	signal == SIGIO ?	"SIGIO" :
	signal == SIGXCPU ?	"SIGXCPU" :
	signal == SIGXFSZ ?	"SIGXFSZ" :
	signal == SIGVTALRM ?	"SIGVTALRM" :
	signal == SIGPROF ?	"SIGPROF" :
	signal == SIGWINCH ?	"SIGWINCH" :
	signal == SIGINFO ?	"SIGINFO" :
	signal == SIGUSR1 ?	"SIGUSR1" :
	signal == SIGUSR2 ?	"SIGUSR2" :
	signal == SIGTHR ?	"SIGTHR" :
	signal == SIGLIBRT ?	"SIGLIBRT" :
	"UNKNOWN";

inline int CLD_EXITED = 1;
#pragma D binding "1.0" CLD_EXITED
inline int CLD_KILLED = 2;
#pragma D binding "1.0" CLD_KILLED
inline int CLD_DUMPED = 3;
#pragma D binding "1.0" CLD_DUMPED
inline int CLD_TRAPPED = 4;
#pragma D binding "1.0" CLD_TRAPPED
inline int CLD_STOPPED = 5;
#pragma D binding "1.0" CLD_STOPPED
inline int CLD_CONTINUED = 6;
#pragma D binding "1.0" CLD_CONTINUED

#pragma D binding "1.13" child_signal_string
inline string child_signal_string[int child_signal] =
	child_signal == CLD_EXITED ?	"child exited" :
	child_signal == CLD_KILLED ?	"child terminated abnormally" :
	child_signal == CLD_DUMPED ?	"child core dumped" :
	child_signal == CLD_TRAPPED ?	"traced child trapped" :
	child_signal == CLD_STOPPED ?	"child stopped" :
	child_signal == CLD_CONTINUED ?	"stopped child continued" :
	strjoin("unknown SIGCHLD code (", strjoin(lltostr(child_signal), ")"));