1/* $NetBSD: linux_signo.c,v 1.7 2021/09/23 06:56:27 ryo 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.7 2021/09/23 06:56:27 ryo 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 50const 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 117const 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(__aarch64__) 131#include <compat/linux/arch/aarch64/linux_sigarray.c> 132#elif defined(__arm__) 133#include <compat/linux/arch/arm/linux_sigarray.c> 134#elif defined(__amd64__) 135#include <compat/linux/arch/amd64/linux_sigarray.c> 136#else 137const int linux_to_native_signo[NSIG]; 138#endif 139