linux/arch/s390/include/uapi/asm/signal.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2/*
   3 *  S390 version
   4 *
   5 *  Derived from "include/asm-i386/signal.h"
   6 */
   7
   8#ifndef _UAPI_ASMS390_SIGNAL_H
   9#define _UAPI_ASMS390_SIGNAL_H
  10
  11#include <linux/types.h>
  12#include <linux/time.h>
  13
  14/* Avoid too many header ordering problems.  */
  15struct siginfo;
  16struct pt_regs;
  17
  18#ifndef __KERNEL__
  19/* Here we must cater to libcs that poke about in kernel headers.  */
  20
  21#define NSIG            32
  22typedef unsigned long sigset_t;
  23
  24#endif /* __KERNEL__ */
  25
  26#define SIGHUP           1
  27#define SIGINT           2
  28#define SIGQUIT          3
  29#define SIGILL           4
  30#define SIGTRAP          5
  31#define SIGABRT          6
  32#define SIGIOT           6
  33#define SIGBUS           7
  34#define SIGFPE           8
  35#define SIGKILL          9
  36#define SIGUSR1         10
  37#define SIGSEGV         11
  38#define SIGUSR2         12
  39#define SIGPIPE         13
  40#define SIGALRM         14
  41#define SIGTERM         15
  42#define SIGSTKFLT       16
  43#define SIGCHLD         17
  44#define SIGCONT         18
  45#define SIGSTOP         19
  46#define SIGTSTP         20
  47#define SIGTTIN         21
  48#define SIGTTOU         22
  49#define SIGURG          23
  50#define SIGXCPU         24
  51#define SIGXFSZ         25
  52#define SIGVTALRM       26
  53#define SIGPROF         27
  54#define SIGWINCH        28
  55#define SIGIO           29
  56#define SIGPOLL         SIGIO
  57/*
  58#define SIGLOST         29
  59*/
  60#define SIGPWR          30
  61#define SIGSYS          31
  62#define SIGUNUSED       31
  63
  64/* These should not be considered constants from userland.  */
  65#define SIGRTMIN        32
  66#define SIGRTMAX        _NSIG
  67
  68#define SA_RESTORER     0x04000000
  69
  70#define MINSIGSTKSZ     2048
  71#define SIGSTKSZ        8192
  72
  73#include <asm-generic/signal-defs.h>
  74
  75#ifndef __KERNEL__
  76
  77/*
  78 * There are two system calls in regard to sigaction, sys_rt_sigaction
  79 * and sys_sigaction. Internally the kernel uses the struct old_sigaction
  80 * for the older sys_sigaction system call, and the kernel version of the
  81 * struct sigaction for the newer sys_rt_sigaction.
  82 *
  83 * The uapi definition for struct sigaction has made a strange distinction
  84 * between 31-bit and 64-bit in the past. For 64-bit the uapi structure
  85 * looks like the kernel struct sigaction, but for 31-bit it used to
  86 * look like the kernel struct old_sigaction. That practically made the
  87 * structure unusable for either system call. To get around this problem
  88 * the glibc always had its own definitions for the sigaction structures.
  89 *
  90 * The current struct sigaction uapi definition below is suitable for the
  91 * sys_rt_sigaction system call only.
  92 */
  93struct sigaction {
  94        union {
  95          __sighandler_t _sa_handler;
  96          void (*_sa_sigaction)(int, struct siginfo *, void *);
  97        } _u;
  98        unsigned long sa_flags;
  99        void (*sa_restorer)(void);
 100        sigset_t sa_mask;
 101};
 102
 103#define sa_handler      _u._sa_handler
 104#define sa_sigaction    _u._sa_sigaction
 105
 106#endif /* __KERNEL__ */
 107
 108typedef struct sigaltstack {
 109        void __user *ss_sp;
 110        int ss_flags;
 111        size_t ss_size;
 112} stack_t;
 113
 114
 115#endif /* _UAPI_ASMS390_SIGNAL_H */
 116