/*
        SCOLPLUGIN.H . 1996-99 . Sylvain HUET

         definitions pour les plugins Scol
*/
// Modification history:
//$ FA(03/08/2001): Add MMputs() function to allow user DLLs to send strings of unlimited
//                  length to the log (and possibly truncated to the console)
//
//$ LB (13/06/2002) : added the OBJgetNewHandler function to the cbmachine
//

#ifdef __cplusplus
extern "C" {
#endif

#ifndef SCOLPLUGIN_H
#define SCOLPLUGIN_H

#include <scolPrerequisites.h>
#include <scolMachine.h>
#include <scolCbMachine.h>
#include <scolPackDir.h>
#include <scolErrorCodes.h>
#include <scolConstants.h>

/* 
/* Exported Kernel functions to plugin
  ----------------------------------------------*/
extern cbmachine ww;

#define SCOLinitplugin(X) ww=X

#define MMpush (ww->MMpush)
#define MMpushNoGC (ww->MMpushNoGC)
#define MMpull (ww->MMpull)
#define MMgetPP (ww->MMgetPP)
#define MMsetPP (ww->MMsetPP)
#define MMget (ww->MMget)
#define MMset (ww->MMset)
#define MMgetglobal (ww->MMgetglobal)
#define MMsetglobal (ww->MMsetglobal)
#define MMgetbase (ww->MMgetbase)
#define MMsetbase (ww->MMsetbase)
#define MMfetch (ww->MMfetch)
#define MMstore (ww->MMstore)
#define MMstart (ww->MMstart)
#define MMsize (ww->MMsize)
#define MMtype (ww->MMtype)
#define MMstartstr (ww->MMstartstr)
#define MMsizestr (ww->MMsizestr)
#define MMsetsizestr (ww->MMsetsizestr)
#define MMmalloc (ww->MMmalloc)
#define MMmallocCLR (ww->MMmallocCLR)
#define Mpushstrbloc (ww->Mpushstrbloc)
#define MBdeftab (ww->MBdeftab)
#define MBstrcat (ww->MBstrcat)
#define PKhardpak (ww->PKhardpak)
#define PKloader (ww->PKloader)
#define SPfindfile (ww->SPfindfile)
#define SPaddfile (ww->SPaddfile)
#define SCgetsrvsocket (ww->SCgetsrvsocket)
#define SCgetsocket (ww->SCgetsocket)
#define Mcutting (ww->Mcutting)
#define MMechostr (ww->MMechostr)
#define fread (ww->fread)
#define Firstpack (ww->Firstpack)
#define OBJcreate (ww->OBJcreate)
#define OBJaddreflex (ww->OBJaddreflex)
#define OBJbeginreflex (ww->OBJbeginreflex)
#define OBJdel (ww->OBJdel)
#define OBJdestroy (ww->OBJdestroy)
#define OBJdelTH (ww->OBJdelTH)
#define OBJcallreflex (ww->OBJcallreflex)
#define OBJregister (ww->OBJregister)
#define OBJtypebyname (ww->OBJtypebyname)
#define OBJdefEvent (ww->OBJdefEvent)
#define OBJgetUserEvent (ww->OBJgetUserEvent)
#define SCgetExtra (ww->SCgetExtra)
#define stdloadJpg (ww->stdloadJpg)
#define OBJdelTM (ww->OBJdelTM)
#define OBJfindTH (ww->OBJfindTH)
#define OBJfindTM (ww->OBJfindTM)
#define Mpushstrblocn (ww->Mpushstrblocn)
#define Minterpreter (ww->Minterpreter)
#define Msearchinsyspak (ww->Msearchinsyspak)
#define MBstrcatn (ww->MBstrcatn)
#define Buffer2texture (ww->Buffer2texture)
#define MMputs (ww->MMputs)

//$ LB (13/06/2002)
#define OBJgetNewHandler (ww->OBJgetNewHandler)


#endif

#ifdef __cplusplus
}
#endif
