.TITLE DELETE SUBROUTINE FOR FORTRAN ; ; FORTRAN CALL: ; CALL DELETE (LUN,ERR) ; ; WHERE LUN = LOGICAL UNIT NUMBER ; ; RETURN: ; ERR = FCS ERROR CODE FROM FDB. ; ; NOTE: ; FILE MUST EITHER BE OPEN, OR FDBSET MUST BE USED (ALONG) ; WITH CALL ASSIGN) TO FILL IN THE REQUIRED INFO IN THE ; FDB. ; ; INVALID LUN'S WILL RESULT IN A FORTRAN ERROR TRAPPED BY ; THE FCHNL ROUTINE. ; .MCALL DELET$ .GLOBL $FCHNL,$OTSV .ENABL LSB DELETE::MOV @2(R5),R2 ;GET LUN MOV @#$OTSV,R3 ;GET WORK AREA ADDRESS JSR PC,$FCHNL ;FIND FDB ADDRESS MOV R0,R1 ;SAVE ADDRESS OF FORTRAN FDB ADD #14,R0 ;GET TO RSX FDB DELET$ R0 ;DELETE FILE BCS ERR ;ERROR? MOV #66,R0 ;THIS MANY WORDS TO ZERO 1$: CLR (R1)+ ;MAKE THIS LUN RE-USABLE. DEC R0 BNE 1$ 2$: MOV R0,@4(R5) ;STORE ERROR CODE (OR 0) RTS PC ;AND RETURN TO CALLER ERR: MOVB F.ERR(R0),R0 ;GET FCS ERROR CODE FROM FCS BR 2$ ;AND USE COMMON RETURN .DSABL LSB .END