Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _ASM_GENERIC_SIGINFO_H |
2 | #define _ASM_GENERIC_SIGINFO_H | |
3 | ||
8a1ab315 | 4 | #include <uapi/asm-generic/siginfo.h> |
1da177e4 | 5 | |
1da177e4 LT |
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) | |
a0727e8c | 14 | #define __SI_SYS (7 << 16) |
1da177e4 | 15 | #define __SI_CODE(T,N) ((T) | ((N) & 0xffff)) |
1da177e4 LT |
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 | ||
ce395960 | 35 | extern int copy_siginfo_to_user(struct siginfo __user *to, const struct siginfo *from); |
1da177e4 | 36 | |
1da177e4 | 37 | #endif |