#ifndef _PLUGIN_H_
#define _PLUGIN_H_

#include "types.h"
#include "gcplugin.h"

#ifdef LOW_PLUGIN
extern gcplugin_jumptable_low_t jumptable[];

#ifdef RELOAD_SUPPORT
extern gcplugin_jumptable_low_t jumptable2;
#endif
#endif

#ifdef HIGH_PLUGIN
extern gcplugin_jumptable_high_t jumptable[];

#ifdef RELOAD_SUPPORT
extern gcplugin_jumptable_high_t jumptable2;
#endif
#endif

/** Base offset for read (set by gcbackuplauncher). */
extern unsigned long base_offset;
extern unsigned long base_offset_2nd_disc;

#ifdef RELOAD_SUPPORT
extern u8 reloader_enabled;
extern u8 audio_stream_fix;
//extern u8 dummy1;
//extern u8 dummy2;
extern u8 jmpNr;
#endif


#ifdef DONTTELL
extern unsigned long hooks;
extern u32 hook[8];
#endif

#ifdef ACTION_REPLAY
extern unsigned long action_replay;
#endif


#ifdef GEKKO_DEBUG
#if defined(MIOS_PLUGIN) || defined(HIGH_PLUGIN) /* Only MIOS and high version has enough memory. */
void printDVDRegs(void);
void hexDump(unsigned long *buffer, unsigned long size);
#endif
#endif

#endif
