.TITLE GET_FID_DID $FABDEF $RABDEF ; FABOFF=4 RABOFF=8 LUNOFF=12 ; .ENTRY GET_FID_DID,^M<> ; $OPEN FAB=@FABOFF(AP) ; OPEN BLBC R0,19$ ; RETURN ON ERROR $CONNECT RAB=@RABOFF(AP) ; CONNECT BLBC R0,19$ ; RETURN ON ERROR BRB 1$ ; 19$: BRW 9$ ; 1$: MOVL R0,SAVER0 ; SAVE MOVL R1,SAVER1 ; MOVL FABOFF(AP),R0 ; GET FAB ADDRESS MOVL FAB$L_NAM(R0),R1 ; POINT TO NAM$ BLOCK MOVW NAM$W_FID(R1),FID ; GET FID MOVW NAM$W_FID+2(R1),FID+2 ; MOVW NAM$W_FID+4(R1),FID+4 ; MOVW NAM$W_DID(R1),DID ; GET DID MOVW NAM$W_DID+2(R1),DID+2 ; MOVW NAM$W_DID+4(R1),DID+4 ; ADDL2 #NAM$T_DVI,R1 ; POINT TO DEVICE STRING MOVB (R1),R0 ; GET COUNT MOVL R2,SAVER2 ; SAVE MOVAB DEVICE,R2 ; GET ADDRESS OF DEVICE STRING 3$: MOVB (R1)+,(R2)+ ; COPY A BYTE DECB R0 ; DECREMENT COUNT BGEQ 3$ ; LOOP FOR ALL MOVL SAVER0,R0 ; RESTORE MOVL SAVER1,R1 ; MOVL SAVER2,R2 ; 9$: RET ; RETURN ; SAVER0: .BLKL 1 SAVER1: .BLKL 1 SAVER2: .BLKL 1 ; .PSECT INFCOM,PIC,OVR,REL,GBL,SHR,NOEXE,RD,WRT,LONG FID: .BLKW 3 DID: .BLKW 3 DEVICE: .BLKB 16 .END