/* convert.h */

#define	DEBUG(x)	if(debug)printf(x);
#define	BUFFERSIZE	0x4000
#define	OK		0
#define	ERROR		(-1)


/*
 * Block types.
 */
#define	HUNKUNIT	 999
#define	HUNKNAME	1000
#define	HUNKCODE	1001
#define	HUNKDATA	1002
#define	HUNKBSS		1003
#define	HUNKR32		1004
#define	HUNKR16		1005
#define	HUNKR8		1006
#define	HUNKEXT		1007
#define	HUNKSYMBOL	1008
#define	HUNKDEBUG	1009
#define	HUNKEND		1010
#define	HUNKHEADER	1011
#define	HUNKOVERLAY	1013
#define	HUNKBREAK	1014


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


/*
 * Information about hunks:
 */
#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;		/* -> relocation information (or NULL) */
    Hinfo *hnext;	/* -> next hunk in order of saddr (or NULL) */
};
