1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2 * Mupen64plus-ui-console - core_interface.h *
3 * Mupen64Plus homepage: http://code.google.com/p/mupen64plus/ *
4 * Copyright (C) 2009 Richard Goedeken *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the *
18 * Free Software Foundation, Inc., *
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
20 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
22 #if !defined(CORE_INTERFACE_H)
23 #define CORE_INTERFACE_H
25 #include "m64p_types.h"
26 #include "m64p_common.h"
27 #include "m64p_frontend.h"
28 #include "m64p_config.h"
29 #include "m64p_debugger.h"
31 /* function declarations */
32 extern m64p_error AttachCoreLib(const char *CoreLibFilepath);
33 extern m64p_error DetachCoreLib(void);
35 /* global variables from core_interface.c */
36 extern int g_CoreCapabilities;
37 extern int g_CoreAPIVersion;
39 /* declarations of Core library handle and pointers to common functions */
40 extern m64p_dynlib_handle CoreHandle;
41 extern ptr_CoreErrorMessage CoreErrorMessage;
43 /* declarations of pointers to Core front-end functions */
44 extern ptr_CoreStartup CoreStartup;
45 extern ptr_CoreShutdown CoreShutdown;
46 extern ptr_CoreAttachPlugin CoreAttachPlugin;
47 extern ptr_CoreDetachPlugin CoreDetachPlugin;
48 extern ptr_CoreDoCommand CoreDoCommand;
49 extern ptr_CoreOverrideVidExt CoreOverrideVidExt;
50 extern ptr_CoreAddCheat CoreAddCheat;
51 extern ptr_CoreCheatEnabled CoreCheatEnabled;
53 /* declarations of pointers to Core config functions */
54 extern ptr_ConfigListSections ConfigListSections;
55 extern ptr_ConfigOpenSection ConfigOpenSection;
56 extern ptr_ConfigDeleteSection ConfigDeleteSection;
57 extern ptr_ConfigSaveSection ConfigSaveSection;
58 extern ptr_ConfigListParameters ConfigListParameters;
59 extern ptr_ConfigSaveFile ConfigSaveFile;
60 extern ptr_ConfigSetParameter ConfigSetParameter;
61 extern ptr_ConfigGetParameter ConfigGetParameter;
62 extern ptr_ConfigGetParameterType ConfigGetParameterType;
63 extern ptr_ConfigGetParameterHelp ConfigGetParameterHelp;
64 extern ptr_ConfigSetDefaultInt ConfigSetDefaultInt;
65 extern ptr_ConfigSetDefaultFloat ConfigSetDefaultFloat;
66 extern ptr_ConfigSetDefaultBool ConfigSetDefaultBool;
67 extern ptr_ConfigSetDefaultString ConfigSetDefaultString;
68 extern ptr_ConfigGetParamInt ConfigGetParamInt;
69 extern ptr_ConfigGetParamFloat ConfigGetParamFloat;
70 extern ptr_ConfigGetParamBool ConfigGetParamBool;
71 extern ptr_ConfigGetParamString ConfigGetParamString;
73 extern ptr_ConfigGetSharedDataFilepath ConfigGetSharedDataFilepath;
74 extern ptr_ConfigGetUserConfigPath ConfigGetUserConfigPath;
75 extern ptr_ConfigGetUserDataPath ConfigGetUserDataPath;
76 extern ptr_ConfigGetUserCachePath ConfigGetUserCachePath;
78 /* declarations of pointers to Core debugger functions */
79 extern ptr_DebugSetCallbacks DebugSetCallbacks;
80 extern ptr_DebugSetCoreCompare DebugSetCoreCompare;
81 extern ptr_DebugSetRunState DebugSetRunState;
82 extern ptr_DebugGetState DebugGetState;
83 extern ptr_DebugStep DebugStep;
84 extern ptr_DebugDecodeOp DebugDecodeOp;
85 extern ptr_DebugMemGetRecompInfo DebugMemGetRecompInfo;
86 extern ptr_DebugMemGetMemInfo DebugMemGetMemInfo;
87 extern ptr_DebugMemGetPointer DebugMemGetPointer;
89 extern ptr_DebugMemRead64 DebugMemRead64;
90 extern ptr_DebugMemRead32 DebugMemRead32;
91 extern ptr_DebugMemRead16 DebugMemRead16;
92 extern ptr_DebugMemRead8 DebugMemRead8;
94 extern ptr_DebugMemWrite64 DebugMemWrite64;
95 extern ptr_DebugMemWrite32 DebugMemWrite32;
96 extern ptr_DebugMemWrite16 DebugMemWrite16;
97 extern ptr_DebugMemWrite8 DebugMemWrite8;
99 extern ptr_DebugGetCPUDataPtr DebugGetCPUDataPtr;
100 extern ptr_DebugBreakpointLookup DebugBreakpointLookup;
101 extern ptr_DebugBreakpointCommand DebugBreakpointCommand;
103 #endif /* #define CORE_INTERFACE_H */