1 #include <inttypes.h> 2 typedef uint32_t mpers_ptr_t; 3 typedef 4 struct { 5 int32_t si_signo; 6 int32_t si_errno; 7 int32_t si_code; 8 union { 9 int32_t _pad[29]; 10 struct { 11 int32_t si_pid; 12 uint32_t si_uid; 13 } ATTRIBUTE_PACKED _kill; 14 struct { 15 int32_t si_tid; 16 int32_t si_overrun; 17 union { 18 int32_t sival_int; 19 mpers_ptr_t sival_ptr; 20 } si_sigval; 21 } ATTRIBUTE_PACKED _timer; 22 struct { 23 int32_t si_pid; 24 uint32_t si_uid; 25 union { 26 int32_t sival_int; 27 mpers_ptr_t sival_ptr; 28 } si_sigval; 29 } ATTRIBUTE_PACKED _rt; 30 struct { 31 int32_t si_pid; 32 uint32_t si_uid; 33 int32_t si_status; 34 int64_t si_utime; 35 int64_t si_stime; 36 } ATTRIBUTE_PACKED _sigchld; 37 struct { 38 mpers_ptr_t si_addr; 39 int16_t si_addr_lsb; 40 unsigned char mpers_end_filler_1[2]; 41 } ATTRIBUTE_PACKED _sigfault; 42 struct { 43 int32_t si_band; 44 int32_t si_fd; 45 } ATTRIBUTE_PACKED _sigpoll; 46 struct { 47 mpers_ptr_t _call_addr; 48 int32_t _syscall; 49 uint32_t _arch; 50 } ATTRIBUTE_PACKED _sigsys; 51 } _sifields; 52 } ATTRIBUTE_PACKED mx32_siginfo_t; 53 #define MPERS_mx32_siginfo_t mx32_siginfo_t 54