4e65911a376ebe5182a7c66765406b6059ebd366
[pcsx_rearmed.git] / libpcsxcore / system.h
1 /***************************************************************************
2  *   Copyright (C) 2007 Ryan Schultz, PCSX-df Team, PCSX team              *
3  *                                                                         *
4  *   This program is free software; you can redistribute it and/or modify  *
5  *   it under the terms of the GNU General Public License as published by  *
6  *   the Free Software Foundation; either version 2 of the License, or     *
7  *   (at your option) any later version.                                   *
8  *                                                                         *
9  *   This program is distributed in the hope that it will be useful,       *
10  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12  *   GNU General Public License for more details.                          *
13  *                                                                         *
14  *   You should have received a copy of the GNU General Public License     *
15  *   along with this program; if not, write to the                         *
16  *   Free Software Foundation, Inc.,                                       *
17  *   51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA.           *
18  ***************************************************************************/
19
20 #ifndef __SYSTEM_H__
21 #define __SYSTEM_H__
22
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26
27 int SysInit();                                                  // Init mem and plugins
28 void SysReset();                                                // Resets mem
29 void SysPrintf(const char *fmt, ...)
30 #if defined(__GNUC__) && defined(__x86_64__) // some platforms have int32_t as long
31          __attribute__((format(printf, 1, 2)))
32 #endif
33          ;
34 void SysMessage(const char *fmt, ...)   // Message used to print msg to users
35 #if defined(__GNUC__) && defined(__x86_64__)
36          __attribute__((format(printf, 1, 2)))
37 #endif
38          ;
39 void *SysLoadLibrary(const char *lib);  // Loads Library
40 void *SysLoadSym(void *lib, const char *sym);   // Loads Symbol from Library
41 const char *SysLibError();                              // Gets previous error loading sysbols
42 void SysCloseLibrary(void *lib);                // Closes Library
43 void SysRunGui();                                               // Returns to the Gui
44 void SysClose();                                                // Close mem and plugins
45
46 // log if the game does something we don't handle (well)
47 //#define log_unhandled printf
48 #define log_unhandled(...)
49
50 #ifdef __cplusplus
51 }
52 #endif
53 #endif