4 typedef void (*signalfn)(int);
6 void sig_block(
int sig);
7 void sig_unblock(
int sig);
8 void sig_suspend(
void);
9 void sig_catch(
int sig, signalfn fn);
10 void sig_default(
int sig);
11 void sig_ignore(
int sig);
13 void sig_misc_ignore(
void);
14 void sig_bug_catch(signalfn fn);
16 #define SIG_FUNCTION_DECL(NAME) \ 17 extern void sig_##NAME##_block(void); \ 18 extern void sig_##NAME##_unblock(void); \ 19 extern void sig_##NAME##_catch(signalfn fn); \ 20 extern void sig_##NAME##_default(void) 22 SIG_FUNCTION_DECL(alarm);
23 SIG_FUNCTION_DECL(child);
24 SIG_FUNCTION_DECL(hup);
25 SIG_FUNCTION_DECL(
int);
26 SIG_FUNCTION_DECL(pipe);
27 SIG_FUNCTION_DECL(quit);
28 SIG_FUNCTION_DECL(term);
30 SIG_FUNCTION_DECL(all);
32 #undef SIG_FUNCTION_DECL 34 #define SIG_FUNCTION_MAKE(NAME,SIG) \ 35 extern void sig_##NAME##_block(void) { sig_block(SIG); } \ 36 extern void sig_##NAME##_unblock(void) { sig_unblock(SIG); } \ 37 extern void sig_##NAME##_catch(signalfn fn) { sig_catch(SIG, fn); } \ 38 extern void sig_##NAME##_default(void) { sig_default(SIG); } \