	AREA	|C$$code|, CODE, READONLY

	EXPORT	DDEUtils_ThrowbackStart
	EXPORT	DDEUtils_ThrowbackSend_Processing
	EXPORT	DDEUtils_ThrowbackSend_Error
	EXPORT	DDEUtils_ThrowbackSend_Info
	EXPORT	DDEUtils_ThrowbackEnd

DDEUtils_ThrowbackStart
	stmfd	r13!, {r14}
	swi	0x62587 ; XDDEUtils_ThrowbackStart
	ldmfd	r13!, {pc}^

; entry
;	r0 = pointer to nul-terminated full pathname of file being processed
DDEUtils_ThrowbackSend_Processing
	stmfd	r13!, {r14}
	mov	r2, r0
	mov	r0, #0
	swi	0x62588 ; XDDEUtils_ThrowbackSend
	ldmfd	r13!, {pc}^

; entry
;	r0 = pointer to nul-terminated full pathname of file being processed
;	r1 = line number
;	r2 = severity of error
;		= 0 for warning
;		= 1 for error
;		= 2 for serious error
;	r3 = pointer to nul-terminated description of error
DDEUtils_ThrowbackSend_Error
	stmfd	r13!, {r4, r5, r14}
	mov	r5, r3
	mov	r4, r2
	mov	r3, r1
	mov	r2, r0
	mov	r0, #1
	swi	0x62588 ; XDDEUtils_ThrowbackSend
	ldmfd	r13!, {r4, r5, pc}^

; entry
;	r0 = pointer to nul-terminated full pathname of file being processed
;	r1 = line number to which 'informational' message refers
;	r2 = pointer to nul-terminated 'informational' message
DDEUtils_ThrowbackSend_Info
	stmfd	r13!, {r4, r5, r14}
	mov	r5, r2
	mov	r4, #0
	mov	r3, r1
	mov	r2, r0
	mov	r0, #2
	swi	0x62588 ; XDDEUtils_ThrowbackSend
	ldmfd	r13!, {r4, r5, pc}^

DDEUtils_ThrowbackEnd
	stmfd	r13!, {r14}
	swi	0x62589 ; XDDEUtils_ThrowbackEnd
	ldmfd	r13!, {pc}^

	END
