;	source for library

	INCLUDE "exec/types.i"
	INCLUDE "libraries/multireq.i"
	INCLUDE "libraries/multireq_lib.i"

	public	_MultiReqBase

;	StrLen(str)(a0)

	public	_StrLen
_StrLen:
	move.l	a6,-(sp)
	move.l	8(sp),a0
	move.l	_MultiReqBase,a6
	jsr	_LVOStrLen(a6)
	move.l	(sp)+,a6
	rts

;	StrCpy(src,dest)(a0/a1)

	public	_StrCpy
_StrCpy:
	move.l	a6,-(sp)
	movem.l	8(sp),a0/a1
	move.l	_MultiReqBase,a6
	jsr	_LVOStrCpy(a6)
	move.l	(sp)+,a6
	rts

;	StrCmp(str1,str2)(a0/a1)

	public	_StrCmp
_StrCmp:
	move.l	a6,-(sp)
	movem.l	8(sp),a0/a1
	move.l	_MultiReqBase,a6
	jsr	_LVOStrCmp(a6)
	move.l	(sp)+,a6
	rts

;	StrIns(src,dest)(a0/a1)

	public	_StrIns
_StrIns:
	move.l	a6,-(sp)
	movem.l	8(sp),a0/a1
	move.l	_MultiReqBase,a6
	jsr	_LVOStrIns(a6)
	move.l	(sp)+,a6
	rts

;	UpperCase(character)(d0)

	public	_UpperCase
_UpperCase:
	move.l	a6,-(sp)
	move.l	8(sp),d0
	move.l	_MultiReqBase,a6
	jsr	_LVOUpperCase(a6)
	move.l	(sp)+,a6
	rts


;	TestPattern(wild,str)(a0/a1)

	public	_TestPattern
_TestPattern:
	move.l	a6,-(sp)
	movem.l	8(sp),a0/a1
	move.l	_MultiReqBase,a6
	jsr	_LVOTestPattern(a6)
	move.l	(sp)+,a6
	rts


;	DelPort(port)(a1)

	public	_DelPort
_DelPort:
	move.l	a6,-(sp)
	move.l	8(sp),a1
	move.l	_MultiReqBase,a6
	jsr	_LVODelPort(a6)
	move.l	(sp)+,a6
	rts

;	CrtPort(name,pri)(a0,d0)

	public	_CrtPort
_CrtPort:
	move.l	a6,-(sp)
	move.l	8(sp),a0
	move.l	12(sp),d0
	move.l	_MultiReqBase,a6
	jsr	_LVOCrtPort(a6)
	move.l	(sp)+,a6
	rts

;	GetCurrentPath(buff)(a0)

	public	_GetCurrentPath
_GetCurrentPath:
	move.l	a6,-(sp)
	move.l	8(sp),a0
	move.l	_MultiReqBase,a6
	jsr	_LVOGetCurrentPath(a6)
	move.l	(sp)+,a6
	rts


;	DrawBox(rp,x1,y1,x2,y2,col1,col2)(a1,d0/d1/d2/d3/d4/d5)

	public	_DrawBox
_DrawBox:
	movem.l	d2-d5/a6,-(sp)
	move.l	24(sp),a1
	movem.l	28(sp),d0-d5
	move.l	_MultiReqBase,a6
	jsr	_LVODrawBox(a6)
	movem.l	(sp)+,d2-d5/a6
	rts


;	DrawFilledBox(rp,x1,y1,x2,y2,col1,col2,fillcol)(a1,d0/d1/d2/d3/d4/d5/d6)

	public	_DrawFilledBox
_DrawFilledBox:
	movem.l	d2-d6/a6,-(sp)
	move.l	28(sp),a1
	movem.l	32(sp),d0-d6
	move.l	_MultiReqBase,a6
	jsr	_LVODrawFilledBox(a6)
	movem.l	(sp)+,d2-d6/a6
	rts


;	DrawTexts(rp,textlist)(a1,a0)

	public	_DrawTexts
_DrawTexts:
	move.l	a6,-(sp)
	move.l	8(sp),a1
	move.l	12(sp),a0
	move.l	_MultiReqBase,a6
	jsr	_LVODrawTexts(a6)
	move.l	(sp)+,a6
	rts


;	DrawWinBorder(win,title)(a0/a1)

	public	_DrawWinBorder
_DrawWinBorder:
	move.l	a6,-(sp)
	movem.l	8(sp),a0/a1
	move.l	_MultiReqBase,a6
	jsr	_LVODrawWinBorder(a6)
	move.l	(sp)+,a6
	rts


;	DrawGadgetBorder(gadgets,win,numgad)(a0/a1,d0)

	public	_DrawGadgetBorder
_DrawGadgetBorder:
	move.l	a6,-(sp)
	movem.l	8(sp),a0/a1
	move.l	16(sp),d0
	move.l	_MultiReqBase,a6
	jsr	_LVODrawGadgetBorder(a6)
	move.l	(sp)+,a6
	rts


;	InitFileReq(ptr,numlist)(a0,d0)

	public	_InitFileReq
_InitFileReq:
	move.l	a6,-(sp)
	move.l	8(sp),a0
	move.l	12(sp),d0
	move.l	_MultiReqBase,a6
	jsr	_LVOInitFileReq(a6)
	move.l	(sp)+,a6
	rts


;	FreeFileReq(filereq)(a0)

	public	_FreeFileReq
_FreeFileReq:
	move.l	a6,-(sp)
	move.l	8(sp),a0
	move.l	_MultiReqBase,a6
	jsr	_LVOFreeFileReq(a6)
	move.l	(sp)+,a6
	rts


;	FileRequester(filereq,screen)(a0/a1)

	public	_FileRequester
_FileRequester:
	move.l	a6,-(sp)
	movem.l	8(sp),a0/a1
	move.l	_MultiReqBase,a6
	jsr	_LVOFileRequester(a6)
	move.l	(sp)+,a6
	rts

	END
