If I understood you correctly use function prototypes:
void init_menu();
void init_game()
{
init_menu();
...
}
Then define the content of the init_menu declaration later as if you would have never used such a prototype, so:
void init_menu()
{
...
}
The parameters and the return type have to match, thus the prototyp to
var ent_get_dist(ENTITY* ent, VECTOR* vtarget) {...}
is
var ent_get_dist(ENTITY*, VECTOR*);