diff options
Diffstat (limited to 'include/linux/signal.h')
-rw-r--r-- | include/linux/signal.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/linux/signal.h b/include/linux/signal.h index 3d4cd5db30a9..200ed96a05af 100644 --- a/include/linux/signal.h +++ b/include/linux/signal.h | |||
@@ -11,17 +11,21 @@ struct task_struct; | |||
11 | /* for sysctl */ | 11 | /* for sysctl */ |
12 | extern int print_fatal_signals; | 12 | extern int print_fatal_signals; |
13 | 13 | ||
14 | static inline void copy_siginfo(struct siginfo *to, const struct siginfo *from) | 14 | static inline void copy_siginfo(kernel_siginfo_t *to, |
15 | const kernel_siginfo_t *from) | ||
15 | { | 16 | { |
16 | memcpy(to, from, sizeof(*to)); | 17 | memcpy(to, from, sizeof(*to)); |
17 | } | 18 | } |
18 | 19 | ||
19 | static inline void clear_siginfo(struct siginfo *info) | 20 | static inline void clear_siginfo(kernel_siginfo_t *info) |
20 | { | 21 | { |
21 | memset(info, 0, sizeof(*info)); | 22 | memset(info, 0, sizeof(*info)); |
22 | } | 23 | } |
23 | 24 | ||
24 | int copy_siginfo_to_user(struct siginfo __user *to, const struct siginfo *from); | 25 | #define SI_EXPANSION_SIZE (sizeof(struct siginfo) - sizeof(struct kernel_siginfo)) |
26 | |||
27 | int copy_siginfo_to_user(siginfo_t __user *to, const kernel_siginfo_t *from); | ||
28 | int copy_siginfo_from_user(kernel_siginfo_t *to, const siginfo_t __user *from); | ||
25 | 29 | ||
26 | enum siginfo_layout { | 30 | enum siginfo_layout { |
27 | SIL_KILL, | 31 | SIL_KILL, |
@@ -36,7 +40,7 @@ enum siginfo_layout { | |||
36 | SIL_SYS, | 40 | SIL_SYS, |
37 | }; | 41 | }; |
38 | 42 | ||
39 | enum siginfo_layout siginfo_layout(int sig, int si_code); | 43 | enum siginfo_layout siginfo_layout(unsigned sig, int si_code); |
40 | 44 | ||
41 | /* | 45 | /* |
42 | * Define some primitives to manipulate sigset_t. | 46 | * Define some primitives to manipulate sigset_t. |
@@ -257,11 +261,11 @@ struct pt_regs; | |||
257 | enum pid_type; | 261 | enum pid_type; |
258 | 262 | ||
259 | extern int next_signal(struct sigpending *pending, sigset_t *mask); | 263 | extern int next_signal(struct sigpending *pending, sigset_t *mask); |
260 | extern int do_send_sig_info(int sig, struct siginfo *info, | 264 | extern int do_send_sig_info(int sig, struct kernel_siginfo *info, |
261 | struct task_struct *p, enum pid_type type); | 265 | struct task_struct *p, enum pid_type type); |
262 | extern int group_send_sig_info(int sig, struct siginfo *info, | 266 | extern int group_send_sig_info(int sig, struct kernel_siginfo *info, |
263 | struct task_struct *p, enum pid_type type); | 267 | struct task_struct *p, enum pid_type type); |
264 | extern int __group_send_sig_info(int, struct siginfo *, struct task_struct *); | 268 | extern int __group_send_sig_info(int, struct kernel_siginfo *, struct task_struct *); |
265 | extern int sigprocmask(int, sigset_t *, sigset_t *); | 269 | extern int sigprocmask(int, sigset_t *, sigset_t *); |
266 | extern void set_current_blocked(sigset_t *); | 270 | extern void set_current_blocked(sigset_t *); |
267 | extern void __set_current_blocked(const sigset_t *); | 271 | extern void __set_current_blocked(const sigset_t *); |