dolphin/Source/PluginSpecs/PluginSpecs.h

80 lines
1.3 KiB
C

//__________________________________________________________________________________________________
// Common plugin spec, version #1.0 maintained by F|RES
//
#ifndef _PLUGINS_H_INCLUDED__
#define _PLUGINS_H_INCLUDED__
#include "CommonTypes.h"
#ifdef _WIN32
#define EXPORT __declspec(dllexport)
#define CALL __cdecl
#else
#define EXPORT __attribute__ ((visibility("default")))
#define CALL
#endif
#ifdef _WIN32
#include <windows.h>
#else
#ifndef TRUE
#define TRUE 1
#define FALSE 0
#endif
#define __cdecl
// simulate something that looks like win32
// long term, kill these
// glxew defines BOOL. evil.
#ifdef BOOL
#undef BOOL
#endif
#define BOOL unsigned int
#define HWND void*
#define HINSTANCE void*
#endif
#if defined(__cplusplus)
extern "C" {
#endif
// plugin types
#define PLUGIN_TYPE_VIDEO 1
#define PLUGIN_TYPE_DVD 2
#define PLUGIN_TYPE_PAD 3
#define PLUGIN_TYPE_AUDIO 4
#define PLUGIN_TYPE_COMPILER 5
#define PLUGIN_TYPE_DSP 6
#define PLUGIN_TYPE_WIIMOTE 7
#define STATE_MODE_READ 1
#define STATE_MODE_WRITE 2
#define STATE_MODE_MEASURE 3
typedef struct
{
u16 Version; // Set to 0x0100
u16 Type; // Set to PLUGIN_TYPE_DVD
char Name[100]; // Name of the DLL
} PLUGIN_INFO;
typedef struct
{
HWND mainWindow;
HWND displayWindow;
HINSTANCE hInstance;
} OSData;
#if defined(__cplusplus)
}
#endif
#endif