linux/include/asm-generic/siginfo.h
<<
>>
Prefs
   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
  17struct siginfo;
  18void do_schedule_next_timer(struct siginfo *info);
  19
  20#ifndef HAVE_ARCH_COPY_SIGINFO
  21
  22#include <linux/string.h>
  23
  24static 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
  35extern int copy_siginfo_to_user(struct siginfo __user *to, const struct siginfo *from);
  36
  37#endif
  38