how to interpet "static uint32_t (*getTicks)(void) = NULL;"

This is the definition of a pointer to a function. Often used as a callback or table based call.

getTicks is the name of the function. (*getTicks)

It takes no arguments (*getTicks)(void)

It returns an unsigned 32 bit integer unit32_t (*getTicks)(void)

It is static to this function (no global scope) static uint32_t (*getTicks)(void)

And as a pointer it is initialized to NULL such that a caller can tell if the function is valid. Most likely called like:

if (getTicks != NULL) {

val = getTicks();

}