Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v2.6.33 97 lines 2.1 kB view raw
1#ifndef _M68K_SIGINFO_H 2#define _M68K_SIGINFO_H 3 4#ifndef __uClinux__ 5#define HAVE_ARCH_SIGINFO_T 6#define HAVE_ARCH_COPY_SIGINFO 7#endif 8 9#include <asm-generic/siginfo.h> 10 11#ifndef __uClinux__ 12 13typedef struct siginfo { 14 int si_signo; 15 int si_errno; 16 int si_code; 17 18 union { 19 int _pad[SI_PAD_SIZE]; 20 21 /* kill() */ 22 struct { 23 __kernel_pid_t _pid; /* sender's pid */ 24 __kernel_uid_t _uid; /* backwards compatibility */ 25 __kernel_uid32_t _uid32; /* sender's uid */ 26 } _kill; 27 28 /* POSIX.1b timers */ 29 struct { 30 timer_t _tid; /* timer id */ 31 int _overrun; /* overrun count */ 32 char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)]; 33 sigval_t _sigval; /* same as below */ 34 int _sys_private; /* not to be passed to user */ 35 } _timer; 36 37 /* POSIX.1b signals */ 38 struct { 39 __kernel_pid_t _pid; /* sender's pid */ 40 __kernel_uid_t _uid; /* backwards compatibility */ 41 sigval_t _sigval; 42 __kernel_uid32_t _uid32; /* sender's uid */ 43 } _rt; 44 45 /* SIGCHLD */ 46 struct { 47 __kernel_pid_t _pid; /* which child */ 48 __kernel_uid_t _uid; /* backwards compatibility */ 49 int _status; /* exit code */ 50 clock_t _utime; 51 clock_t _stime; 52 __kernel_uid32_t _uid32; /* sender's uid */ 53 } _sigchld; 54 55 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ 56 struct { 57 void *_addr; /* faulting insn/memory ref. */ 58 } _sigfault; 59 60 /* SIGPOLL */ 61 struct { 62 int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ 63 int _fd; 64 } _sigpoll; 65 } _sifields; 66} siginfo_t; 67 68#define UID16_SIGINFO_COMPAT_NEEDED 69 70/* 71 * How these fields are to be accessed. 72 */ 73#undef si_uid 74#ifdef __KERNEL__ 75#define si_uid _sifields._kill._uid32 76#define si_uid16 _sifields._kill._uid 77#else 78#define si_uid _sifields._kill._uid 79#endif 80 81#ifdef __KERNEL__ 82 83#include <linux/string.h> 84 85static inline void copy_siginfo(struct siginfo *to, struct siginfo *from) 86{ 87 if (from->si_code < 0) 88 memcpy(to, from, sizeof(*to)); 89 else 90 /* _sigchld is currently the largest know union member */ 91 memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld)); 92} 93 94#endif /* __KERNEL__ */ 95#endif /* !__uClinux__ */ 96 97#endif