/*
 * Main include file for tangle etc. in C
 *
 * Tim Morgan  2/11/88
 */

#include <stdio.h>
#include "site.h"

/*
 * Global routines implemented as macros, plus some type coercion stuff.
 */

#define	odd(x)		((x) % 2)
#define	putbyte(x,f)	putc(((x)&255), f)
#define	round(x)	zround((double)(x))
#define incr(x)		++x
#define	decr(x)		--x
#define	trunc(x)	( (integer) (x) )
#define	readln(f)	while (!feof(f) && getc(f) != '\n')
#define	read(f, b)	b = getc(f)
#define	input3ints(a,b,c)	zinput_3ints(&a, &b, &c)
#define zfseek(f,n,w)	(void) fseek(f, (long) n, (int) w)
#define eof(f)		feof(f)
#define	abs(x)		((x>=0)?(x):(-(x)))
#define	fabs(x)		((x>=0.0)?(x):(-(x)))
#define	Fputs(stream, s)	(void) fputs(s, stream)
#define rewrite(f,n)	f = openf(n+1, "w")
#define	reset(f,n)	f = openf(n+1, "r")
#define flush(f)	(void) fflush(f)
#define	true		1
#define	false		0
#define	chr(x)		(x)
#define	ord(x)		(x)
#define	vgetc(f)	(void) getc(f)
#define	uexit(x)	exit(x)

FILE *openf();

/*
 * Global Types
 */
typedef FILE	*text, *file_ptr;
typedef char	*ccharpointer;

/*
 * Global Data and Datastructures
 */

extern integer argc;
extern integer zround();
extern integer inputint();