1 /* $NetBSD: signal.h,v 1.4 2024/01/20 14:52:46 christos Exp $ */ 2 3 /*- 4 * Copyright (c) 1991, 1993 5 * The Regents of the University of California. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 3. Neither the name of the University nor the names of its contributors 16 * may be used to endorse or promote products derived from this software 17 * without specific prior written permission. 18 * 19 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 * SUCH DAMAGE. 30 * 31 * @(#)signal.h 8.3 (Berkeley) 3/30/94 32 */ 33 34 #ifndef _COMPAT_SIGNAL_H_ 35 #define _COMPAT_SIGNAL_H_ 36 37 #include <compat/sys/signal.h> 38 39 __BEGIN_DECLS 40 #if defined(_NETBSD_SOURCE) 41 extern const char *const _sys_signame[]; 42 extern const char *const _sys_siglist[]; 43 extern const int sys_nsig; 44 #endif 45 46 int sigaction(int, const struct sigaction13 * __restrict, 47 struct sigaction13 * __restrict); 48 int __sigaction_siginfo(int, const struct sigaction * __restrict, 49 struct sigaction * __restrict); 50 int sigaddset(sigset13_t *, int); 51 int __sigaddset14(sigset_t *, int); 52 int sigdelset(sigset13_t *, int); 53 int __sigdelset14(sigset_t *, int); 54 int sigemptyset(sigset13_t *); 55 int __sigemptyset14(sigset_t *); 56 int sigfillset(sigset13_t *); 57 int __sigfillset14(sigset_t *); 58 int sigismember(const sigset13_t *, int); 59 int __sigismember14(const sigset_t *, int); 60 int sigpending(sigset13_t *); 61 int __sigpending14(sigset_t *); 62 int sigprocmask(int, const sigset13_t * __restrict, 63 sigset13_t * __restrict); 64 int __sigprocmask14(int, const sigset_t * __restrict, 65 sigset_t * __restrict); 66 int sigsuspend(const sigset13_t *); 67 int __sigsuspend14(const sigset_t *); 68 69 int sigtimedwait(const sigset_t * __restrict, 70 siginfo_t * __restrict, const struct timespec50 * __restrict); 71 int __sigtimedwait(const sigset_t * __restrict, 72 siginfo_t * __restrict, struct timespec50 * __restrict); 73 int __sigtimedwait50(const sigset_t * __restrict, 74 siginfo_t * __restrict, const struct timespec * __restrict); 75 int ____sigtimedwait50(const sigset_t * __restrict, 76 siginfo_t * __restrict, struct timespec * __restrict); 77 int __libc_sigaction14(int, const struct sigaction *, struct sigaction *); 78 79 /* 80 * X/Open CAE Specification Issue 4 Version 2 81 */ 82 #if (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) || \ 83 (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE) 84 int sigaltstack(const struct sigaltstack13 * __restrict, 85 struct sigaltstack13 * __restrict); 86 int __sigaltstack14(const stack_t * __restrict, stack_t * __restrict); 87 #endif /* _XOPEN_SOURCE_EXTENDED || _XOPEN_SOURCE >= 500 || _NETBSD_SOURCE */ 88 89 #define C(a,b) __CONCAT(a,b) 90 #define __SIGTRAMP_SIGCONTEXT \ 91 C(__sigtramp_sigcontext_,__SIGTRAMP_SIGCONTEXT_VERSION) 92 #define __SIGTRAMP_SIGINFO \ 93 C(__sigtramp_siginfo_,__SIGTRAMP_SIGINFO_VERSION) 94 95 extern const char __SIGTRAMP_SIGINFO[]; 96 extern const char __SIGTRAMP_SIGCONTEXT[]; 97 98 __END_DECLS 99 100 #endif /* !_COMPAT_SIGNAL_H_ */ 101