summaryrefslogtreecommitdiff
path: root/lib/mlibc/abis/ironclad/signal.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/abis/ironclad/signal.h')
-rw-r--r--lib/mlibc/abis/ironclad/signal.h192
1 files changed, 0 insertions, 192 deletions
diff --git a/lib/mlibc/abis/ironclad/signal.h b/lib/mlibc/abis/ironclad/signal.h
deleted file mode 100644
index 2d20315..0000000
--- a/lib/mlibc/abis/ironclad/signal.h
+++ /dev/null
@@ -1,192 +0,0 @@
-#ifndef _ABIBITS_SIGNAL_H
-#define _ABIBITS_SIGNAL_H
-
-#include <abi-bits/pid_t.h>
-#include <abi-bits/uid_t.h>
-#include <bits/size_t.h>
-
-union sigval {
- int sival_int;
- void *sival_ptr;
-};
-
-typedef struct {
- int si_signo;
- int si_code;
- int si_errno;
- pid_t si_pid;
- uid_t si_uid;
- void *si_addr;
- int si_status;
- union sigval si_value;
-} siginfo_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Argument for signal()
-typedef void (*__sighandler) (int);
-
-#define SIG_ERR ((__sighandler)(void *)(-1))
-#define SIG_DFL ((__sighandler)(void *)(-2))
-#define SIG_IGN ((__sighandler)(void *)(-3))
-
-#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 SIGIO
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGRTMIN 32
-#define SIGRTMAX 33
-#define SIGCANCEL SIGSYS
-
-// siginfo->si_info constants
-// SIGBUS
-#define BUS_ADRALN 1
-#define BUS_ADRERR 2
-#define BUS_OBJERR 3
-
-// SIGILL
-#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 ILL_BADIADDR 9
-
-// SIGSEGV
-#define SEGV_MAPERR 1
-#define SEGV_ACCERR 2
-
-// TODO: replace this by uint64_t
-typedef long sigset_t;
-
-#define SIGUNUSED SIGSYS
-
-// constants for sigprocmask()
-#define SIG_BLOCK 1
-#define SIG_UNBLOCK 2
-#define SIG_SETMASK 3
-
-#define SA_NOCLDSTOP (1 << 0)
-#define SA_ONSTACK (1 << 1)
-#define SA_RESETHAND (1 << 2)
-#define SA_RESTART (1 << 3)
-#define SA_SIGINFO (1 << 4)
-#define SA_NOCLDWAIT (1 << 5)
-#define SA_NODEFER (1 << 6)
-
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#define SS_ONSTACK 1
-#define SS_DISABLE 2
-
-typedef struct __stack {
- void *ss_sp;
- size_t ss_size;
- int ss_flags;
-} stack_t;
-
-// constants for sigev_notify of struct sigevent
-#define SIGEV_NONE 1
-#define SIGEV_SIGNAL 2
-#define SIGEV_THREAD 3
-
-#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 NSIG 65
-#define _NSIG NSIG
-
-#define CLD_EXITED 1
-#define CLD_KILLED 2
-#define CLD_DUMPED 3
-#define CLD_TRAPPED 4
-#define CLD_STOPPED 5
-#define CLD_CONTINUED 6
-
-struct sigevent {
- int sigev_notify;
- int sigev_signo;
- union sigval sigev_value;
- void (*sigev_notify_function)(union sigval);
- // MISSING: sigev_notify_attributes
-};
-
-struct sigaction {
- union {
- void (*sa_handler)(int);
- void (*sa_sigaction)(int, siginfo_t *, void *);
- };
- sigset_t sa_mask;
- int sa_flags;
-};
-
-#if defined(__x86_64__) || defined(__aarch64__)
-// TODO: This is wrong for AArch64.
-
-typedef struct {
- unsigned long oldmask;
- unsigned long gregs[16];
- unsigned long pc, pr, sr;
- unsigned long gbr, mach, macl;
- unsigned long fpregs[16];
- unsigned long xfpregs[16];
- unsigned int fpscr, fpul, ownedfp;
-} 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;
-} ucontext_t;
-
-#else
-#error "Missing architecture specific code."
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // _ABIBITS_SIGNAL_H