fix: corrected time conversion on alarm/sleep syscall
[lunaix-os.git] / lunaix-os / includes / lunaix / signal.h
index 4a4cf0b725234ba2f65ad2fc3276f3fecc1a4041..af191af7f891827234e1a2032695341c793526f2 100644 (file)
@@ -1,26 +1,33 @@
 #ifndef __LUNAIX_SIGNAL_H
 #define __LUNAIX_SIGNAL_H
 
-#define _SIG_NUM 8
+#include <usr/lunaix/signal_defs.h>
 
-#define _SIG_PENDING(bitmap, sig) ((bitmap) & (1 << (sig)))
+#define _SIG_NUM 16
 
-#define _SIGSEGV 0
-#define _SIGALRM 1
-#define _SIGCHLD 2
-#define _SIGCLD SIGCHLD
-#define _SIGINT 3
-#define _SIGKILL 4
-#define _SIGSTOP 5
-#define _SIGCONT 6
+#define _SIG_PENDING(bitmap, sig) ((bitmap) & (1 << (sig)))
 
-#define _SIGNAL_UNMASKABLE ((1 << _SIGKILL) | (1 << _SIGSTOP))
+#define _SIGSEGV SIGSEGV
+#define _SIGALRM SIGALRM
+#define _SIGCHLD SIGCHLD
+#define _SIGCLD SIGCLD
+#define _SIGINT SIGINT
+#define _SIGKILL SIGKILL
+#define _SIGSTOP SIGSTOP
+#define _SIGCONT SIGCONT
+#define _SIGTERM SIGTERM
+#define _SIG_BLOCK SIG_BLOCK
+#define _SIG_UNBLOCK SIG_UNBLOCK
+#define _SIG_SETMASK SIG_SETMASK
 
-#define _SIG_BLOCK 1
-#define _SIG_UNBLOCK 2
-#define _SIG_SETMASK 3
+#define sigset(num) (1 << (num))
+#define sigset_add(set, num) (set = set | sigset(num))
+#define sigset_test(set, num) (set & sigset(num))
+#define sigset_clear(set, num) ((set) = (set) & ~sigset(num))
+#define sigset_union(set, set2) ((set) = (set) | (set2))
+#define sigset_intersect(set, set2) ((set) = (set) & (set2))
 
-typedef unsigned int sigset_t;
-typedef void (*sighandler_t)(int);
+int
+signal_send(pid_t pid, int signum);
 
 #endif /* __LUNAIX_SIGNAL_H */