project64/Source/Android/PluginRSP/common.h

44 lines
1.1 KiB
C
Raw Normal View History

#pragma once
// Macro for unused variable warning suppression
#ifdef __GNUC__
# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
#else
# define UNUSED(x) /* x */
#endif
// Macro for inline keyword
#ifdef _MSC_VER
#define inline __inline
#endif
// DLL function linking
#if defined(_WIN32)
#define EXPORT extern "C" __declspec(dllexport)
#define CALL __cdecl
#else
#define EXPORT extern "C" __attribute__((visibility("default")))
#define CALL
#endif
// Plugin types
enum
{
PLUGIN_TYPE_RSP = 1,
PLUGIN_TYPE_GFX = 2,
PLUGIN_TYPE_AUDIO = 3,
PLUGIN_TYPE_CONTROLLER = 4,
};
// Structures
typedef struct
{
uint16_t Version; // Should be set to 0x0101
uint16_t Type; // Set to PLUGIN_TYPE_RSP
char Name[100]; // Name of the DLL
// If DLL supports memory, these memory options then set them to TRUE or FALSE if it does not support it
int NormalMemory; // A normal BYTE array
int MemoryBswaped; // A normal BYTE array where the memory has been pre-bswap'd on a DWORD (32-bits) boundary
} PLUGIN_INFO;