2 int si_signo; /* Signal number */
3 int si_errno; /* An errno value */
4 int si_code; /* Signal code */
5 int si_trapno; /* Trap number that caused hardware-generated
6 signal (unused on most architectures) */
7 pid_t si_pid; /* Sending process ID */
8 uid_t si_uid; /* Real user ID of sending process */
9 int si_status; /* Exit value or signal */
10 clock_t si_utime; /* User time consumed */
11 clock_t si_stime; /* System time consumed */
12 sigval_t si_value; /* Signal value */
13 int si_int; /* POSIX.1b signal */
14 void * si_ptr; /* POSIX.1b signal */
15 int si_overrun; /* Timer overrun count; POSIX.1b timers */
16 int si_timerid; /* Timer ID; POSIX.1b timers */
17 void * si_addr; /* Memory location which caused fault */
18 long si_band; /* Band event (was int before glibc 2.3.2) */
19 int si_fd; /* File descriptor */
20 short si_addr_lsb;/* Least significant bit of address (since 2.6.32) */
21 void *si_lower; /* Lower bound when addr violation occurred (3.19) */
22 void *si_upper; /* Upper bound when addr violation occurred (3.19) */
23 int si_pkey; /* Protection key on PTE that caused fault (4.6) */
24 void *si_call_addr; /* Address of system call instruction (3.5) */
25 int si_syscall; /* Number of attempted system call (since 3.5) */
26 unsigned int si_arch;/* Architecture of attempted system call (3.5) */