162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
262306a36Sopenharmony_ci#ifndef _UAPI__ASM_GENERIC_SIGNAL_H
362306a36Sopenharmony_ci#define _UAPI__ASM_GENERIC_SIGNAL_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/types.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#define _NSIG		64
862306a36Sopenharmony_ci#define _NSIG_BPW	__BITS_PER_LONG
962306a36Sopenharmony_ci#define _NSIG_WORDS	(_NSIG / _NSIG_BPW)
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#define SIGHUP		 1
1262306a36Sopenharmony_ci#define SIGINT		 2
1362306a36Sopenharmony_ci#define SIGQUIT		 3
1462306a36Sopenharmony_ci#define SIGILL		 4
1562306a36Sopenharmony_ci#define SIGTRAP		 5
1662306a36Sopenharmony_ci#define SIGABRT		 6
1762306a36Sopenharmony_ci#define SIGIOT		 6
1862306a36Sopenharmony_ci#define SIGBUS		 7
1962306a36Sopenharmony_ci#define SIGFPE		 8
2062306a36Sopenharmony_ci#define SIGKILL		 9
2162306a36Sopenharmony_ci#define SIGUSR1		10
2262306a36Sopenharmony_ci#define SIGSEGV		11
2362306a36Sopenharmony_ci#define SIGUSR2		12
2462306a36Sopenharmony_ci#define SIGPIPE		13
2562306a36Sopenharmony_ci#define SIGALRM		14
2662306a36Sopenharmony_ci#define SIGTERM		15
2762306a36Sopenharmony_ci#define SIGSTKFLT	16
2862306a36Sopenharmony_ci#define SIGCHLD		17
2962306a36Sopenharmony_ci#define SIGCONT		18
3062306a36Sopenharmony_ci#define SIGSTOP		19
3162306a36Sopenharmony_ci#define SIGTSTP		20
3262306a36Sopenharmony_ci#define SIGTTIN		21
3362306a36Sopenharmony_ci#define SIGTTOU		22
3462306a36Sopenharmony_ci#define SIGURG		23
3562306a36Sopenharmony_ci#define SIGXCPU		24
3662306a36Sopenharmony_ci#define SIGXFSZ		25
3762306a36Sopenharmony_ci#define SIGVTALRM	26
3862306a36Sopenharmony_ci#define SIGPROF		27
3962306a36Sopenharmony_ci#define SIGWINCH	28
4062306a36Sopenharmony_ci#define SIGIO		29
4162306a36Sopenharmony_ci#define SIGPOLL		SIGIO
4262306a36Sopenharmony_ci/*
4362306a36Sopenharmony_ci#define SIGLOST		29
4462306a36Sopenharmony_ci*/
4562306a36Sopenharmony_ci#define SIGPWR		30
4662306a36Sopenharmony_ci#define SIGSYS		31
4762306a36Sopenharmony_ci#define	SIGUNUSED	31
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci/* These should not be considered constants from userland.  */
5062306a36Sopenharmony_ci#define SIGRTMIN	32
5162306a36Sopenharmony_ci#ifndef SIGRTMAX
5262306a36Sopenharmony_ci#define SIGRTMAX	_NSIG
5362306a36Sopenharmony_ci#endif
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci#if !defined MINSIGSTKSZ || !defined SIGSTKSZ
5662306a36Sopenharmony_ci#define MINSIGSTKSZ	2048
5762306a36Sopenharmony_ci#define SIGSTKSZ	8192
5862306a36Sopenharmony_ci#endif
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci#ifndef __ASSEMBLY__
6162306a36Sopenharmony_citypedef struct {
6262306a36Sopenharmony_ci	unsigned long sig[_NSIG_WORDS];
6362306a36Sopenharmony_ci} sigset_t;
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci/* not actually used, but required for linux/syscalls.h */
6662306a36Sopenharmony_citypedef unsigned long old_sigset_t;
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci#include <asm-generic/signal-defs.h>
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci#ifdef SA_RESTORER
7162306a36Sopenharmony_ci#define __ARCH_HAS_SA_RESTORER
7262306a36Sopenharmony_ci#endif
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci#ifndef __KERNEL__
7562306a36Sopenharmony_cistruct sigaction {
7662306a36Sopenharmony_ci	__sighandler_t sa_handler;
7762306a36Sopenharmony_ci	unsigned long sa_flags;
7862306a36Sopenharmony_ci#ifdef SA_RESTORER
7962306a36Sopenharmony_ci	__sigrestore_t sa_restorer;
8062306a36Sopenharmony_ci#endif
8162306a36Sopenharmony_ci	sigset_t sa_mask;		/* mask last for extensibility */
8262306a36Sopenharmony_ci};
8362306a36Sopenharmony_ci#endif
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_citypedef struct sigaltstack {
8662306a36Sopenharmony_ci	void __user *ss_sp;
8762306a36Sopenharmony_ci	int ss_flags;
8862306a36Sopenharmony_ci	__kernel_size_t ss_size;
8962306a36Sopenharmony_ci} stack_t;
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci#endif /* __ASSEMBLY__ */
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci#endif /* _UAPI__ASM_GENERIC_SIGNAL_H */
94