Root/
Source at commit HEAD created 5 years 6 days ago. By ifabio, Few update to kernelPatcher (Credits to CrazyBirdy) | |
---|---|
1 | /*␊ |
2 | * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.␊ |
3 | *␊ |
4 | * @APPLE_LICENSE_HEADER_START@␊ |
5 | * ␊ |
6 | * This file contains Original Code and/or Modifications of Original Code␊ |
7 | * as defined in and that are subject to the Apple Public Source License␊ |
8 | * Version 2.0 (the 'License'). You may not use this file except in␊ |
9 | * compliance with the License. Please obtain a copy of the License at␊ |
10 | * http://www.opensource.apple.com/apsl/ and read it before using this␊ |
11 | * file.␊ |
12 | * ␊ |
13 | * The Original Code and all software distributed under the License are␊ |
14 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER␊ |
15 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,␊ |
16 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,␊ |
17 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.␊ |
18 | * Please see the License for the specific language governing rights and␊ |
19 | * limitations under the License.␊ |
20 | * ␊ |
21 | * @APPLE_LICENSE_HEADER_END@␊ |
22 | */␊ |
23 | /*-␊ |
24 | * Copyright (c) 1991, 1993␊ |
25 | *␉The Regents of the University of California. All rights reserved.␊ |
26 | *␊ |
27 | * Redistribution and use in source and binary forms, with or without␊ |
28 | * modification, are permitted provided that the following conditions␊ |
29 | * are met:␊ |
30 | * 1. Redistributions of source code must retain the above copyright␊ |
31 | * notice, this list of conditions and the following disclaimer.␊ |
32 | * 2. Redistributions in binary form must reproduce the above copyright␊ |
33 | * notice, this list of conditions and the following disclaimer in the␊ |
34 | * documentation and/or other materials provided with the distribution.␊ |
35 | * 3. All advertising materials mentioning features or use of this software␊ |
36 | * must display the following acknowledgement:␊ |
37 | *␉This product includes software developed by the University of␊ |
38 | *␉California, Berkeley and its contributors.␊ |
39 | * 4. Neither the name of the University nor the names of its contributors␊ |
40 | * may be used to endorse or promote products derived from this software␊ |
41 | * without specific prior written permission.␊ |
42 | *␊ |
43 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND␊ |
44 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE␊ |
45 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE␊ |
46 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE␊ |
47 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL␊ |
48 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS␊ |
49 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)␊ |
50 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT␊ |
51 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY␊ |
52 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF␊ |
53 | * SUCH DAMAGE.␊ |
54 | *␊ |
55 | *␉@(#)signal.h␉8.3 (Berkeley) 3/30/94␊ |
56 | */␊ |
57 | ␊ |
58 | #ifndef _USER_SIGNAL_H␊ |
59 | #define _USER_SIGNAL_H␊ |
60 | ␊ |
61 | #include <sys/cdefs.h>␊ |
62 | #include <_types.h>␊ |
63 | #include <sys/signal.h>␊ |
64 | ␊ |
65 | #ifndef _PTHREAD_T␊ |
66 | typedef __darwin_pthread_t␉pthread_t;␊ |
67 | #define _PTHREAD_T␊ |
68 | #endif␊ |
69 | ␊ |
70 | #if !defined(_ANSI_SOURCE) && (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))␊ |
71 | extern __const char *__const sys_signame[NSIG];␊ |
72 | extern __const char *__const sys_siglist[NSIG];␊ |
73 | #endif␊ |
74 | ␊ |
75 | __BEGIN_DECLS␊ |
76 | int␉raise(int);␊ |
77 | __END_DECLS␊ |
78 | ␊ |
79 | #ifndef␉_ANSI_SOURCE␊ |
80 | __BEGIN_DECLS␊ |
81 | void␉(*bsd_signal(int, void (*)(int)))(int);␊ |
82 | //Begin-Libc␊ |
83 | #ifndef LIBC_ALIAS_KILL␊ |
84 | //End-Libc␊ |
85 | int␉kill(pid_t, int) __DARWIN_ALIAS(kill);␊ |
86 | //Begin-Libc␊ |
87 | #else /* LIBC_ALIAS_KILL */␊ |
88 | int␉kill(pid_t, int) LIBC_ALIAS(kill);␊ |
89 | #endif /* !LIBC_ALIAS_KILL */␊ |
90 | //End-Libc␊ |
91 | //Begin-Libc␊ |
92 | #ifndef LIBC_ALIAS_KILLPG␊ |
93 | //End-Libc␊ |
94 | int␉killpg(pid_t, int) __DARWIN_ALIAS(killpg);␊ |
95 | //Begin-Libc␊ |
96 | #else /* LIBC_ALIAS_KILLPG */␊ |
97 | int␉killpg(pid_t, int) LIBC_ALIAS(killpg);␊ |
98 | #endif /* !LIBC_ALIAS_KILLPG */␊ |
99 | //End-Libc␊ |
100 | int␉pthread_kill(pthread_t, int);␊ |
101 | //Begin-Libc␊ |
102 | #ifndef LIBC_ALIAS_PTHREAD_SIGMASK␊ |
103 | //End-Libc␊ |
104 | int␉pthread_sigmask(int, const sigset_t *, sigset_t *) __DARWIN_ALIAS(pthread_sigmask);␊ |
105 | //Begin-Libc␊ |
106 | #else /* LIBC_ALIAS_PTHREAD_SIGMASK */␊ |
107 | int␉pthread_sigmask(int, const sigset_t *, sigset_t *) LIBC_ALIAS(pthread_sigmask);␊ |
108 | #endif /* !LIBC_ALIAS_PTHREAD_SIGMASK */␊ |
109 | //End-Libc␊ |
110 | int␉sigaction(int, const struct sigaction * __restrict,␊ |
111 | ␉ struct sigaction * __restrict);␊ |
112 | int␉sigaddset(sigset_t *, int);␊ |
113 | //Begin-Libc␊ |
114 | #ifndef LIBC_ALIAS_SIGALTSTACK␊ |
115 | //End-Libc␊ |
116 | int␉sigaltstack(const stack_t * __restrict, stack_t * __restrict) __DARWIN_ALIAS(sigaltstack);␊ |
117 | //Begin-Libc␊ |
118 | #else /* LIBC_ALIAS_SIGALTSTACK */␊ |
119 | int␉sigaltstack(const stack_t * __restrict, stack_t * __restrict) LIBC_ALIAS(sigaltstack);␊ |
120 | #endif /* !LIBC_ALIAS_SIGALTSTACK */␊ |
121 | //End-Libc␊ |
122 | int␉sigdelset(sigset_t *, int);␊ |
123 | int␉sigemptyset(sigset_t *);␊ |
124 | int␉sigfillset(sigset_t *);␊ |
125 | int␉sighold(int);␊ |
126 | int␉sigignore(int);␊ |
127 | int␉siginterrupt(int, int);␊ |
128 | int␉sigismember(const sigset_t *, int);␊ |
129 | //Begin-Libc␊ |
130 | #ifndef LIBC_ALIAS_SIGPAUSE␊ |
131 | //End-Libc␊ |
132 | int␉sigpause(int) __DARWIN_ALIAS_C(sigpause);␊ |
133 | //Begin-Libc␊ |
134 | #else /* LIBC_ALIAS_SIGPAUSE */␊ |
135 | int␉sigpause(int) LIBC_ALIAS_C(sigpause);␊ |
136 | #endif /* !LIBC_ALIAS_SIGPAUSE */␊ |
137 | //End-Libc␊ |
138 | int␉sigpending(sigset_t *);␊ |
139 | int␉sigprocmask(int, const sigset_t * __restrict, sigset_t * __restrict);␊ |
140 | int␉sigrelse(int);␊ |
141 | void (*sigset(int, void (*)(int)))(int); ␊ |
142 | //Begin-Libc␊ |
143 | #ifndef LIBC_ALIAS_SIGSUSPEND␊ |
144 | //End-Libc␊ |
145 | int␉sigsuspend(const sigset_t *) __DARWIN_ALIAS_C(sigsuspend);␊ |
146 | //Begin-Libc␊ |
147 | #else /* LIBC_ALIAS_SIGSUSPEND */␊ |
148 | int␉sigsuspend(const sigset_t *) LIBC_ALIAS_C(sigsuspend);␊ |
149 | #endif /* !LIBC_ALIAS_SIGSUSPEND */␊ |
150 | //End-Libc␊ |
151 | //Begin-Libc␊ |
152 | #ifndef LIBC_ALIAS_SIGWAIT␊ |
153 | //End-Libc␊ |
154 | int␉sigwait(const sigset_t * __restrict, int * __restrict) __DARWIN_ALIAS_C(sigwait);␊ |
155 | //Begin-Libc␊ |
156 | #else /* LIBC_ALIAS_SIGWAIT */␊ |
157 | int␉sigwait(const sigset_t * __restrict, int * __restrict) LIBC_ALIAS_C(sigwait);␊ |
158 | #endif /* !LIBC_ALIAS_SIGWAIT */␊ |
159 | //End-Libc␊ |
160 | #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE)␊ |
161 | void␉psignal(unsigned int, const char *);␊ |
162 | int␉sigblock(int);␊ |
163 | int␉sigsetmask(int);␊ |
164 | int␉sigvec(int, struct sigvec *, struct sigvec *);␊ |
165 | #endif␉/* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */␊ |
166 | __END_DECLS␊ |
167 | ␊ |
168 | /* List definitions after function declarations, or Reiser cpp gets upset. */␊ |
169 | #if defined(__i386__) || defined(__x86_64__)␊ |
170 | /* The left shift operator on intel is modulo 32 */␊ |
171 | static __inline int␊ |
172 | __sigbits(int __signo)␊ |
173 | {␊ |
174 | return __signo > __DARWIN_NSIG ? 0 : (1 << (__signo - 1));␊ |
175 | }␊ |
176 | #else /* !__i386__ && !__x86_64__ */␊ |
177 | #define __sigbits(signo)␉(1 << ((signo) - 1))␊ |
178 | #endif /* __i386__ || __x86_64__ */␊ |
179 | ␊ |
180 | #define␉sigaddset(set, signo)␉(*(set) |= __sigbits(signo), 0)␊ |
181 | #define␉sigdelset(set, signo)␉(*(set) &= ~__sigbits(signo), 0)␊ |
182 | #define␉sigismember(set, signo)␉((*(set) & __sigbits(signo)) != 0)␊ |
183 | #define␉sigemptyset(set)␉(*(set) = 0, 0)␊ |
184 | #define␉sigfillset(set)␉␉(*(set) = ~(sigset_t)0, 0)␊ |
185 | #endif␉/* !_ANSI_SOURCE */␊ |
186 | ␊ |
187 | #endif␉/* !_USER_SIGNAL_H */␊ |
188 |