162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * include/asm-xtensa/signal.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Swiped from SH. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 862306a36Sopenharmony_ci * License. See the file "COPYING" in the main directory of this archive 962306a36Sopenharmony_ci * for more details. 1062306a36Sopenharmony_ci * 1162306a36Sopenharmony_ci * Copyright (C) 2001 - 2005 Tensilica Inc. 1262306a36Sopenharmony_ci */ 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#ifndef _UAPI_XTENSA_SIGNAL_H 1562306a36Sopenharmony_ci#define _UAPI_XTENSA_SIGNAL_H 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#define _NSIG 64 1962306a36Sopenharmony_ci#define _NSIG_BPW 32 2062306a36Sopenharmony_ci#define _NSIG_WORDS (_NSIG / _NSIG_BPW) 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci#include <linux/types.h> 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci/* Avoid too many header ordering problems. */ 2762306a36Sopenharmony_cistruct siginfo; 2862306a36Sopenharmony_citypedef unsigned long old_sigset_t; /* at least 32 bits */ 2962306a36Sopenharmony_citypedef struct { 3062306a36Sopenharmony_ci unsigned long sig[_NSIG_WORDS]; 3162306a36Sopenharmony_ci} sigset_t; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#endif 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci#define SIGHUP 1 3662306a36Sopenharmony_ci#define SIGINT 2 3762306a36Sopenharmony_ci#define SIGQUIT 3 3862306a36Sopenharmony_ci#define SIGILL 4 3962306a36Sopenharmony_ci#define SIGTRAP 5 4062306a36Sopenharmony_ci#define SIGABRT 6 4162306a36Sopenharmony_ci#define SIGIOT 6 4262306a36Sopenharmony_ci#define SIGBUS 7 4362306a36Sopenharmony_ci#define SIGFPE 8 4462306a36Sopenharmony_ci#define SIGKILL 9 4562306a36Sopenharmony_ci#define SIGUSR1 10 4662306a36Sopenharmony_ci#define SIGSEGV 11 4762306a36Sopenharmony_ci#define SIGUSR2 12 4862306a36Sopenharmony_ci#define SIGPIPE 13 4962306a36Sopenharmony_ci#define SIGALRM 14 5062306a36Sopenharmony_ci#define SIGTERM 15 5162306a36Sopenharmony_ci#define SIGSTKFLT 16 5262306a36Sopenharmony_ci#define SIGCHLD 17 5362306a36Sopenharmony_ci#define SIGCONT 18 5462306a36Sopenharmony_ci#define SIGSTOP 19 5562306a36Sopenharmony_ci#define SIGTSTP 20 5662306a36Sopenharmony_ci#define SIGTTIN 21 5762306a36Sopenharmony_ci#define SIGTTOU 22 5862306a36Sopenharmony_ci#define SIGURG 23 5962306a36Sopenharmony_ci#define SIGXCPU 24 6062306a36Sopenharmony_ci#define SIGXFSZ 25 6162306a36Sopenharmony_ci#define SIGVTALRM 26 6262306a36Sopenharmony_ci#define SIGPROF 27 6362306a36Sopenharmony_ci#define SIGWINCH 28 6462306a36Sopenharmony_ci#define SIGIO 29 6562306a36Sopenharmony_ci#define SIGPOLL SIGIO 6662306a36Sopenharmony_ci/* #define SIGLOST 29 */ 6762306a36Sopenharmony_ci#define SIGPWR 30 6862306a36Sopenharmony_ci#define SIGSYS 31 6962306a36Sopenharmony_ci#define SIGUNUSED 31 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci/* These should not be considered constants from userland. */ 7262306a36Sopenharmony_ci#define SIGRTMIN 32 7362306a36Sopenharmony_ci#define SIGRTMAX (_NSIG-1) 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci#define SA_RESTORER 0x04000000 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci#define MINSIGSTKSZ 2048 7862306a36Sopenharmony_ci#define SIGSTKSZ 8192 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci#ifndef __ASSEMBLY__ 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci#include <asm-generic/signal-defs.h> 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci#ifndef __KERNEL__ 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci/* Here we must cater to libcs that poke about in kernel headers. */ 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_cistruct sigaction { 8962306a36Sopenharmony_ci union { 9062306a36Sopenharmony_ci __sighandler_t _sa_handler; 9162306a36Sopenharmony_ci void (*_sa_sigaction)(int, struct siginfo *, void *); 9262306a36Sopenharmony_ci } _u; 9362306a36Sopenharmony_ci sigset_t sa_mask; 9462306a36Sopenharmony_ci unsigned long sa_flags; 9562306a36Sopenharmony_ci void (*sa_restorer)(void); 9662306a36Sopenharmony_ci}; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci#define sa_handler _u._sa_handler 9962306a36Sopenharmony_ci#define sa_sigaction _u._sa_sigaction 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci#endif /* __KERNEL__ */ 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_citypedef struct sigaltstack { 10462306a36Sopenharmony_ci void *ss_sp; 10562306a36Sopenharmony_ci int ss_flags; 10662306a36Sopenharmony_ci __kernel_size_t ss_size; 10762306a36Sopenharmony_ci} stack_t; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci#endif /* __ASSEMBLY__ */ 11062306a36Sopenharmony_ci#endif /* _UAPI_XTENSA_SIGNAL_H */ 111