;$IO OFID OPEN FILE FOR INPUT/OUTPUT ;. 08-APR-80 P. CANNON FIXED BUG THAT OMITTED THE LUN IN ;. THE MACRO CALL ;. 07-FEB-78 M. R. FENRICK ;. 26-SEPT-76 P. CANNON ;. ;. THIS MODULE OPENS A FILE FOR INPUT/OUTPUT ;. OPERATIONS. ;. ;. CALL OFID(FDB,HOC,LUN,IER) ;. SUBROUTINE PARSE MUST BE CALLED TO FILL IN FILE NAME IN FDB FROM FNM. ;. SUBROUTINE FIND MUST BE CALLED TO FILL IN THE FID FEILD OF THE FDB. ;. 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 OFID$ MACRO IS : ; ; OFID$ FDB,FACC,LUN,DSPT,DFNB,RACC,URBA,URBS,ERR ; ; FDB FILE DESCRIPTOR BLOCK ; FACC FILE ACCESS SPECIFICATION (E.G. READ ONLY, ; READ/WRITE, ETC. ) ; 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 OFID - OPEN A FILE FOR INPUT/OUTPUT .IDENT /V01/ .PSECT .GLOBL OFID .GLOBL PARM,IOFERR .MCALL OFID$ ; EF: .WORD 0 ;ADDRESS OF PARAMETER LIST .WORD 0 ;NBR OF TIMES CALLED OFID: 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 ; OFID FDB,FACC,LUN,DSPT,DFNB,RACC OFID$ R0,R1,R2,,,R3 JSR PC,IOFERR XIT: RTS PC ; .END