1  /*
2   * UAE - The Un*x Amiga Emulator
3   *
4   * Prototypes for main.c
5   *
6   * Copyright 1996 Bernd Schmidt
7   */
8 
9 #ifndef UAE_UAE_H
10 #define UAE_UAE_H
11 
12 #include "uae/types.h"
13 
14 extern void do_start_program (void);
15 extern void start_program (void);
16 extern void leave_program (void);
17 extern void real_main (int, TCHAR **);
18 extern void usage (void);
19 extern void sleep_millis (int ms);
20 extern void sleep_millis_main(int ms);
21 extern void sleep_millis_amiga(int ms);
22 extern void sleep_cpu_wakeup(void);
23 extern int sleep_resolution;
24 
25 #define UAE_QUIT 1
26 #define UAE_RESET 2
27 #define UAE_RESET_KEYBOARD 3
28 #define UAE_RESET_HARD 4
29 
30 extern void uae_reset (int, int);
31 extern void uae_quit (void);
32 extern void uae_restart (int, const TCHAR*);
33 extern void target_reset (void);
34 extern void target_addtorecent (const TCHAR*, int);
35 extern void target_run (void);
36 extern void target_quit (void);
37 extern void target_restart (void);
38 extern bool get_plugin_path (TCHAR *out, int size, const TCHAR *path);
39 extern void stripslashes (TCHAR *p);
40 extern void fixtrailing (TCHAR *p);
41 extern void fullpath (TCHAR *path, int size);
42 extern void getpathpart (TCHAR *outpath, int size, const TCHAR *inpath);
43 extern void getfilepart (TCHAR *out, int size, const TCHAR *path);
44 extern uae_u32 getlocaltime (void);
45 extern bool isguiactive(void);
46 
47 extern int quit_program;
48 extern bool console_emulation;
49 
50 extern TCHAR warning_buffer[256];
51 extern TCHAR start_path_data[];
52 extern TCHAR start_path_data_exe[];
53 extern TCHAR start_path_plugins[];
54 
55 /* This structure is used to define menus. The val field can hold key
56  * shortcuts, or one of these special codes:
57  *   -4: deleted entry, not displayed, not selectable, but does count in
58  *       select value
59  *   -3: end of table
60  *   -2: line that is displayed, but not selectable
61  *   -1: line that is selectable, but has no keyboard shortcut
62  *    0: Menu title
63  */
64 struct bstring {
65     const TCHAR *data;
66     int val;
67 };
68 
69 extern TCHAR *colormodes[];
70 extern int saveimageoriginalpath;
71 extern void fetch_saveimagepath (TCHAR*, int, int);
72 extern void fetch_configurationpath (TCHAR *out, int size);
73 extern void fetch_luapath (TCHAR *out, int size);
74 extern void fetch_screenshotpath (TCHAR *out, int size);
75 extern void fetch_ripperpath (TCHAR *out, int size);
76 extern void fetch_statefilepath (TCHAR *out, int size);
77 extern void fetch_inputfilepath (TCHAR *out, int size);
78 extern void fetch_datapath (TCHAR *out, int size);
79 extern void fetch_rompath (TCHAR *out, int size);
80 extern uae_u32 uaerand (void);
81 extern uae_u32 uaesrand (uae_u32 seed);
82 extern uae_u32 uaerandgetseed (void);
83 
84 /* the following prototypes should probably be moved somewhere else */
85 
86 int get_guid_target (uae_u8 *out);
87 void filesys_addexternals (void);
88 
89 #endif /* UAE_UAE_H */
90