#include <\projects\fido\fido.h>
#include <fastfile.h>
#include <windows.h>
#include <ascii.h>


/*
"Fido" is a trademark of Tom Jennings. It you utter it send me a dollar.
"FidoNet" is a also registered trademark of Tom Jennings. If you even think 
it send me two dollars. If you use both, send me ten dollars and your first
born child. All rights reserved. So there.


	Fido Software
	Box 77731
	San Francisco CA 94107
*/

/* These are my assumptions as to data element sizes for the source here. You
will need to change these if the following assumptions arent right:

char			8 bits or more, signed or not
int 			more than 8 bits, though 8 will work 99% of the time
			(that last 1% if left as an exercise for the programmer)

long			more than 16 bits, preferably 32. Note as above

FLAG			at least one bit long; set to 0 or 1, and tested
			for != 0
BYTE			8 bits long. You can define as necessary.
WORD			16 bits. Ditto
LONG			32 bits. Ditto Ditto

BYTE, WORD and LONG are used for two reasons: to take advantage of the word
length in modulo arithmetic (ie. XMODEM block numbers, 0...255) or because
they are an interface to other code, ie. WORD baud rates passed to the 
drivers. Changing these assumptions may not be trivial, since they are
frequently buried into the algorithms. (Check out XMODEM.C for a classic
example of this.) */


#define SS 80		/* standard, universal, string size */

typedef unsigned char BYTE; /* Lattice chars are 8 bit */
typedef unsigned WORD; 	/* Lattice unsigneds are 16 bits */
typedef long LONG; 	/* Lattice ... */

long lseek();
long sizmem();
char *getmem();

char *skip_delim();		/* library stuff */
char *next_arg();
char *strip_path();

char *input();			/* in MENU.C */
char *getarg();			/* in MENU.C */

#define abs(n) (n>=0?n:-n)	/* absolute value, */
#define max(n,m) (n>m?n:m)	/* maximum value */
#define min(n,m) (n>m?m:n)	/* minimum value, */

/* Terminal type values */

#define NONE 0			/* pass through to DOS */
#define FILTER 1		/* strip control chars */
#define ANSI 2			/* IBM ANSI mono */
#define COLOR 3			/* IBM ANSI color */
#define MONITOR 3		/* debug control characters */
#define HEX 4			/* debug, hex numbers */

/* Parity type values */

#define NOPAR 0			/* no parity */
#define ODDPAR 1		/* no parity */
#define EVNPAR 2		/* even parity */
#define ZERPAR 3		/* zero parity */
#define MRKPAR 4		/* mark parity */

/* nodestuff.c */

int open_node(void); 
int close_node(void); 
int node_files(void); 
int index_node(struct _node *);
void set_nn(char *,struct _node *);
int find_ndat(struct _node *);
int get_ndat(int);
void fix_node(struct _node *);
int same_zone(struct _node *,struct _node *);
int same_net(struct _node *,struct _node *);
int same_node(struct _node *,struct _node *);
void cpy_node(struct _node *,struct _node *);
char *str_node(struct _node *);
void makenname(char *,char *);


