	.TITLE NTREC
	.ENABLE LC
	.IDENT /010688/

;
;     Description: NTREC - Receive data over DECnet Logical Link
;		   NTRECW - Wait for and Receive DECnet Data
;	     File: [22,310]NTREC.MAC
;	   Author: Jim Bostwick   1-JUN-1988 
;	Last Edit: 15-NOV-1988 12:23:46 
;	  History: 
;		 3-AUG-1989 10:50:29 - JMB - changed location of PASMAC (again)
;		 15-NOV-88 12:00:00 - JMB - Conform to AMI Header specs. 
;		 23-JUN-1988 21:17:46  - JMB PA3UTL upgrade.
;

.REM |
{*CALL*}

Procedure NTRECW (
	Lun: Integer;
	Efn: Event_Flag;
	Buff: Address; 
	Bufflen: Integer;
	VAR IOSB: IO_Status_block
	);External;

{*USER*
 
 Receive data over established logical link. BUFF will receive the data. 
BUFFLEN specifies the buffer size, and must be in the range 1..8192. bytes. 
LUN specifies the unit used in the NTCON or NTACC call, *NOT* the network
mailbox lun!

 } 

{*WIZARD*

RECW$S synchronous call used. AST support not implemented. 
 }

{*CALL*}

Procedure NTREC (
	Lun: Integer;
	Efn: Event_Flag;
	Buff: Address; 
	Bufflen: Integer;
	VAR IOSB: IO_Status_block
	);External;

{*USER*

Asynchronous Receive data over established logical link. BUFF will receive the
data. BUFFLEN specifies the buffer size, and must be in the range 1..8192.
bytes. LUN specifies the unit used in the NTCON or NTACC call, *NOT* the
network mailbox lun! 

This call uses the REC$S call - it returns immediately. You must examine
the IOSB to determine when the receive has completed. 
 } 

{*WIZARD*

REC$S asynchronous call used. AST support not implemented. 
 }

|

;
; Assemble with PASMAC.MAC as prefix file.
;

	.library /lb:[1,1]netlib.mlb/
	.include /pas$utl:pasmac.mac/

	.mcall RECW$S,REC$S

	PROC NTRECW
	PARAM LUN, Integer
	PARAM EFN, Char
	PARAM BUFF, Address
	PARAM Blen, Integer
	PARAM IOSB, Address

	SAVE <R0,R1>
	BEGIN
	mov	sp, r0
	movb	efn(r0), r1		; get efn
	bic	#^C377, r1
	RECW$S lun(r0),r1,iosb(r0),,<buff(r0),Blen(r0)>

	ENDPR

	PROC NTREC
	PARAM LUN, Integer
	PARAM EFN, Char
	PARAM BUFF, Address
	PARAM Blen, Integer
	PARAM IOSB, Address

	SAVE <R0,R1>
	BEGIN
	mov	sp, r0
	movb	efn(r0), r1		; get efn
	bic	#^C377, r1
	REC$S lun(r0),r1,iosb(r0),,<buff(r0),Blen(r0)>

	ENDPR

	.END

