> What I need is to tell to APR, hey APR please find the function "f10" in all > loaded libraries, then execute the function and give me back the result.
That is not how it works in C. Function names only exist in source code, at run-time it is nothing but an address in memory. Google 'function pointers'. The best you can do is a lookup table like this: static int my_f10_fun(int arg) { return arg * arg; } /* ... */ static struct { const char *name; int (*fun)(int arg); } lookup = { { "f10", my_f10_fun }, { "f11", my_f11_fun } }; /* ... */ int arg = /* ... */; const char *func_name = /* ... */; int result = 0; for (i = 0; i < sizeof(lookup) / sizeof(lookup[0]); i++) { if (!strcmp(lookup[i].name, func_name)) { result = lookup[i].fun(arg); break; } }