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 4096 6 #define SIGSTKSZ 10240 7 #endif 8 9 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) 10 11 typedef unsigned long greg_t, gregset_t[48]; 12 13 typedef struct { 14 double fpregs[32]; 15 double fpscr; 16 } fpregset_t; 17 18 typedef struct { 19 #ifdef __GNUC__ 20 __attribute__((__aligned__(16))) 21 #endif 22 unsigned vrregs[32][4]; 23 struct { 24 #if __BIG_ENDIAN__ 25 unsigned _pad[3], vscr_word; 26 #else 27 unsigned vscr_word, _pad[3]; 28 #endif 29 } vscr; 30 unsigned vrsave, _pad[3]; 31 } vrregset_t; 32 33 typedef struct sigcontext { 34 unsigned long _unused[4]; 35 int signal; 36 int _pad0; 37 unsigned long handler; 38 unsigned long oldmask; 39 void *regs; 40 gregset_t gp_regs; 41 fpregset_t fp_regs; 42 vrregset_t *v_regs; 43 long vmx_reserve[34+34+32+1]; 44 } mcontext_t; 45 46 #else 47 48 typedef struct { 49 long __regs[4+4+48+33+1+34+34+32+1]; 50 } mcontext_t; 51 52 #endif 53 54 struct sigaltstack { 55 void *ss_sp; 56 int ss_flags; 57 size_t ss_size; 58 }; 59 60 typedef struct __ucontext { 61 unsigned long uc_flags; 62 struct __ucontext *uc_link; 63 stack_t uc_stack; 64 sigset_t uc_sigmask; 65 mcontext_t uc_mcontext; 66 } ucontext_t; 67 68 #define SA_NOCLDSTOP 1U 69 #define SA_NOCLDWAIT 2U 70 #define SA_SIGINFO 4U 71 #define SA_ONSTACK 0x08000000U 72 #define SA_RESTART 0x10000000U 73 #define SA_NODEFER 0x40000000U 74 #define SA_RESETHAND 0x80000000U 75 #define SA_RESTORER 0x04000000U 76 77 #endif 78 79 #define SIGHUP 1 80 #define SIGINT 2 81 #define SIGQUIT 3 82 #define SIGILL 4 83 #define SIGTRAP 5 84 #define SIGABRT 6 85 #define SIGIOT SIGABRT 86 #define SIGBUS 7 87 #define SIGFPE 8 88 #define SIGKILL 9 89 #define SIGUSR1 10 90 #define SIGSEGV 11 91 #define SIGUSR2 12 92 #define SIGPIPE 13 93 #define SIGALRM 14 94 #define SIGTERM 15 95 #define SIGSTKFLT 16 96 #define SIGCHLD 17 97 #define SIGCONT 18 98 #define SIGSTOP 19 99 #define SIGTSTP 20 100 #define SIGTTIN 21 101 #define SIGTTOU 22 102 #define SIGURG 23 103 #define SIGXCPU 24 104 #define SIGXFSZ 25 105 #define SIGVTALRM 26 106 #define SIGPROF 27 107 #define SIGWINCH 28 108 #define SIGIO 29 109 #define SIGPOLL SIGIO 110 #define SIGPWR 30 111 #define SIGSYS 31 112 #define SIGUNUSED SIGSYS 113 114 #define _NSIG 65 115