1#ifndef _KERNEL_SIGACTION_H
2# define _KERNEL_SIGACTION_H
3
4#ifdef SA_RESTORER
5# define HAS_SA_RESTORER 1
6#endif
7
8/* This is the sigaction structure from the Linux 3.2 kernel. */
9struct kernel_sigaction
10{
11 __sighandler_t k_sa_handler;
12 unsigned long sa_flags;
13#ifdef HAS_SA_RESTORER
14 void (*sa_restorer) (void);
15#endif
16 /* glibc sigset is larger than kernel expected one, however sigaction
17 passes the kernel expected size on rt_sigaction syscall. */
18 sigset_t sa_mask;
19};
20
21#ifndef SET_SA_RESTORER
22# define SET_SA_RESTORER(kact, act)
23#endif
24#ifndef RESET_SA_RESTORER
25# define RESET_SA_RESTORER(act, kact)
26#endif
27
28#endif
29

source code of glibc/sysdeps/unix/sysv/linux/kernel_sigaction.h