00001 // Copyright (C) 2001, Compaq Computer Corporation 00002 // 00003 // This file is part of Vesta. 00004 // 00005 // Vesta is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU Lesser General Public 00007 // License as published by the Free Software Foundation; either 00008 // version 2.1 of the License, or (at your option) any later version. 00009 // 00010 // Vesta is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // Lesser General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU Lesser General Public 00016 // License along with Vesta; if not, write to the Free Software 00017 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 00019 /* File: Signal.H */ 00020 /* Last Modified On Wed Jun 2 18:31:46 PDT 1999 by yuanyu */ 00021 00022 static char* sigMsg[] = { 00023 "OK", // 0 Ok 00024 "SIGHUP", // 1 Hangup. 00025 "SIGINT", // 2 Interrupt. 00026 "SIGQUIT", // 3 Quit. (1) 00027 "SIGILL", // 4 Invalid instruction (not reset when caught). (1) 00028 "SIGTRAP", // 5 Trace trap (not reset when caught). (1) 00029 "SIGABRT", // 6 End process (see the abort() function). (1) 00030 "SIGEMT", // 7 EMT instruction. 00031 "SIGFPE", // 8 Arithmetic exception, integer divide by 0 (zero), 00032 // or floating-point exception. (1) 00033 "SIGKILL", // 9 Kill (cannot be caught or ignored). 00034 "SIGBUS", // 10 Specification exception. (1) 00035 "SIGSEGV", // 11 Segmentation violation. (1) 00036 "SIGSYS", // 12 Invalid parameter to system call. (1) 00037 "SIGPIPE", // 13 Write on a pipe when there is no process to read it. 00038 "SIGALRM", // 14 Alarm clock. 00039 "SIGTERM", // 15 Software termination signal. 00040 "SIGURG", // 16 Urgent condition on I/O channel. (2) 00041 "SIGSTOP", // 17 Stop (cannot be caught or ignored). (3) 00042 "SIGTSTP", // 18 Interactive stop. (3) 00043 "SIGCONT", // 19 Continue if stopped (cannot be caught or ignored). (4) 00044 "SIGCHLD", // 20 To parent on child stop or exit. (2) 00045 "SIGTTIN", // 21 Background read attempted from control terminal. (3) 00046 "SIGTTOU", // 22 Background write attempted from control terminal. (3) 00047 "SIGIO", // 23 Input/Output possible or completed. (2) 00048 "SIGXCPU", // 24 CPU time limit exceeded (see the setrlimit() function). 00049 "SIGXFSZ", // 25 File size limit exceeded (see the setrlimit() function). 00050 "SIGVTALRM", // 26 Virtual time alarm (see the setitimer() function). 00051 "SIGPROF", // 27 Profiling time alarm (see the setitimer() function). 00052 "SIGWINCH", // 28 Window size change. (2) 00053 "SIGINFO", // 29 Information request. (2) 00054 "SIGUSR1", // 30 User-defined signal 1. 00055 "SIGUSR2", // 31 User-defined signal 2. 00056 }; 00057 00058 char* getSigMsg(int sig) { 00059 if (0 <= sig && sig < 32) { 00060 return sigMsg[sig]; 00061 } 00062 return "UNKNOWN"; 00063 }