.TITLE RMSINPUT .IDENT /V01.01/ $FABDEF $RABDEF $NAMDEF ; ; CHARACTER*16 DVI ; CHARACTER*(*) BUF ; INTEGER*2 FID(3),DID(3),SIZE ; INTEGER*4 ISTAT ; ISTAT=RMSOPEN(%DESCR(DVI),%REF(FID),%REF(DID)) ; ISTAT=RMSCLOSE() ; ISTAT=RMSGET(%DESCR(BUF),%REF(SIZE)) ; FAB: $FAB RAB: $RAB NAM: $NAM ; .ENTRY RMSOPEN,^M<> MOVAB FAB,R0 BISL2 #<1@FAB$V_NAM>,FAB$L_FOP(R0) MOVAB NAM,FAB$L_NAM(R0) BISB2 #<1@FAB$V_SHRGET>,FAB$B_SHR(R0) MOVAB NAM,R0 MOVL 4(AP),R1 MOVL 4(R1),R1 MOVQ (R1)+,NAM$T_DVI(R0) MOVQ (R1),NAM$T_DVI+8(R0) MOVL 8(AP),R1 MOVL (R1)+,NAM$W_FID(R0) MOVW (R1),NAM$W_FID+4(R0) MOVL 12(AP),R1 MOVL (R1)+,NAM$W_DID(R0) MOVW (R1),NAM$W_DID+4(R0) $OPEN FAB=#FAB BLBC R0,9$ MOVAB RAB,R0 MOVAB FAB,RAB$L_FAB(R0) BISL2 #<1@RAB$V_RAH>,RAB$L_ROP(R0) $CONNECT RAB=#RAB 9$: RET ; .ENTRY RMSCLOSE,^M<> $CLOSE FAB=#FAB RET ; .ENTRY RMSREAD,^M<> MOVAB RAB,R0 MOVL 4(AP),R1 MOVW (R1),RAB$W_USZ(R0) MOVL 4(R1),RAB$L_UBF(R0) $GET RAB=#RAB MOVW RAB+RAB$W_RSZ,@8(AP) RET ; .END