OLD | NEW |
(Empty) | |
| 1 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ |
| 2 || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| 3 |
| 4 #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| 5 #define MINSIGSTKSZ 2048 |
| 6 #define SIGSTKSZ 8192 |
| 7 #endif |
| 8 |
| 9 #ifdef _GNU_SOURCE |
| 10 #define REG_R8 0 |
| 11 #define REG_R9 1 |
| 12 #define REG_R10 2 |
| 13 #define REG_R11 3 |
| 14 #define REG_R12 4 |
| 15 #define REG_R13 5 |
| 16 #define REG_R14 6 |
| 17 #define REG_R15 7 |
| 18 #define REG_RDI 8 |
| 19 #define REG_RSI 9 |
| 20 #define REG_RBP 10 |
| 21 #define REG_RBX 11 |
| 22 #define REG_RDX 12 |
| 23 #define REG_RAX 13 |
| 24 #define REG_RCX 14 |
| 25 #define REG_RSP 15 |
| 26 #define REG_RIP 16 |
| 27 #define REG_EFL 17 |
| 28 #define REG_CSGSFS 18 |
| 29 #define REG_ERR 19 |
| 30 #define REG_TRAPNO 20 |
| 31 #define REG_OLDMASK 21 |
| 32 #define REG_CR2 22 |
| 33 #endif |
| 34 |
| 35 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| 36 typedef long long greg_t, gregset_t[23]; |
| 37 typedef struct _fpstate { |
| 38 unsigned short cwd, swd, ftw, fop; |
| 39 unsigned long long rip, rdp; |
| 40 unsigned mxcsr, mxcr_mask; |
| 41 struct { |
| 42 unsigned short significand[4], exponent, padding[3]; |
| 43 } _st[8]; |
| 44 struct { |
| 45 unsigned element[4]; |
| 46 } _xmm[16]; |
| 47 unsigned padding[24]; |
| 48 } *fpregset_t; |
| 49 struct sigcontext { |
| 50 unsigned long r8, r9, r10, r11, r12, r13, r14, r15; |
| 51 unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags; |
| 52 unsigned short cs, gs, fs, __pad0; |
| 53 unsigned long err, trapno, oldmask, cr2; |
| 54 struct _fpstate *fpstate; |
| 55 unsigned long __reserved1[8]; |
| 56 }; |
| 57 typedef struct { |
| 58 gregset_t gregs; |
| 59 fpregset_t fpregs; |
| 60 unsigned long long __reserved1[8]; |
| 61 } mcontext_t; |
| 62 #else |
| 63 typedef struct { |
| 64 unsigned long __space[32]; |
| 65 } mcontext_t; |
| 66 #endif |
| 67 |
| 68 struct sigaltstack { |
| 69 void *ss_sp; |
| 70 int ss_flags; |
| 71 size_t ss_size; |
| 72 }; |
| 73 |
| 74 typedef struct __ucontext { |
| 75 unsigned long uc_flags; |
| 76 struct __ucontext *uc_link; |
| 77 stack_t uc_stack; |
| 78 mcontext_t uc_mcontext; |
| 79 sigset_t uc_sigmask; |
| 80 unsigned long __fpregs_mem[64]; |
| 81 } ucontext_t; |
| 82 |
| 83 #define SA_NOCLDSTOP 1 |
| 84 #define SA_NOCLDWAIT 2 |
| 85 #define SA_SIGINFO 4 |
| 86 #define SA_ONSTACK 0x08000000 |
| 87 #define SA_RESTART 0x10000000 |
| 88 #define SA_NODEFER 0x40000000 |
| 89 #define SA_RESETHAND 0x80000000 |
| 90 #define SA_RESTORER 0x04000000 |
| 91 |
| 92 #endif |
| 93 |
| 94 #define SIGHUP 1 |
| 95 #define SIGINT 2 |
| 96 #define SIGQUIT 3 |
| 97 #define SIGILL 4 |
| 98 #define SIGTRAP 5 |
| 99 #define SIGABRT 6 |
| 100 #define SIGIOT SIGABRT |
| 101 #define SIGBUS 7 |
| 102 #define SIGFPE 8 |
| 103 #define SIGKILL 9 |
| 104 #define SIGUSR1 10 |
| 105 #define SIGSEGV 11 |
| 106 #define SIGUSR2 12 |
| 107 #define SIGPIPE 13 |
| 108 #define SIGALRM 14 |
| 109 #define SIGTERM 15 |
| 110 #define SIGSTKFLT 16 |
| 111 #define SIGCHLD 17 |
| 112 #define SIGCONT 18 |
| 113 #define SIGSTOP 19 |
| 114 #define SIGTSTP 20 |
| 115 #define SIGTTIN 21 |
| 116 #define SIGTTOU 22 |
| 117 #define SIGURG 23 |
| 118 #define SIGXCPU 24 |
| 119 #define SIGXFSZ 25 |
| 120 #define SIGVTALRM 26 |
| 121 #define SIGPROF 27 |
| 122 #define SIGWINCH 28 |
| 123 #define SIGIO 29 |
| 124 #define SIGPOLL 29 |
| 125 #define SIGPWR 30 |
| 126 #define SIGSYS 31 |
| 127 #define SIGUNUSED SIGSYS |
| 128 |
| 129 #define _NSIG 65 |
| 130 |
OLD | NEW |