File: /Users/paulross/dev/linux/linux-3.13/include/asm-generic/siginfo.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: #ifndef _ASM_GENERIC_SIGINFO_H
       2: #define _ASM_GENERIC_SIGINFO_H
       3: 
       4: #include <uapi/asm-generic/siginfo.h>
       5: 
       6: #define __SI_MASK    0xffff0000u
       7: #define __SI_KILL    (0 << 16)
       8: #define __SI_TIMER    (1 << 16)
       9: #define __SI_POLL    (2 << 16)
      10: #define __SI_FAULT    (3 << 16)
      11: #define __SI_CHLD    (4 << 16)
      12: #define __SI_RT        (5 << 16)
      13: #define __SI_MESGQ    (6 << 16)
      14: #define __SI_SYS    (7 << 16)
      15: #define __SI_CODE(T,N)    ((T) | ((N) & 0xffff))
      16: 
      17: struct siginfo;
      18: void do_schedule_next_timer(struct siginfo *info);
      19: 
      20: #ifndef HAVE_ARCH_COPY_SIGINFO
      21: 
      22: #include <linux/string.h>
      23: 
      24: static inline void copy_siginfo(struct siginfo *to, struct siginfo *from)
      25: {
      26:     if (from->si_code < 0)
      27:         memcpy(to, from, sizeof(*to));
      28:     else
      29:         /* _sigchld is currently the largest know union member */
      30:         memcpy(to, from, __ARCH_SI_PREAMBLE_SIZE + sizeof(from->_sifields._sigchld));
      31: }
      32: 
      33: #endif
      34: 
      35: extern int copy_siginfo_to_user(struct siginfo __user *to, const struct siginfo *from);
      36: 
      37: #endif
      38: