root/arch/sparc/include/uapi/asm/signal.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 #ifndef _UAPI__SPARC_SIGNAL_H
   3 #define _UAPI__SPARC_SIGNAL_H
   4 
   5 #include <asm/sigcontext.h>
   6 #include <linux/compiler.h>
   7 
   8 
   9 /* On the Sparc the signal handlers get passed a 'sub-signal' code
  10  * for certain signal types, which we document here.
  11  */
  12 #define SIGHUP           1
  13 #define SIGINT           2
  14 #define SIGQUIT          3
  15 #define SIGILL           4
  16 #define    SUBSIG_STACK       0
  17 #define    SUBSIG_ILLINST     2
  18 #define    SUBSIG_PRIVINST    3
  19 #define    SUBSIG_BADTRAP(t)  (0x80 + (t))
  20 
  21 #define SIGTRAP          5
  22 #define SIGABRT          6
  23 #define SIGIOT           6
  24 
  25 #define SIGEMT           7
  26 #define    SUBSIG_TAG    10
  27 
  28 #define SIGFPE           8
  29 #define    SUBSIG_FPDISABLED     0x400
  30 #define    SUBSIG_FPERROR        0x404
  31 #define    SUBSIG_FPINTOVFL      0x001
  32 #define    SUBSIG_FPSTSIG        0x002
  33 #define    SUBSIG_IDIVZERO       0x014
  34 #define    SUBSIG_FPINEXACT      0x0c4
  35 #define    SUBSIG_FPDIVZERO      0x0c8
  36 #define    SUBSIG_FPUNFLOW       0x0cc
  37 #define    SUBSIG_FPOPERROR      0x0d0
  38 #define    SUBSIG_FPOVFLOW       0x0d4
  39 
  40 #define SIGKILL          9
  41 #define SIGBUS          10
  42 #define    SUBSIG_BUSTIMEOUT    1
  43 #define    SUBSIG_ALIGNMENT     2
  44 #define    SUBSIG_MISCERROR     5
  45 
  46 #define SIGSEGV         11
  47 #define    SUBSIG_NOMAPPING     3
  48 #define    SUBSIG_PROTECTION    4
  49 #define    SUBSIG_SEGERROR      5
  50 
  51 #define SIGSYS          12
  52 
  53 #define SIGPIPE         13
  54 #define SIGALRM         14
  55 #define SIGTERM         15
  56 #define SIGURG          16
  57 
  58 /* SunOS values which deviate from the Linux/i386 ones */
  59 #define SIGSTOP         17
  60 #define SIGTSTP         18
  61 #define SIGCONT         19
  62 #define SIGCHLD         20
  63 #define SIGTTIN         21
  64 #define SIGTTOU         22
  65 #define SIGIO           23
  66 #define SIGPOLL         SIGIO   /* SysV name for SIGIO */
  67 #define SIGXCPU         24
  68 #define SIGXFSZ         25
  69 #define SIGVTALRM       26
  70 #define SIGPROF         27
  71 #define SIGWINCH        28
  72 #define SIGLOST         29
  73 #define SIGPWR          SIGLOST
  74 #define SIGUSR1         30
  75 #define SIGUSR2         31
  76 
  77 /* Most things should be clean enough to redefine this at will, if care
  78    is taken to make libc match.  */
  79 
  80 #define __OLD_NSIG      32
  81 #define __NEW_NSIG      64
  82 #ifdef __arch64__
  83 #define _NSIG_BPW       64
  84 #else
  85 #define _NSIG_BPW       32
  86 #endif
  87 #define _NSIG_WORDS     (__NEW_NSIG / _NSIG_BPW)
  88 
  89 #define SIGRTMIN       32
  90 #define SIGRTMAX       __NEW_NSIG
  91 
  92 #if defined(__KERNEL__) || defined(__WANT_POSIX1B_SIGNALS__)
  93 #define _NSIG                   __NEW_NSIG
  94 #define __new_sigset_t          sigset_t
  95 #define __new_sigaction         sigaction
  96 #define __new_sigaction32       sigaction32
  97 #define __old_sigset_t          old_sigset_t
  98 #define __old_sigaction         old_sigaction
  99 #define __old_sigaction32       old_sigaction32
 100 #else
 101 #define _NSIG                   __OLD_NSIG
 102 #define NSIG                    _NSIG
 103 #define __old_sigset_t          sigset_t
 104 #define __old_sigaction         sigaction
 105 #define __old_sigaction32       sigaction32
 106 #endif
 107 
 108 #ifndef __ASSEMBLY__
 109 
 110 typedef unsigned long __old_sigset_t;            /* at least 32 bits */
 111 
 112 typedef struct {
 113        unsigned long sig[_NSIG_WORDS];
 114 } __new_sigset_t;
 115 
 116 /* A SunOS sigstack */
 117 struct sigstack {
 118         /* XXX 32-bit pointers pinhead XXX */
 119         char *the_stack;
 120         int   cur_status;
 121 };
 122 
 123 /* Sigvec flags */
 124 #define _SV_SSTACK    1u    /* This signal handler should use sig-stack */
 125 #define _SV_INTR      2u    /* Sig return should not restart system call */
 126 #define _SV_RESET     4u    /* Set handler to SIG_DFL upon taken signal */
 127 #define _SV_IGNCHILD  8u    /* Do not send SIGCHLD */
 128 
 129 /*
 130  * sa_flags values: SA_STACK is not currently supported, but will allow the
 131  * usage of signal stacks by using the (now obsolete) sa_restorer field in
 132  * the sigaction structure as a stack pointer. This is now possible due to
 133  * the changes in signal handling. LBT 010493.
 134  * SA_RESTART flag to get restarting signals (which were the default long ago)
 135  */
 136 #define SA_NOCLDSTOP    _SV_IGNCHILD
 137 #define SA_STACK        _SV_SSTACK
 138 #define SA_ONSTACK      _SV_SSTACK
 139 #define SA_RESTART      _SV_INTR
 140 #define SA_ONESHOT      _SV_RESET
 141 #define SA_NODEFER      0x20u
 142 #define SA_NOCLDWAIT    0x100u
 143 #define SA_SIGINFO      0x200u
 144 
 145 #define SA_NOMASK       SA_NODEFER
 146 
 147 #define SIG_BLOCK          0x01 /* for blocking signals */
 148 #define SIG_UNBLOCK        0x02 /* for unblocking signals */
 149 #define SIG_SETMASK        0x04 /* for setting the signal mask */
 150 
 151 #define MINSIGSTKSZ     4096
 152 #define SIGSTKSZ        16384
 153 
 154 
 155 #include <asm-generic/signal-defs.h>
 156 
 157 #ifndef __KERNEL__
 158 struct __new_sigaction {
 159         __sighandler_t          sa_handler;
 160         unsigned long           sa_flags;
 161         __sigrestore_t          sa_restorer;  /* not used by Linux/SPARC yet */
 162         __new_sigset_t          sa_mask;
 163 };
 164 
 165 struct __old_sigaction {
 166         __sighandler_t          sa_handler;
 167         __old_sigset_t          sa_mask;
 168         unsigned long           sa_flags;
 169         void                    (*sa_restorer)(void);  /* not used by Linux/SPARC yet */
 170 };
 171 #endif
 172 
 173 typedef struct sigaltstack {
 174         void                    __user *ss_sp;
 175         int                     ss_flags;
 176         size_t                  ss_size;
 177 } stack_t;
 178 
 179 
 180 #endif /* !(__ASSEMBLY__) */
 181 
 182 #endif /* _UAPI__SPARC_SIGNAL_H */

/* [<][>][^][v][top][bottom][index][help] */