1 #ifndef _ASM_GENERIC_SIGINFO_H
2 #define _ASM_GENERIC_SIGINFO_H
4 #include <uapi/asm-generic/siginfo.h>
6 #define __SI_MASK 0xffff0000u
7 #define __SI_KILL (0 << 16)
8 #define __SI_TIMER (1 << 16)
9 #define __SI_POLL (2 << 16)
10 #define __SI_FAULT (3 << 16)
11 #define __SI_CHLD (4 << 16)
12 #define __SI_RT (5 << 16)
13 #define __SI_MESGQ (6 << 16)
14 #define __SI_SYS (7 << 16)
15 #define __SI_CODE(T,N) ((T) | ((N) & 0xffff))
18 void do_schedule_next_timer(struct siginfo
*info
);
20 #ifndef HAVE_ARCH_COPY_SIGINFO
22 #include <linux/string.h>
24 static inline void copy_siginfo(struct siginfo
*to
, struct siginfo
*from
)
26 if (from
->si_code
< 0)
27 memcpy(to
, from
, sizeof(*to
));
29 /* _sigchld is currently the largest know union member */
30 memcpy(to
, from
, __ARCH_SI_PREAMBLE_SIZE
+ sizeof(from
->_sifields
._sigchld
));
35 extern int copy_siginfo_to_user(struct siginfo __user
*to
, const struct siginfo
*from
);