# System

## API: al_get_appname

Returns the global application name string.

## API: al_get_orgname

Returns the global organization name string.

## API: al_get_standard_path

Gets a system path, depending on the `id` parameter:

id                            description
----------------------------- ------------------------
ALLEGRO_PROGRAM_PATH          Directory with the executed program.
ALLEGRO_TEMP_PATH             Path to the directory for temporary files.
ALLEGRO_SYSTEM_DATA_PATH      Data path for system-wide installation.
ALLEGRO_USER_DATA_PATH        Data path for per-user installation.
ALLEGRO_USER_HOME_PATH        Path to the user's home directory.
ALLEGRO_USER_SETTINGS_PATH    Path to per-user settings directory.
ALLEGRO_SYSTEM_SETTINGS_PATH  Path to system-wide settings directory.
ALLEGRO_EXENAME_PATH          The full path to the executable. 


Returns NULL on failure.

## API: al_install_system

Initialize the Allegro system.  If atexit_ptr is non-NULL, and if hasn't
been done already, al_uninstall_system() will be registered as an atexit
function.

Returns true if Allegro was successfully initialized by this function
call (or already was initialized previously), false if Allegro cannot
be used.

## API: al_init

Like [al_install_system], but automatically uses the atexit function
visible in the current compilation unit.

## API: al_set_appname

Sets the global application name.

The Application name is used by [al_get_standard_path] to build the full path to
an application's files.

Should be called once at the start of a program, before [al_init] or [al_install_system]
and never touched again.

## API: al_set_orgname

Sets the global organization name.

The Organization name is used by [al_get_standard_path] to build the full path to
an application's files.

Should be called once at the start of a program, before [al_init] or [al_install_system]
and never touched again.

## API: al_system_driver

Returns the currently active_sysdrv system driver.

## API: al_uninstall_system

Closes down the Allegro system.

Note: al_uninstall_system() can be called without a corresponding
al_install_system() call, e.g. from atexit().

