mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 14:05:19 +08:00
1d82b7898f
Most architectures with the exception of alpha, mips, parisc and sparc use the same values for these flags. Move their definitions into asm-generic/signal-defs.h and allow the architectures with non-standard values to override them. Also, document the non-standard flag values in order to make it easier to add new generic flags in the future. A consequence of this change is that on powerpc and x86, the constants' values aside from SA_RESETHAND change signedness from unsigned to signed. This is not expected to impact realistic use of these constants. In particular the typical use of the constants where they are or'ed together and assigned to sa_flags (or another int variable) would not be affected. Signed-off-by: Peter Collingbourne <pcc@google.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> Reviewed-by: Dave Martin <Dave.Martin@arm.com> Link: https://linux-review.googlesource.com/id/Ia3849f18b8009bf41faca374e701cdca36974528 Link: https://lkml.kernel.org/r/b6d0d1ec34f9ee93e1105f14f288fba5f89d1f24.1605235762.git.pcc@google.com Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
94 lines
1.8 KiB
C
94 lines
1.8 KiB
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _UAPI__ASM_GENERIC_SIGNAL_H
|
|
#define _UAPI__ASM_GENERIC_SIGNAL_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
#define _NSIG 64
|
|
#define _NSIG_BPW __BITS_PER_LONG
|
|
#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
|
|
|
|
#define SIGHUP 1
|
|
#define SIGINT 2
|
|
#define SIGQUIT 3
|
|
#define SIGILL 4
|
|
#define SIGTRAP 5
|
|
#define SIGABRT 6
|
|
#define SIGIOT 6
|
|
#define SIGBUS 7
|
|
#define SIGFPE 8
|
|
#define SIGKILL 9
|
|
#define SIGUSR1 10
|
|
#define SIGSEGV 11
|
|
#define SIGUSR2 12
|
|
#define SIGPIPE 13
|
|
#define SIGALRM 14
|
|
#define SIGTERM 15
|
|
#define SIGSTKFLT 16
|
|
#define SIGCHLD 17
|
|
#define SIGCONT 18
|
|
#define SIGSTOP 19
|
|
#define SIGTSTP 20
|
|
#define SIGTTIN 21
|
|
#define SIGTTOU 22
|
|
#define SIGURG 23
|
|
#define SIGXCPU 24
|
|
#define SIGXFSZ 25
|
|
#define SIGVTALRM 26
|
|
#define SIGPROF 27
|
|
#define SIGWINCH 28
|
|
#define SIGIO 29
|
|
#define SIGPOLL SIGIO
|
|
/*
|
|
#define SIGLOST 29
|
|
*/
|
|
#define SIGPWR 30
|
|
#define SIGSYS 31
|
|
#define SIGUNUSED 31
|
|
|
|
/* These should not be considered constants from userland. */
|
|
#define SIGRTMIN 32
|
|
#ifndef SIGRTMAX
|
|
#define SIGRTMAX _NSIG
|
|
#endif
|
|
|
|
#if !defined MINSIGSTKSZ || !defined SIGSTKSZ
|
|
#define MINSIGSTKSZ 2048
|
|
#define SIGSTKSZ 8192
|
|
#endif
|
|
|
|
#ifndef __ASSEMBLY__
|
|
typedef struct {
|
|
unsigned long sig[_NSIG_WORDS];
|
|
} sigset_t;
|
|
|
|
/* not actually used, but required for linux/syscalls.h */
|
|
typedef unsigned long old_sigset_t;
|
|
|
|
#include <asm-generic/signal-defs.h>
|
|
|
|
#ifdef SA_RESTORER
|
|
#define __ARCH_HAS_SA_RESTORER
|
|
#endif
|
|
|
|
#ifndef __KERNEL__
|
|
struct sigaction {
|
|
__sighandler_t sa_handler;
|
|
unsigned long sa_flags;
|
|
#ifdef SA_RESTORER
|
|
__sigrestore_t sa_restorer;
|
|
#endif
|
|
sigset_t sa_mask; /* mask last for extensibility */
|
|
};
|
|
#endif
|
|
|
|
typedef struct sigaltstack {
|
|
void __user *ss_sp;
|
|
int ss_flags;
|
|
size_t ss_size;
|
|
} stack_t;
|
|
|
|
#endif /* __ASSEMBLY__ */
|
|
|
|
#endif /* _UAPI__ASM_GENERIC_SIGNAL_H */
|