1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * CDDL HEADER START
3*0Sstevel@tonic-gate  *
4*0Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate  * with the License.
8*0Sstevel@tonic-gate  *
9*0Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate  * and limitations under the License.
13*0Sstevel@tonic-gate  *
14*0Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate  *
20*0Sstevel@tonic-gate  * CDDL HEADER END
21*0Sstevel@tonic-gate  */
22*0Sstevel@tonic-gate /*
23*0Sstevel@tonic-gate  * Copyright 1992-2003 Sun Microsystems, Inc.  All rights reserved.
24*0Sstevel@tonic-gate  * Use is subject to license terms.
25*0Sstevel@tonic-gate  */
26*0Sstevel@tonic-gate 
27*0Sstevel@tonic-gate /*	Copyright (c) 1988 AT&T	*/
28*0Sstevel@tonic-gate /*	  All Rights Reserved  	*/
29*0Sstevel@tonic-gate 
30*0Sstevel@tonic-gate 
31*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
32*0Sstevel@tonic-gate 
33*0Sstevel@tonic-gate #include <signal.h>
34*0Sstevel@tonic-gate #include <siginfo.h>
35*0Sstevel@tonic-gate 
36*0Sstevel@tonic-gate #undef _sys_siginfolist
37*0Sstevel@tonic-gate #define	OLDNSIG 34
38*0Sstevel@tonic-gate 
39*0Sstevel@tonic-gate const char *_sys_traplist[NSIGTRAP] = {
40*0Sstevel@tonic-gate 	"breakpoint trap",
41*0Sstevel@tonic-gate 	"trace trap",
42*0Sstevel@tonic-gate 	"read access trap",
43*0Sstevel@tonic-gate 	"write access trap",
44*0Sstevel@tonic-gate 	"execute access trap",
45*0Sstevel@tonic-gate 	"dtrace trap"
46*0Sstevel@tonic-gate };
47*0Sstevel@tonic-gate 
48*0Sstevel@tonic-gate const char *_sys_illlist[NSIGILL] = {
49*0Sstevel@tonic-gate 	"illegal opcode",
50*0Sstevel@tonic-gate 	"illegal operand",
51*0Sstevel@tonic-gate 	"illegal addressing mode",
52*0Sstevel@tonic-gate 	"illegal trap",
53*0Sstevel@tonic-gate 	"privileged instruction",
54*0Sstevel@tonic-gate 	"privileged register",
55*0Sstevel@tonic-gate 	"co-processor",
56*0Sstevel@tonic-gate 	"bad stack"
57*0Sstevel@tonic-gate };
58*0Sstevel@tonic-gate 
59*0Sstevel@tonic-gate const char *_sys_fpelist[NSIGFPE] = {
60*0Sstevel@tonic-gate 	"integer divide by zero",
61*0Sstevel@tonic-gate 	"integer overflow",
62*0Sstevel@tonic-gate 	"floating point divide by zero",
63*0Sstevel@tonic-gate 	"floating point overflow",
64*0Sstevel@tonic-gate 	"floating point underflow",
65*0Sstevel@tonic-gate 	"floating point inexact result",
66*0Sstevel@tonic-gate 	"invalid floating point operation",
67*0Sstevel@tonic-gate 	"subscript out of range"
68*0Sstevel@tonic-gate };
69*0Sstevel@tonic-gate 
70*0Sstevel@tonic-gate const char *_sys_segvlist[NSIGSEGV] = {
71*0Sstevel@tonic-gate 	"address not mapped to object",
72*0Sstevel@tonic-gate 	"invalid permissions",
73*0Sstevel@tonic-gate };
74*0Sstevel@tonic-gate 
75*0Sstevel@tonic-gate const char *_sys_buslist[NSIGBUS] = {
76*0Sstevel@tonic-gate 	"invalid address alignment",
77*0Sstevel@tonic-gate 	"non-existent physical address",
78*0Sstevel@tonic-gate 	"object specific"
79*0Sstevel@tonic-gate };
80*0Sstevel@tonic-gate 
81*0Sstevel@tonic-gate const char *_sys_cldlist[NSIGCLD] = {
82*0Sstevel@tonic-gate 	"child has exited",
83*0Sstevel@tonic-gate 	"child was killed",
84*0Sstevel@tonic-gate 	"child has coredumped",
85*0Sstevel@tonic-gate 	"traced child has trapped",
86*0Sstevel@tonic-gate 	"child has stopped",
87*0Sstevel@tonic-gate 	"stopped child has continued"
88*0Sstevel@tonic-gate };
89*0Sstevel@tonic-gate 
90*0Sstevel@tonic-gate const char *_sys_polllist[NSIGPOLL] = {
91*0Sstevel@tonic-gate 	"input available",
92*0Sstevel@tonic-gate 	"output possible",
93*0Sstevel@tonic-gate 	"message available",
94*0Sstevel@tonic-gate 	"I/O error",
95*0Sstevel@tonic-gate 	"high priority input available",
96*0Sstevel@tonic-gate 	"device disconnected"
97*0Sstevel@tonic-gate };
98*0Sstevel@tonic-gate 
99*0Sstevel@tonic-gate struct siginfolist _sys_siginfolist[OLDNSIG-1] = {
100*0Sstevel@tonic-gate 	0,		0,			/* SIGHUP */
101*0Sstevel@tonic-gate 	0,		0,			/* SIGINT */
102*0Sstevel@tonic-gate 	0,		0,			/* SIGQUIT */
103*0Sstevel@tonic-gate 	NSIGILL,	(char **)_sys_illlist,	/* SIGILL */
104*0Sstevel@tonic-gate 	NSIGTRAP,	(char **)_sys_traplist,	/* SIGTRAP */
105*0Sstevel@tonic-gate 	0,		0,			/* SIGABRT */
106*0Sstevel@tonic-gate 	0,		0,			/* SIGEMT */
107*0Sstevel@tonic-gate 	NSIGFPE,	(char **)_sys_fpelist,	/* SIGFPE */
108*0Sstevel@tonic-gate 	0,		0,			/* SIGKILL */
109*0Sstevel@tonic-gate 	NSIGBUS,	(char **)_sys_buslist,	/* SIGBUS */
110*0Sstevel@tonic-gate 	NSIGSEGV,	(char **)_sys_segvlist,	/* SIGSEGV */
111*0Sstevel@tonic-gate 	0,		0,			/* SIGSYS */
112*0Sstevel@tonic-gate 	0,		0,			/* SIGPIPE */
113*0Sstevel@tonic-gate 	0,		0,			/* SIGALRM */
114*0Sstevel@tonic-gate 	0,		0,			/* SIGTERM */
115*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR1 */
116*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR2 */
117*0Sstevel@tonic-gate 	NSIGCLD,	(char **)_sys_cldlist,	/* SIGCLD */
118*0Sstevel@tonic-gate 	0,		0,			/* SIGPWR */
119*0Sstevel@tonic-gate 	0,		0,			/* SIGWINCH */
120*0Sstevel@tonic-gate 	0,		0,			/* SIGURG */
121*0Sstevel@tonic-gate 	NSIGPOLL,	(char **)_sys_polllist,	/* SIGPOLL */
122*0Sstevel@tonic-gate 	0,		0,			/* SIGSTOP */
123*0Sstevel@tonic-gate 	0,		0,			/* SIGTSTP */
124*0Sstevel@tonic-gate 	0,		0,			/* SIGCONT */
125*0Sstevel@tonic-gate 	0,		0,			/* SIGTTIN */
126*0Sstevel@tonic-gate 	0,		0,			/* SIGTTOU */
127*0Sstevel@tonic-gate 	0,		0,			/* SIGVTALRM */
128*0Sstevel@tonic-gate 	0,		0,			/* SIGPROF */
129*0Sstevel@tonic-gate 	0,		0,			/* SIGXCPU */
130*0Sstevel@tonic-gate 	0,		0,			/* SIGXFSZ */
131*0Sstevel@tonic-gate 	0,		0,			/* SIGWAITING */
132*0Sstevel@tonic-gate 	0,		0,			/* SIGLWP */
133*0Sstevel@tonic-gate };
134*0Sstevel@tonic-gate 
135*0Sstevel@tonic-gate static const struct siginfolist _sys_siginfolist_data[NSIG-1] = {
136*0Sstevel@tonic-gate 	0,		0,			/* SIGHUP */
137*0Sstevel@tonic-gate 	0,		0,			/* SIGINT */
138*0Sstevel@tonic-gate 	0,		0,			/* SIGQUIT */
139*0Sstevel@tonic-gate 	NSIGILL,	(char **)_sys_illlist,	/* SIGILL */
140*0Sstevel@tonic-gate 	NSIGTRAP,	(char **)_sys_traplist,	/* SIGTRAP */
141*0Sstevel@tonic-gate 	0,		0,			/* SIGABRT */
142*0Sstevel@tonic-gate 	0,		0,			/* SIGEMT */
143*0Sstevel@tonic-gate 	NSIGFPE,	(char **)_sys_fpelist,	/* SIGFPE */
144*0Sstevel@tonic-gate 	0,		0,			/* SIGKILL */
145*0Sstevel@tonic-gate 	NSIGBUS,	(char **)_sys_buslist,	/* SIGBUS */
146*0Sstevel@tonic-gate 	NSIGSEGV,	(char **)_sys_segvlist,	/* SIGSEGV */
147*0Sstevel@tonic-gate 	0,		0,			/* SIGSYS */
148*0Sstevel@tonic-gate 	0,		0,			/* SIGPIPE */
149*0Sstevel@tonic-gate 	0,		0,			/* SIGALRM */
150*0Sstevel@tonic-gate 	0,		0,			/* SIGTERM */
151*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR1 */
152*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR2 */
153*0Sstevel@tonic-gate 	NSIGCLD,	(char **)_sys_cldlist,	/* SIGCLD */
154*0Sstevel@tonic-gate 	0,		0,			/* SIGPWR */
155*0Sstevel@tonic-gate 	0,		0,			/* SIGWINCH */
156*0Sstevel@tonic-gate 	0,		0,			/* SIGURG */
157*0Sstevel@tonic-gate 	NSIGPOLL,	(char **)_sys_polllist,	/* SIGPOLL */
158*0Sstevel@tonic-gate 	0,		0,			/* SIGSTOP */
159*0Sstevel@tonic-gate 	0,		0,			/* SIGTSTP */
160*0Sstevel@tonic-gate 	0,		0,			/* SIGCONT */
161*0Sstevel@tonic-gate 	0,		0,			/* SIGTTIN */
162*0Sstevel@tonic-gate 	0,		0,			/* SIGTTOU */
163*0Sstevel@tonic-gate 	0,		0,			/* SIGVTALRM */
164*0Sstevel@tonic-gate 	0,		0,			/* SIGPROF */
165*0Sstevel@tonic-gate 	0,		0,			/* SIGXCPU */
166*0Sstevel@tonic-gate 	0,		0,			/* SIGXFSZ */
167*0Sstevel@tonic-gate 	0,		0,			/* SIGWAITING */
168*0Sstevel@tonic-gate 	0,		0,			/* SIGLWP */
169*0Sstevel@tonic-gate 	0,		0,			/* SIGFREEZE */
170*0Sstevel@tonic-gate 	0,		0,			/* SIGTHAW */
171*0Sstevel@tonic-gate 	0,		0,			/* SIGCANCEL */
172*0Sstevel@tonic-gate 	0,		0,			/* SIGLOST */
173*0Sstevel@tonic-gate 	0,		0,			/* SIGXRES */
174*0Sstevel@tonic-gate 	0,		0,			/* SIGJVM1 */
175*0Sstevel@tonic-gate 	0,		0,			/* SIGJVM2 */
176*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN */
177*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN+1 */
178*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN+2 */
179*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN+3 */
180*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX-3 */
181*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX-2 */
182*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX-1 */
183*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX */
184*0Sstevel@tonic-gate };
185*0Sstevel@tonic-gate 
186*0Sstevel@tonic-gate const struct siginfolist *_sys_siginfolistp = _sys_siginfolist_data;
187