2 #if defined __need_sig_atomic_t || defined __need_sigset_t
3 # include <signal/signal.h>
5 # include <signal/signal.h>
8 libc_hidden_proto (sigemptyset
)
9 libc_hidden_proto (sigfillset
)
10 libc_hidden_proto (sigaddset
)
11 libc_hidden_proto (sigdelset
)
12 libc_hidden_proto (sigismember
)
13 extern int __sigpause (int sig_or_mask
, int is_sig
);
14 libc_hidden_proto (__sigpause
)
15 libc_hidden_proto (raise
)
16 libc_hidden_proto (__libc_current_sigrtmin
)
17 libc_hidden_proto (__libc_current_sigrtmax
)
18 libc_hidden_proto (_sys_siglist
)
20 /* Now define the internal interfaces. */
21 extern __sighandler_t
__bsd_signal (int __sig
, __sighandler_t __handler
);
22 extern int __kill (__pid_t __pid
, int __sig
);
23 extern int __sigaction (int __sig
, const struct sigaction
*__restrict __act
,
24 struct sigaction
*__restrict __oact
);
25 libc_hidden_proto (__sigaction
)
26 extern int __sigblock (int __mask
);
27 extern int __sigsetmask (int __mask
);
28 extern int __sigprocmask (int __how
,
29 const sigset_t
*__set
, sigset_t
*__oset
);
30 extern int __sigsuspend (const sigset_t
*__set
);
31 libc_hidden_proto (__sigsuspend
)
32 #ifndef NO_CANCELLATION
33 extern int __sigsuspend_nocancel (const sigset_t
*__set
) attribute_hidden
;
35 extern int __sigwait (const sigset_t
*__set
, int *__sig
);
36 libc_hidden_proto (__sigwait
)
37 extern int __sigwaitinfo (const sigset_t
*__set
, siginfo_t
*__info
);
38 libc_hidden_proto (__sigwaitinfo
)
39 extern int __sigtimedwait (const sigset_t
*__set
, siginfo_t
*__info
,
40 const struct timespec
*__timeout
);
41 libc_hidden_proto (__sigtimedwait
)
42 extern int __sigqueue (__pid_t __pid
, int __sig
,
43 const union sigval __val
);
45 extern int __sigreturn (struct sigcontext
*__scp
);
47 extern int __sigaltstack (const struct sigaltstack
*__ss
,
48 struct sigaltstack
*__oss
);
49 extern int __libc_sigaction (int sig
, const struct sigaction
*act
,
50 struct sigaction
*oact
);
51 libc_hidden_proto (__libc_sigaction
)
53 extern int __default_sigpause (int mask
);
54 extern int __xpg_sigpause (int sig
);
56 /* Simplified sigemptyset() implementation without the parameter checking. */
58 #define __sigemptyset(ss) \
59 ({ __builtin_memset (ss, '\0', sizeof (sigset_t)); 0; })
62 /* Allocate real-time signal with highest/lowest available priority. */
63 extern int __libc_allocate_rtsig (int __high
);