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