;$IO OPNTD OPEN TEMPORARY FILE FOR INPUT/OUTPUT ;. 11-APR-79 M. R. FENRICK ;. ;. THIS MODULE OPENS A TEMPORARY FILE FOR INPUT/OUTPUT ;. OPERATIONS. FILE IS AUTOMATICALLY DELETED UPON CLOSING OR ABORTING. ;. ;. CALL OPNTD(FDB,HOC,LUN,IER) ;. FDB FILE DESCRIPTOR BLOCK ARRAY INTO WHICH FDB IS BUILT. ;. HOC HOW OPEN CODE (RACC,FACC) ;. 1 IMPLIES INPUT ;. 16 IMPLIES OUTPUT ;. LUN LOGICAL UNIT NUMBER ;. IER ERROR FLAG ;. POSITIVE IMPLIES NO ERROR ;. ZERO IMPLIES AN ERROR ;. NEGATIVE IMPLIES AN ERROR ; ; ; THE GENERAL FORM OF THE OPNT$ MACRO IS : ; ; OPNT$D FDB,LUN,DSPT,DFNB,RACC,URBA,URBS,ERR ; ; FDB FILE DESCRIPTOR BLOCK ; LUN LOGICAL UNIT NUMBER ; DSPT ADDRESS OF DATASET DESCRIPTOR BLOCK ; DFNB ADDRESS OF THE DEFAULT FILE NAME BLOCK ; RACC RECORD ACCESS SPECIFICATION (E.G. BLOCK I/O, ; RANDOM ACCESS,ETC. ) ; URBA ADDRESS OF THE USER RECORD BUFFER ; ; ; URBS THE SIZE OF THE USER RECORD BUFFER ; ; ERR THE SYMBOLIC ADDRESS OF AN OPTIONAL USER-CODED ; ERROR-HANDLING ROUTINE. ; .TITLE OPNTD - OPEN A FILE FOR INPUT/OUTPUT .IDENT /041179/ .PSECT .GLOBL PARM,IOFERR .MCALL OPNT$D ; EF: .WORD 0 ;ADDRESS OF PARAMETER LIST .WORD 0 ;NBR OF TIMES CALLED OPNTD:: MOV R5,EF ;SAVE ADDRESS OF PARAMETER LIST INC EF+2 ;ADD ONE TO THE NBR OF TIMES CALLED JSR PC,PARM ;LOAD PARAMETERS ;R4= NBR OF PARAMETERS ;R0= ADDRESS OF FDB ;R1= ADDRESS OF HOC CODE ;R2= LOGICAL UNIT NUMBER SUB #3,R4 ;REMOVE 3 FROM THE PARAMETER COUNT ;IS THAT ALL THE PARAMETERS THAT ;WERE SPECIFIED ? BLE XIT ;YES-THEN EXIT MOV R1,R3 ;RECALL ADDRESS OF HOC CODE MOVB (R3)+,R1 ;LOAD THE FACC MOVB (R3)+,R3 ;LOAD THE RACC ; OPNT FDB,LUN,DSPT,RACC OPNT$D R0,R2,#DSPT,R3 JSR PC,IOFERR ;STORE ERROR CODE XIT: RTS PC ; DATA SET DESCRIPTOR & FILE NAME DSPT: .WORD DEVL,DEV,DIRL,DIR,FILL,FIL DEV: .ASCII/SY0:/ DEVL=.-DEV DIR: DIRL=.-DIR FIL: .ASCII/WORK.TMP;0/ FILL=.-FIL .EVEN .END