with Allegro.Configuration; use Allegro.Configuration;
with Allegro.Paths; use Allegro.Paths;
with Interfaces; use Interfaces;
package Allegro.System is
function Al_Get_Allegro_Version return Unsigned_32;
pragma Import( C, Al_Get_Allegro_Version, "al_get_allegro_version" );
function Al_Version_To_String( version : Unsigned_32 ) return String;
function Al_Copyright return String;
function Al_Get_App_Name return String;
function Al_Get_Org_Name return String;
type System_Path is private;
ALLEGRO_RESOURCES_PATH : constant System_Path;
ALLEGRO_TEMP_PATH : constant System_Path;
ALLEGRO_USER_DATA_PATH : constant System_Path;
ALLEGRO_USER_HOME_PATH : constant System_Path;
ALLEGRO_USER_SETTINGS_PATH : constant System_Path;
ALLEGRO_USER_DOCUMENTS_PATH : constant System_Path;
ALLEGRO_EXENAME_PATH : constant System_Path;
function Al_Get_Standard_Path( id : System_Path ) return A_Allegro_Path;
pragma Import( C, Al_Get_Standard_Path, "al_get_standard_path" );
function Al_Get_System_Config return A_Allegro_Config;
pragma Import( C, Al_Get_System_Config, "al_get_system_config" );
procedure Al_Set_Exe_Name( path : String );
procedure Al_Set_Org_Name( org_name : String );
procedure Al_Set_App_Name( app_name : String );
function Al_Initialize return Boolean;
procedure Al_Uninstall_System;
pragma Import( C, Al_Uninstall_System, "al_uninstall_system" );
function Al_Is_System_Installed return Boolean;
private
type System_Path is new Integer;
ALLEGRO_RESOURCES_PATH : constant System_Path := 0;
ALLEGRO_TEMP_PATH : constant System_Path := 1;
ALLEGRO_USER_DATA_PATH : constant System_Path := 2;
ALLEGRO_USER_HOME_PATH : constant System_Path := 3;
ALLEGRO_USER_SETTINGS_PATH : constant System_Path := 4;
ALLEGRO_USER_DOCUMENTS_PATH : constant System_Path := 5;
ALLEGRO_EXENAME_PATH : constant System_Path := 6;
end Allegro.System;