From uunet!mcsun!cip-s01.informatik.rwth-aachen.de!stefanb Mon, 8 Oct 90 09:19:19 PST
Received: by overload.Berkeley.CA.US (1.06D/Amiga)
	id AA00000; Mon, 8 Oct 90 09:19:19 PST
Received: from mcsun.UUCP by uunet.uu.net (5.61/1.14) with UUCP 
	id AA02154; Sat, 6 Oct 90 15:59:56 -0400
Received: by mcsun.EU.net with SMTP; Sat, 6 Oct 90 17:22:54 +0100
Received: from [192.35.229.1] 
	by unido.informatik.uni-dortmund.de with SMTP via EUnet (UNIDO-2.0.2.c) via EUnet
	for mcsun.eu.net
	id AQ05894; Sat, 6 Oct 90 16:45:22 +0100
Received: by informatik.rwth-aachen.de (5.51/CA.16)
	id AA06804; Sat, 6 Oct 90 16:45:19 +0100
Received: by cip-s01.informatik.rwth-aachen.de (4.0/RWTHINF.1)
	id AA09444; Sat, 6 Oct 90 16:38:41 +0100
Message-Id: <9010061538.AA09444@cip-s01.informatik.rwth-aachen.de>
Date: Sat, 6 Oct 90 16:38:39 MET
X-Mailer: ELM [version 2.3 PL6]
From: uunet!cip-s01.informatik.rwth-aachen.de!stefanb (Stefan Becker)
To: overload!dillon (Matthew Dillon)
Subject: New arpreq() for 2.0

Hi Matt!
Here is a new afilereq.a for DME which uses the asl.library
File Requester.

-------------------- Cut Here -----------
; new arpreq() function for DME, which uses the new "asl.library"

         ;   arpreq(hail,file,dir,window)

         section  text,code

         xdef     _arpreq
         xref     _LVOOpenLibrary
         xref     _LVOCloseLibrary
         xref     _LVOAllocFileRequest
         xref     _LVORequestFile
         xref     _LVOFreeFileRequest

aslname  dc.b  $61,$73,$6C,$2E,$6C,$69,$62,$72,$61,$72,$79,0

_arpreq  movem.l  D2-D3/A2/A6,-(sp)
         move.l   4,a6                 ; open asl.library
         lea.l    aslname(pc),a1
         clr.l    d0
         jsr      _LVOOpenLibrary(a6)
         tst.l    d0
         beq      return               ; no luck today...

         move.l   d0,a6
         clr.l    d2                   ; set result to NULL
         jsr      _LVOAllocFileRequest(a6)   ; alloc FileRequester structure
         tst.l    d0
         beq      closelib             ; no luck either :-(

         move.l   d0,a2
         movem.l  20(sp),D0-D3         ; initialize data (4 longword registers
                                       ; + return address = 20 Bytes offset)
         movem.l  D0-D3,(a2)

         move.l   a2,a0
         jsr      _LVORequestFile(a6)  ; display requester
         move.l   d0,d2                ; save result

         move.l   a2,a0                ; free FileRequester structure
         jsr      _LVOFreeFileRequest(a6)

closelib move.l   a6,a1                ; close asl.library
         move.l   4,a6
         jsr      _LVOCloseLibrary(a6)

         move.l   d2,d0                ; set return code
return   movem.l  (sp)+,D2-D3/A2/A6
         rts

         end
-------------------- Cut Here -----------

	Stefan

