/*! \file scol.h
*	\brief Scol plugin definition API
*   \author Sylvain HUET
*/

/*
// Modifications History
//
//$ LB (13/06/2002) : added the OBJgetNewHandler function to the cbmachine
// $ IRI (19/12/2010) : version windows
// $ IRI (31/01/2011) : add MMneedMemory
*/

#ifdef __cplusplus
extern "C" {
#endif


/* DEFINITIONS DE TYPES ET DE CONSTANTES
  ---------------------------------------*/
#define SizeWord 4
#define SizeHeader 3

#define NIL -1


/* masq for MMmalloc : object table or other buffer */
#define TYPETAB 1
#define TYPEBUF 0

/* offsets object definition */
#define OFFSCCUR 0

#define OFFOBJMAG   0
#define OFFOBJCHN   1
#define OFFOBJTYP   2
#define OFFOBJHAND  3
#define OFFOBJTPERE 4
#define OFFOBJHPERE 5
#define OFFOBJREF0  6
#define OFFOBJUSER0 7

/* console messages mask definition */
#define MSKFOO     1
#define MSKRUNTIME 2
#define MSKWARNING 4
#define MSKTRACE   8
#define MSKDEBUG   16


/* predefined Scol types */
#define TYPVAR    -1
#define TYPCONS   -2
#define TYPTYPE   -3
#define TYPFIELD  -4
#define TYPSTRUC  -5
#define TYPCONS0  -6
#define TYPCOM    -7
#define TYPCOMV   -8


/* Files management in Scol
  ------------------------------*/

#define SIZESIGN 1024

struct Packdir
{
	char path[SIZESIGN];		/* end by '/'*/
	int quota;					/* -1: read only, 0: unlimited*/
	struct Packdir *next;
};
typedef struct Packdir *packdir;

#define TYPESNONE  0
#define TYPESLOGIC 1


/*#define SCOLinitplugin(X) ww=X*/


#ifdef __cplusplus
}
#endif



