|  | #ifndef _SIGNAL_H | 
|  | #if defined __need_sig_atomic_t || defined __need_sigset_t | 
|  | # include <signal/signal.h> | 
|  | #else | 
|  | # include <signal/signal.h> | 
|  |  | 
|  | # ifndef _ISOMAC | 
|  | libc_hidden_proto (sigemptyset) | 
|  | libc_hidden_proto (sigfillset) | 
|  | libc_hidden_proto (sigaddset) | 
|  | libc_hidden_proto (sigdelset) | 
|  | libc_hidden_proto (sigismember) | 
|  | extern int __sigpause (int sig_or_mask, int is_sig); | 
|  | libc_hidden_proto (__sigpause) | 
|  | libc_hidden_proto (raise) | 
|  | libc_hidden_proto (__libc_current_sigrtmin) | 
|  | libc_hidden_proto (__libc_current_sigrtmax) | 
|  | libc_hidden_proto (_sys_siglist) | 
|  |  | 
|  | /* Now define the internal interfaces.  */ | 
|  | extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler); | 
|  | extern int __kill (__pid_t __pid, int __sig); | 
|  | extern int __sigaction (int __sig, const struct sigaction *__restrict __act, | 
|  | struct sigaction *__restrict __oact); | 
|  | libc_hidden_proto (__sigaction) | 
|  | extern int __sigblock (int __mask); | 
|  | extern int __sigsetmask (int __mask); | 
|  | extern int __sigprocmask (int __how, | 
|  | const sigset_t *__set, sigset_t *__oset); | 
|  | extern int __sigsuspend (const sigset_t *__set); | 
|  | libc_hidden_proto (__sigsuspend) | 
|  | #ifndef NO_CANCELLATION | 
|  | extern int __sigsuspend_nocancel (const sigset_t *__set) attribute_hidden; | 
|  | #endif | 
|  | extern int __sigwait (const sigset_t *__set, int *__sig); | 
|  | libc_hidden_proto (__sigwait) | 
|  | extern int __sigwaitinfo (const sigset_t *__set, siginfo_t *__info); | 
|  | libc_hidden_proto (__sigwaitinfo) | 
|  | extern int __sigtimedwait (const sigset_t *__set, siginfo_t *__info, | 
|  | const struct timespec *__timeout); | 
|  | libc_hidden_proto (__sigtimedwait) | 
|  | extern int __sigqueue (__pid_t __pid, int __sig, | 
|  | const union sigval __val); | 
|  | #ifdef __USE_MISC | 
|  | extern int __sigreturn (struct sigcontext *__scp); | 
|  | #endif | 
|  | extern int __sigaltstack (const struct sigaltstack *__ss, | 
|  | struct sigaltstack *__oss); | 
|  | extern int __libc_sigaction (int sig, const struct sigaction *act, | 
|  | struct sigaction *oact); | 
|  | libc_hidden_proto (__libc_sigaction) | 
|  |  | 
|  | extern int __default_sigpause (int mask); | 
|  | extern int __xpg_sigpause (int sig); | 
|  |  | 
|  | /* Simplified sigemptyset() implementation without the parameter checking.  */ | 
|  | #undef __sigemptyset | 
|  | #define __sigemptyset(ss) \ | 
|  | ({ __builtin_memset (ss, '\0', sizeof (sigset_t)); 0; }) | 
|  |  | 
|  |  | 
|  | /* Allocate real-time signal with highest/lowest available priority.  */ | 
|  | extern int __libc_allocate_rtsig (int __high); | 
|  |  | 
|  | #  if IS_IN (rtld) | 
|  | extern __typeof (__sigaction) __sigaction attribute_hidden; | 
|  | extern __typeof (__libc_sigaction) __libc_sigaction attribute_hidden; | 
|  | #  endif | 
|  | # endif | 
|  | #endif | 
|  | #endif |