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);
32PROTO_NORMAL(sigaddset);
33PROTO_NORMAL(sigdelset);
34PROTO_NORMAL(sigemptyset);
35PROTO_NORMAL(sigfillset);
36PROTO_NORMAL(sigismember);
37
38#include_next <signal.h>
39
40__BEGIN_HIDDEN_DECLS
41extern sigset_t __sigintr;
42__END_HIDDEN_DECLS
43
44#if 0
45extern PROTO_NORMAL(sys_siglist);
46extern PROTO_NORMAL(sys_signame);
47#endif
48
49/* prototyped for and used by the inline functions */
50PROTO_NORMAL(__errno);
51
52PROTO_DEPRECATED(bsd_signal);
53PROTO_NORMAL(kill);             /* wrap to ban SIGTHR? */
54PROTO_DEPRECATED(killpg);
55PROTO_DEPRECATED(psignal);
56PROTO_DEPRECATED(pthread_sigmask);
57PROTO_NORMAL(raise);
58PROTO_WRAP(sigaction);
59PROTO_NORMAL(sigaltstack);
60PROTO_DEPRECATED(sigblock);
61PROTO_DEPRECATED(siginterrupt);
62PROTO_STD_DEPRECATED(signal);
63PROTO_DEPRECATED(sigpause);
64PROTO_NORMAL(sigpending);
65PROTO_WRAP(sigprocmask);
66PROTO_DEPRECATED(sigsetmask);
67PROTO_CANCEL(sigsuspend);
68PROTO_DEPRECATED(sigvec);
69PROTO_DEPRECATED(sigwait);
70PROTO_NORMAL(thrkill);
71
72#endif	/* !_LIBC_SIGNAL_H */
73