It would seem that you can only call another function from function main (). Would this be correct and if not how do I achieve this?
Almost correct. There is another possibility. You can also append "_startup" to a function name. In this case the function will be called automatically right after the main function. If you got multiple startup functions they get called in the order they are defined in as far as I remember.
function my_startup()
{
printf("I started automatically");
}