add deprecated SIGIOT alias for SIGABRT
[musl] / arch / arm / bits / signal.h
index 1a1e7fc..a658ef6 100644 (file)
@@ -1,10 +1,9 @@
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
- || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 
-typedef struct
-#ifdef _GNU_SOURCE
-sigcontext
-#endif
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+typedef int greg_t, gregset_t[18];
+typedef struct sigcontext
 {
        unsigned long trap_no, error_code, oldmask;
        unsigned long arm_r0, arm_r1, arm_r2, arm_r3;
@@ -13,6 +12,11 @@ sigcontext
        unsigned long arm_ip, arm_sp, arm_lr, arm_pc;
        unsigned long arm_cpsr, fault_address;
 } mcontext_t;
+#else
+typedef struct {
+       unsigned long __regs[21];
+} mcontext_t;
+#endif
 
 typedef struct __ucontext {
        unsigned long uc_flags;
@@ -20,109 +24,9 @@ typedef struct __ucontext {
        stack_t uc_stack;
        mcontext_t uc_mcontext;
        sigset_t uc_sigmask;
-       unsigned long uc_regspace[128];
+       unsigned long long uc_regspace[64];
 } ucontext_t;
 
-struct __siginfo
-{
-       int si_signo;
-       int si_errno;
-       int si_code;
-       union
-       {
-               char __pad[128 - 3*sizeof(int)];
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       union sigval si_sigval;
-               } __rt;
-               struct {
-                       unsigned int si_timer1;
-                       unsigned int si_timer2;
-               } __timer;
-               struct {
-                       pid_t si_pid;
-                       uid_t si_uid;
-                       int si_status;
-                       clock_t si_utime;
-                       clock_t si_stime;
-               } __sigchld;
-               struct {
-                       void *si_addr;
-               } __sigfault;
-               struct {
-                       long int si_band;
-                       int si_fd;
-               } __sigpoll;
-       } __si_fields;
-};
-
-#define si_pid     __si_fields.__sigchld.si_pid
-#define si_uid     __si_fields.__sigchld.si_uid
-#define si_status  __si_fields.__sigchld.si_status
-#define si_utime   __si_fields.__sigchld.si_utime
-#define si_stime   __si_fields.__sigchld.si_stime
-#define si_value   __si_fields.__rt.si_sigval
-#define si_addr    __si_fields.__sigfault.si_addr
-#define si_band    __si_fields.__sigpoll.si_band
-
-#define SI_ASYNCNL (-60)
-#define SI_TKILL (-6)
-#define SI_SIGIO (-5)
-#define SI_ASYNCIO (-4)
-#define SI_MESGQ (-3)
-#define SI_TIMER (-2)
-#define SI_QUEUE (-1)
-#define SI_USER 0
-#define SI_KERNEL 128
-
-#define FPE_INTDIV 1
-#define FPE_INTOVF 2
-#define FPE_FLTDIV 3
-#define FPE_FLTOVF 4
-#define FPE_FLTUNT 5
-#define FPE_FLTRES 6
-#define FPE_FLTINV 7
-#define FPE_FLTSUB 8
-
-#define ILL_ILLOPC 1
-#define ILL_ILLOPN 2
-#define ILL_ILLADR 3
-#define ILL_ILLTRP 4
-#define ILL_PRVOPC 5
-#define ILL_PRVREG 6
-#define ILL_COPROC 7
-#define ILL_BADSTK 8
-
-#define SEGV_MAPERR 1
-#define SEGV_ACCERR 2
-
-#define BUS_ADRALN 1
-#define BUS_ADRERR 2
-#define BUS_OBJERR 3
-
-#define CLD_EXITED 1
-#define CLD_KILLED 2
-#define CLD_DUMPED 3
-#define CLD_TRAPPED 4
-#define CLD_STOPPED 5
-#define CLD_CONTINUED 6
-
-#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
-#define TRAP_BRKPT 1
-#define TRAP_TRACE 2
-#define POLL_IN 1
-#define POLL_OUT 2
-#define POLL_MSG 3
-#define POLL_ERR 4
-#define POLL_PRI 5
-#define POLL_HUP 6
-#define SS_ONSTACK    1
-#define SS_DISABLE    2
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
 #define SA_NOCLDSTOP  1
 #define SA_NOCLDWAIT  2
 #define SA_SIGINFO    4
@@ -132,27 +36,15 @@ struct __siginfo
 #define SA_RESETHAND  0x80000000
 #define SA_RESTORER   0x04000000
 
-#define SIG_BLOCK     0
-#define SIG_UNBLOCK   1
-#define SIG_SETMASK   2
-
 #endif
 
-#ifdef _GNU_SOURCE
-#define NSIG      64
-#endif
-
-#define SIG_ERR  ((void (*)(int))-1)
-#define SIG_DFL  ((void (*)(int)) 0)
-#define SIG_IGN  ((void (*)(int)) 1)
-#define SIG_HOLD ((void (*)(int)) 2)
-
 #define SIGHUP    1
 #define SIGINT    2
 #define SIGQUIT   3
 #define SIGILL    4
 #define SIGTRAP   5
 #define SIGABRT   6
+#define SIGIOT    SIGABRT
 #define SIGBUS    7
 #define SIGFPE    8
 #define SIGKILL   9
@@ -180,3 +72,5 @@ struct __siginfo
 #define SIGPWR    30
 #define SIGSYS    31
 #define SIGUNUSED SIGSYS
+
+#define _NSIG 65