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 2004 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 #pragma ident	"%Z%%M%	%I%	%E% SMI"
28*0Sstevel@tonic-gate 
29*0Sstevel@tonic-gate /*	Copyright (c) 1988 AT&T	*/
30*0Sstevel@tonic-gate /*	  All Rights Reserved  	*/
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate 
33*0Sstevel@tonic-gate #include "synonyms.h"
34*0Sstevel@tonic-gate #include <signal.h>
35*0Sstevel@tonic-gate #include <siginfo.h>
36*0Sstevel@tonic-gate 
37*0Sstevel@tonic-gate #undef	_sys_siginfolist
38*0Sstevel@tonic-gate #define	OLDNSIG	34
39*0Sstevel@tonic-gate 
40*0Sstevel@tonic-gate const char *_sys_traplist[NSIGTRAP] = {
41*0Sstevel@tonic-gate 	"breakpoint trap",
42*0Sstevel@tonic-gate 	"trace trap",
43*0Sstevel@tonic-gate 	"read access trap",
44*0Sstevel@tonic-gate 	"write access trap",
45*0Sstevel@tonic-gate 	"execute access trap",
46*0Sstevel@tonic-gate 	"dtrace trap"
47*0Sstevel@tonic-gate };
48*0Sstevel@tonic-gate 
49*0Sstevel@tonic-gate const char *_sys_illlist[NSIGILL] = {
50*0Sstevel@tonic-gate 	"illegal opcode",
51*0Sstevel@tonic-gate 	"illegal operand",
52*0Sstevel@tonic-gate 	"illegal addressing mode",
53*0Sstevel@tonic-gate 	"illegal trap",
54*0Sstevel@tonic-gate 	"privileged opcode",
55*0Sstevel@tonic-gate 	"privileged register",
56*0Sstevel@tonic-gate 	"co-processor",
57*0Sstevel@tonic-gate 	"bad stack"
58*0Sstevel@tonic-gate };
59*0Sstevel@tonic-gate 
60*0Sstevel@tonic-gate const char *_sys_fpelist[NSIGFPE] = {
61*0Sstevel@tonic-gate 	"integer divide by zero",
62*0Sstevel@tonic-gate 	"integer overflow",
63*0Sstevel@tonic-gate 	"floating point divide by zero",
64*0Sstevel@tonic-gate 	"floating point overflow",
65*0Sstevel@tonic-gate 	"floating point underflow",
66*0Sstevel@tonic-gate 	"floating point inexact result",
67*0Sstevel@tonic-gate 	"invalid floating point operation",
68*0Sstevel@tonic-gate 	"subscript out of range"
69*0Sstevel@tonic-gate };
70*0Sstevel@tonic-gate 
71*0Sstevel@tonic-gate const char *_sys_segvlist[NSIGSEGV] = {
72*0Sstevel@tonic-gate 	"address not mapped to object",
73*0Sstevel@tonic-gate 	"invalid permissions"
74*0Sstevel@tonic-gate };
75*0Sstevel@tonic-gate 
76*0Sstevel@tonic-gate const char *_sys_buslist[NSIGBUS] = {
77*0Sstevel@tonic-gate 	"invalid address alignment",
78*0Sstevel@tonic-gate 	"non-existent physical address",
79*0Sstevel@tonic-gate 	"object specific"
80*0Sstevel@tonic-gate };
81*0Sstevel@tonic-gate 
82*0Sstevel@tonic-gate const char *_sys_cldlist[NSIGCLD] = {
83*0Sstevel@tonic-gate 	"child has exited",
84*0Sstevel@tonic-gate 	"child was killed",
85*0Sstevel@tonic-gate 	"child has coredumped",
86*0Sstevel@tonic-gate 	"traced child has trapped",
87*0Sstevel@tonic-gate 	"child has stopped",
88*0Sstevel@tonic-gate 	"stopped child has continued"
89*0Sstevel@tonic-gate };
90*0Sstevel@tonic-gate 
91*0Sstevel@tonic-gate const char *_sys_polllist[NSIGPOLL] = {
92*0Sstevel@tonic-gate 	"input available",
93*0Sstevel@tonic-gate 	"output possible",
94*0Sstevel@tonic-gate 	"message available",
95*0Sstevel@tonic-gate 	"I/O error",
96*0Sstevel@tonic-gate 	"high priority input available",
97*0Sstevel@tonic-gate 	"device disconnected"
98*0Sstevel@tonic-gate };
99*0Sstevel@tonic-gate 
100*0Sstevel@tonic-gate struct siginfolist _sys_siginfolist[OLDNSIG-1] = {
101*0Sstevel@tonic-gate 	0,		0,			/* SIGHUP */
102*0Sstevel@tonic-gate 	0,		0,			/* SIGINT */
103*0Sstevel@tonic-gate 	0,		0,			/* SIGQUIT */
104*0Sstevel@tonic-gate 	NSIGILL,	(char **)_sys_illlist,	/* SIGILL */
105*0Sstevel@tonic-gate 	NSIGTRAP,	(char **)_sys_traplist,	/* SIGTRAP */
106*0Sstevel@tonic-gate 	0,		0,			/* SIGABRT */
107*0Sstevel@tonic-gate 	0,		0,			/* SIGEMT */
108*0Sstevel@tonic-gate 	NSIGFPE,	(char **)_sys_fpelist,	/* SIGFPE */
109*0Sstevel@tonic-gate 	0,		0,			/* SIGKILL */
110*0Sstevel@tonic-gate 	NSIGBUS,	(char **)_sys_buslist,	/* SIGBUS */
111*0Sstevel@tonic-gate 	NSIGSEGV,	(char **)_sys_segvlist,	/* SIGSEGV */
112*0Sstevel@tonic-gate 	0,		0,			/* SIGSYS */
113*0Sstevel@tonic-gate 	0,		0,			/* SIGPIPE */
114*0Sstevel@tonic-gate 	0,		0,			/* SIGALRM */
115*0Sstevel@tonic-gate 	0,		0,			/* SIGTERM */
116*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR1 */
117*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR2 */
118*0Sstevel@tonic-gate 	NSIGCLD,	(char **)_sys_cldlist,	/* SIGCLD */
119*0Sstevel@tonic-gate 	0,		0,			/* SIGPWR */
120*0Sstevel@tonic-gate 	0,		0,			/* SIGWINCH */
121*0Sstevel@tonic-gate 	0,		0,			/* SIGURG */
122*0Sstevel@tonic-gate 	NSIGPOLL,	(char **)_sys_polllist,	/* SIGPOLL */
123*0Sstevel@tonic-gate 	0,		0,			/* SIGSTOP */
124*0Sstevel@tonic-gate 	0,		0,			/* SIGTSTP */
125*0Sstevel@tonic-gate 	0,		0,			/* SIGCONT */
126*0Sstevel@tonic-gate 	0,		0,			/* SIGTTIN */
127*0Sstevel@tonic-gate 	0,		0,			/* SIGTTOU */
128*0Sstevel@tonic-gate 	0,		0,			/* SIGVTALRM */
129*0Sstevel@tonic-gate 	0,		0,			/* SIGPROF */
130*0Sstevel@tonic-gate 	0,		0,			/* SIGXCPU */
131*0Sstevel@tonic-gate 	0,		0,			/* SIGXFSZ */
132*0Sstevel@tonic-gate 	0,		0,			/* SIGWAITING */
133*0Sstevel@tonic-gate 	0,		0,			/* SIGLWP */
134*0Sstevel@tonic-gate };
135*0Sstevel@tonic-gate 
136*0Sstevel@tonic-gate static const struct siginfolist _sys_siginfolist_data[NSIG-1] = {
137*0Sstevel@tonic-gate 	0,		0,			/* SIGHUP */
138*0Sstevel@tonic-gate 	0,		0,			/* SIGINT */
139*0Sstevel@tonic-gate 	0,		0,			/* SIGQUIT */
140*0Sstevel@tonic-gate 	NSIGILL,	(char **)_sys_illlist,	/* SIGILL */
141*0Sstevel@tonic-gate 	NSIGTRAP,	(char **)_sys_traplist,	/* SIGTRAP */
142*0Sstevel@tonic-gate 	0,		0,			/* SIGABRT */
143*0Sstevel@tonic-gate 	0,		0,			/* SIGEMT */
144*0Sstevel@tonic-gate 	NSIGFPE,	(char **)_sys_fpelist,	/* SIGFPE */
145*0Sstevel@tonic-gate 	0,		0,			/* SIGKILL */
146*0Sstevel@tonic-gate 	NSIGBUS,	(char **)_sys_buslist,	/* SIGBUS */
147*0Sstevel@tonic-gate 	NSIGSEGV,	(char **)_sys_segvlist,	/* SIGSEGV */
148*0Sstevel@tonic-gate 	0,		0,			/* SIGSYS */
149*0Sstevel@tonic-gate 	0,		0,			/* SIGPIPE */
150*0Sstevel@tonic-gate 	0,		0,			/* SIGALRM */
151*0Sstevel@tonic-gate 	0,		0,			/* SIGTERM */
152*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR1 */
153*0Sstevel@tonic-gate 	0,		0,			/* SIGUSR2 */
154*0Sstevel@tonic-gate 	NSIGCLD,	(char **)_sys_cldlist,	/* SIGCLD */
155*0Sstevel@tonic-gate 	0,		0,			/* SIGPWR */
156*0Sstevel@tonic-gate 	0,		0,			/* SIGWINCH */
157*0Sstevel@tonic-gate 	0,		0,			/* SIGURG */
158*0Sstevel@tonic-gate 	NSIGPOLL,	(char **)_sys_polllist,	/* SIGPOLL */
159*0Sstevel@tonic-gate 	0,		0,			/* SIGSTOP */
160*0Sstevel@tonic-gate 	0,		0,			/* SIGTSTP */
161*0Sstevel@tonic-gate 	0,		0,			/* SIGCONT */
162*0Sstevel@tonic-gate 	0,		0,			/* SIGTTIN */
163*0Sstevel@tonic-gate 	0,		0,			/* SIGTTOU */
164*0Sstevel@tonic-gate 	0,		0,			/* SIGVTALRM */
165*0Sstevel@tonic-gate 	0,		0,			/* SIGPROF */
166*0Sstevel@tonic-gate 	0,		0,			/* SIGXCPU */
167*0Sstevel@tonic-gate 	0,		0,			/* SIGXFSZ */
168*0Sstevel@tonic-gate 	0,		0,			/* SIGWAITING */
169*0Sstevel@tonic-gate 	0,		0,			/* SIGLWP */
170*0Sstevel@tonic-gate 	0,		0,			/* SIGFREEZE */
171*0Sstevel@tonic-gate 	0,		0,			/* SIGTHAW */
172*0Sstevel@tonic-gate 	0,		0,			/* SIGCANCEL */
173*0Sstevel@tonic-gate 	0,		0,			/* SIGLOST */
174*0Sstevel@tonic-gate 	0,		0,			/* SIGXRES */
175*0Sstevel@tonic-gate 	0,		0,			/* SIGJVM1 */
176*0Sstevel@tonic-gate 	0,		0,			/* SIGJVM2 */
177*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN */
178*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN+1 */
179*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN+2 */
180*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMIN+3 */
181*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX-3 */
182*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX-2 */
183*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX-1 */
184*0Sstevel@tonic-gate 	0,		0,			/* SIGRTMAX */
185*0Sstevel@tonic-gate };
186*0Sstevel@tonic-gate 
187*0Sstevel@tonic-gate const struct siginfolist *_sys_siginfolistp = _sys_siginfolist_data;
188