/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */1/*2* S390 version3*4* Derived from "include/asm-i386/signal.h"5*/67#ifndef _UAPI_ASMS390_SIGNAL_H8#define _UAPI_ASMS390_SIGNAL_H910#include <linux/types.h>11#include <linux/time.h>1213/* Avoid too many header ordering problems. */14struct siginfo;15struct pt_regs;1617#ifndef __KERNEL__18/* Here we must cater to libcs that poke about in kernel headers. */1920#define NSIG 3221typedef unsigned long sigset_t;2223#endif /* __KERNEL__ */2425#define SIGHUP 126#define SIGINT 227#define SIGQUIT 328#define SIGILL 429#define SIGTRAP 530#define SIGABRT 631#define SIGIOT 632#define SIGBUS 733#define SIGFPE 834#define SIGKILL 935#define SIGUSR1 1036#define SIGSEGV 1137#define SIGUSR2 1238#define SIGPIPE 1339#define SIGALRM 1440#define SIGTERM 1541#define SIGSTKFLT 1642#define SIGCHLD 1743#define SIGCONT 1844#define SIGSTOP 1945#define SIGTSTP 2046#define SIGTTIN 2147#define SIGTTOU 2248#define SIGURG 2349#define SIGXCPU 2450#define SIGXFSZ 2551#define SIGVTALRM 2652#define SIGPROF 2753#define SIGWINCH 2854#define SIGIO 2955#define SIGPOLL SIGIO56/*57#define SIGLOST 2958*/59#define SIGPWR 3060#define SIGSYS 3161#define SIGUNUSED 316263/* These should not be considered constants from userland. */64#define SIGRTMIN 3265#define SIGRTMAX _NSIG6667#define SA_RESTORER 0x040000006869#define MINSIGSTKSZ 204870#define SIGSTKSZ 81927172#include <asm-generic/signal-defs.h>7374#ifndef __KERNEL__7576/*77* There are two system calls in regard to sigaction, sys_rt_sigaction78* and sys_sigaction. Internally the kernel uses the struct old_sigaction79* for the older sys_sigaction system call, and the kernel version of the80* struct sigaction for the newer sys_rt_sigaction.81*82* The uapi definition for struct sigaction has made a strange distinction83* between 31-bit and 64-bit in the past. For 64-bit the uapi structure84* looks like the kernel struct sigaction, but for 31-bit it used to85* look like the kernel struct old_sigaction. That practically made the86* structure unusable for either system call. To get around this problem87* the glibc always had its own definitions for the sigaction structures.88*89* The current struct sigaction uapi definition below is suitable for the90* sys_rt_sigaction system call only.91*/92struct sigaction {93union {94__sighandler_t _sa_handler;95void (*_sa_sigaction)(int, struct siginfo *, void *);96} _u;97unsigned long sa_flags;98void (*sa_restorer)(void);99sigset_t sa_mask;100};101102#define sa_handler _u._sa_handler103#define sa_sigaction _u._sa_sigaction104105#endif /* __KERNEL__ */106107typedef struct sigaltstack {108void __user *ss_sp;109int ss_flags;110__kernel_size_t ss_size;111} stack_t;112113114#endif /* _UAPI_ASMS390_SIGNAL_H */115116117