summaryrefslogtreecommitdiff
path: root/src/user/lib/include/signal.h
diff options
context:
space:
mode:
authordzwdz2023-06-09 17:22:31 +0200
committerdzwdz2023-06-09 17:22:31 +0200
commit112eafe13c3628cad6e692179c064dbbc3be2d8b (patch)
tree04bdb3df2d2e6fd7042dbefa117ff0e5a5447476 /src/user/lib/include/signal.h
parent668655053911072741883fd258c23e9d0668a853 (diff)
ports/dash: stub out everything needed for dash to compile
Diffstat (limited to 'src/user/lib/include/signal.h')
-rw-r--r--src/user/lib/include/signal.h80
1 files changed, 74 insertions, 6 deletions
diff --git a/src/user/lib/include/signal.h b/src/user/lib/include/signal.h
index b6e9677..dc722c3 100644
--- a/src/user/lib/include/signal.h
+++ b/src/user/lib/include/signal.h
@@ -1,18 +1,86 @@
#pragma once
+#include <bits/panic.h>
+#include <sys/types.h>
#include <errno.h> // only for ENOSYS
-#define SIGHUP 0
-#define SIGINT 0
-#define SIGQUIT 0
-#define SIGWINCH 0
+#define SIGHUP 1
+#define SIGINT 2
+#define SIGQUIT 3
+#define SIGILL 4
+#define SIGTRAP 5
+#define SIGABRT 6
+#define SIGFPE 8
+#define SIGKILL 9
+#define SIGSEGV 11
+#define SIGPIPE 13
+#define SIGALRM 14
+#define SIGTERM 15
+
+#define SIGCONT 16
+#define SIGPIPE 17
+#define SIGTSTP 18
+#define SIGTTIN 19
+#define SIGTTOU 20
+#define SIGWINCH 21
+#define SIGCHLD 22
+
+// idk
+#define NSIG 64
+
#define SIG_DFL 0
#define SIG_ERR 0
#define SIG_IGN 0
+#define SIG_SETMASK 0
typedef int sig_atomic_t;
+typedef struct {} sigset_t;
+typedef struct {} siginfo_t;
+extern const char *const sys_siglist[];
+
+struct sigaction {
+ void (*sa_handler)(int);
+ void (*sa_sigaction)(int, siginfo_t *, void *);
+ sigset_t sa_mask;
+ int sa_flags;
+ void (*sa_restorer)(void);
+};
+
+static inline int sigaction(int sig, const struct sigaction *act, struct sigaction *oldact) {
+ (void)sig; (void)act; (void)oldact;
+ __libc_panic("unimplemented");
+}
+
+static inline int sigemptyset(sigset_t *set) {
+ (void)set;
+ __libc_panic("unimplemented");
+}
+
+static inline int sigfillset(sigset_t *set) {
+ (void)set;
+ __libc_panic("unimplemented");
+}
+
+static inline int sigprocmask(int how, const sigset_t *set, const sigset_t *oldset) {
+ (void)how; (void)set; (void)oldset;
+ __libc_panic("unimplemented");
+}
+
+static inline int sigsuspend(const sigset_t *mask) {
+ (void)mask;
+ __libc_panic("unimplemented");
+}
static inline int signal(int sig, void (*func)(int)) {
(void)sig; (void)func;
- errno = ENOSYS;
- return SIG_ERR;
+ __libc_panic("unimplemented");
+}
+
+static inline int kill(pid_t pid, int sig) {
+ (void)pid; (void)sig;
+ __libc_panic("unimplemented");
+}
+
+static inline int raise(int sig) {
+ (void)sig;
+ __libc_panic("unimplemented");
}