# 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.

See also: [al_init]

## API: al_init

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

See also: [al_install_system]

## 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 system driver, or NULL.

## 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().

