1 #ifndef __al_included_allegro5_system_h
2 #define __al_included_allegro5_system_h
3 
4 #include "allegro5/config.h"
5 #include "allegro5/path.h"
6 
7 #ifdef __cplusplus
8    extern "C" {
9 #endif
10 
11 typedef struct ALLEGRO_SYSTEM ALLEGRO_SYSTEM;
12 
13 /* Enum: ALLEGRO_SYSTEM_ID
14  */
15 enum ALLEGRO_SYSTEM_ID {
16   ALLEGRO_SYSTEM_ID_UNKNOWN = 0,
17   ALLEGRO_SYSTEM_ID_XGLX = AL_ID('X', 'G', 'L', 'X'),
18   ALLEGRO_SYSTEM_ID_WINDOWS = AL_ID('W', 'I', 'N', 'D'),
19   ALLEGRO_SYSTEM_ID_MACOSX = AL_ID('O', 'S', 'X', ' '),
20   ALLEGRO_SYSTEM_ID_ANDROID = AL_ID('A', 'N', 'D', 'R'),
21   ALLEGRO_SYSTEM_ID_IPHONE = AL_ID('I', 'P', 'H', 'O'),
22   ALLEGRO_SYSTEM_ID_GP2XWIZ = AL_ID('W', 'I', 'Z', ' '),
23   ALLEGRO_SYSTEM_ID_RASPBERRYPI = AL_ID('R', 'A', 'S', 'P'),
24   ALLEGRO_SYSTEM_ID_SDL = AL_ID('S', 'D', 'L', '2')
25 };
26 typedef enum ALLEGRO_SYSTEM_ID ALLEGRO_SYSTEM_ID;
27 
28 /* Function: al_init
29  */
30 #define al_init()    (al_install_system(ALLEGRO_VERSION_INT, atexit))
31 
32 AL_FUNC(bool, al_install_system, (int version, int (*atexit_ptr)(void (*)(void))));
33 AL_FUNC(void, al_uninstall_system, (void));
34 AL_FUNC(bool, al_is_system_installed, (void));
35 AL_FUNC(ALLEGRO_SYSTEM *, al_get_system_driver, (void));
36 AL_FUNC(ALLEGRO_CONFIG *, al_get_system_config, (void));
37 AL_FUNC(ALLEGRO_SYSTEM_ID, al_get_system_id, (void));
38 
39 enum {
40    ALLEGRO_RESOURCES_PATH = 0,
41    ALLEGRO_TEMP_PATH,
42    ALLEGRO_USER_DATA_PATH,
43    ALLEGRO_USER_HOME_PATH,
44    ALLEGRO_USER_SETTINGS_PATH,
45    ALLEGRO_USER_DOCUMENTS_PATH,
46    ALLEGRO_EXENAME_PATH,
47    ALLEGRO_LAST_PATH /* must be last */
48 };
49 
50 AL_FUNC(ALLEGRO_PATH *, al_get_standard_path, (int id));
51 AL_FUNC(void, al_set_exe_name, (char const *path));
52 
53 AL_FUNC(void, al_set_org_name, (const char *org_name));
54 AL_FUNC(void, al_set_app_name, (const char *app_name));
55 AL_FUNC(const char *, al_get_org_name, (void));
56 AL_FUNC(const char *, al_get_app_name, (void));
57 
58 AL_FUNC(bool, al_inhibit_screensaver, (bool inhibit));
59 
60 #ifdef __cplusplus
61    }
62 #endif
63 
64 #endif
65 
66 /* vim: set sts=3 sw=3 et: */
67