]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/unix/sysv/linux/s390/kernel_sigaction.h
linux: Consolidate sigaction implementation
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / s390 / kernel_sigaction.h
1 #include <bits/types/siginfo_t.h>
2
3 #define SA_RESTORER 0x04000000
4
5 /* This is the sigaction structure from the Linux 3.2 kernel. */
6 struct kernel_sigaction
7 {
8 union
9 {
10 __sighandler_t _sa_handler;
11 void (*_sa_sigaction)(int, siginfo_t *, void *);
12 } _u;
13 #define k_sa_handler _u._sa_handler
14 #ifndef __s390x__
15 sigset_t sa_mask;
16 unsigned long sa_flags;
17 void (*sa_restorer)(void);
18 #else
19 unsigned long sa_flags;
20 void (*sa_restorer)(void);
21 sigset_t sa_mask;
22 #endif
23 };
24
25 #define SET_SA_RESTORER(kact, act) \
26 (kact)->sa_restorer = (act)->sa_restorer
27 #define RESET_SA_RESTORER(act, kact) \
28 (act)->sa_restorer = (kact)->sa_restorer