|
|
1.1 ! root 1: #ifndef _SIGNAL_H ! 2: #define _SIGNAL_H ! 3: ! 4: #include <sys/types.h> ! 5: ! 6: typedef int sig_atomic_t; ! 7: typedef unsigned int sigset_t; /* 32 bits */ ! 8: ! 9: #define _NSIG 32 ! 10: #define NSIG _NSIG ! 11: ! 12: #define SIGHUP 1 ! 13: #define SIGINT 2 ! 14: #define SIGQUIT 3 ! 15: #define SIGILL 4 ! 16: #define SIGTRAP 5 ! 17: #define SIGABRT 6 ! 18: #define SIGIOT 6 ! 19: #define SIGUNUSED 7 ! 20: #define SIGFPE 8 ! 21: #define SIGKILL 9 ! 22: #define SIGUSR1 10 ! 23: #define SIGSEGV 11 ! 24: #define SIGUSR2 12 ! 25: #define SIGPIPE 13 ! 26: #define SIGALRM 14 ! 27: #define SIGTERM 15 ! 28: #define SIGSTKFLT 16 ! 29: #define SIGCHLD 17 ! 30: #define SIGCONT 18 ! 31: #define SIGSTOP 19 ! 32: #define SIGTSTP 20 ! 33: #define SIGTTIN 21 ! 34: #define SIGTTOU 22 ! 35: ! 36: /* Ok, I haven't implemented sigactions, but trying to keep headers POSIX */ ! 37: #define SA_NOCLDSTOP 1 ! 38: ! 39: #define SIG_BLOCK 0 /* for blocking signals */ ! 40: #define SIG_UNBLOCK 1 /* for unblocking signals */ ! 41: #define SIG_SETMASK 2 /* for setting the signal mask */ ! 42: ! 43: #define SIG_DFL ((void (*)(int))0) /* default signal handling */ ! 44: #define SIG_IGN ((void (*)(int))1) /* ignore signal */ ! 45: ! 46: struct sigaction { ! 47: void (*sa_handler)(int); ! 48: sigset_t sa_mask; ! 49: int sa_flags; ! 50: }; ! 51: ! 52: void (*signal(int _sig, void (*_func)(int)))(int); ! 53: int raise(int sig); ! 54: int kill(pid_t pid, int sig); ! 55: int sigaddset(sigset_t *mask, int signo); ! 56: int sigdelset(sigset_t *mask, int signo); ! 57: int sigemptyset(sigset_t *mask); ! 58: int sigfillset(sigset_t *mask); ! 59: int sigismember(sigset_t *mask, int signo); /* 1 - is, 0 - not, -1 error */ ! 60: int sigpending(sigset_t *set); ! 61: int sigprocmask(int how, sigset_t *set, sigset_t *oldset); ! 62: int sigsuspend(sigset_t *sigmask); ! 63: int sigaction(int sig, struct sigaction *act, struct sigaction *oldact); ! 64: ! 65: #endif /* _SIGNAL_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.