al_run_main man page
al_run_main — Allegro 5 API
#include <allegro5/allegro.h> int al_run_main(int argc, char **argv, int (*user_main)(int, char **))
This function is useful in cases where you don't have a main() function but want to run Allegro (mostly useful in a wrapper library). Under Windows and Linux this is no problem because you simply can call al_install_system(3). But some other system (like OSX) don't allow calling al_install_system(3) in the main thread. al_run_main will know what to do in that case.
The passed argc and argv will simply be passed on to user_main and the return value of user_main will be returned.