| #ifndef TARGET_OS_SIGINFO_H | 
 | #define TARGET_OS_SIGINFO_H | 
 |  | 
 | #define TARGET_NSIG     32   /* counting 0; could be 33 (mask is 1-32) */ | 
 | #define TARGET_NSIG_BPW     (sizeof(uint32_t) * 8) | 
 | #define TARGET_NSIG_WORDS   (TARGET_NSIG / TARGET_NSIG_BPW) | 
 |  | 
 | /* this struct defines a stack used during syscall handling */ | 
 | typedef struct target_sigaltstack { | 
 |     abi_long    ss_sp; | 
 |     abi_ulong   ss_size; | 
 |     abi_long    ss_flags; | 
 | } target_stack_t; | 
 |  | 
 | typedef struct { | 
 |     uint32_t __bits[TARGET_NSIG_WORDS]; | 
 | } target_sigset_t | 
 |  | 
 | struct target_sigaction { | 
 |     abi_ulong   _sa_handler; | 
 |     int32_t     sa_flags; | 
 |     target_sigset_t sa_mask; | 
 | }; | 
 |  | 
 | /* Compare to sys/siginfo.h */ | 
 | typedef union target_sigval { | 
 |     int         sival_int; | 
 |     abi_ulong   sival_ptr; | 
 | } target_sigval_t; | 
 |  | 
 | struct target_ksiginfo { | 
 |     int32_t     _signo; | 
 |     int32_t     _code; | 
 |     int32_t     _errno; | 
 | #if TARGET_ABI_BITS == 64 | 
 |     int32_t     _pad; | 
 | #endif | 
 |     union { | 
 |         struct { | 
 |             int32_t             _pid; | 
 |             int32_t             _uid; | 
 |             target_sigval_t    _value; | 
 |         } _rt; | 
 |  | 
 |         struct { | 
 |             int32_t             _pid; | 
 |             int32_t             _uid; | 
 |             int32_t             _struct; | 
 |             /* clock_t          _utime; */ | 
 |             /* clock_t          _stime; */ | 
 |         } _child; | 
 |  | 
 |         struct { | 
 |             abi_ulong           _addr; | 
 |             int32_t             _trap; | 
 |         } _fault; | 
 |  | 
 |         struct { | 
 |             long                _band; | 
 |             int                 _fd; | 
 |         } _poll; | 
 |     } _reason; | 
 | }; | 
 |  | 
 | typedef union target_siginfo { | 
 |     int8_t     si_pad[128]; | 
 |     struct     target_ksiginfo  _info; | 
 | } target_siginfo_t; | 
 |  | 
 | #define target_si_signo     _info._signo | 
 | #define target_si_code      _info._code | 
 | #define target_si_errno     _info._errno | 
 | #define target_si_addr      _info._reason._fault._addr | 
 |  | 
 | #define TARGET_SEGV_MAPERR  1 | 
 | #define TARGET_SEGV_ACCERR  2 | 
 |  | 
 | #define TARGET_TRAP_BRKPT   1 | 
 | #define TARGET_TRAP_TRACE   2 | 
 |  | 
 |  | 
 | #endif /* TARGET_OS_SIGINFO_H */ |