README.md
THESE ROUTINES WERE DESIGNED TO ALLOW A FORTRAN PROGRAM TO
GET ACCESS TO THE ASSEMBLY LANGUAGE MACROS WHICH INTERFACE
TO FCS. IT IS ASSUMED THE USER IS FAMILIAR WITH THE
IAS/RSX-11 I/O OPERATIONS REFERENCE MANUAL. THE USER SHOULD
READ THIS MANUAL CAREFULLY. THE USER SHOULD ALSO PAY ATTENTION
TO THE APPENDIX IN THE BACK OF THE MANUAL WHICH DETAILS THE
CONTENTS OF THE FILE DESCRIPTOR BLOCK (FDB).
IN USING THESE SUBROUTINES THE USER ALLOCATES A 128 BYTE
ARRAY IN HIS FORTRAN PROGRAM TO HOLD THE FDB. THE SUBROUTINES
USE THIS ARRAY AS THEIR FDB WHEN CALLING THE FCS MACROS.
THUS THE FORTRAN PROGRAMMER HAS COMPLETE ACCESS TO EVERY
PARAMETER THAT FCS KEEPS IN THE FILE DESCRIPTOR BLOCK.
THE FCS MACROS ALSO RETURN A VALUE TO A TWO WORD I/O STATUS BLOCK.
THE "INIT" SUBROUTINE MODIFIES THE F.BKST FIELD IN THE FDB SO THAT
THE ADDRESS OF THE I/O STATUS BLOCK POINTS TO BYTES 124-128 OF
THE FDB ARRAY. THUS THE FORTRAN PORGRAMMER CAN EXAMINE BYTES 124-128
OF THE FDB TO SEE WHAT FCS PLACES IN THE I/O STATUS BLOCK AFTER
EACH I/O OPERATION.
THE USER SHOULD PAY PARTICULAR ATTENTION TO THE FOLLOWING
LOCATIONS IN THE FDB.
F.RTYP RECORD TYPE BYTE
F.RATT RECORD ATTRIBUTE BYTE
F.RSIZ RECORD SIZE BYTE
THE "HOW OPEN CODE" FIELD IS COMPOSED OF TWO BYTES, RACC AND FACC
THEY ARE FOUND IN THE FDB.
F.RACC RECORD ACCESS BYTE. BIT 0 THROUGH 3 OF THIS BYTE DEFINE
THE RECORD-ACCESS MODES.
BIT 0 =1 TO INDICATE READ$/WRITE$ MODE (FD.RWM); OTHERWISE
IT IS 0 TO INDICATE GET$/PUT$ MODE
BIT 1 = 1 TO INDICATE RANDOM-ACCESS MODE (FD.RAN) FOR GET$/PUT$
RECORD I/O; OTHERWISE, IT IS 0 TO INDICATE SEQUENTIAL ACCESS
MODE.
BIT 2 = 1 TO INDICATE LOACATE MODE (FD.PLC) FOR GET$/PUT$
RECORD I/O; OTHERWISE, IT IS 0 TO INDICATE MOVE MODE.
BIT 3 = 1 TO INDICATE THAT PUT$ OPERATION IN SEQUENTIAL MODE
DOES NOT TRUNCATE THE FIELD (FD.INS); OTHERWISE, IT IS 0
TO INDICATE THAT PUT$ OPERATION IN SEQUENTIAL MODE TRUNCATES
THE FILE.
F.FACC FILE-ACCESS BYTE. THIS BYTE INDICATES THE ACCESS PRIVILEGES
FOR A FILE.
BIT 0 = 1 IF THE FILE IS ACCESSED FOR READ ONLY (FA.RD).
BIT 1 = 1 IF THE FILE IS ACCESSED FOR WRITING (FA.WRT).
BIT 2 = 1 IF THE FILE IS ACCESSED FOR EXTENDING (FA.EXT).
BIT 3 = 1 IF A NEW FILE IS BEING CREATED (FA.CRE); OTHERWISE
IT IS 0 TO INDICATE AN EXISTING FILE.
BIT 4 =1 IF THE FILE IS A TEMPORARY FILE (FA.TMP).
BIT 5 = 1 IF THE FILE IS OPENED FOR SHARED ACCESS (FA.SHR).
IF BIT 3 ABOVE IS 0;
BIT 6 = 1 IF AN EXISTING FILE IS BEING APPENDED (FA.APD).
IF BIT 3 ABOVE IS 1;
BIT 6 = 1 IF NOT SUPERSEDING AN EXISTING FILE AT FILE-
CREATE TIME (FA.NSP).
RESPECTIVELY SUBMITTED
PHILIP H. CANNON
SCIENCE APPLICATIONS, INC.
SUITE 901
1211 W 22ND STREET
OAKBROOK, IL.