	.TITLE NTABT
	.ENABLE LC
	.IDENT /101488/
;
; Description: NTABT - Abort Network Link
;        File: [22,310]NTABT.MAC
;      Author: Jim Bostwick   1-JUN-1988 
;   Last Edit: 15-NOV-1988 12:10:11 
;     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:01  - JMB PA3UTL upgrade.
;

.REM |
{*CALL*}

Procedure NTABT	( 
	Lun: Integer;
	efn: Event_flag;
	msg: CH16;
	VAR IOSB: IO_Status_block
		);External;

{*USER*

Immediately abort specified logical link. All pending traffic on the 
link is killed, and the LUN freed. 

EFN is required (do NOT use f0), and is set when the abort completes
(will be set upon return). 

MSG is an optional user data string which is sent to the other end
of the link as part of the disconnect message. It may be of zero length
(in-use length). It is recommended that an empty type-0 string be used
if no user message is desired. 

Control returns when the abort completes. 
 } 

{*WIZARD*

 }

|

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

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

	PROC NTABT
	PARAM lun, Integer		; lun of link to be killed
	PARAM efn, Char			; (byte) Event flag
	PARAM msg, 16*Char		; user data 
	PARAM iosb, address		; io status block

	SAVE <R0,R1,R2,R3>
	BEGIN
	mov	sp, r0			; get local copy
	movb	efn(sp), r1		; copy efn
	bic	#^C377, r1		; zap high byte
	mov	#16., r3		; set msg length
	mov	sp, r2			; point at msg
	add	#msg, r2
	tstb	(r2)			; zero length msg?
	bne	10$			; no - send it
	clr	r2			; say no msg
	clr	r3
10$:
	ABTW$S	lun(r0),r1,iosb(r0),,<r2,r3>

	ENDPR

	.END


