#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])