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