| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #ifndef _ASM_GENERIC_SIGINFO_H
 | 
					
						
							|  |  |  | #define _ASM_GENERIC_SIGINFO_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-04 18:20:15 +01:00
										 |  |  | #include <uapi/asm-generic/siginfo.h>
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define __SI_MASK	0xffff0000u
 | 
					
						
							|  |  |  | #define __SI_KILL	(0 << 16)
 | 
					
						
							|  |  |  | #define __SI_TIMER	(1 << 16)
 | 
					
						
							|  |  |  | #define __SI_POLL	(2 << 16)
 | 
					
						
							|  |  |  | #define __SI_FAULT	(3 << 16)
 | 
					
						
							|  |  |  | #define __SI_CHLD	(4 << 16)
 | 
					
						
							|  |  |  | #define __SI_RT		(5 << 16)
 | 
					
						
							|  |  |  | #define __SI_MESGQ	(6 << 16)
 | 
					
						
							| 
									
										
										
										
											2012-04-12 16:48:00 -05:00
										 |  |  | #define __SI_SYS	(7 << 16)
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | #define __SI_CODE(T,N)	((T) | ((N) & 0xffff))
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct siginfo; | 
					
						
							|  |  |  | void do_schedule_next_timer(struct siginfo *info); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifndef HAVE_ARCH_COPY_SIGINFO
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/string.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static inline void copy_siginfo(struct siginfo *to, struct siginfo *from) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	if (from->si_code < 0) | 
					
						
							|  |  |  | 		memcpy(to, from, sizeof(*to)); | 
					
						
							|  |  |  | 	else | 
					
						
							|  |  |  | 		/* _sigchld is currently the largest know union member */ | 
					
						
							|  |  |  | 		memcpy(to, from, __ARCH_SI_PREAMBLE_SIZE + sizeof(from->_sifields._sigchld)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern int copy_siginfo_to_user(struct siginfo __user *to, struct siginfo *from); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |