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 | |