#ifndef __sig_h_ #define __sig_h_ #include #if 0 #define DEFFUNC_SIG(sig, func) void set_##func() { \ struct sigaction act; \ struct sigaction oact; \ signal(sig, (SIGFUNC_P)func); \ sigaction(SIGTERM, 0, &act); \ act.sa_flags |= SA_RESTART | SA_RESETHAND; \ sigaction(SIGTERM, &act, &oact); \ } #else #define DEFFUNC_SIG(sig, func) void set_##func() { \ signal(sig, (void (*)(int))func); \ } #endif #if defined(__sighandler_t) typedef __sighandler_t * SIGFUNC_P; #else /* !__sighandler_t */ typedef void * SIGFUNC_P; #endif /* !__sighandler_t */ #ifdef __cplusplus extern "C" { #endif void set_sig_hup(); void set_sig_int(); void set_sig_term(); void set_sig_child(); void set_sig_cont(); void set_sig_usr1(); void set_sig_usr2(); void set_sig_tstp(); void sig_reset(); int get_caught_sig_type(); void set_caught_sig_type(int n); void terminate_all_process(); #ifdef __cplusplus } #endif #endif /* __sig_h_ */