do_dialog man page
do_dialog — Basic dialog manager function. Allegro game programming library.
int do_dialog(DIALOG *dialog, int focus_obj);
The basic dialog manager function. This displays a dialog (an array of dialog objects, terminated by one with a NULL dialog procedure), and sets the input focus to the focus_obj (-1 if you don't want anything to have the focus). It interprets user input and dispatches messages as they are required, until one of the dialog procedures tells it to close the dialog, at which point it returns the index of the object that caused it to exit, or until ESC is pressed, at which point it returns -1.
popup_dialog(3), init_dialog(3), centre_dialog(3), set_dialog_color(3), find_dialog_focus(3), excustom(3), exgui(3), exrgbhsv(3)
active_dialog(3), DIALOG(3), excustom(3), exgui(3), exrgbhsv(3), find_dialog_focus(3), init_dialog(3), popup_dialog(3).