typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler);
Edit: It could instead be written as the non-pointer type:
typedef void (sighandler_t)(int);
sighandler_t *signal(int signum, sighandler_t *handler);
sighandler_t foo;
Edit: It could instead be written as the non-pointer type:
And then used as: And as a function declaration: With the pointer in the typedef, the type can't be used to declare functions.