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