1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*4882a593Smuzhiyun #ifndef _UAPI__ASM_GENERIC_SIGNAL_H 3*4882a593Smuzhiyun #define _UAPI__ASM_GENERIC_SIGNAL_H 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <linux/types.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #define _NSIG 64 8*4882a593Smuzhiyun #define _NSIG_BPW __BITS_PER_LONG 9*4882a593Smuzhiyun #define _NSIG_WORDS (_NSIG / _NSIG_BPW) 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #define SIGHUP 1 12*4882a593Smuzhiyun #define SIGINT 2 13*4882a593Smuzhiyun #define SIGQUIT 3 14*4882a593Smuzhiyun #define SIGILL 4 15*4882a593Smuzhiyun #define SIGTRAP 5 16*4882a593Smuzhiyun #define SIGABRT 6 17*4882a593Smuzhiyun #define SIGIOT 6 18*4882a593Smuzhiyun #define SIGBUS 7 19*4882a593Smuzhiyun #define SIGFPE 8 20*4882a593Smuzhiyun #define SIGKILL 9 21*4882a593Smuzhiyun #define SIGUSR1 10 22*4882a593Smuzhiyun #define SIGSEGV 11 23*4882a593Smuzhiyun #define SIGUSR2 12 24*4882a593Smuzhiyun #define SIGPIPE 13 25*4882a593Smuzhiyun #define SIGALRM 14 26*4882a593Smuzhiyun #define SIGTERM 15 27*4882a593Smuzhiyun #define SIGSTKFLT 16 28*4882a593Smuzhiyun #define SIGCHLD 17 29*4882a593Smuzhiyun #define SIGCONT 18 30*4882a593Smuzhiyun #define SIGSTOP 19 31*4882a593Smuzhiyun #define SIGTSTP 20 32*4882a593Smuzhiyun #define SIGTTIN 21 33*4882a593Smuzhiyun #define SIGTTOU 22 34*4882a593Smuzhiyun #define SIGURG 23 35*4882a593Smuzhiyun #define SIGXCPU 24 36*4882a593Smuzhiyun #define SIGXFSZ 25 37*4882a593Smuzhiyun #define SIGVTALRM 26 38*4882a593Smuzhiyun #define SIGPROF 27 39*4882a593Smuzhiyun #define SIGWINCH 28 40*4882a593Smuzhiyun #define SIGIO 29 41*4882a593Smuzhiyun #define SIGPOLL SIGIO 42*4882a593Smuzhiyun /* 43*4882a593Smuzhiyun #define SIGLOST 29 44*4882a593Smuzhiyun */ 45*4882a593Smuzhiyun #define SIGPWR 30 46*4882a593Smuzhiyun #define SIGSYS 31 47*4882a593Smuzhiyun #define SIGUNUSED 31 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun /* These should not be considered constants from userland. */ 50*4882a593Smuzhiyun #define SIGRTMIN 32 51*4882a593Smuzhiyun #ifndef SIGRTMAX 52*4882a593Smuzhiyun #define SIGRTMAX _NSIG 53*4882a593Smuzhiyun #endif 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #if !defined MINSIGSTKSZ || !defined SIGSTKSZ 56*4882a593Smuzhiyun #define MINSIGSTKSZ 2048 57*4882a593Smuzhiyun #define SIGSTKSZ 8192 58*4882a593Smuzhiyun #endif 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun #ifndef __ASSEMBLY__ 61*4882a593Smuzhiyun typedef struct { 62*4882a593Smuzhiyun unsigned long sig[_NSIG_WORDS]; 63*4882a593Smuzhiyun } sigset_t; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun /* not actually used, but required for linux/syscalls.h */ 66*4882a593Smuzhiyun typedef unsigned long old_sigset_t; 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun #include <asm-generic/signal-defs.h> 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun #ifdef SA_RESTORER 71*4882a593Smuzhiyun #define __ARCH_HAS_SA_RESTORER 72*4882a593Smuzhiyun #endif 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun #ifndef __KERNEL__ 75*4882a593Smuzhiyun struct sigaction { 76*4882a593Smuzhiyun __sighandler_t sa_handler; 77*4882a593Smuzhiyun unsigned long sa_flags; 78*4882a593Smuzhiyun #ifdef SA_RESTORER 79*4882a593Smuzhiyun __sigrestore_t sa_restorer; 80*4882a593Smuzhiyun #endif 81*4882a593Smuzhiyun sigset_t sa_mask; /* mask last for extensibility */ 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun #endif 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun typedef struct sigaltstack { 86*4882a593Smuzhiyun void __user *ss_sp; 87*4882a593Smuzhiyun int ss_flags; 88*4882a593Smuzhiyun size_t ss_size; 89*4882a593Smuzhiyun } stack_t; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun #endif /* __ASSEMBLY__ */ 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun #endif /* _UAPI__ASM_GENERIC_SIGNAL_H */ 94