| 1 | /* $NetBSD: linux_signo.c,v 1.6 2008/04/28 20:23:44 martin Exp $ */ |
| 2 | /*- |
| 3 | * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc. |
| 4 | * All rights reserved. |
| 5 | * |
| 6 | * This code is derived from software contributed to The NetBSD Foundation |
| 7 | * by Frank van der Linden and Eric Haszlakiewicz. |
| 8 | * |
| 9 | * Redistribution and use in source and binary forms, with or without |
| 10 | * modification, are permitted provided that the following conditions |
| 11 | * are met: |
| 12 | * 1. Redistributions of source code must retain the above copyright |
| 13 | * notice, this list of conditions and the following disclaimer. |
| 14 | * 2. Redistributions in binary form must reproduce the above copyright |
| 15 | * notice, this list of conditions and the following disclaimer in the |
| 16 | * documentation and/or other materials provided with the distribution. |
| 17 | * |
| 18 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS |
| 19 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
| 20 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| 21 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS |
| 22 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| 23 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| 24 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| 25 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| 26 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| 27 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| 28 | * POSSIBILITY OF SUCH DAMAGE. |
| 29 | */ |
| 30 | |
| 31 | #include <sys/cdefs.h> |
| 32 | __KERNEL_RCSID(0, "$NetBSD: linux_signo.c,v 1.6 2008/04/28 20:23:44 martin Exp $" ); |
| 33 | |
| 34 | #include <sys/types.h> |
| 35 | #include <sys/signal.h> |
| 36 | |
| 37 | #include <compat/linux/common/linux_types.h> |
| 38 | #include <compat/linux/common/linux_signal.h> |
| 39 | |
| 40 | #ifndef LINUX_SIGINFO |
| 41 | #define LINUX_SIGINFO 0 |
| 42 | #endif |
| 43 | |
| 44 | #ifndef LINUX_SIGEMT |
| 45 | #define LINUX_SIGEMT 0 |
| 46 | #endif |
| 47 | |
| 48 | /* Note: linux_to_native_signo[] is in <arch>/linux_sigarray.c */ |
| 49 | #ifdef LINUX_SIGHUP |
| 50 | const int native_to_linux_signo[] = { |
| 51 | 0, /* 0 */ |
| 52 | LINUX_SIGHUP, /* 1 */ |
| 53 | LINUX_SIGINT, /* 2 */ |
| 54 | LINUX_SIGQUIT, /* 3 */ |
| 55 | LINUX_SIGILL, /* 4 */ |
| 56 | LINUX_SIGTRAP, /* 5 */ |
| 57 | LINUX_SIGABRT, /* 6 */ |
| 58 | LINUX_SIGEMT, /* 7 */ |
| 59 | LINUX_SIGFPE, /* 8 */ |
| 60 | LINUX_SIGKILL, /* 9 */ |
| 61 | LINUX_SIGBUS, /* 10 */ |
| 62 | LINUX_SIGSEGV, /* 11 */ |
| 63 | LINUX_SIGSYS, /* 12 */ |
| 64 | LINUX_SIGPIPE, /* 13 */ |
| 65 | LINUX_SIGALRM, /* 14 */ |
| 66 | LINUX_SIGTERM, /* 15 */ |
| 67 | LINUX_SIGURG, /* 16 */ |
| 68 | LINUX_SIGSTOP, /* 17 */ |
| 69 | LINUX_SIGTSTP, /* 18 */ |
| 70 | LINUX_SIGCONT, /* 19 */ |
| 71 | LINUX_SIGCHLD, /* 20 */ |
| 72 | LINUX_SIGTTIN, /* 21 */ |
| 73 | LINUX_SIGTTOU, /* 22 */ |
| 74 | LINUX_SIGIO, /* 23 */ |
| 75 | LINUX_SIGXCPU, /* 24 */ |
| 76 | LINUX_SIGXFSZ, /* 25 */ |
| 77 | LINUX_SIGVTALRM, /* 26 */ |
| 78 | LINUX_SIGPROF, /* 27 */ |
| 79 | LINUX_SIGWINCH, /* 28 */ |
| 80 | LINUX_SIGINFO, /* 29 */ |
| 81 | LINUX_SIGUSR1, /* 30 */ |
| 82 | LINUX_SIGUSR2, /* 31 */ |
| 83 | LINUX_SIGPWR, /* 32 */ |
| 84 | LINUX_SIGRTMIN + 0, /* 33 */ |
| 85 | LINUX_SIGRTMIN + 1, /* 34 */ |
| 86 | LINUX_SIGRTMIN + 2, /* 35 */ |
| 87 | LINUX_SIGRTMIN + 3, /* 36 */ |
| 88 | LINUX_SIGRTMIN + 4, /* 37 */ |
| 89 | LINUX_SIGRTMIN + 5, /* 38 */ |
| 90 | LINUX_SIGRTMIN + 6, /* 39 */ |
| 91 | LINUX_SIGRTMIN + 7, /* 40 */ |
| 92 | LINUX_SIGRTMIN + 8, /* 41 */ |
| 93 | LINUX_SIGRTMIN + 9, /* 42 */ |
| 94 | LINUX_SIGRTMIN + 10, /* 43 */ |
| 95 | LINUX_SIGRTMIN + 11, /* 44 */ |
| 96 | LINUX_SIGRTMIN + 12, /* 45 */ |
| 97 | LINUX_SIGRTMIN + 13, /* 46 */ |
| 98 | LINUX_SIGRTMIN + 14, /* 47 */ |
| 99 | LINUX_SIGRTMIN + 15, /* 48 */ |
| 100 | LINUX_SIGRTMIN + 16, /* 49 */ |
| 101 | LINUX_SIGRTMIN + 17, /* 50 */ |
| 102 | LINUX_SIGRTMIN + 18, /* 51 */ |
| 103 | LINUX_SIGRTMIN + 19, /* 52 */ |
| 104 | LINUX_SIGRTMIN + 20, /* 53 */ |
| 105 | LINUX_SIGRTMIN + 21, /* 54 */ |
| 106 | LINUX_SIGRTMIN + 22, /* 55 */ |
| 107 | LINUX_SIGRTMIN + 23, /* 56 */ |
| 108 | LINUX_SIGRTMIN + 24, /* 57 */ |
| 109 | LINUX_SIGRTMIN + 25, /* 58 */ |
| 110 | LINUX_SIGRTMIN + 26, /* 59 */ |
| 111 | LINUX_SIGRTMIN + 27, /* 60 */ |
| 112 | LINUX_SIGRTMIN + 28, /* 61 */ |
| 113 | LINUX_SIGRTMIN + 29, /* 62 */ |
| 114 | LINUX_SIGRTMIN + 30, /* 63 */ |
| 115 | }; |
| 116 | #else |
| 117 | const int native_to_linux_signo[NSIG]; |
| 118 | #endif |
| 119 | |
| 120 | #if defined(__i386__) |
| 121 | #include <compat/linux/arch/i386/linux_sigarray.c> |
| 122 | #elif defined(__m68k__) |
| 123 | #include <compat/linux/arch/m68k/linux_sigarray.c> |
| 124 | #elif defined(__alpha__) |
| 125 | #include <compat/linux/arch/alpha/linux_sigarray.c> |
| 126 | #elif defined(__powerpc__) |
| 127 | #include <compat/linux/arch/powerpc/linux_sigarray.c> |
| 128 | #elif defined(__mips__) |
| 129 | #include <compat/linux/arch/mips/linux_sigarray.c> |
| 130 | #elif defined(__arm__) |
| 131 | #include <compat/linux/arch/arm/linux_sigarray.c> |
| 132 | #elif defined(__amd64__) |
| 133 | #include <compat/linux/arch/amd64/linux_sigarray.c> |
| 134 | #else |
| 135 | const int linux_to_native_signo[NSIG]; |
| 136 | #endif |
| 137 | |