.TITLE RMSDIS .IDENT /01.00/ .PSECT RMSFTN ; ; ; ;BRIDGEPORT-TEXTRON BRIDGEPORT-TEXTRON BRIDGEPORT-TEXTRON BRIDGEPORT-TEXTRON ;B B ;R PURPOSE: A FORTRAN COMPATIBLE RMS INTERFACE R ;I I ;D D ;G AUTHOR: ARTHUR P. GAUGHAN, JR. G ;E E ;P DATE: 5/31/78 P ;O O ;R GLOBAL SYMBOLS DEFINED IN THIS MODULE: RMSDIS R ;T T ;! GLOBAL SYMBOLS REFERENCED IN THIS MODULE: $RLCB ! ;T T ;E E ;X X ;T T ;R R ;O INPUTS: CALL RMSDIS (LUN,ISTAT) O ;N CALLG RMSDIS <#LUN,#ISTAT> N ;! OUTPUTS: ISTAT ! ;! ! ;H HOUSEKEEPING: H ;O O ;R R ;S NOTES: S ;H H ;A A ;M M ;BRIDGEPORT-TEXTRON BRIDGEPORT-TEXTRON BRIDGEPORT-TEXTRON BRIDGEPORT-TEXTRON ; ; ; .MCALL RABOF$,RAB$BT,$DISCONNECT .MCALL SMACIT ; ; ; RABOF$ RMS$L ;DEFINE OFFSETS LOCALLY RAB$BT DFIN$L ;DEFINE RAB BIT PATTERNS LOCALLY SMACIT ;DEFINE SUPERMAC ; ; ; ;DEFINE FORTRAN COMPATIBLE PARAMETER BLOCK ; ; ; LUN=2 ISTAT=4 NULARG=-1 ; ; ; PROCEDURE RMSDIS,GLOBAL ; ; ; IFB (R5) NE #2 ;TWO ARGUMENTS??? TRAP ;IF NOT, QUIT HERE END IF ISTAT(R5) EQ #NULARG ;NO STATUS BLOCK? EMT ;IF NOT, QUIT HERE END ; ; ; IF LUN(R5) EQ #NULARG ;LUN SPECIFIED? LET @ISTAT(R5) := #XX$LUN ;IF NOT, SAY LUN NOT SPECIFIED $RETURN ;RETURN TO CALLER END LET R0 := @LUN(R5) ;PICK UP LUN LET R0 := R0 L.SHIFT 1 ;CONVERT TO WORD INDEX IF $$$RAB(R0) EQ #0 ;RECORD STREAM CONNECTED? LET @ISTAT(R5) := #XX$STM ;SAY STREAM NOT CONNECTED $RETURN ;RETURN TO CALLER END ; ; ; LET R2 := $$$RAB(R0) ;PICK UP RAB ADDRESS $DISCONNECT R2 ;DISCONNECT THE RECORD ACCESS STREAM LET @ISTAT(R5) := O$STS(R2) ;SET STATUS LET $$$RAB(R0) := #0 ;ZERO THE TABLE ENTRY $CALL $RLCB <#$$$RMS,#RB$BLN,R2> ;RELEASE THE RAB $RETURN ;RETURN TO CALLER ; ; ; ;/////////////////////////////////////////////////////////////////////// .END