	IFND	DOS_DOSHUNKS_I
DOS_DOSHUNKS_I	SET	1
;*
;*	$VER: doshunks.i 40.90 (4.6.97)
;*	Includes Release 40.16
;*
;*	hunk definitions for object and load modules
;*
;*	(C) Copyright 1997 by Sunbeam/Shelter
;*

	IFND	EXEC_TYPES_I
	INCLUDE	"exec/types.i"
	ENDC	;EXEC_TYPES_I


HUNK_UNIT	EQU	999
HUNK_NAME	EQU	1000
HUNK_CODE	EQU	1001
HUNK_DATA	EQU	1002
HUNK_BSS	EQU	1003
HUNK_RELOC32	EQU	1004
HUNK_ABSRELOC32	EQU	HUNK_RELOC32
HUNK_RELOC16	EQU	1005
HUNK_RELRELOC16	EQU	HUNK_RELOC16
HUNK_RELOC8	EQU	1006
HUNK_RELRELOC8	EQU	HUNK_RELOC8
HUNK_EXT	EQU	1007
HUNK_SYMBOL	EQU	1008
HUNK_DEBUG	EQU	1009
HUNK_END	EQU	1010
HUNK_HEADER	EQU	1011

	;1012 type is not used

HUNK_OVERLAY	EQU	1013
HUNK_BREAK	EQU	1014
HUNK_DREL32	EQU	1015
HUNK_DREL16	EQU	1016
HUNK_DREL8	EQU	1017
HUNK_LIB	EQU	1018
HUNK_INDEX	EQU	1019

	;V37 LoadSeg() uses HUNK_DREL32 by mistake. this will continue
	;to be supported in future verions, since HUNK_DREL32 is illegal
	;in load files anyways. future verions will support both 1015 and
	;1020, though anything that should be usable under V37 should
	;use 1015.

HUNK_RELOC32SHORT EQU	1020
HUNK_RELRELOC32	EQU	1021
HUNK_ABSRELOC16	EQU	1022	;not supported by LoadSeg()

	;any hunks that have the ADVISORY bit set will be ignored if they
	;aren't understood. when ignored, they're treated like HUNK_DEBUG
	;hunks. this handling of ADVISORY started as of V39. if loading
	;such executables is attempted under V39 it will fail with a
	;bad hunk type message.

	BITDEF	HUNK,ADVISORY,29
	BITDEF	HUNK,CHIP,30
	BITDEF	HUNK,FAST,31
	BITDEF	HUNK,PUBLIC,32

	;HUNK_EXT sub types


EXT_SYMB	EQU	0	;symbol table
EXT_DEF		EQU	1	;relocatable definition
EXT_ABS		EQU	2	;absolute definition
EXT_RES		EQU	3	;no longer supported
EXT_COMMONDEF	EQU	4	;common definition (value is size in bytes)
EXT_REF32	EQU	129	;32 bit absolute reference to symbol
EXT_ABSREF32	EQU	EXT_REF32
EXT_COMMON	EQU	130	;32 bit absolute reference to COMMON block
EXT_ABSCOMMON	EQU	EXT_COMMON
EXT_REF16	EQU	131	;16 bit pc-relative reference to symbol
EXT_RELREF16	EQU	EXT_REF16
EXT_REF8	EQU	132	;8 bit pc-relative reference to symbol
EXT_RELREF8	EQU	EXT_REF8
EXT_DEXT32	EQU	133	;32 bit data relative reference
EXT_DEXT16	EQU	134	;16 bit data relative reference
EXT_DEXT8	EQU	135	;8 bit data relative reference

	;these are to support some of the 020 and up modes that are
	;rarely used

EXT_RELREF32	EQU	136	;32 bit pc-relative reference to symbol
EXT_RELCOMMON	EQU	137	;32 bit pc-relative reference to COMMON block

	;for completeness... all 680x0's support this

EXT_ABSREF16	EQU	138	;16 bit absolute reference to symbol

	;this only exists on '020's and above, in the (d8,An,Xn)
	;address mode

EXT_ABSREF8	EQU	139	;8 bit absolute reference to symbol


	ENDC	;DOS_DOSHUNKS_I