(George Source)
Macros used: ALTLEN, BS, BXE, BXL, BXU, CLOSETOP, FINDREC, GEOERR, JBS, MBSXD, MFREE, MFREEW, MHUNT, MHUNTW, MONOUT, OPEN, OPENSYS, OUTMESSX, OUTPARAM, READAGAIN, REWIND, SEG, SEGENTRY, SETNCORE, SETREP2, SSEARCH, STEP, STF, TAPEOPEN, TESTREP2, UNNORM, UP, UPPLUS, XWRONG
22FL ... SEG SCHEDMTA,860,C.R.JOHNSON,SCHEDULER 22^= ...[ 23DW ...[ 23YG ... SEGENTRY K1SCHEDMTA,X1SCHEDMTA 24D6 ... SEGENTRY K2SCHEDMTA,X2SCHEDMTA 24XQ ... SEGENTRY K3SCHEDMTA,X3SCHEDMTA 25CB ... SEGENTRY K4SCHEDMTA,X4SCHEDMTA 25X2 ...[ 26BL ...[ 26W= ...[ THIS SEGMENT IS AN OVERFLOW FOR SCHEDMTX (THE RETRIEVAL 27*W ...[ SYSTEM SCHEDULING SEGMENT) AND DEALS WITH CERTAIN ASPECTS 27TG ...[ OF RETRIEVEING FILES FROM ALIEN FILESTORE DUMP TAPES. 28*6 ...[ 28SQ ...[ 29#B ... SEGENTRY K99SCHEDMTA [THIS ENTRY POINT IS USED 29S2 ... +7 [BY THE 'ALIENDIR' MACRO. 2=?L ... 12HALIENFS [DEFAULT USERNAME 2=R= ... 12HINCINDEX [MUST BE 'INCINDEX' 2?=W ... +1 [REEL NUMBER 2?QG ... +0 [ALLOW ANY GENERATION 2#=6 ... +0 [AND LANGUAGE. 2#PQ ...[ 2*9B ...[ 2*P2 ...TEN +10 [USED TO CONVERT BINARY TO DEC. 2B8L ...XINCMISS +JINCMISS [MESSAGE PARAMETER IDENTIFIERS 2BN= ...XINCOFF +JINCOFF [ 2C7W ...XINCCORR +JINCCORR [ 2CMG ...XINCWRO +JINCWRO [ 2D76 ...XINCMSO +JINCMSO [ 2DLQ ...[ 2F6B ...[ ****************************************************************** 2FL2 ...[ 2G5L ...[ THIS SUBROUTINE SETS UP PARAMETERS FOR AND OUTPUTS THE MESSAGE:- 2GK= ...[ 'SOME RETRIEVES ARE FAILING BECAUSE %B IS %A' 2H4W ...[ X6 CONTAINS THE %A MESSAGE IDENTIFIER 2HJG ...[ 2J46 ...RVFAIL 2JHQ ... SBX 7 FX1 [RELATIVIZE LINK 2K3B ... JBS XFABFREE,BOLC,BIFDTRVF [J IF MESSAGE ALREADY OUTPUT 2KH2 ... OUTMESSX 6 [OUTPUT %A 2L2L ... SETNCORE 11,3,ADATA,CREADL [SET UP FOR UNNORM 2LG= ... STOZ A1(3) [CHARACTER COUNT ZREO AS YET 2L^W ... UNNORM TWO [CONVERT ENTRANT NAME 2MFG ... MHUNT 3,ADATA,CREADL [UNNORM COORDINATES 2M^6 ... OUTPARAM A1(3),CPDATA,ADATA,CREADL [OUTPUT %B OF MESSAGE 2NDQ ... MFREE ADATA,CREADL [NO LONGER NEEDED 2NYB ... MONOUT JRVFAIL [OUTPUT MESSAGE 2PD2 ... SEGENTRY K98SCHEDMTA [USED BY TSRPALL MACRO 2PXL ... BS BOLC,BIFDTRVF [SET 'RV FAILED MESSAGE OUTPUT' BIT 2QC= ... SEGENTRY K97SCHEDMTA [USED BY TSRPALL MACRO 2QWW ...XFABFREE [ 2RBG ... MFREE FILE,FABSNB [FREE FABSNB 2RW6 ... ADX 7 FX1 [RESET LINK 2S*Q ... EXIT 7 0 [EXIT 2STB ...[ 2T*2 ...[ ******************************************************************* 2TSL ...[ 2W#= ...[ THIS SUBROUTINE CHECKS THAT THE TSN CONTAINED IN X6 IS 2WRW ...[ SECURE (IN :SYSTEM.SERIAL). IF NOT REPLY 'OPWRONG' IS SET. 2X?G ...[ 2XR6 ...TESTSECURE [ 2Y=Q ... SBX 7 FX1 [RELATIVIZE LINK 2YQB ... OPENSYS ,SERIAL,READ [OPEN :SYTEM.SERIAL 2^=2 ... SSEARCH XNOTSECURE,6 [J IF TSN NOT SECURE 2^PL ... CLOSETOP [CLOSE SERIAL 329= ... ADX 7 FX1 [RESET LINK 32NW ... EXIT 7 1 [ SECURE 338G ...XNOTSECURE [ 33N6 ... CLOSETOP [CLOSE SERIAL 347Q ... SETREP2 OPWRONG [SET REPLY FOR SCHEDMTX & DTSTART 34MB ... ADX 7 FX1 [RESET LINK 3572 ... EXIT 7 0 [ INSECURE 35LL ...[ 366= ...[ ******************************************************************* 36KW ...[ 375G ...[ THIS SUBROUTINE CHECKS THAT THE RECORD POINTED TO BY X3 37K6 ...[ IS A VALID INCINDEX RECORD, I.E. THAT THE FOLLOWING IS TRUE: 384Q ...[ 38JB ...[ [AINCRH] = AMAGR + [AMTS]*INCMAGLEN 3942 ...[ 39HL ...[ LINK IS X7 3=3= ...[ 3=GW ...[ X3 -> INCINDEX RECORD(RECORD HEADER) 3?2G ...[ 3?G6 ...RECCHECK [ 3?^Q ... LDX 5 AMTSR(3) [X5 => NO OF TAPES 3#FB ... LDN 4 INCMAGLEN [X4 => LENGTH OF TAPE ENTRY 3#^2 ... MPY 5 4 [X6 => LENGTH OF TAPE ENTRIES 3*DL ... ADN 6 AMAGR [X6 => LENGTH OF RECORD? 3*Y= ... LDEX 5 AINCRHR(3) [X5 => LENGTH OF RECORD HEADER 3BCW ... BXU 5 6,EXIT1 [J IF TAPE ENTRIES OVERFLOW RECORD 3BXG ... SBN 5 AMAGR [RECORD MUST BE > AMAGR-1 3CC6 ... BNG 5 EXIT1 [J IF RECORD TOO SHORT 3CWQ ... EXIT 7 1 [VALID RECORD 3DBB ...EXIT1 [ 3DW2 ... EXIT 7 0 [INVALID RECORD 3F*L ...[ 3FT= ...[ 3G#W ...[ ****************************************************************** 3GSG ...[ 3H#6 ...[ THIS ENTRY POINT IS ENTERED DOWN FROM SCHEDMTX IN ORDER 3HRQ ...[ TO ATTEMPT TO OPEN THE ALIEN FILESTORE INCINDEX (FILESTORE 3J?B ...[ NUMBER SPECIFIED IN X6), POSITION ON THE RELEVENT 3JR2 ...[ INCREMENT (SPECIFIED IN X4) AND TO PERFORM SUFFICIENT 3K=L ...[ VALIDITY CHECKING SO THAT THE RETRIEVAL SYSTEM WILL 3KQ= ...[ NOT BREAK!! 3L9W ...[ 3LPG ...X1SCHEDMTA [ 3M96 ... DVS 5 TEN(1) [CONVERT FILESTORE NUMBER TO DEC. 3MNQ ... LDN 7 2 [X7 => COUNT OF REL. CHARS. 3N8B ... SLL 6 18 [QUOTIENT IN TOP CHAR POSIT. 3NN2 ... SLL 5 12 [REMAINDER IN SECOND POSIT. 3P7L ... BNZ 6 SETUPFAB [J IF TWO CHARS 3PM= ... SBN 7 1 [ONLY ONE CHARACTER 3Q6W ... SLL 5 6 [REMAINDER IN TOP POSITION 3QLG ...SETUPFAB [ 3R66 ... ORX 6 5 [X6 => FILESTORE IN CHARS 3RKQ ... BZE 6 (GEOERR) [X6 ILLEGAL 3S5B ... SETNCORE 10,3,FILE,FABSNB [FOR OPEN MACRO 3SK2 ... STO 6 ACOMMUNE1(2) [FILESTORE NUMBER 3T4L ... LDN 0 10 [RECORD HEADER 3TJ= ... STO 0 A1(3) [STORE IT 3W3W ... LDX 0 ACES [X0 => #20202020 3WHG ... STO 0 A1+1(3) [PUT SPACES IN FABSNB 3X36 ... LDN 0 A1+1(3) [NOW MOVE SPACES 3XGQ ... LDN 1 A1+2(3) [DOWN FABSNB 3Y2B ... MOVE 0 5 [ONLY FIVE 3YG2 ... LDX 1 FX1 [RESET X1 3Y^L ... LDX 0 K99SCHEDMTA(1) [X0 => LENGTH OF USERNAME 3^F= ... BZE 0 (GEOERR) [MUSN'T BE ZERO 3^YW ... LDN 1 K99SCHEDMTA+1(1) [X1 -> USERNAME 42DG ... LDN 2 A1+1(3) [A1+1 -> USERNAME IN FABSNB 42Y6 ... SMO 0 [LENGTH OF MOVE 43CQ ... MVCH 1 0 [USERNAME MOVED IN 43XB ... LDX 1 FX2 [ 44C2 ... LDN 1 ACOMMUNE1(1) [X1 -> FILESTORE NUMBER 44WL ... SMO 7 [X7 => 1 OR 2 45B= ... MVCH 1 0 [MOVE IN FILESTORE NUMBER 45TW ... LDX 1 FX1 [RESET X1 46*G ... LDN 2 K99SCHEDMTA+4(1) [X2 -> LOCAL NAME 46T6 ... LDN 3 A1+4(3) [X3 -> LOCAL NAME IN FABSNB 47#Q ... MOVE 2 6 [MOVE IN 'INCINDEX' ETC. 47SB ...[ 48#2 ...[ NOW OPEN INCINDEX, 48RL ...[ 49?= ... OPEN (GEOERR),READ,QUERY,NOWAIT 49QW ...[ 4==G ...[ AND TEST REPLIES. 4=Q6 ...[ 4?9Q ... TESTREP2 OK,XCHECK,LOST,XMISSING,MAG,XOFFLINE 4?PB ... TESTREP2 NOFILE,XMISSING,NOUSER,XMISSING,VRYWRONG,XWRONG 4#92 ... TESTREP2 WRONG,XWRONG 4#NL ... GEOERR 1,ALIENFS [UNEXPECTED REPLY 4*8= ...XCHECK [ 4*MW ...[ 4B7G ...[ X4 CONTAINS INCREMENT NUMBER 4BM6 ...[ SEARCH FOR THIS RECORD IN INCINDEX 4C6Q ...[ 4CLB ... BS BOLC,BIFDTOPEN [SET THE 'INCINDEX OPEN' BIT 4D62 ... FINDREC ,AINCNOR,4,XCORRUPT [J IF RECORD NOT FOUND 4DKL ... READAGAIN [INCINDEX RECORD FOUND 4F5= ... MHUNTW 3,FILE,FRB [X3 -> INCINDEX RECORD 4FJW ... ADN 3 A1 [SET UP FOR RECCHECK 4G4G ... CALL 7 RECCHECK [CHECK FOR INVALID INCINDEX RECORD 4GJ6 ... BRN XCORRUPT [INVALID RECORD 4H3Q ... LDX 5 AMTSR(3) [X5 => NO OF TAPES 4HHB ... BZE 5 XCORRUPT [J IF NO TAPES 4J32 ... LDEX 2 AINCRHR(3) [X2 => LENGTH OF RECORD 4JGL ... SBN 2 AMAGR [X2 => LENGTH OF TAPE ENTRIES 4K2= ... BZE 2 XCORRUPT [J IF NO TAPE ENTRIES 4KFW ...XLOOP [ 4K^G ... SBN 2 INCMAGLEN [SET X2 4LF6 ... SMO 2 [ 4LYQ ... LDX 0 AMAGR(3) [X0 => TSN 4MDB ... BPZ 0 UP [J IF POSITIVE TSN FOUND 4MY2 ... BNG 2 XCORRUPT [J IF NONEVEN TAPE ENTRY LENGTH 4NCL ... BNZ 2 XLOOP [J IF MORE TAPE ENTRIES 4NX= ... BRN XCORRUPT [J IF ALL TSNS ARE NEGATIVE 4PBW ...UP [ 4PWG ... UP [GO UP 4QB6 ...XMISSING [ALIEN INCINDEX IS MISSING 4QTQ ... LDX 6 XINCMISS(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL 4R*B ... CALL 7 RVFAIL [OUTPUT MESSAGE 4RT2 ... BRN XPERMLST [ 4S#L ...XWRONG [ALIEN INCINDEX IS OF WRONG TYPE 4SS= ... LDX 6 XINCWRO(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL 4T?W ... CALL 7 RVFAIL [OUTPUT MESSAGE 4TRG ... BRN XPERMLST [ 4W?6 ...XMISSORDER [ALIEN INCINDEX IS MISSORDERED 4WQQ ... MFREEW FILE,FDINCS [ 4X=B ... LDX 6 XINCMSO(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL 4XQ2 ... CALL 7 RVFAIL [OUTPUT MESSAGE 4Y9L ... BRN XPERMLST [ 4YP= ...XFREEFDINC [ 4^8W ... MFREEW FILE,FDINCS [FREE FDINCS BLOCK 4^NG ...XCORRUPT [ALIEN INCINDEX IS CORRUPT 5286 ... LDX 6 XINCCORR(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL 52MQ ... CALL 7 RVFAIL [OUTPUT MESSAGE 537B ...XPERMLST [FILE IS PERMENTLY LOST 53M2 ... LDX 2 FX2 [ 546L ... MBSXD 7,BPERLOST,BTERMST [MASK FOR PERMENTLY LOST INCREMENT 54L= ... STO 7 ACOMMUNE1(2) [STORE FOR SCHEDMTX 555W ... BRN UPPLUS1 [ 55KG ...XOFFLINE [ALIEN INCINDEX IS OFFLINE 5656 ... LDX 6 XINCOFF(1) [X6 => MESSAGE IDENTIFIER FOR RVFAIL 56JQ ... CALL 7 RVFAIL [OUTPUT MESSAGE 574B ...XTEMPLST [FILE IS TEMPORARILY LOST 57J2 ... LDX 2 FX2 [ 583L ... MBSXD 7,BTEMLOST,BTERMST [MASK FOR TEMPORARILY LOST FILE 58H= ... STO 7 ACOMMUNE1(2) [STOR FOR SCHEDMTX 592W ...UPPLUS1 [ 59GG ... UPPLUS 1 [GO UP + 1 5=26 ...[ 5=FQ ...[ ****************************************************************** 5=^B ...[ 5?F2 ...[ THIS ENTRY POINT SETS UP A FDINCS BLOCK FOR AN ALIEN 5?YL ...[ TAPE WHOSE TSN IS SPECIFIED IN AWORK2 (FILESTORE NUMBER 5#D= ...[ IS IN X6). 5#XW ...[ 5*CG ...X2SCHEDMTA [ 5*X6 ... SETNCORE 7,3,FILE,FDINCS [X3 -> FDINCS BLOCK 5BBQ ... STOZ AWORK1(2) [SET FIRST INC ZERO 5BWB ... STOZ FDINCNO(3) [SET COUNT OF ENTRIES ZERO 5CB2 ... LDX 0 AWORK2(2) [X0 => TSN 5CTL ... STO 0 FDINCTSN(3) [STORE TSN IN FDINCS 5D*= ... BZE 6 (GEOERR) [X6 SHOULDN'T BE ZERO 5DSW ... STOZ FDINCWOR(3) [SET FDINC STATE WORD ZERO 5F#G ... STF 3,FDINCFSNO,6 [STORE FILESTORE NUMBER 5FS6 ... REWIND [POSITION AT START OF INCINDEX 5G?Q ...T1MTA [ 5GRB ... STEP [X3 -> NEXT RECORD 5H?2 ... BZE 3 T4MTA [J IF END OF INCINDEX 5HQL ... CALL 7 RECCHECK [CHECK VALIDITY OF THIS RECORD 5J== ... BRN XFREEFDINC [J IF INVALID RECORD 5JPW ... LDEX 2 AINCRHR(3) [X2 => LENGTH OF RECORD 5K9G ... SBN 2 AMAGR [X2 => LENGTH OF TAPE ENTRIES 5KP6 ... BZE 2 T1MTA [J IF NO TAPE ENTRIES 5L8Q ... SMO FX2 [X2 IS CORRUPT 5LNB ... LDX 0 AWORK2 [X0 => TSN 5M82 ...T2MTA [ 5MML ... SBN 2 INCMAGLEN [SET X2 5N7= ... SMO 2 [ 5NLW ... BXE 0 AMAGR(3),T3MTA [J IF TSN FOUND IN INCINDEX RECORD 5P6G ... BNG 2 XCORRUPT [J IF NONEVEN TAPE ENTRY LENGTH 5PL6 ... BNZ 2 T2MTA [J IF MORE ENTRIES 5Q5Q ... BRN T1MTA [READ NEXT RECORD 5QKB ...T3MTA [TAPE ENTRY FOUND 5R52 ... ADX 2 3 [X2 -> TAPE ENTRY 5RJL ... LDX 7 AINCNOR(3) [X7 => INCREMENT NUMBER 5S4= ... BNG 7 XFREEFDINC [J IF NEG INC NO 5SHW ... SMO FX2 [ 5T3G ... LDX 5 AWORK1 [X5 => PREVIOS INC 5TH6 ... BXL 7 5,XMISSORDER [J IF INCINDEX MISSORDERED 5W2Q ... BXE 7 5,XFREEFDINC [J IF INC NOS EQAL 5WGB ... SMO FX2 [ 5X22 ... STO 7 AWORK1 [STORE THIS INCREMENT NMBER 5XFL ... MHUNTW 2,FILE,FDINCS [X2 -> FDINCS 5X^= ... LDX 3 FDINCNO(2) [X3 => NUMBER OF ENTRIES SO FAR 5YDW ... LDN 0 1 [ 5YYG ... ADS 0 FDINCNO(2) [INCREASE ENTRY COUNT BY ONE 5^D6 ... SMO 2 [ 5^XQ ... STO 7 FDINCINC(3) [INCREMENT NUMBER FOR THIS ENTRY 62CB ... ADN 3 4 [INCREASE LENGTH? 62X2 ... BXL 3 ALOGLEN(2),T1MTA [J IF BLOCKSIZE OK 63BL ... LDX 6 2 [ 63W= ... ADN 3 8 [INCREASE LENGTH BY 8 ENTRIES 64*W ... ALTLEN 6,3,FILE,FDINCS [INCREASE BLOCKSIZE 64TG ... BRN T1MTA [START AGAIN 65*6 ...T4MTA [FDINCS SET UP OK 65SQ ... MFREE FILE,FABSNB [KEPT TILL NOW FOR ERROR REPORTING 66#B ... BRN UP [ 66S2 ...[ 67?L ...[ ****************************************************************** 67R= ...[ 68=W ...[ THIS ENTRY POINT IS USED TO OPEN AN ALIEN FILESTORE TAPE 68QG ...[ IF IT IS FOUND TO BE SECURE - ENTERED DOWN FROM SCHEDMTX 69=6 ...[ 69PQ ...[ X6 => TSN OF TAPE 6=9B ...[ 6=P2 ...X3SCHEDMTA [ 6?8L ... CALL 7 TESTSECURE [IS TSN SECURE (IN SERIAL)? 6?N= ... BRN UPPLUS1 [J IF INSECURE 6#7W ... TAPEOPEN (GEOERR),6,,INFORM,NOTOL,REPLY 6#MG ... BRN UP [GO UP 6*76 ...[ 6*LQ ...[ ****************************************************************** 6B6B ...[ 6BL2 ...[ THIS ENTRY POINT IS USED TO OPEN AN ALIEN FILESTORE TAPE 6C5L ...[ IF IT IS FOUND TO BE SECURE - ENTERED DOWN FROM DTSTART 6CK= ...[ 6D4W ...[ X4 => TSN OF TAPE 6DJG ...[ 6F46 ...X4SCHEDMTA [ 6FHQ ... LDX 6 4 [X6 => TSN 6G3B ... CALL 7 TESTSECURE [IS TSN SECURE (IN SERIAL)? 6GH2 ... BRN UPPLUS1 [J IF INSECURE 6H2L ... TAPEOPEN (GEOERR),6,,NOTOL,REPLY 6HG= ... BRN UP [ 6H^W ...#END ^^^^ ...347720260001