Merge branch 'linaro-android-3.10-lsk' of git://android.git.linaro.org/kernel/linaro...
[firefly-linux-kernel-4.4.55.git] / include / asm-generic / siginfo.h
1 #ifndef _ASM_GENERIC_SIGINFO_H
2 #define _ASM_GENERIC_SIGINFO_H
3
4 #include <uapi/asm-generic/siginfo.h>
5
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))
16
17 struct siginfo;
18 void do_schedule_next_timer(struct siginfo *info);
19
20 #ifndef HAVE_ARCH_COPY_SIGINFO
21
22 #include <linux/string.h>
23
24 static inline void copy_siginfo(struct siginfo *to, struct siginfo *from)
25 {
26         if (from->si_code < 0)
27                 memcpy(to, from, sizeof(*to));
28         else
29                 /* _sigchld is currently the largest know union member */
30                 memcpy(to, from, __ARCH_SI_PREAMBLE_SIZE + sizeof(from->_sifields._sigchld));
31 }
32
33 #endif
34
35 extern int copy_siginfo_to_user(struct siginfo __user *to, struct siginfo *from);
36
37 #endif