/* format of a symbol entry in the main table*/
#include "machine.h"
#define SEEKREL	1	/*relative seek flag*/

#define  OSTSIZE	14		/*symbol table entry length on object file*/
							/* without table link*/
# define STESIZE	18		/*byte length of symbol table entry*/
struct symtab {
	char name[8];		/*symbol name*/
	short  flags;			/*bit flags*/
	long  vl1;			/*symbol value*/
	char  *tlnk;			/*table link*/
};

struct symtab *symptr;

/* flags for symbols*/
# define SYDF	0100000		/*defined*/
# define SYEQ	0040000		/*equated*/
# define SYGL	0020000		/*global - entry or external*/
# define SYER	0010000		/*equated register*/
# define SYXR	0004000		/*external reference*/
# define SYDA	0002000		/*DATA based relocatable*/
# define SYTX	0001000		/*TEXT based relocatable*/
# define SYBS	0000400		/*BSS based relocatable*/

struct irts {
	char *irle;		/*ptr to last entry in chain*/
	char *irfe;		/*ptr to first entry in chain*/
};


#ifdef	VAX
struct {
	short loword;
	short hiword;
};
#endif
#ifdef	PDP11
struct {
	short loword;
	short hiword;
};
#endif
#ifdef	MC68000
struct {
	short hiword;
	short loword;
};
#endif
#ifdef	VAX
struct {
	char lobyte;
	char hibyte;
};
#endif
#ifdef	PDP11
struct {
	char lobyte;
	char hibyte;
};
#endif
#ifdef	MC68000
struct {
	char hibyte;
	char lobyte;
};
#endif
/* relocation bit definitions:*/
#define RBMASK		07		/*tells type of relocation*/
#define INSABS		7		/*first word of instr -- absolute*/
#define DABS		0		/*data word absolute*/
#define TRELOC		2		/* TEXT relocatable*/
#define DRELOC		1		/* DATA relocatable*/
#define BRELOC		3		/* BSS relocatable*/
#define EXTVAR		4		/* ref to external variable*/
#define LUPPER		5		/* upper word of long*/

struct buf{
	int fildes;
	int nunused;
	char *xfree;
	char buff[512];
};
	       
struct buf ibuf={0};
char *ifilname=0;
