*DECK C$DELFL 
          IDENT  C$DELFL
          TITLE  C.DELFL - DELETE FILE PROCESSOR
          COMMENT  DELETE FILE PROCESSOR
          SST 
*CALL IODEFSC 
*CALL IOMICROS
 C.DELFL  SPACE  4
* 
**        C.DELFL - DELETE FILE PROCESSOR 
* 
*         CALLING SEQUENCE
*                SA0  FIT ADDRESS 
*                SB6  RETURN ADDRESS
*                EQ   =XC.DELFL 
* 
*         DOES A RETURN ON A FILE 
*                IF THE FILE IS INPUT IT IS POSITIONED TO THE NEXT EOR
*                IF THE FILE IS OPENED VIA DISPLAY, THE REQUEST IS
*                    IGNORED. 
*                IF THE FILE IS OPEN - ISSUE A DIAG AND IGNORE
* 
*         USES - ALL REGISTERS - A0 AND B6 SAVED
* 
          ENTRY  C.DELFL
 C.DELFL  BSS    0
          RJ     =XC.SVRTN
          SA1    A0          GET LFN
          MX7    42 
          SX6    B1 
          SA3    =XC.SYSF+#INPT#-1
          BX2    X7*X1       MASK OFF LFN 
          IX7    X2+X6       SET COMPLETE BIT 
          SA7    DMYFET 
          BX5    X2-X3
          NZ     X5,DORTN    JP IF NOT THE FILE INPUT 
          FETCH  A0,OC,X5    GET OPEN-CLOSE FLAG
          SX5    X5-#OPE# 
          NZ     X5,INNTO    JP IF NOT OPEN 
          FETCH  A0,DSPO,X5  GET DISPLAY OPENED (OR ACCEPT) FLAG
          PL     X5,OPERR    NOT OPENED BY ACCEPT - ERROR 
          FETCH  A0,FP,X5    GET FILE POSITION
          SX5    X5-#EOS# 
          PL     X5,=XC.NORRT      RETURN IF AT END OF SECTION
          STORE  A0,DX=0     NO DATA EXIT WANTED
          SKIPFP A0,0        SKIP TO END OF PARTITION 
          EQ     =XC.NORRT   RETURN 
 INNTO    BSS    0
          SKIPF  DMYFET,1,0,RCL    SKIP OVER RECORD 
          EQ     =XC.NORRT   RETURN 
 DORTN    BSS    0
          FETCH  A0,OC,X4    GET OPEN-CLOSE FLAG
          SX5    X4-#OPE# 
          NZ     X5,DORTN2   JP IF NOT OPEN 
          FETCH  A0,DSPO,X5  GET DISPLAY OPENED FLAG
          NG     X5,DORTN2   JP IF DISPLAY OPENED IT
 OPERR    BSS    0
          SX1    #DLFLOP     MSG
          MX2    0           NO INSERTS 
          MX7    0           DO NOT ABORT 
          RJ     =XC.IOERR   OUTPUT ERROR MESSAGE 
          EQ     =XC.NORRT   RETURN 
 DORTN2   BSS    0
          ZR     X4,DORTN3   JP IF OC FLAG NOT SET
          FETCH  A0,CF,X6 
          SA6    =SSAVECF    SAVE CLOSE FLAG
          STORE  A0,EX=0     NO ERROR PROCESSING
          CLOSEM A0,RET      CAUSE CRM TO SET OC CORRECTLY
          SA1    SAVECF 
          STORE  A0,CF=X1    RESTORE CLOSE FLAG 
 DORTN3   BSS    0
          RETURN DMYFET,RCL  RETURN THE FILE
          FETCH  A0,XN,X6 
          ZR     X6,=XC.NORRT EXIT IF NOT MIPPED
          SX7    B1           SET COMPLETE BIT
          IX7    X6+X7
          SA7    DMYFET 
          RETURN DMYFET,RCL 
          EQ     =XC.NORRT   RETURN 
 DMYFET   FILEC  DMYFET,64   A DUMMY FET FOR RETURN 
          END 
