/* @(#)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;


