al_create_native_file_dialog man page
al_create_native_file_dialog — Allegro 5 API
#include <allegro5/allegro_native_dialog.h> ALLEGRO_FILECHOOSER *al_create_native_file_dialog( char const *initial_path, char const *title, char const *patterns, int mode)
Creates a new native file dialog. You should only have one such dialog opened at a time.
initial_path: The initial search path and filename. Can be NULL. To start with a blank file name the string should end with a directory separator (this should be the common case).
title: Title of the dialog.
patterns: A list of semi-colon separated patterns to match. This should not contain any whitespace characters. If a pattern contains the '/' character, then it is treated as a MIME type (e.g. 'image/png'). Not all platforms support file patterns. If the native dialog does not provide support, this parameter is ignored.
mode: 0, or a combination of the following flags:
If supported by the native dialog, it will not allow entering new names, but just allow existing files to be selected. Else it is ignored.
If the native dialog system has a different dialog for saving (for example one which allows creating new directories), it is used. Else it is ignored.
If there is support for a separate dialog to select a folder instead of a file, it will be used.
If a different dialog is available for selecting pictures, it is used. Else it is ignored.
If the platform supports it, also hidden files will be shown.
If supported, allow selecting multiple files.
A handle to the dialog which you can pass to al_show_native_file_dialog(3) to display it, and from which you then can query the results using al_get_native_file_dialog_count(3) and al_get_native_file_dialog_path(3). When you are done, call al_destroy_native_file_dialog(3) on it.
If a dialog window could not be created then this function returns NULL.