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