. . *** RF$PROC - RANDOM FILE PACKAGE PROCEDURES *** . . RF$FCT - GENERATE FILE CONTROL TABLE . . FORMAT OF CALL: . . RF$FCT 'FILE' FPOOL,SIZE BUFF1,BUFF2 . . WHERE . FILE = INTERNAL FILE NAME . FPOOL = LOCATION OF FASTRAND POOL TABLE . SIZE = NUMBER OF WORDS IN CORE BUFFERS . BUFF1,BUFF2 = LOCATION OF CORE BUFFERS . P$ PROC 3,10 RF$FCT* NAME A(0) EQU P$(1,1)+0D DO 12 , DO 077**A(0)*/-66=0 ,A(0) EQU A(0)*/6++' ' Z FORM 6,6,6,18 + A(0) + 0 Z 0,0,0,0 + P$(2,2),0 + 0 + P$(3,1),P$(3,2) Z 0,0,0,P$(2,1) + 0,0 + 0,0 END . . RF$POOL - GENERATE MASS STORAGE POOL TABLE . . FORMAT OF CALL: . . RF$POOL COUNT,SIZE,START . . WHERE . COUNT = NUMBER OF BLOCKS . SIZE = BLOCK SIZE IN SECTORS . START = SECTOR ADDRESS OF POOL AREA . P$ PROC *1 RF$POL* NAME Z FORM 6,12,18 Z 0,P$(1,2),P$(1,1)//32 + P$(1,3) DO P$(1,1)*/-5 , + 0377777777770 DO P$(1,1)**037>0 , + 0377777777777-1*/(35-(037**P$(1,1)))+1 END . / . . RFP$O - GENERATE OPEN CALLING SEQUENCE . . FORMAT OF CALL: . . RFP$O [FCT[,CODE[,ERROR]]] . . WHERE . FCT = FILE CONTROL TABLE LOCATION . CODE = OPERATION CODE . ERROR = ERROR ACTION ADDRESS . . NOTE: THE BRACKETS DENOTE POSSIBLE OMISSIONS IN THE . SENSE OF THE COBOL DROPOUT RULES. CODE . CORRESPONDING TO THE OMITTED FIELDS WILL NOT BE . GENERATED. . P$ PROC *1 RFP$O* NAME RFPO$ DO P$(1)>0 , LA,14 12,P$(1,1) DO P$(1)>1 , LA,14 13,P$(1,2) LMJ 11,P$(0,0) DO P$(1)>2 , J P$(1,3) END . . RFP$C - GENERATE CLOSE CALLING SEQUENCE . RFP$R - GENERATE READ CALLING SEQUENCE . RFP$W - GENERATE WRITE CALLING SEQUENCE . . FORMAT OF CALL: . . NAME [FCT[,ERROR[,EOF]]] . . WHERE . NAME = NAME OF PROCEDURE . FCT = FILE CONTROL TABLE LOCATION . ERROR = ERROR ACTION ADDRESS . EOF = END OF FILE ACTION ADDRESS . . NOTE: THE END OF FILE ADDRESS IS MEANINGFUL . ONLY FOR RFP$R. . P$ PROC *1 RFP$C* NAME RFPC$ RFP$R* NAME RFPR$ RFP$W* NAME RFPW$ DO P$(1)>0 , LA,14 12,P$(1,1) LMJ 11,P$(0,0) DO P$(1)>1 , J P$(1,2) DO P$(1)>2 , J P$(1,3) END .