The declarations related to the question are are :
typedef void (*struct_c)(
pid_t,
const uint_t *,
struct_a,
struct_a,
void *);
void func1(struct_a s, struct_a e, struct_d init, struct_c range, struct_e fini, void *arg);
static void add_range(pid_t mgid, const uint_t *propids,struct_a s, struct_a e, void *arg);
There is a function call as follows:
func1(s, e,NULL,add_range, NULL, &ranges);
The argument add_range is a function name, there is no other variable by that name.
I don't understand how the function call func1 works and what are its arguments.
If you need more details,let me know.