signal.d revision 333617
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 * 22 * Portions Copyright 2008 John Birrell jb@freebsd.org 23 * Portions Copyright 2018 Devin Teske dteske@freebsd.org 24 * 25 * $FreeBSD: stable/11/cddl/lib/libdtrace/signal.d 333617 2018-05-15 00:00:44Z dteske $ 26 */ 27 28inline int SIGHUP = 1; 29#pragma D binding "1.0" SIGHUP 30inline int SIGINT = 2; 31#pragma D binding "1.0" SIGINT 32inline int SIGQUIT = 3; 33#pragma D binding "1.0" SIGQUIT 34inline int SIGILL = 4; 35#pragma D binding "1.0" SIGILL 36inline int SIGTRAP = 5; 37#pragma D binding "1.0" SIGTRAP 38inline int SIGABRT = 6; 39#pragma D binding "1.0" SIGABRT 40inline int SIGEMT = 7; 41#pragma D binding "1.0" SIGEMT 42inline int SIGFPE = 8; 43#pragma D binding "1.0" SIGFPE 44inline int SIGKILL = 9; 45#pragma D binding "1.0" SIGKILL 46inline int SIGBUS = 10; 47#pragma D binding "1.0" SIGBUS 48inline int SIGSEGV = 11; 49#pragma D binding "1.0" SIGSEGV 50inline int SIGSYS = 12; 51#pragma D binding "1.0" SIGSYS 52inline int SIGPIPE = 13; 53#pragma D binding "1.0" SIGPIPE 54inline int SIGALRM = 14; 55#pragma D binding "1.0" SIGALRM 56inline int SIGTERM = 15; 57#pragma D binding "1.0" SIGTERM 58inline int SIGURG = 16; 59#pragma D binding "1.0" SIGURG 60inline int SIGSTOP = 17; 61#pragma D binding "1.0" SIGSTOP 62inline int SIGTSTP = 18; 63#pragma D binding "1.0" SIGTSTP 64inline int SIGCONT = 19; 65#pragma D binding "1.0" SIGCONT 66inline int SIGCHLD = 20; 67#pragma D binding "1.0" SIGCHLD 68inline int SIGTTIN = 21; 69#pragma D binding "1.0" SIGTTIN 70inline int SIGTTOU = 22; 71#pragma D binding "1.0" SIGTTOU 72inline int SIGIO = 23; 73#pragma D binding "1.0" SIGIO 74inline int SIGXCPU = 24; 75#pragma D binding "1.0" SIGXCPU 76inline int SIGXFSZ = 25; 77#pragma D binding "1.0" SIGXFSZ 78inline int SIGVTALRM = 26; 79#pragma D binding "1.0" SIGVTALRM 80inline int SIGPROF = 27; 81#pragma D binding "1.0" SIGPROF 82inline int SIGWINCH = 28; 83#pragma D binding "1.0" SIGWINCH 84inline int SIGINFO = 29; 85#pragma D binding "1.0" SIGINFO 86inline int SIGUSR1 = 30; 87#pragma D binding "1.0" SIGUSR1 88inline int SIGUSR2 = 31; 89#pragma D binding "1.0" SIGUSR2 90inline int SIGTHR = 32; 91#pragma D binding "1.13" SIGTHR 92inline int SIGLIBRT = 33; 93#pragma D binding "1.13" SIGLIBRT 94 95#pragma D binding "1.13" signal_string 96inline string signal_string[int signal] = 97 signal == SIGHUP ? "SIGHUP" : 98 signal == SIGINT ? "SIGINT" : 99 signal == SIGQUIT ? "SIGQUIT" : 100 signal == SIGILL ? "SIGILL": 101 signal == SIGTRAP ? "SIGTRAP" : 102 signal == SIGABRT ? "SIGABRT" : 103 signal == SIGEMT ? "SIGEMT" : 104 signal == SIGFPE ? "SIGFPE" : 105 signal == SIGKILL ? "SIGKILL" : 106 signal == SIGBUS ? "SIGBUS" : 107 signal == SIGSEGV ? "SIGSEGV" : 108 signal == SIGSYS ? "SIGSYS" : 109 signal == SIGPIPE ? "SIGPIPE" : 110 signal == SIGALRM ? "SIGALRM" : 111 signal == SIGTERM ? "SIGTERM" : 112 signal == SIGURG ? "SIGURG" : 113 signal == SIGSTOP ? "SIGSTOP" : 114 signal == SIGTSTP ? "SIGTSTP" : 115 signal == SIGCONT ? "SIGCONT" : 116 signal == SIGCHLD ? "SIGCHLD" : 117 signal == SIGTTIN ? "SIGTTIN" : 118 signal == SIGTTOU ? "SIGTTOU" : 119 signal == SIGIO ? "SIGIO" : 120 signal == SIGXCPU ? "SIGXCPU" : 121 signal == SIGXFSZ ? "SIGXFSZ" : 122 signal == SIGVTALRM ? "SIGVTALRM" : 123 signal == SIGPROF ? "SIGPROF" : 124 signal == SIGWINCH ? "SIGWINCH" : 125 signal == SIGINFO ? "SIGINFO" : 126 signal == SIGUSR1 ? "SIGUSR1" : 127 signal == SIGUSR2 ? "SIGUSR2" : 128 signal == SIGTHR ? "SIGTHR" : 129 signal == SIGLIBRT ? "SIGLIBRT" : 130 "UNKNOWN"; 131 132inline int CLD_EXITED = 1; 133#pragma D binding "1.0" CLD_EXITED 134inline int CLD_KILLED = 2; 135#pragma D binding "1.0" CLD_KILLED 136inline int CLD_DUMPED = 3; 137#pragma D binding "1.0" CLD_DUMPED 138inline int CLD_TRAPPED = 4; 139#pragma D binding "1.0" CLD_TRAPPED 140inline int CLD_STOPPED = 5; 141#pragma D binding "1.0" CLD_STOPPED 142inline int CLD_CONTINUED = 6; 143#pragma D binding "1.0" CLD_CONTINUED 144 145#pragma D binding "1.13" child_signal_string 146inline string child_signal_string[int child_signal] = 147 child_signal == CLD_EXITED ? "child exited" : 148 child_signal == CLD_KILLED ? "child terminated abnormally" : 149 child_signal == CLD_DUMPED ? "child core dumped" : 150 child_signal == CLD_TRAPPED ? "traced child trapped" : 151 child_signal == CLD_STOPPED ? "child stopped" : 152 child_signal == CLD_CONTINUED ? "stopped child continued" : 153 strjoin("unknown SIGCHLD code (", strjoin(lltostr(child_signal), ")")); 154