diff options
Diffstat (limited to 'libpcsxcore/psemu_plugin_defs.h')
| -rw-r--r-- | libpcsxcore/psemu_plugin_defs.h | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/libpcsxcore/psemu_plugin_defs.h b/libpcsxcore/psemu_plugin_defs.h index d1b05ac3..44cebf49 100644 --- a/libpcsxcore/psemu_plugin_defs.h +++ b/libpcsxcore/psemu_plugin_defs.h @@ -1,6 +1,12 @@ #ifndef _PSEMU_PLUGIN_DEFS_H #define _PSEMU_PLUGIN_DEFS_H +#include <stdint.h> + +#include "psxcommon.h" + +#include "plugin_common.h" + #ifdef __cplusplus extern "C" { #endif @@ -10,6 +16,13 @@ extern "C" { #define PLUGIN_VERSION 1 +#ifndef PLUGINCALL +#define PLUGINCALL(x) CALLBACK x +#endif +#ifndef PLUGINEXTERN +#define PLUGINEXTERN +#endif + // plugin type returned by PSEgetLibType (types can be merged if plugin is multi type!) #define PSE_LT_CDR 1 #define PSE_LT_GPU 2 @@ -17,6 +30,10 @@ extern "C" { #define PSE_LT_PAD 8 #define PSE_LT_NET 16 +PLUGINEXTERN unsigned long PLUGINCALL(PSEgetLibType)(void); +PLUGINEXTERN unsigned long PLUGINCALL(PSEgetLibVersion)(void); +PLUGINEXTERN char *PLUGINCALL(PSEgetLibName)(void); + // DLL function return codes #define PSE_ERR_SUCCESS 0 // every function in DLL if completed sucessfully should return this value #define PSE_ERR_FATAL -1 // undefined error but fatal one, that kills all functionality @@ -29,6 +46,24 @@ extern "C" { #define PSE_INIT_ERR_NOTCONFIGURED -2 // this driver is not configured #define PSE_INIT_ERR_NOHARDWARE -3 // this driver can not operate properly on this hardware or hardware is not detected +#ifndef _WIN32 + +PLUGINEXTERN long PLUGINCALL(GPUopen)(unsigned long *, char *, char *); +PLUGINEXTERN long PLUGINCALL(SPUopen)(void); +PLUGINEXTERN long PLUGINCALL(PADopen)(unsigned long *); +PLUGINEXTERN long PLUGINCALL(NETopen)(unsigned long *); +PLUGINEXTERN long PLUGINCALL(SIO1open)(unsigned long *); + +#else + +PLUGINEXTERN long PLUGINCALL(GPUopen)(HWND); +PLUGINEXTERN long PLUGINCALL(SPUopen)(HWND); +PLUGINEXTERN long PLUGINCALL(PADopen)(HWND); +PLUGINEXTERN long PLUGINCALL(NETopen)(HWND); +PLUGINEXTERN long PLUGINCALL(SIO1open)(HWND); + +#endif + /* GPU PlugIn */ // GPU_Test return values @@ -70,6 +105,34 @@ typedef struct // GPU_Query End - will be implemented in v2 +// GPU Functions +PLUGINEXTERN long PLUGINCALL(GPUinit)(void); +PLUGINEXTERN long PLUGINCALL(GPUshutdown)(void); +PLUGINEXTERN long PLUGINCALL(GPUclose)(void); +PLUGINEXTERN void PLUGINCALL(GPUwriteStatus)(uint32_t); +PLUGINEXTERN void PLUGINCALL(GPUwriteData)(uint32_t); +PLUGINEXTERN void PLUGINCALL(GPUwriteDataMem)(uint32_t *, int); +PLUGINEXTERN uint32_t PLUGINCALL(GPUreadStatus)(void); +PLUGINEXTERN uint32_t PLUGINCALL(GPUreadData)(void); +PLUGINEXTERN void PLUGINCALL(GPUreadDataMem)(uint32_t *, int); +PLUGINEXTERN long PLUGINCALL(GPUdmaChain)(uint32_t *,uint32_t); +PLUGINEXTERN void PLUGINCALL(GPUupdateLace)(void); +PLUGINEXTERN long PLUGINCALL(GPUconfigure)(void); +PLUGINEXTERN long PLUGINCALL(GPUtest)(void); +PLUGINEXTERN void PLUGINCALL(GPUabout)(void); +PLUGINEXTERN void PLUGINCALL(GPUmakeSnapshot)(void); +PLUGINEXTERN void PLUGINCALL(GPUkeypressed)(int); +PLUGINEXTERN void PLUGINCALL(GPUdisplayText)(char *); +PLUGINEXTERN long PLUGINCALL(GPUfreeze)(uint32_t, GPUFreeze_t *); +PLUGINEXTERN long PLUGINCALL(GPUgetScreenPic)(unsigned char *); +PLUGINEXTERN long PLUGINCALL(GPUshowScreenPic)(unsigned char *); +PLUGINEXTERN void PLUGINCALL(GPUclearDynarec)(void (CALLBACK *callback)(void)); +PLUGINEXTERN void PLUGINCALL(GPUvBlank)(int); +PLUGINEXTERN void PLUGINCALL(GPUregisterCallback)(void (CALLBACK *callback)(int)); +PLUGINEXTERN void PLUGINCALL(GPUidle)(void); +PLUGINEXTERN void PLUGINCALL(GPUvisualVibration)(uint32_t, uint32_t); +PLUGINEXTERN void PLUGINCALL(GPUcursor)(int, int, int); + /* CDR PlugIn */ @@ -94,6 +157,26 @@ typedef struct // this might happen to CDROMS that do not support RAW mode reading - surelly it will kill many games #define PSE_CDR_WARN_LAMECD PSE_CDR_WARN + 0 +// CD-ROM Functions +PLUGINEXTERN long PLUGINCALL(CDRinit)(void); +PLUGINEXTERN long PLUGINCALL(CDRshutdown)(void); +PLUGINEXTERN long PLUGINCALL(CDRopen)(void); +PLUGINEXTERN long PLUGINCALL(CDRclose)(void); +PLUGINEXTERN long PLUGINCALL(CDRgetTN)(unsigned char *); +PLUGINEXTERN long PLUGINCALL(CDRgetTD)(unsigned char, unsigned char *); +PLUGINEXTERN long PLUGINCALL(CDRreadTrack)(unsigned char *); +PLUGINEXTERN unsigned char* PLUGINCALL(CDRgetBuffer)(void); +PLUGINEXTERN unsigned char* PLUGINCALL(CDRgetBufferSub)(void); +PLUGINEXTERN long PLUGINCALL(CDRconfigure)(void); +PLUGINEXTERN long PLUGINCALL(CDRtest)(void); +PLUGINEXTERN void PLUGINCALL(CDRabout)(void); +PLUGINEXTERN long PLUGINCALL(CDRplay)(unsigned char *); +PLUGINEXTERN long PLUGINCALL(CDRstop)(void); +PLUGINEXTERN long PLUGINCALL(CDRsetfilename)(char *); +PLUGINEXTERN long PLUGINCALL(CDRgetStatus)(struct CdrStat *); +PLUGINEXTERN char* PLUGINCALL(CDRgetDriveLetter)(void); +PLUGINEXTERN long PLUGINCALL(CDRreadCDDA)(unsigned char, unsigned char, unsigned char, unsigned char *); +PLUGINEXTERN long PLUGINCALL(CDRgetTE)(unsigned char, unsigned char *, unsigned char *, unsigned char *); @@ -119,6 +202,25 @@ typedef struct #define PSE_SPU_WARN 60 +// SPU Functions +PLUGINEXTERN long PLUGINCALL(SPUinit)(void); +PLUGINEXTERN long PLUGINCALL(SPUshutdown)(void); +PLUGINEXTERN long PLUGINCALL(SPUclose)(void); +PLUGINEXTERN void PLUGINCALL(SPUplaySample)(unsigned char); +PLUGINEXTERN void PLUGINCALL(SPUwriteRegister)(unsigned long, unsigned short); +PLUGINEXTERN unsigned short PLUGINCALL(SPUreadRegister)(unsigned long); +PLUGINEXTERN void PLUGINCALL(SPUwriteDMA)(unsigned short); +PLUGINEXTERN unsigned short PLUGINCALL(SPUreadDMA)(void); +PLUGINEXTERN void PLUGINCALL(SPUwriteDMAMem)(unsigned short *, int); +PLUGINEXTERN void PLUGINCALL(SPUreadDMAMem)(unsigned short *, int); +PLUGINEXTERN void PLUGINCALL(SPUplayADPCMchannel)(xa_decode_t *); +PLUGINEXTERN void PLUGINCALL(SPUregisterCallback)(void (CALLBACK *callback)(void)); +PLUGINEXTERN long PLUGINCALL(SPUconfigure)(void); +PLUGINEXTERN long PLUGINCALL(SPUtest)(void); +PLUGINEXTERN void PLUGINCALL(SPUabout)(void); +PLUGINEXTERN long PLUGINCALL(SPUfreeze)(uint32_t, SPUFreeze_t *); +PLUGINEXTERN void PLUGINCALL(SPUasync)(uint32_t); +PLUGINEXTERN void PLUGINCALL(SPUplayCDDAchannel)(short *, int); /* PAD PlugIn */ @@ -126,6 +228,7 @@ typedef struct /* functions that must be exported from PAD Plugin + (see below for actual prototypes) long PADinit(long flags); // called only once when PSEmu Starts void PADshutdown(void); // called when PSEmu exits @@ -209,6 +312,24 @@ typedef struct } PadDataS; +// PAD Functions +PLUGINEXTERN long PLUGINCALL(PADconfigure)(void); +PLUGINEXTERN void PLUGINCALL(PADabout)(void); +PLUGINEXTERN long PLUGINCALL(PADinit)(long); +PLUGINEXTERN long PLUGINCALL(PADshutdown)(void); +PLUGINEXTERN long PLUGINCALL(PADtest)(void); +PLUGINEXTERN long PLUGINCALL(PADclose)(void); +PLUGINEXTERN long PLUGINCALL(PADquery)(void); +PLUGINEXTERN long PLUGINCALL(PADreadPort1)(PadDataS*); +PLUGINEXTERN long PLUGINCALL(PADreadPort2)(PadDataS*); +PLUGINEXTERN long PLUGINCALL(PADkeypressed)(void); +PLUGINEXTERN unsigned char PLUGINCALL(PADstartPoll)(int); +PLUGINEXTERN unsigned char PLUGINCALL(PADpoll)(unsigned char); +PLUGINEXTERN void PLUGINCALL(PADsetSensitive)(int); +PLUGINEXTERN void PLUGINCALL(PADregisterVibration)(void (CALLBACK *callback)(uint32_t, uint32_t)); +PLUGINEXTERN void PLUGINCALL(PADregisterCursor)(void (CALLBACK *callback)(int, int, int)); + + /* NET PlugIn v2 */ /* Added by linuzappz@pcsx.net */ @@ -278,6 +399,60 @@ typedef struct { void NETkeypressed(int key) (linux only) key is a XK_?? (X11) keycode. */ +// NET Functions +PLUGINEXTERN long PLUGINCALL(NETinit)(void); +PLUGINEXTERN long PLUGINCALL(NETshutdown)(void); +PLUGINEXTERN long PLUGINCALL(NETclose)(void); +PLUGINEXTERN long PLUGINCALL(NETconfigure)(void); +PLUGINEXTERN long PLUGINCALL(NETtest)(void); +PLUGINEXTERN void PLUGINCALL(NETabout)(void); +PLUGINEXTERN void PLUGINCALL(NETpause)(void); +PLUGINEXTERN void PLUGINCALL(NETresume)(void); +PLUGINEXTERN long PLUGINCALL(NETqueryPlayer)(void); +PLUGINEXTERN long PLUGINCALL(NETsendData)(void *, int, int); +PLUGINEXTERN long PLUGINCALL(NETrecvData)(void *, int, int); +PLUGINEXTERN long PLUGINCALL(NETsendPadData)(void *, int); +PLUGINEXTERN long PLUGINCALL(NETrecvPadData)(void *, int); +PLUGINEXTERN long PLUGINCALL(NETsetInfo)(netInfo *); +PLUGINEXTERN long PLUGINCALL(NETkeypressed)(int); + +#ifdef ENABLE_SIO1API + +// SIO1 Functions (link cable) +PLUGINEXTERN long PLUGINCALL(SIO1init)(void); +PLUGINEXTERN long PLUGINCALL(SIO1shutdown)(void); +PLUGINEXTERN long PLUGINCALL(SIO1close)(void); +PLUGINEXTERN long PLUGINCALL(SIO1configure)(void); +PLUGINEXTERN long PLUGINCALL(SIO1test)(void); +PLUGINEXTERN void PLUGINCALL(SIO1about)(void); +PLUGINEXTERN void PLUGINCALL(SIO1pause)(void); +PLUGINEXTERN void PLUGINCALL(SIO1resume)(void); +PLUGINEXTERN long PLUGINCALL(SIO1keypressed)(int); +PLUGINEXTERN void PLUGINCALL(SIO1writeData8)(unsigned char); +PLUGINEXTERN void PLUGINCALL(SIO1writeData16)(unsigned short); +PLUGINEXTERN void PLUGINCALL(SIO1writeData32)(unsigned long); +PLUGINEXTERN void PLUGINCALL(SIO1writeStat16)(unsigned short); +PLUGINEXTERN void PLUGINCALL(SIO1writeStat32)(unsigned long); +PLUGINEXTERN void PLUGINCALL(SIO1writeMode16)(unsigned short); +PLUGINEXTERN void PLUGINCALL(SIO1writeMode32)(unsigned long); +PLUGINEXTERN void PLUGINCALL(SIO1writeCtrl16)(unsigned short); +PLUGINEXTERN void PLUGINCALL(SIO1writeCtrl32)(unsigned long); +PLUGINEXTERN void PLUGINCALL(SIO1writeBaud16)(unsigned short); +PLUGINEXTERN void PLUGINCALL(SIO1writeBaud32)(unsigned long); +PLUGINEXTERN unsigned char PLUGINCALL(SIO1readData8)(void); +PLUGINEXTERN unsigned short PLUGINCALL(SIO1readData16)(void); +PLUGINEXTERN unsigned long PLUGINCALL(SIO1readData32)(void); +PLUGINEXTERN unsigned short PLUGINCALL(SIO1readStat16)(void); +PLUGINEXTERN unsigned long PLUGINCALL(SIO1readStat32)(void); +PLUGINEXTERN unsigned short PLUGINCALL(SIO1readMode16)(void); +PLUGINEXTERN unsigned long PLUGINCALL(SIO1readMode32)(void); +PLUGINEXTERN unsigned short PLUGINCALL(SIO1readCtrl16)(void); +PLUGINEXTERN unsigned long PLUGINCALL(SIO1readCtrl32)(void); +PLUGINEXTERN unsigned short PLUGINCALL(SIO1readBaud16)(void); +PLUGINEXTERN unsigned long PLUGINCALL(SIO1readBaud32)(void); +PLUGINEXTERN void PLUGINCALL(SIO1registerCallback)(void (CALLBACK *callback)(void)); + +#endif #ifdef __cplusplus } |
