xref: /openbsd/lib/libc/hidden/signal.h (revision 3cab2bb3)
1 /*	$OpenBSD: signal.h,v 1.15 2019/01/12 00:16:03 jca Exp $	*/
2 /*
3  * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
4  *
5  * Permission to use, copy, modify, and distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #ifndef _LIBC_SIGNAL_H
19 #define _LIBC_SIGNAL_H
20 
21 /* Rename __errno() before it's used in the inline functions in <signal.h> */
22 #include <errno.h>
23 
24 /* sigh: predeclare and rename the functions which we'll declare inline */
25 #include <sys/signal.h>
26 
27 __only_inline int	sigaddset(sigset_t *__set, int __signo);
28 __only_inline int	sigdelset(sigset_t *__set, int __signo);
29 __only_inline int	sigemptyset(sigset_t *__set);
30 __only_inline int	sigfillset(sigset_t *__set);
31 __only_inline int	sigismember(const sigset_t *__set, int __signo);
32 PROTO_NORMAL(sigaddset);
33 PROTO_NORMAL(sigdelset);
34 PROTO_NORMAL(sigemptyset);
35 PROTO_NORMAL(sigfillset);
36 PROTO_NORMAL(sigismember);
37 
38 #include_next <signal.h>
39 
40 __BEGIN_HIDDEN_DECLS
41 extern sigset_t __sigintr;
42 __END_HIDDEN_DECLS
43 
44 #if 0
45 extern PROTO_NORMAL(sys_siglist);
46 extern PROTO_NORMAL(sys_signame);
47 #endif
48 
49 /* prototyped for and used by the inline functions */
50 PROTO_NORMAL(__errno);
51 
52 PROTO_DEPRECATED(bsd_signal);
53 PROTO_NORMAL(kill);             /* wrap to ban SIGTHR? */
54 PROTO_DEPRECATED(killpg);
55 PROTO_DEPRECATED(psignal);
56 PROTO_DEPRECATED(pthread_sigmask);
57 PROTO_NORMAL(raise);
58 PROTO_WRAP(sigaction);
59 PROTO_NORMAL(sigaltstack);
60 PROTO_DEPRECATED(sigblock);
61 PROTO_DEPRECATED(siginterrupt);
62 PROTO_STD_DEPRECATED(signal);
63 PROTO_DEPRECATED(sigpause);
64 PROTO_NORMAL(sigpending);
65 PROTO_WRAP(sigprocmask);
66 PROTO_DEPRECATED(sigsetmask);
67 PROTO_CANCEL(sigsuspend);
68 PROTO_DEPRECATED(sigvec);
69 PROTO_DEPRECATED(sigwait);
70 PROTO_NORMAL(thrkill);
71 
72 #endif	/* !_LIBC_SIGNAL_H */
73