Can you tell me what is the purpose of typedef void(*something)(void)? How does it works? from where to learn these kinds of functions?
How these routines are working?
Just a pointer to the function. For example, void (* function) (void) can be assigned to any function like void (void). If parameters needed, should be used like that void (* function) (uint8_t value); and e.t.c.
Unussigned pointer goes to 0, so normally you shoud check it before execute: if (function) function();