summaryrefslogtreecommitdiffstats
path: root/include/linux/signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/signal.h')
-rw-r--r--include/linux/signal.h18
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 */
12extern int print_fatal_signals; 12extern int print_fatal_signals;
13 13
14static inline void copy_siginfo(struct siginfo *to, const struct siginfo *from) 14static 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
19static inline void clear_siginfo(struct siginfo *info) 20static 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
24int 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
27int copy_siginfo_to_user(siginfo_t __user *to, const kernel_siginfo_t *from);
28int copy_siginfo_from_user(kernel_siginfo_t *to, const siginfo_t __user *from);
25 29
26enum siginfo_layout { 30enum 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
39enum siginfo_layout siginfo_layout(int sig, int si_code); 43enum 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;
257enum pid_type; 261enum pid_type;
258 262
259extern int next_signal(struct sigpending *pending, sigset_t *mask); 263extern int next_signal(struct sigpending *pending, sigset_t *mask);
260extern int do_send_sig_info(int sig, struct siginfo *info, 264extern 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);
262extern int group_send_sig_info(int sig, struct siginfo *info, 266extern 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);
264extern int __group_send_sig_info(int, struct siginfo *, struct task_struct *); 268extern int __group_send_sig_info(int, struct kernel_siginfo *, struct task_struct *);
265extern int sigprocmask(int, sigset_t *, sigset_t *); 269extern int sigprocmask(int, sigset_t *, sigset_t *);
266extern void set_current_blocked(sigset_t *); 270extern void set_current_blocked(sigset_t *);
267extern void __set_current_blocked(const sigset_t *); 271extern void __set_current_blocked(const sigset_t *);