/* @(#)WZTools.h version: 2.1.2.1 date: 11 May 1995" */ #ifndef numfuncs #define numfuncs 1 #endif typedef struct _RELT /* Routine list element */ { void (*pfunc)(); /* Pointer to routine */ char *name; /* Routine name */ short narg; /* Number of arguments */ } RELT, *PRELT; typedef struct _ROUT /* Routine list */ { short nrout; /* Number of routines */ void (*exitfunc)(); /* Func pntr to exit routine */ RELT relts[numfuncs]; /* Func pntr to routine */ } ROUT, *PROUT; /* flag values for arguments and returns */ #define NUMERIC 0 #define STRING 1 #define ERR 2 typedef struct _val { union { double numeric; /* numeric argument or return */ char *string; /* text argument or return */ short err; /* error argument or return */ /* private must be an array of 32 bit values */ /* AND it must be big enough to hold 3 longs */ /* This is a problem when "int" != "long" */ #ifdef ALPHA unsigned int private[6]; /* private Wingz* information */ #else unsigned long private[3]; /* private Wingz* information */ #endif } val; short flag; /* type of argument or return */ } VAL, *PVAL;