sig.h

00001 #ifndef UNIX__SIG__H__
00002 #define UNIX__SIG__H__
00003 
00004 typedef void (*signalfn)(int);
00005 
00006 void sig_block(int sig);
00007 void sig_unblock(int sig);
00008 void sig_suspend(void);
00009 void sig_catch(int sig, signalfn fn);
00010 void sig_default(int sig);
00011 void sig_ignore(int sig);
00012 
00013 void sig_misc_ignore(void);
00014 void sig_bug_catch(signalfn fn);
00015 
00016 #define SIG_FUNCTION_DECL(NAME) \
00017 extern void sig_##NAME##_block(void); \
00018 extern void sig_##NAME##_unblock(void); \
00019 extern void sig_##NAME##_catch(signalfn fn); \
00020 extern void sig_##NAME##_default(void)
00021 
00022 SIG_FUNCTION_DECL(alarm);
00023 SIG_FUNCTION_DECL(child);
00024 SIG_FUNCTION_DECL(hup);
00025 SIG_FUNCTION_DECL(int);
00026 SIG_FUNCTION_DECL(pipe);
00027 SIG_FUNCTION_DECL(quit);
00028 SIG_FUNCTION_DECL(term);
00029 
00030 SIG_FUNCTION_DECL(all);
00031 
00032 #undef SIG_FUNCTION_DECL
00033 
00034 #define SIG_FUNCTION_MAKE(NAME,SIG) \
00035 extern void sig_##NAME##_block(void) { sig_block(SIG); } \
00036 extern void sig_##NAME##_unblock(void) { sig_unblock(SIG); } \
00037 extern void sig_##NAME##_catch(signalfn fn) { sig_catch(SIG, fn); } \
00038 extern void sig_##NAME##_default(void) { sig_default(SIG); } \
00039 
00040 #endif

Generated on Thu Feb 19 11:11:50 2009 for bglibs by  doxygen 1.5.4