10Sstevel@tonic-gate /* 20Sstevel@tonic-gate * CDDL HEADER START 30Sstevel@tonic-gate * 40Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*11913SRoger.Faulkner@Sun.COM * Common Development and Distribution License (the "License"). 6*11913SRoger.Faulkner@Sun.COM * You may not use this file except in compliance with the License. 70Sstevel@tonic-gate * 80Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 90Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 100Sstevel@tonic-gate * See the License for the specific language governing permissions 110Sstevel@tonic-gate * and limitations under the License. 120Sstevel@tonic-gate * 130Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 140Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 150Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 160Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 170Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 180Sstevel@tonic-gate * 190Sstevel@tonic-gate * CDDL HEADER END 200Sstevel@tonic-gate */ 21*11913SRoger.Faulkner@Sun.COM 220Sstevel@tonic-gate /* 23*11913SRoger.Faulkner@Sun.COM * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 240Sstevel@tonic-gate * Use is subject to license terms. 250Sstevel@tonic-gate */ 260Sstevel@tonic-gate 270Sstevel@tonic-gate /* Copyright (c) 1988 AT&T */ 280Sstevel@tonic-gate /* All Rights Reserved */ 290Sstevel@tonic-gate 30*11913SRoger.Faulkner@Sun.COM #include "lint.h" 310Sstevel@tonic-gate #include <signal.h> 320Sstevel@tonic-gate #include <siginfo.h> 330Sstevel@tonic-gate 34*11913SRoger.Faulkner@Sun.COM #undef _sys_siginfolist 35*11913SRoger.Faulkner@Sun.COM #define OLDNSIG 34 360Sstevel@tonic-gate 370Sstevel@tonic-gate const char *_sys_traplist[NSIGTRAP] = { 380Sstevel@tonic-gate "breakpoint trap", 390Sstevel@tonic-gate "trace trap", 400Sstevel@tonic-gate "read access trap", 410Sstevel@tonic-gate "write access trap", 420Sstevel@tonic-gate "execute access trap", 430Sstevel@tonic-gate "dtrace trap" 440Sstevel@tonic-gate }; 450Sstevel@tonic-gate 460Sstevel@tonic-gate const char *_sys_illlist[NSIGILL] = { 47*11913SRoger.Faulkner@Sun.COM "illegal instruction", 480Sstevel@tonic-gate "illegal operand", 490Sstevel@tonic-gate "illegal addressing mode", 500Sstevel@tonic-gate "illegal trap", 510Sstevel@tonic-gate "privileged instruction", 520Sstevel@tonic-gate "privileged register", 530Sstevel@tonic-gate "co-processor", 540Sstevel@tonic-gate "bad stack" 550Sstevel@tonic-gate }; 560Sstevel@tonic-gate 570Sstevel@tonic-gate const char *_sys_fpelist[NSIGFPE] = { 580Sstevel@tonic-gate "integer divide by zero", 590Sstevel@tonic-gate "integer overflow", 600Sstevel@tonic-gate "floating point divide by zero", 610Sstevel@tonic-gate "floating point overflow", 620Sstevel@tonic-gate "floating point underflow", 630Sstevel@tonic-gate "floating point inexact result", 640Sstevel@tonic-gate "invalid floating point operation", 650Sstevel@tonic-gate "subscript out of range" 660Sstevel@tonic-gate }; 670Sstevel@tonic-gate 680Sstevel@tonic-gate const char *_sys_segvlist[NSIGSEGV] = { 690Sstevel@tonic-gate "address not mapped to object", 70*11913SRoger.Faulkner@Sun.COM "invalid permissions" 710Sstevel@tonic-gate }; 720Sstevel@tonic-gate 730Sstevel@tonic-gate const char *_sys_buslist[NSIGBUS] = { 740Sstevel@tonic-gate "invalid address alignment", 750Sstevel@tonic-gate "non-existent physical address", 760Sstevel@tonic-gate "object specific" 770Sstevel@tonic-gate }; 780Sstevel@tonic-gate 790Sstevel@tonic-gate const char *_sys_cldlist[NSIGCLD] = { 800Sstevel@tonic-gate "child has exited", 810Sstevel@tonic-gate "child was killed", 820Sstevel@tonic-gate "child has coredumped", 830Sstevel@tonic-gate "traced child has trapped", 840Sstevel@tonic-gate "child has stopped", 850Sstevel@tonic-gate "stopped child has continued" 860Sstevel@tonic-gate }; 870Sstevel@tonic-gate 880Sstevel@tonic-gate const char *_sys_polllist[NSIGPOLL] = { 890Sstevel@tonic-gate "input available", 900Sstevel@tonic-gate "output possible", 910Sstevel@tonic-gate "message available", 920Sstevel@tonic-gate "I/O error", 930Sstevel@tonic-gate "high priority input available", 940Sstevel@tonic-gate "device disconnected" 950Sstevel@tonic-gate }; 960Sstevel@tonic-gate 970Sstevel@tonic-gate struct siginfolist _sys_siginfolist[OLDNSIG-1] = { 980Sstevel@tonic-gate 0, 0, /* SIGHUP */ 990Sstevel@tonic-gate 0, 0, /* SIGINT */ 1000Sstevel@tonic-gate 0, 0, /* SIGQUIT */ 1010Sstevel@tonic-gate NSIGILL, (char **)_sys_illlist, /* SIGILL */ 1020Sstevel@tonic-gate NSIGTRAP, (char **)_sys_traplist, /* SIGTRAP */ 1030Sstevel@tonic-gate 0, 0, /* SIGABRT */ 1040Sstevel@tonic-gate 0, 0, /* SIGEMT */ 1050Sstevel@tonic-gate NSIGFPE, (char **)_sys_fpelist, /* SIGFPE */ 1060Sstevel@tonic-gate 0, 0, /* SIGKILL */ 1070Sstevel@tonic-gate NSIGBUS, (char **)_sys_buslist, /* SIGBUS */ 1080Sstevel@tonic-gate NSIGSEGV, (char **)_sys_segvlist, /* SIGSEGV */ 1090Sstevel@tonic-gate 0, 0, /* SIGSYS */ 1100Sstevel@tonic-gate 0, 0, /* SIGPIPE */ 1110Sstevel@tonic-gate 0, 0, /* SIGALRM */ 1120Sstevel@tonic-gate 0, 0, /* SIGTERM */ 1130Sstevel@tonic-gate 0, 0, /* SIGUSR1 */ 1140Sstevel@tonic-gate 0, 0, /* SIGUSR2 */ 1150Sstevel@tonic-gate NSIGCLD, (char **)_sys_cldlist, /* SIGCLD */ 1160Sstevel@tonic-gate 0, 0, /* SIGPWR */ 1170Sstevel@tonic-gate 0, 0, /* SIGWINCH */ 1180Sstevel@tonic-gate 0, 0, /* SIGURG */ 1190Sstevel@tonic-gate NSIGPOLL, (char **)_sys_polllist, /* SIGPOLL */ 1200Sstevel@tonic-gate 0, 0, /* SIGSTOP */ 1210Sstevel@tonic-gate 0, 0, /* SIGTSTP */ 1220Sstevel@tonic-gate 0, 0, /* SIGCONT */ 1230Sstevel@tonic-gate 0, 0, /* SIGTTIN */ 1240Sstevel@tonic-gate 0, 0, /* SIGTTOU */ 1250Sstevel@tonic-gate 0, 0, /* SIGVTALRM */ 1260Sstevel@tonic-gate 0, 0, /* SIGPROF */ 1270Sstevel@tonic-gate 0, 0, /* SIGXCPU */ 1280Sstevel@tonic-gate 0, 0, /* SIGXFSZ */ 1290Sstevel@tonic-gate 0, 0, /* SIGWAITING */ 1300Sstevel@tonic-gate 0, 0, /* SIGLWP */ 1310Sstevel@tonic-gate }; 1320Sstevel@tonic-gate 1330Sstevel@tonic-gate static const struct siginfolist _sys_siginfolist_data[NSIG-1] = { 1340Sstevel@tonic-gate 0, 0, /* SIGHUP */ 1350Sstevel@tonic-gate 0, 0, /* SIGINT */ 1360Sstevel@tonic-gate 0, 0, /* SIGQUIT */ 1370Sstevel@tonic-gate NSIGILL, (char **)_sys_illlist, /* SIGILL */ 1380Sstevel@tonic-gate NSIGTRAP, (char **)_sys_traplist, /* SIGTRAP */ 1390Sstevel@tonic-gate 0, 0, /* SIGABRT */ 1400Sstevel@tonic-gate 0, 0, /* SIGEMT */ 1410Sstevel@tonic-gate NSIGFPE, (char **)_sys_fpelist, /* SIGFPE */ 1420Sstevel@tonic-gate 0, 0, /* SIGKILL */ 1430Sstevel@tonic-gate NSIGBUS, (char **)_sys_buslist, /* SIGBUS */ 1440Sstevel@tonic-gate NSIGSEGV, (char **)_sys_segvlist, /* SIGSEGV */ 1450Sstevel@tonic-gate 0, 0, /* SIGSYS */ 1460Sstevel@tonic-gate 0, 0, /* SIGPIPE */ 1470Sstevel@tonic-gate 0, 0, /* SIGALRM */ 1480Sstevel@tonic-gate 0, 0, /* SIGTERM */ 1490Sstevel@tonic-gate 0, 0, /* SIGUSR1 */ 1500Sstevel@tonic-gate 0, 0, /* SIGUSR2 */ 1510Sstevel@tonic-gate NSIGCLD, (char **)_sys_cldlist, /* SIGCLD */ 1520Sstevel@tonic-gate 0, 0, /* SIGPWR */ 1530Sstevel@tonic-gate 0, 0, /* SIGWINCH */ 1540Sstevel@tonic-gate 0, 0, /* SIGURG */ 1550Sstevel@tonic-gate NSIGPOLL, (char **)_sys_polllist, /* SIGPOLL */ 1560Sstevel@tonic-gate 0, 0, /* SIGSTOP */ 1570Sstevel@tonic-gate 0, 0, /* SIGTSTP */ 1580Sstevel@tonic-gate 0, 0, /* SIGCONT */ 1590Sstevel@tonic-gate 0, 0, /* SIGTTIN */ 1600Sstevel@tonic-gate 0, 0, /* SIGTTOU */ 1610Sstevel@tonic-gate 0, 0, /* SIGVTALRM */ 1620Sstevel@tonic-gate 0, 0, /* SIGPROF */ 1630Sstevel@tonic-gate 0, 0, /* SIGXCPU */ 1640Sstevel@tonic-gate 0, 0, /* SIGXFSZ */ 1650Sstevel@tonic-gate 0, 0, /* SIGWAITING */ 1660Sstevel@tonic-gate 0, 0, /* SIGLWP */ 1670Sstevel@tonic-gate 0, 0, /* SIGFREEZE */ 1680Sstevel@tonic-gate 0, 0, /* SIGTHAW */ 1690Sstevel@tonic-gate 0, 0, /* SIGCANCEL */ 1700Sstevel@tonic-gate 0, 0, /* SIGLOST */ 1710Sstevel@tonic-gate 0, 0, /* SIGXRES */ 1720Sstevel@tonic-gate 0, 0, /* SIGJVM1 */ 1730Sstevel@tonic-gate 0, 0, /* SIGJVM2 */ 1740Sstevel@tonic-gate 0, 0, /* SIGRTMIN */ 1750Sstevel@tonic-gate 0, 0, /* SIGRTMIN+1 */ 1760Sstevel@tonic-gate 0, 0, /* SIGRTMIN+2 */ 1770Sstevel@tonic-gate 0, 0, /* SIGRTMIN+3 */ 178*11913SRoger.Faulkner@Sun.COM 0, 0, 179*11913SRoger.Faulkner@Sun.COM 0, 0, 180*11913SRoger.Faulkner@Sun.COM 0, 0, 181*11913SRoger.Faulkner@Sun.COM 0, 0, 182*11913SRoger.Faulkner@Sun.COM 0, 0, 183*11913SRoger.Faulkner@Sun.COM 0, 0, 184*11913SRoger.Faulkner@Sun.COM 0, 0, 185*11913SRoger.Faulkner@Sun.COM 0, 0, 186*11913SRoger.Faulkner@Sun.COM 0, 0, 187*11913SRoger.Faulkner@Sun.COM 0, 0, 188*11913SRoger.Faulkner@Sun.COM 0, 0, 189*11913SRoger.Faulkner@Sun.COM 0, 0, /* SIGRTMIN+15 */ 190*11913SRoger.Faulkner@Sun.COM 0, 0, /* SIGRTMAX-15 */ 191*11913SRoger.Faulkner@Sun.COM 0, 0, 192*11913SRoger.Faulkner@Sun.COM 0, 0, 193*11913SRoger.Faulkner@Sun.COM 0, 0, 194*11913SRoger.Faulkner@Sun.COM 0, 0, 195*11913SRoger.Faulkner@Sun.COM 0, 0, 196*11913SRoger.Faulkner@Sun.COM 0, 0, 197*11913SRoger.Faulkner@Sun.COM 0, 0, 198*11913SRoger.Faulkner@Sun.COM 0, 0, 199*11913SRoger.Faulkner@Sun.COM 0, 0, 200*11913SRoger.Faulkner@Sun.COM 0, 0, 201*11913SRoger.Faulkner@Sun.COM 0, 0, 2020Sstevel@tonic-gate 0, 0, /* SIGRTMAX-3 */ 2030Sstevel@tonic-gate 0, 0, /* SIGRTMAX-2 */ 2040Sstevel@tonic-gate 0, 0, /* SIGRTMAX-1 */ 2050Sstevel@tonic-gate 0, 0, /* SIGRTMAX */ 2060Sstevel@tonic-gate }; 2070Sstevel@tonic-gate 2080Sstevel@tonic-gate const struct siginfolist *_sys_siginfolistp = _sys_siginfolist_data; 209