summaryrefslogtreecommitdiff
path: root/arch/arm/bits/signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/bits/signal.h')
-rw-r--r--arch/arm/bits/signal.h182
1 files changed, 182 insertions, 0 deletions
diff --git a/arch/arm/bits/signal.h b/arch/arm/bits/signal.h
new file mode 100644
index 00000000..1a1e7fc3
--- /dev/null
+++ b/arch/arm/bits/signal.h
@@ -0,0 +1,182 @@
+#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
+ || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+
+typedef struct
+#ifdef _GNU_SOURCE
+sigcontext
+#endif
+{
+ unsigned long trap_no, error_code, oldmask;
+ unsigned long arm_r0, arm_r1, arm_r2, arm_r3;
+ unsigned long arm_r4, arm_r5, arm_r6, arm_r7;
+ unsigned long arm_r8, arm_r9, arm_r10, arm_fp;
+ unsigned long arm_ip, arm_sp, arm_lr, arm_pc;
+ unsigned long arm_cpsr, fault_address;
+} mcontext_t;
+
+typedef struct __ucontext {
+ unsigned long uc_flags;
+ struct __ucontext *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+ sigset_t uc_sigmask;
+ unsigned long uc_regspace[128];
+} 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
+#define SA_ONSTACK 0x08000000
+#define SA_RESTART 0x10000000
+#define SA_NODEFER 0x40000000
+#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 SIGBUS 7
+#define SIGFPE 8
+#define SIGKILL 9
+#define SIGUSR1 10
+#define SIGSEGV 11
+#define SIGUSR2 12
+#define SIGPIPE 13
+#define SIGALRM 14
+#define SIGTERM 15
+#define SIGSTKFLT 16
+#define SIGCHLD 17
+#define SIGCONT 18
+#define SIGSTOP 19
+#define SIGTSTP 20
+#define SIGTTIN 21
+#define SIGTTOU 22
+#define SIGURG 23
+#define SIGXCPU 24
+#define SIGXFSZ 25
+#define SIGVTALRM 26
+#define SIGPROF 27
+#define SIGWINCH 28
+#define SIGIO 29
+#define SIGPOLL 29
+#define SIGPWR 30
+#define SIGSYS 31
+#define SIGUNUSED SIGSYS