/* convert.h    19 Apr 86    edb */

/* 
 * Copyright (C) 1986 by Eric D. Black and 1985 Landon M. Dyer.
 * Based on the CVT Amiga->ST conversion program by Landon Dyer.
 * Permission is granted to redistribute this program and its
 * source code subject to the restrictions given in the file "unhunk.c"
 */

#define BUFFERSIZE      0x4000
#define OK              0
#define ERROR           (-1)

#define MSDOS   1
#define VAXVMS  2
#define UNIX42  3
#define SYSV    4
#define Amiga	5

/* type of machine doing the conversion; target is always assumed
 * to be 68000 processor, source is assumed to be AmigaDOS hunk-format
 * 68000 code...
 */
#define MACHINE Amiga


/*
 * Hunk types.
 */
#define TEXT    0
#define DATA    1
#define BSS     2

extern long origin[];		/* origin for each type */
extern int orgspec[];		/* origin for each type specified on cmd line */
extern long entrypnt;		/* entry point specified on cmd line */
extern int printing;		/* !=0 if printing extra messages */extern int errflg;			/* count of errors/inconsistencies found */


/*
 * Information about hunks:
 *
 * hrel is now filepos of start of reloc info for hunk   20Apr86 edb
 */
#define Hinfo   struct hinfo
Hinfo {
    long	hsize;			/* hunk size (bytes) */
    long	hpos;			/* position of hunk info in file (or -1L) */
    long	haddr;			/* starting address of hunk */
    long	hrsize;			/* size of relocation information (bytes) */
    int		htype;			/* hunk type (TEXT, DATA, BSS, or -1) */
    int		hunkno;			/* hunk number */
    long	hrel;			/* filepos of start of reloc info for hunk */
    Hinfo	*hnext;			/* -> next hunk in order of saddr (or NULL) */
};
