;  liblink.asm -- jimm mackraz, oct 28, 1986
;  application side interface for C-routines calling example library

	include 'exec/types.i'
	include 'exec/libraries.i'

	LIBINIT
	LIBDEF	_LVOXProtocolCleanup
	LIBDEF	_LVOXProtocolSetup
	LIBDEF	_LVOXProtocolSend
	LIBDEF	_LVOXProtocolReceive
	LIBDEF	_LVOXProtocolHostMon
	LIBDEF	_LVOXProtocolUserMon

	; --- xref from application
	public	_XProtocolBase

	; --- xdef for application
        public	_XProtocolCleanup
        public	_XProtocolSetup
        public	_XProtocolSend
	public	_XProtocolReceive
	public	_XProtocolHostMon
	public	_XProtocolUserMon

_XProtocolCleanup:
	move.l	4(sp),a0		; First argument on stack
	move.l	_XProtocolBase,a6
	jmp	_LVOXProtocolCleanup(a6)

_XProtocolSetup:
	move.l	4(sp),a0		; First argument on stack
	move.l	_XProtocolBase,a6
	jmp	_LVOXProtocolSetup(a6)

_XProtocolSend:
	move.l	4(sp),a0		; First argument on stack
	move.l	_XProtocolBase,a6
	jmp	_LVOXProtocolSend(a6)

_XProtocolReceive:
	move.l	4(sp),a0		; First argument on stack
	move.l	_XProtocolBase,a6
	jmp	_LVOXProtocolReceive(a6)

_XProtocolHostMon:
	move.l	4(sp),a0		; First  argument on stack
	move.l	8(sp),a1		; Second argument on stack
	move.l	12(sp),d0		; Third  argument on stack
	move.l	16(sp),d1		; Fourth argument on stack
	move.l	_XProtocolBase,a6
	jmp	_LVOXProtocolHostMon(a6)

_XProtocolUserMon:
	move.l	4(sp),a0		; First  argument on stack
	move.l	8(sp),a1		; Second argument on stack
	move.l	12(sp),d0		; Third  argument on stack
	move.l	16(sp),d1		; Fourth argument on stack
	move.l	_XProtocolBase,a6
	jmp	_LVOXProtocolUserMon(a6)

