#define FREEANDNULL(x)	{if(x){gos_Free(x); x = NULL;}}
#define CALLBACKID  ((int) *data)
#define PARAMETER_CHECK(x)	Verify (x < count)
#define INTPARM(x)	(*((int *) data[x]))		//dereferenced int pointer
#define STRPARM(x)  (*(char **) data[x])		//pointer to pointer to string
#define VALUEPARM(x) ((int) data[x])			//literal number value
#define STRARRAYPARAM(x) ((char**) data[x])	//array of strings
#define INTARRAYPARAM(x) ((int *) data[x])
#define FLOATARRAYPARAM(x) ((float *) data[x])
#define SCALARARRAYPARAM(x) ((Stuff::Scalar *) data[x])