
#define HUNK_UNIT 	0x3e7
#define HUNK_NAME 	0x3e8
#define	HUNK_CODE 	0x3e9
#define	HUNK_DATA 	0x3ea
#define	HUNK_BSS  	0x3eb
#define HUNK_RELOC32	0x3ec
#define HUNK_RELOC16	0x3ed
#define	HUNK_RELOC8	0x3ee
#define HUNK_EXT	0x3ef
#define HUNK_SYMBOL	0x3f0
#define HUNK_DEBUG	0x3f1
#define HUNK_END	0x3f2

#define ext_symb	0
#define ext_def		1
#define ext_abs		2
#define ext_res		3
#define ext_ref32	129	
#define ext_common	130
#define ext_ref16	131
#define ext_ref8	132

#define ADD		'a'
#define DELETE		'd'
#define EXTRACT		'e'
#define INTERACT	'i'
#define LIST		'l'
#define REPLACE		'r'
#define STRIP		's'

typedef int 		BOOL;

#define	TRUE		1
#define	FALSE		0

#define	MBUF_SIZE	(5*1024)  /* buffer size in longwords */

#define MODE_OLDFILE	1005L
#define MODE_NEWFILE	1006L

/*
  The next structure will hold the user supplied file list.
*/
struct fname
	{
	struct fname	*next;
	char 		name[34];	/* file name - extension */
	char		filename[40];	/* the complete file name */
	};
	

/* 
  This structure will hold the external symbol list of the
  library module.
*/

struct	symbol
	{
	struct symbol	*next;
	char		name[33];
	};


/*
  The following is the read buffer size (We do buffered i/o to make
  things quicker)...
*/

#define	READBUFSIZE 	2048L


/* 
  Some error codes...
*/

#define	ENOINPUT	1	/* Can't open input file */
#define ENOOUTPUT	2	/* Can't open outupt file */
#define ENOLIST		3	/* Can't open list file */
#define ENOARGS		4	/* No arguments supplied */
#define	ENOMEM		5	/* No memory free */
#define EBADOPT		6	/* Bad option selected */
#define EABORT		7	/* Abort the program */
#define ENOBUF		8	/* Out of module buffer space */
#define EOLIB		9	/* Attempt to read past end of lib */
#define ENOLIB		10	/* Non-existant input library */
