FINDFCB
(GIN Macro)
Defined in: MACROS RM59B
Used in: FREEZE864, INCVFCHK850, LOGCOM864, OPENFILE867, ORELHALF82
- FINDFCB.mac.txt
5L8Q ...[??? FINDFCB SECT FILE FGN 6 DOC 5MML #MAC FINDFCB 5MMY ...[ 5MN= ...[ ACCS USED AS FOLLOWS 5MNJ ...[ X0 TESTNAMX 5MNW ...[ X1 FCBRING POINTER 5MP8 ...[ X2 POINTER TO THE REQUIRED NAME IN FABS 5MPG ...[ X3 =0 IF USER NAME OR ELSE POINTER TO SUPUSER NAME 5MPS ...[ X4 LOCAL NAME USER NAME IDICATOR . 0=FLOC1,3= FME1 5MQ6 ...[ X5 FIRST WORD OF REQ NAME OR GENERAL WORK WORD 5MQD ...[ X6 =0 IF ON DIR RING OR =1 IF ON HALF RING 5MQQ ...[ X7 FCB COUNT 5MR4 ...[ 5MRH ...[ THIS MACRO SEARCHES THROUGH BOTH THE OPEN AND HALF-OPEN FILE CHAINS 5MXD ...[ FOR AN FCB WHOSE NAME IS GIVEN IN A FILE/FABSNB POINTED TO BY %A. 5N3* ...[ THE POINTER TO THE FCB IF FOUND IS GIVEN IN %B. 5N7= LDX 1 %A 5NLW LDN 2 %B 5P6G CALL 0 M1FINDFCB 5PL6 #OPT M2FINDFCB=1 5Q5Q #SKI M2FINDFCB 5QKB ( 5R52 BRN M3FINDFCB 5RJL #DEF M1FINDFCB=0? 5S4= STO 0 GEN0 [STORE LINK IN GEN0 5SHW STO 1 GEN1 [KEEP %A IN GEN1 5T3G LDN 0 3 5TH6 LDN 1 GEN2 [ACCUMULATORS 3 TO 7 DUMPED 5W2Q MOVE 0 5 [ IN GEN2 TO GEN6 5WSY ... NGX 5 GEN1 5X=3 ... STO 2 GEN1 5XM6 ... HUNT 2,FILE,FABSNB 5Y49 ... ADX 5 A1(2) 5YF# ... ADX 2 5 [POINTER DOWN FABS 5YWC ... ADN 2 A1 [POINTS TO REQ NAME 5^?G ... SBN 5 1 [ARE WE AT THE TOP OF THE FABS 625N ... LDN 3 0 [SET X34 TO INDICATE USERNAME 62GR ... LDN 4 FME1-FLOC1 62XW ... BZE 5 M4FINDFCB [X2 POINTS TO TOP NAME MUST BE USER 63Q4 ... LDX 0 0(2) 6477 ... ADN 2 1 64J= ... SBX 0 HCOLUSER [SEE IF USER COLON 64^* ... BZE 0 M4FINDFCB [YES IT IS 65RH ... SBN 2 1 [LOOKING FOR LOCAL NAME 668L ... SBN 5 3 66KP ... LDX 3 2 [SO SET X3 TO SUPUSER 672S ... LDN 4 0 67CX ... SBN 3 3 67T2 ... BZE 5 M4FINDFCB [SUPUSER IS TOP OF FABS 68M8 ... SBN 3 2 [SUPUSER IS NOT TOP SO ADJUST X3 69FB ...M4FINDFCB 6=?J ... LDX 5 0(2) [LOAD COMPARISON WORD 6=NM ... LDN 6 1 [INDICATE HALF OPEN CHAIN 6?5Q ... BASEFCB 1,HALF,M10FINDFCB,7 6?GT ...[ 6?XY ...M5FINDFCB 6#*3 ... BZE 4 M8FINDFCB [DO LOCAL TEST 6#Q6 ...M6FINDFCB [USERNAME TEST 6*79 ... BXE 5 FME1-FCBRING(1),M11FINDFCB 6*J# ...M7FINDFCB 6*^C ... NEXTFCB 1,DIR,M6FINDFCB,7 6BBG ... BRN M10FINDFCB 6C8N ...M8FINDFCB [LOCAL NAME TEST 6CKR ... BXE 5 FLOC1-FCBRING(1),M11FINDFCB 6D2W ...M9FINDFCB 6DC^ ... NEXTFCB 1,DIR,M8FINDFCB,7 6F=7 ...M10FINDFCB [FCB NOT FOUND ON THIS SEARCH 6FM= ... BZE 6 M10AFINDFCB [FINISHED BOTH HALF AND DIR 6G4* ... LDN 6 0 [INDICATE DIR CHAIN 6GFD ... BASEFCB 1,DIR,M10AFINDFCB,7 6GWH ... BRN M5FINDFCB [RETURN TO SEARCH DIR RING 6HNP ...M10AFINDFCB [GIVE REPLY NOTFOUND 6J5S ... KEEPREP 7,NOTFOUND 6JGX ... BRN M16FINDFCB 6K*5 ...M11FINDFCB [THIS ROUTINE CHECKS FURTHER DETAILS OF FCB 6KQ8 ... LDX 5 1(2) 6L7? ... SMO 4 6LJB ... BXU 5 FLOC2-FCBRING(1),M12FINDFCB [COMPARE REST OF NAME 6MBJ ... LDX 5 2(2) 6MRM ... SMO 4 6N8Q ... BXE 5 FLOC3-FCBRING(1),M13FINDFCB 6P2Y ...M12FINDFCB [RETURN TO SEARCH 6PD3 ... LDX 5 0(2) 6PT6 ... BZE 4 M9FINDFCB [LOCAL NAME EXIT 6Q=9 ... BRN M7FINDFCB [USER NAME EXIT 6R4C ...M13FINDFCB [FIRST NAME OK 6RFG ... BZE 3 M14FINDFCB [USER SO NO FURTHER NAME CHECK NECC 6RWK ... TESTNAMX 3,0(3),FUSER1-FCBRING(1),M12FINDFCB,5 [LOCAL NAME CHEC 6SNR ...M14FINDFCB [FINAL CHECK FOR TO BE ERASED DIRS 6T5W ... LDX 5 FCOMM-FCBRING(1) 6TG^ ... ANDN 5 1 6TY4 ... BNZ 5 M12FINDFCB 6W*7 ... SBN 1 FCBRING [EVERYTHING OK 6WQ= ... LDX 5 1 6WTG ...#STR %C 6WYQ ...#SKI 6X42 ...( 6X7* ... BZE 6 M15FINDFCB [FILE ALREADY OPEN 6XJD ... LDX 4 FPTR(1) [CHAIN BLOCKS ON FILE CHAIN 6X^H ... TRANSFCB 5,HALF,FILE 6YBL ... LDX 1 4 6YRP ... CHAIN 1,BFILE+1 [CHAIN FINDEXF BLOCK 6^KX ...M15FINDFCB 6^SD ...) 7232 ... LDX 2 5 72D5 ... KEEPREP 7,OK 73=? ...M16FINDFCB 73MB ... PUTREP 7 745G TRACEIF K6OPEN,99,299,7,HALFREP 74K6 LDN 0 GEN2 [RESTORE X3 TO X7 754Q LDN 1 3 75JB MOVE 0 5 7642 LDX 1 GEN1 76HL STO 2 0(1) [PUT -> IN %B 773= LDX 1 FX1 77GW LDX 2 FX2 782G BRN (GEN0) 78G6 #FREE M2FINDFCB 78^Q #DEF M2FINDFCB=0 79FB M3FINDFCB 79^2 ) 7=DL #NOR