;	0001	module zap (main = zap)=
;	0002	begin
;	0003	
;	0004	!	Performs the $forcex system service on a process.  This is about
;	0005	!	the same as ^Y.  The PID is obtained via GET_PID.
;	0006	!
;	0007	!	R.J. FitzPatrick		July 1979
;	0008	!	Smithsonian Astrophysical Observatory, Cambridge MA
;	0009	!
;	0010	
;	0011	library 'SYS$LIBRARY:STARLET.L32';
;	0012	
;	0013	own
;	0014		pid: long;
;	0015	
;	0016	external routine
;	0017		get_pid;
;	0018	
;	0019	global routine zap (start_add, cli_callback) =
;	0020	    begin
;	0021	
;	0022	    local
;	0023		status;
;	0024	
;	0025		status = get_pid (.cli_callback, pid) ;
;	0026		if .status neq ss$_normal then return .status;
;	0027		if .pid eql 0 then return ss$_nonexpr;
;	0028		$forcex( pidadr=pid, code=ss$_abort )
;	0029	    end;


	.TITLE  ZAP

	.PSECT  $OWN$,NOEXE,2

PID:	.BLKB   4

	.EXTRN  GET_PID, SYS$FORCEX

	.PSECT  $CODE$,NOWRT,2

	.ENTRY  ZAP, ^M<R2>			     ;ZAP, Save R2							      ; 0019
	MOVAB   W^PID, R2			     ;PID, R2								      ;
	PUSHL   R2				     ;R2								      ; 0025
	PUSHL   8(AP)				     ;CLI_CALLBACK							      ;
	CALLS   #2, W^GET_PID			     ;#2, GET_PID							      ;
	CMPL    R0, #1				     ;STATUS, #1							      ; 0026
	BNEQ    2$				     ;2$								      ;
	TSTL    (R2)				     ;PID								      ; 0027
	BNEQ    1$				     ;1$								      ;
	MOVZWL  #2280, R0			     ;#2280, R0								      ;
	RET     				     ;									      ;
1$:	PUSHL   #44				     ;#44								      ; 0028
	CLRL    -(SP)				     ;-(SP)								      ;
	PUSHL   R2				     ;R2								      ;
	CALLS   #3, @#SYS$FORCEX		     ;#3, @#SYS$FORCEX							      ;
2$:	RET     				     ;									      ; 0019

; Routine Size:  46 bytes


;	0030	end
;	0031	eludom






;				       PSECT SUMMARY
;
;	Name		 Bytes			       Attributes
;
;  $OWN$          	     4    WRT,  RD ,NOEXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)
;  $CODE$         	    46  NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)




;				LIBRARY STATISTICS
;
;					     -------- Symbols --------    Blocks
;	File				     Total    Loaded   Percent      Read
;
;  DBA0:[SYSLIB]STARLET.L32;2		      2688         4         0       110





; Compilation Complete

	.END	ZAP
