void (* signal(int sig, void (*func)(int)))(int);

について、どんなことをするものか教えてください。