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