// <Scol Technologies License>
//
// 'Source code' license (BSD license) :
// Copyright (c) 2003, organization : Scol Technologies Association, owner : Sylvain Huet
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the 
// following conditions are met:
// - Redistributions of source code must retain the above copyright notice, this list of conditions and the following 
// disclaimer. 
// - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following 
// disclaimer in the documentation and/or other materials provided with the distribution. 
// - Neither the name of the 'Scol Technologies Association' nor the names of its contributors may be used to endorse or 
// promote products derived from this software without specific prior written permission. 
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, 
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// 'Scol Technologies' is a trademark. Therefore :
// - The names 'Scol' and 'Scol Technologies' must not be used to endorse or promote products derived from this software 
// without prior written permission. For written permission, please contact Scol Technologies Association 
// (www.scol-technologies.org).
// - Products derived from this software may not be called 'Scol', nor may 'Scol' appear in their name, without prior 
// written permission. For written permission, please contact Scol Technologies Association (www.scol-technologies.org).
//
// 'DMS' is a patented technology.
// - The owner provides unlimited and free rights to implement this patent with the Scol programming language, and to use 
// these implementations.
// - Other kinds of implementation or use of the patent require prior written permission. For written permission, please 
// contact Scol Technologies Association (www.scol-technologies.org).

/*
        SCOLPLUGIN.H . 1996-99 . Sylvain HUET

         definitions pour les plugins Scol
*/


#ifndef SCOLPLUGIN_H
#define SCOLPLUGIN_H

#include <stdio.h>

#include "version.h"
#include "winuser.h"
#include "cbmachine.h"

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)

#endif

