#pragma once #include #define SIG_DFL ((sighandler_t)0) #define SIG_IGN ((sighandler_t)(uintptr_t)1) #define SIG_ERR ((sighandler_t)(uintptr_t)-1) typedef void (*sighandler_t)(int); typedef void (*sigaction_fn_t)(int); typedef int sig_atomic_t; typedef unsigned int sigset_t; #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 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 SIGPWR 30 #define SIGSYS 31 #define NSIG 32 #define SIG_BLOCK 0 #define SIG_UNBLOCK 1 #define SIG_SETMASK 2 #define SA_NOCLDSTOP 0x0001 #define SA_NOCLDWAIT 0x0002 #define SA_SIGINFO 0x0004 #define SA_RESTART 0x0008 #define SA_ONSTACK 0x0010 #define SA_RESETHAND 0x0020 #define SA_NODEFER 0x0040 struct sigaction { sigaction_fn_t sa_handler; sigset_t sa_mask; int sa_flags; void (*sa_restorer)(void); }; #ifndef _KERNEL #include #endif