void (*signal(int sig, void (*handler)*int)))(int);
valid values for sig:
SIGABRT abnormal termination (e.g. from abort) SIGFPE arithmetic error (e.g. zero divide, overflow) SIGILL illegal function image (e.g. illegal instruction) SIGINT interactive attention (e.g. interrupt) SIGSEGV illegal storage access (e.g. access outside memory limits) SIGTERM termination request sent to this program
SIG_DFL implementation-defined behavior SIG_IN signal is ignored otherwise function pointed to by handler will be called