#include "config.h"

/*
 ****************************************************************************
 *
 *                   "DHRYSTONE" Benchmark Program
 *                   -----------------------------
 *                                                                            
 *  Version:    C, Version 2.0
 *                                                                            
 *  File:       dhry_glo.h (part 1 of 3)
 *
 *  Date:       March 3, 1988
 *
 *  Author:     Reinhold P. Weicker
 *
 ****************************************************************************
 */

/*
 *	Compiler and system dependent definitions:
 */
#ifndef TIME
#ifndef TIMES			/* Use "times" function for measurement */
#define TIMES			/* unless explicitly defined otherwise  */
#endif
#endif

#ifndef HZ
#define HZ      	60	/* Use HZ = 60 for "times" function     */
#endif				/* unless explicitly defined otherwise  */

#ifdef TIMES
#include <sys/types.h>
#include <sys/times.h>		/* for "times" */
#endif

#define Usec_Per_Second	1000000.0/* UNIX C returns process times in seconds/HZ */

#ifdef  NOSTRUCTASSIGN
#define str_asgn(d,s)	memcpy(&(d), &(s), sizeof(d))
#else
#define str_asgn(d,s)	d = s
#endif

/*
 *	for boolean and enumeration types in Ada, Pascal
 */
#ifdef  NOENUM
#define Ident_1		0
#define Ident_2		1
#define Ident_3		2
#define Ident_4		3
#define Ident_5		4
#define Enumeration	int
#else
typedef enum {Ident_1, Ident_2, Ident_3, Ident_4, Ident_5} Enumeration;
#endif


/*
 *	General definitions:
 */
#include <stdio.h>			/* for strcpy, strcmp */

#define Null		0		/* Value of a Null pointer */
#define true		1
#define false		0
#define One_Thirty	int
#define One_Fifty	int
#define Capital_Letter	char
#define Boolean		int
#define Str_30		char
#define Array		int
#define Rec_Type	struct record
#define Rec_Pointer	struct recort

struct record 
{
	struct record		       *Ptr_Comp;
	Enumeration			Discr;

	union
	{
		struct
		{
			Enumeration	Enum_Comp;
			int		Int_Comp;
			char		Str_Comp[31];

		}			var_1;
		struct
		{
			Enumeration	E_Comp_2;
			char		Str_2_Comp[31];

		}			var_2;
		struct
		{
			char		Ch_1_Comp;
			char		Ch_2_Comp;

		} 			var_3;

	}				variant;
};

