37 lines
		
	
	
	
		
			917 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			917 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _ASM_GENERIC_SIGINFO_H
 | 
						|
#define _ASM_GENERIC_SIGINFO_H
 | 
						|
 | 
						|
#include <uapi/asm-generic/siginfo.h>
 | 
						|
 | 
						|
#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)
 | 
						|
#define __SI_SYS	(7 << 16)
 | 
						|
#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, const struct siginfo *from);
 | 
						|
 | 
						|
#endif
 |