22FL #OPT K0LISTFREE=0 22^= #LIS K0LISTFREE>K0LISTFILE>K0ALLGEO 236D ... SEG LISTFREE,,,,G253 23?L ...[ 23DS ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 23L2 ...[ THIS EXCLUDES CODE UNDER #SKI G253 23R8 ...[ 23YB ...#OPT G253 = 0 245J ...#SKI G253&1 24=Q ...# WITH UGUG EDIT M253 (LISTFILE IN NO USER CONTEXT) 24D6 SETENTRY LISTFREE,POINT,2 24MY FSHENTRY K3LISTFREE,,POINT3,POINT3 24QH SEGENTRY K4LISTFREE,POINT4 24T6 [ ENTRY FOR THE LFSIZE MACRO 24XQ MENDAREA 30,K95LISTFREE 25CB [THIS SEGMENT FREEZES ANY FILES INVOLVED IN THE REQUEST. 25X2 [IT THEN CHAINS THE BLOCKS IN THE LFCHAIN. 26BL [ 26W= [ 27*W [*********************************************************************** 27TG [DATA AREA 28*6 [THERE FOLLOWS A LIST OF FLAGS IN GMODE IN THE GOUT/INFO. 28SQ PERFREBIT #20 [PERI IS FREE AT ISPER 29#B PROPBIT #4000000 [PROPERTY BLOCK 29S2 SETUPBIT #10000000 [SETUP FILE 2=?L OPENSET #400000 [SETUP FILE OPEN OR OFFLINE 2=R= OPENMAIN #1000000 [MAIN FILE OPEN 2?=W XLOSTBOTH #1400 [FILE LOST MASK FOR GKEY 2?QG XLOSTM #1000 2#=6 XLOSTS #400 [SETUP FILE LOST 2#FY SMFILEMSET #2010 [MULTIFILE 2#PQ SMULTSETBIT #10 [MULTIFILE WITH SETUP 2*9B SHIFTLEN +12 2*P2 OPENBOTH #140 2*R9 XREM #770000 [REMOTE LF COUNT MASK 2*TD #7777 [LOCAL LF COUNT MASK 2*XM SEGENTRY K60LISTFREE 2*^W XREMMX #1000000 [REMOTE LF MAX 2B45 SEGENTRY K61LISTFREE 2B6# #100 [LOCAL LF MAX 2B8L [NOW A FEW MISCELLANEOUS CONSTANTS. 2BN= XOLIN +GOUT+INFO [ONLINE INFORMATION BLOCK TYPE 2C7W WJLFNOP +JLFNOP [NOPER REPLY FOR ONLINE 2CMG WJSETP15 +JSETP15 [ONLINE SETUP FILE LOST 2D76 SEARCH 2DLQ [ 2F6B [*********************************************************************** 2FL2 [SUBROUTINE AREA 2G5L [THIS S/R SEARCHES THE MISC CHAIN FOR 2GK= [INFORMATION ABOUT AN ONLINE REQUEST 2H4W LDX 2 FX2 2HJG LDX 1 FX1 2J46 LDN 4 BMISC 2JHQ LDN 3 BMISC 2K3B SEAR1 LDX 3 FPTR(3) 2KH2 TXU 3 4 2L2L BCS SEAR2 2LG= LDN 3 0 [NOT FOUND 2L^W SEAR3 EXIT 7 0 2MFG SEAR2 LDX 0 ATYPE(3) 2M^6 SRL 0 12 2NDQ TXU 0 XOLIN(1) 2NYB BCS SEAR1 2PD2 LDX 0 GJOBS(3) 2PXL TXU 0 JOBNO(2) 2QC= BCC SEAR3 2QWW BRN SEAR1 2RBG TESTATE 2RW6 [THIS S/R EXPECTS A FILE/FABSNB AND A DIRECTORY OPEN 2S*Q [IT CHECKS WHETHER THE FILE IS OPEN UNCLEANLY OR OFFLINE, 2STB [INITIATING A RETRIEVE IF NECESSARY.IT CLOSES THE DIRECTORY. 2T*2 [EXIT 0 WHEN THE FILE IS IN A SUITABLE STATE FOR OPENING 2TSL [EXIT 1 WHEN FILE IS LOST 2W#= [EXIT 2 WHEN FILE IS OFW OR OFFLINE(IT CANT BE BOTH!) 2WRW [ 2X?G SBX 6 FX1 2XR6 MHUNT 1,FILE,FABSNB 2Y=Q LDX 0 ATYPE(1) 2YQB ANDN 0 #200 2^=2 BZE 0 TNWF [J IF NOT WORKFILE 2^PL OPENTEST TOK1,TSETD [TEST FOR UNCLEAN OPEN 329= BRN TOK 32NW TOK1 MHUNT 1,FILE,FABSNB 338G LDN 0 #200 33N6 ERS 0 ATYPE(1) [NO LONGER W/F 347Q TNWF TESTOPEN TSETC [TEST FOR UNCLEAN OPEN 34CJ TESTREP2 OK,TOK3 34MB OFFLTEST TOK3 3572 RVDIR 357T ...#SKI G253&1 358N ...( 359H ... TESTREP2 OK,RHA,LOST,TLOST,ONLINE,TOK 35=B ... GEOERR 1,LFRVREPW 35?9 ...RHA 35#4 ... ANOTHER FILE,FABSNB 35#X ... SETNCORE 20,3,ADATA,CREADL 35*Q ... STOZ A1(3) 35BK ... UNNORM TWO 35CD ... MHUNTW 3,ADATA,CREADL 35D? ... OUTPARAM A1(3),CPDATA,ADATA,CREADL 35F6 ... MONOUT ARHLF2 35F^ ... MFREEW ADATA,CREADL 35GS ... MFREEW FILE,FABSNB 35HM ... BRN TSETB 35JG ...) 35K* ...#SKI G253&1$1 35LL TESTREP2 OK,TSETB,LOST,TLOST,ONLINE,TOK 366= GEOERR 1,LFRVREPW 36KW [TESTOPEN DOES NOT INDICATE A WRITE SAVED FILE 375G [WE MUST TEST FOR THIS AND 37K6 [IF FOUND TAKE UNCLEAN OPEN EXIT 37XH TOK3 MHUNTW 1,FILE,ENT 389Y LDX 0 ESVCT(1) 38JB SRL 0 12 3942 BZE 0 TOK2 [J IF NOT WRITE SAVED 39HL ADN 6 2 [ELSE UNCLEAN OPEN EXIT 3=3= TOK2 CLOSETOP 3=GW BRN TOK 3?2G TSETC CLOSETOP 3?G6 TSETD LDX 0 AWORK1(2) [ERROR IF SETUP FILE IN 3?^Q BNG 0 OLSETOPEN [ONLINE REQUEST OPEN 3#FB TSETB ADN 6 1 3#^2 TLOST ADN 6 1 3*DL TOK ADX 6 FX1 3*Y= EXIT 6 0 3BCW [ 3BXG PRESERVE 3CC6 [THIS S/R CHAINS A COPY OF A FILE/FABSNB IN THE CORRECT 3CWQ [PLACE IN THE LFCHAIN,NAMING IT A GOUT,INFO3 3DBB SBX 6 FX1 3DW2 ANOTHER FILE,FABSNB [COPY 3F*L NAMETOP 2,GOUT,INFO3 3FT= LDX 1 2 3G#W LDN 0 #200 3GSG ANDX 0 ATYPE(3) [TRANSFER WORKFILE 3H#6 ORS 0 ATYPE(1) [CHARACTERISTICS 3HRQ LDX 2 FX2 3J?B STO 6 ACOMMUNE1(2) 3JR2 LFHUNT 7,AWORK2(2),AWORK4(2) 3K=L LDX 6 ACOMMUNE1(2) 3KCS LDX 7 AWORK1(2) 3KK2 ORS 7 GMODE(3) 3KQ8 #UNS AWLSZ 3KXB ( 3L4J JBC SPREV,3,BLFWLSIZE 3L9Q LDX 3 FPTR(3) 3LBY SPREV 3LJ6 ) 3LPG SMO FX1 3M96 ANDX 7 PROPBIT 3MNQ BZE 7 NOPROP [J IF NO PROPERTY BLOCK 3N8B LDX 3 FPTR(3) [OTHERWISE CHAIN AFTER IT 3NN2 NOPROP 3P7L CHAIN 1,3 3PM= LDX 3 FPTR(3) 3Q6W ADX 6 FX1 3QLG EXIT 6 0 3R66 [ 3RKQ TIDYCHAIN 3S5B [THIS S/R TIDIES UP THE LFCHAIN FOR A JOB 3SK2 STO 6 ACOMMUNE1(2) [PRESERVE LINK 3T4L LFHUNT 7,AWORK2(2),AWORK4(2) 3TJ= LDX 6 ACOMMUNE1(2) 3W3W LFRECNUM 7,GMODE(3) 3WHG TIDAGAIN 3X36 LDX 1 3 3XGQ LDX 3 FPTR(3) 3Y2B FREECORE 1 3YG2 BCT 7 TIDAGAIN 3Y^L EXIT 6 0 3^F= ZERRORY 3^YW [ 42DG USEROUT 42Y6 [THIS S/R SETS UP A GOUT/INFO TO PRESERVE OLD INTERFACE WITH USEROPEN 43CQ SBX 7 FX1 43XB SETNCORE GFTY-A1+1,1,GOUT,INFO 44C2 STO 7 ACOMMUNE1(2) 44WL LFHUNT 7,AWORK2(2),AWORK4(2) 45B= BNG 3 XERB 45TW LDX 7 ACOMMUNE1(2) 46*G LDN 0 A1(3) 46T6 LDN 1 A1(1) 47#Q MOVE 0 GFTY-A1+1 47SB ADX 7 FX1 48#2 EXIT 7 0 48RL [ 49?= OPTFREE 49QW [THIS S/R FREES A BLOCK IF IT HAS BEEN SUCCESSFULLY HUNTED 4==G BNG 1 NOFRY 4=Q6 FREECORE 1 4?9Q NOFRY LDX 1 FX1 4?PB LDX 2 FX2 4#92 EXIT 7 0 4#NL [ 4*8= [*********************************************************************** 4*MW [MAIN BODY OF SEGMENT 4B7G [*********************************************************************** 4BM6 POINT1 4C6Q [THIS ENTRY POINT FREEZES A SETUP FILE 4CLB CALL 7 USEROUT [SET UP A GOUT/INFO 4D62 USEROPEN SBRKIN,READ,FREEZE,DIR,LEAVE 4DKL REPERR OKB1 [REPORT ANY ERRORS 4F5= STOZ AWORK3(2) [SWITCH 4FJW BRN SBRKIN 4G4G OKB1 MHUNTW 1,GOUT,INFO 4GJ6 FREECORE 1 4H3Q CALL 6 PRESERVE [CHAIN FABSNB IN LFCHAIN 4HHB CALL 6 TESTATE [CHECK FILE CAN BE OPENED 4J32 BRN OKB2 [FILE CAN BE OPENED 4JGL BRN XLOSTSET [SETUP FILE LOST 4K2= SMO FX1 4KFW LDX 0 OPENSET [INDICATE SETUP FILE 4K^G ORS 0 AWORK1(2) 4LF6 OKB2 MHUNT 1,CPB,CUNI 4LYQ FREECORE 1 4MDB MHUNT 1,FILE,FABSNB 4MY2 FREECORE 1 4NCL [ 4NX= [*********************************************************************** 4PBW POINT2 4PWG [THIS ENTRY POINT FREEZES THE MAINFILE 4QB6 LDX 5 AWORK1(2) 4QTQ BNG 5 XFIN [J IF ONLINE 4R*B CALL 7 USEROUT [SET UP GOUT/INFO 4RBJ LDX 1 FX1 4RCQ LDN 4 1 4RDY LDX 0 GMODE(3) 4RG6 ANDX 0 PROPBIT(1) 4RH# BZE 0 SCLS [J IF NO PROPERTIES 4RJG SMO FPTR(3) 4RKN LDX 0 CPROPNO [CONSOLE PROPERTY 4RLW ANDX 0 BITS22LS 4RN4 BZE 0 SCLS 4RP= LDX 5 JSOURCE3(2) 4RQD ANDX 5 BITS22LS 4RRL TXU 0 5 4RSS ... BCC SCLO 4RW2 ...SCLR SLL 4 12 4RX8 BRN NCLUS 4RXM ...SCLS LDX 5 JSOURCE3(2) 4RY6 ... ANDX 5 BITS22LS 4RYK ... BNZ 5 SCLR 4R^4 ...SCLO ADN 1 1 4R^J NCLUS LDX 0 GMODE(3) 4S2Q ANDN 0 #4 4S3Y BNZ 0 XMON [J IF MONITORING FILE 4S56 LDX 5 ALFCNT(2) 4S6# ANDX 5 XREM(1) [OBTAIN COUNT BEING TESTED 4S7G ADX 5 4 4S8N SBX 5 XREMMX(1) [SUBTRACT MAX ALLOWED 4S9W BPZ 5 UNMAX [J IF MAX EXCEEDED 4S?4 XMON 4S?6 [ IF WLSIZE MACRO IS ON CREATE A GOUT/GESIZE BLOCK 4S?8 [ 4S?9 ... SEGENTRY K50LISTFREE 4S?= ... BRN XK51 4S?# #UNS AWLSZ 4S?B ( 4S?D SETNCORE 256,3,GOUT,GESIZE 4S?G LDN 4 256 4S?J XK5 LDX 0 GSIGN 4S?L STO 0 A1(3) 4S?N ADN 3 1 4S?Q BCT 4 XK5 4S?S [ SET MARKER SO NO LFCLOSES ARE MISSED 4S?W LFHUNT 7,AWORK2(2),AWORK4(2) 4S?Y BS 3,BLFWLCLOSE 4S#2 ) 4S#4 XK51 SEGENTRY K51LISTFREE 4S#L USEROPEN SBRKINX,READ,FREEZE,DIR,LEAVE,STREAMS 4TRG MHUNTW 1,GOUT,INFO 4W?6 FREECORE 1 4WQQ REPERR OKC1 4X=B STOZ AWORK3(2) 4XQ2 BRN SENDX 4XQT #UNS AWLSZ 4XRN ( 4XSH [ IF WLSIZE MACRO CHAIN GOUT/GESIZE BLOCK AFTER GOUT/INFO 4XTB [ IF NOT A MULTIFILE REDUCE SIZE TO ONE WORD 4XW9 OKC1 HUNTW 1,GOUT,GESIZE 4XX4 BNG 1 OKC3 4XXX TREP MULTFILE,XMTFL 4XXY [ 4XX^ [ IF LISTING ONE ELEMENT OF A MULTIFILE ONLY 4XY2 [ USEROPEN WILL HAVE TAKEN THE MULTIFILE PATH WHEN 4XY3 [ SUPPLYING ME WITH SIZE SO LFSIZE WILL HAVE PUT THE SIZE 4XY4 [ IN THE WRONG PLACE IN THE GOUT/GESIZE BLOCK 4XY5 [ ALSO BLFWLCLOSE BIT WILL NOT HAVE BEEN CLEARED 4XY6 MHUNT 3,FILE,ENT 4XY7 JBC XNELE,3,BEMULT 4XY8 LDN 4 256 4XY9 LDX 3 1 4XY= XK6 LDX 0 A1(3) 4XY? BPZ 0 XNEL2 4XY# ADN 3 1 4XY* BCT 4 XK6 4XYB BRN XNELE 4XYC XNEL2 STO 0 A1(1) 4XYD LFHUNT 7,AWORK2(2),AWORK4(2) 4XYF BC 3,BLFWLCLOSE 4XYG XNELE 4XYQ ALTLENGD 1,1 4X^K MHUNTW 1,GOUT,GESIZE 4Y2D XMTFL LFHUNT 7,AWORK2(2),AWORK4(2) 4Y3? BS 3,BLFWLSIZE 4Y46 CHAIN 1,3 4Y4^ OKC3 LDX 1 FX1 4Y5S TREP MULTFILE,XEND 4Y6M ) 4Y7G #UNS AWLSZ 4Y8* #SKI 4Y9L OKC1 TREP MULTFILE,XEND [J IF MULTIFILE 4YP= CALL 6 PRESERVE 4^8W NAMETOP 3,GOUT,INFO2 4^NG LFHUNT 7,AWORK2(2),AWORK4(2) 546L QNPRB LDX 0 GSIGN 54L= ERS 0 GMODE(3) 54MS #UNS AWLSZ 54PB ( 54QY JBC XOPEN,3,BLFWLCLOSE 54W4 SMO FX1 54XL LDX 0 OPENMAIN 54^8 ORS 0 AWORK1(2) 552Q XOPEN 554# ) 555W CALL 6 TESTATE 55KG BRN OKC2 [FILE OK 5656 BRN XLOSTMAIN [FILE LOST 56JQ SMO FX1 574B LDX 0 OPENMAIN 57J2 ORS 0 AWORK1(2) [SHOW MAIN FILE OPEN 583L OKC2 MHUNT 1,FILE,FABSNB 58H= FREECORE 1 592W BRN XFIN 59GG XEND LFHUNT 7,AWORK2(2),AWORK4(2) 5=26 STO 3 ACOMMUNE1(2) 5=4* #UNS AWLSZ 5=6J ( 5=8R JBC XEND2,3,BLFWLSIZE 5=?2 LDX 3 FPTR(3) 5=*9 XEND2 5=CD ) 5=FQ LDX 0 PROPBIT(1) 5=S7 SMO ACOMMUNE1(2) 5?6J ANDX 0 GMODE 5?F2 BZE 0 QNPR 5?YL LDX 3 FPTR(3) 5#D= QNPR MHUNT 1,FILE,FABSNB 5#XW NAME 1,GOUT,INFO2 5*CG CHAIN 1,3 5*X6 LDX 3 ACOMMUNE1(2) 5BBQ LDX 0 GSIGN 5BWB ERS 0 GMODE(3) 5C3J #UNS AWLSZ 5C8Q BC 3,BLFWLCLOSE 5CB2 LDX 4 GWAKECOUNT(3) 5CFX ...#SKI G253&1 5CKS ... BRN RU1 5CPP ...#SKI G253&1$1 5CTL BRN SMUL 5D*= # ALL THE NECESSARY CHECKS HAVE BEEN PERFORMED. 5DSW # IT NOW ONLY REMAINS TO REPLACE THE GOUT/KEY BLOCK 5F#G # IN THE LFCHAIN BY A GOUT/INFO. 5FS6 XFIN LFHUNT 7,AWORK2(2),AWORK4(2) 5G?Q BNG 3 XERB 5GDY #UNS AWLSZ 5GL6 BC 3,BLFWLCLOSE 5GRB LDN 4 1 5H?2 STO 4 GWAKECOUNT(3) 5H#Y ...#SKI G253&1 5HBW ...( 5HDS ...RU1 LDXC 5 ALFCNT(2) 5HGQ ... BCC SMUL 5HJN ... LDN 4 0 [ SUPPRESS LF COUNTING IF 'LIST' 5HLL ... STO 5 ALFCNT(2) [ AND CLEAR MARKER 5HNJ ...) 5HQL SMUL LDX 0 GMODE(3) 5J== ANDX 0 PROPBIT(1) 5JG4 BNZ 0 XNSCL 5JPW XNSC3 LDX 0 JSOURCE3(2) 5JTR ANDX 0 BITS22LS 5J^N BNZ 0 XNSC2 5K9G BRN SMCLS 5K#L XNSCL LDX 1 3 5KCQ #UNS AWLSZ 5KGW ( 5KL2 JBC XNSC4,3,BLFWLSIZE 5KP6 LDX 1 FPTR(1) 5KS= XNSC4 5KXB ) 5L2G LDX 1 FPTR(1) 5L5L LDX 0 CPROPNO(1) [CONSOLE PROPERTY 5L8Q ANDX 0 BITS22LS 5LNB BZE 0 XNSC3 5M82 LDX 5 JSOURCE3(2) 5MML ANDX 5 BITS22LS 5N7= TXU 0 5 5NLW BCC SMCLS [J IF SAME CLUSTER 5P3D XNSC2 SLL 4 12 5PD2 SMCLS 5PL# ADX 4 ALFCNT(2) 5PSL STO 4 7 5Q32 LDX 1 FX1 [RESET X1 5Q5Q LDX 0 GMULTID(3) 5QKB BZE 0 NOTOPENM [J IF NOT OPEN MULTIFILE 5R52 LDCT 0 #10 5R#S ADX 0 7 5RJL BNG 0 NOTOPENM 5RSD STO 0 7 5S4= NOTOPENM 5SHW NAME 3,GOUT,INFO [UPDATE INFORMATION ABOUT 5T3G LDX 4 GMODE(3) [FILE AVAILABILITY. 5TH6 LDX 5 XLOSTBOTH(1) 5W2Q ANDX 5 4 5WGB BNZ 5 WLOST [J IF WE NOW KNOW FILE LOST 5X22 ANDX 4 OPENBOTH(1) [BITS MAY HAVE BEEN SET 5XFL SMO SHIFTLEN(1) [IN GOUT/INFO WHILE WE 5X^= SLL 4 0 [HAVE BEEN MAKING OUR 5YDW ANDX 4 AWORK1(2) [CHECKS,DUE TO FILES BEING 5YYG ERX 4 AWORK1(2) [RETRIEVED OR CLOSED. 5^D6 LDX 0 SMFILEMSET(1) [MULTIFILE WITH SETUP BIT 5^XQ ANDX 0 GMODE(3) [WHICH MAY HAVE BEEN SET BY 62CB ORX 4 0 ['LFMULT' IN 'USEROPEN'. 62X2 STO 4 GMODE(3) 63BL LDX 5 GMODE(3) 63W= BPZ 5 NOLIN 643D LDN 0 2 648L ORS 0 EXT+9(2) 64*W LONGSET #27,YLONG,AWORK2(2) [MAKE SURE WE DON'T MISS ANYTHING 64TG NOLIN STARTACT OUT [WAKE UP SCHEDULER 65*6 BNG 5 ONLINE 65JY STO 7 ALFCNT(2) 65KF SENDZ 65SQ ENDCOM 66#B YLONG GEOERR 1,ONLONG 66S2 ONLINE 67?L [THE CPA NOW WAITS FOR ITS ONLINE REQUEST TO BE PROCESSED BY 67R= [THE LISTFILE SCHEDULER & CO. 68=W [WHEN THIS HAS BEEN DONE,A FILE/FWB WILL BE CHAINED IN THE MISC. CHAIN 68QG [WHICH WILL EITHER CONTAIN A POINTER TO THE DEVICE LIST OF THE 69=6 [PERIPHERAL RESERVED,OR THE IDENTIFIER OF AN APPROPRIATE ERROR MESSAGE. 69FY LDX 5 7 69PQ LONGSTOP XBRK,,JOLWAIT,XNULL 6=9B CALL 7 SEARCH [LOOK FOR BLOCK IN MISC. CHAIN 6=P2 BZE 3 XER [NONE FOUND 6?8L OLFOUND 6?N= LDX 7 GMODE(3) 6#7W LDX 6 GOPTY(3) 6#MG SRL 6 3 6*76 BNG 7 RECHAIN [IT MAY BE NECESSARY TO 6*LQ TXU 7 WJSETP15(1) [PASS INFORMATION ON TO 6B6B BCC RECHAIN [SCHEDULER 6BL2 LDX 5 GSOURCE1(3) 6C5L FREECORE 3 6CK= TXU 7 WJLFNOP(1) 6D4W BCS NOTNOPER 6DJG ACROSS LISTNEXT,8 6F46 NOTNOPER 6FHQ XCOMERR 6G3B COMERRX 7 6GH2 RECHAIN 6H2L STOZ GMODE(3) [TO GET ENTRY DELETED 6HG= NAME 3,GOUT,GUPDATE 6H^W CHAIN 3,BLF+1 6JFG STARTACT OUT [WAKE UP SCHEDULER 6J^6 BPZ 7 XCOMERR [J IF NO PERIPHERAL OBTAINED 6KDQ ERX 7 GSIGN [X7 NOW CONTAINS D.L. POINTER 6KWS #UNS FSHB 6KXK POINT3 6KYB PERON 7 6LD2 PUTPERENT 6,7 6LMS STO 5 ALFCNT(2) 6LXL SEND ENDCOM 6MC= XBRK CALL 7 SEARCH [WE MIGHT HAVE MISSED AN EVENT 6MWW BNZ 3 OLFOUND [DUE TO BREAK-IN 6NBG [THE REQUEST HAS NOT YET BEEN COMPLETELY PROCESSED. IF AN ACTLF IS 6NW6 [CURRENTLY TRYING TO RESERVE A PERIPHERAL,B22 OF EXT+9 WILL BE SET. 6P*Q LDN 0 2 [IS ONLINE REQUEST CURRENTLY 6PTB ANDX 0 EXT+9(2) [BEING SERVICED BY AN ACTLF? 6Q*2 BZE 0 RESPOND [NO! 6QSL LONGSET #27,YLONG,AWORK2(2) 6R#= [IGNORE 'BREAK-IN' 6RRW BRN XNULL 6S?G RESPOND 6SR6 LFHUNT 7,AWORK2(2),AWORK4(2),GOUT,INFO 6T=Q BPZ 3 XINT [J IF STILL IN LFCHAIN 6TQB XINT2 LONGOFF 6W=2 [WE MUST DELETE THE ENTRY FROM :SYSTEM.OUTPUT 6WPL ACROSS LISTFNDA,2 6WXW XINT LDXC 0 GMODE(3) 6X66 BPZ 0 XINT2 6X#B STO 0 AWORK1(2) 6XGL STO 2 AWORK3(2) [SET SWITCH 6XNW XTID LDX 1 3 6Y8G LDX 3 FPTR(3) 6YN6 FREECORE 1 6^7Q LDX 0 PROPBIT(1) 6^MB ANDX 0 AWORK1(2) 7272 BZE 0 NOLPR [J IF NO PROPERTY BLOCK 72LL LDX 1 3 736= LDX 3 FPTR(3) 73KW FREECORE 1 745G NOLPR LDX 0 SETUPBIT(1) 74K6 ANDX 0 AWORK1(2) 754Q BZE 0 SCOM [J IF NO SETUP FILE 75JB NAMETOP 3,FILE,FABSNB 7642 CHAIN 3,2 76HL LFTHAW [THAW SETUP FILE 773= LDX 0 AWORK3(2) 77GW BZE 0 SEND 77JY SCOM 78CQ COMBRKIN 78G6 XERB GEOERR 1,BLKLST 78^Q [ 79FB XLOSTSET 79^2 [WE HAVE LOST THE SETUP FILE 7=DL CALL 6 TIDYCHAIN [THROW AWAY GKEY BLOCK AND COPY 7=Y= XLS2 ACROSS LISTNEXT,1 7?CW [ 7?XG XLOSTMAIN 7#C6 [WE HAVE LOST THE MAIN FILE 7#WQ LFHUNT 7,AWORK2(2),AWORK4(2) 7*BB LDX 7 GMODE(3) 7*D5 #UNS AWLSZ 7*FS ( 7*HH JBC XNOGSZ,3,BLFWLSIZE 7*K= LDX 1 3 7*L^ LDX 3 FPTR(3) 7*NN FREECORE 1 7*QC XNOGSZ 7*S6 ) 7*W2 LDX 1 3 7B*L LDX 3 FPTR(3) 7BT= FREECORE 1 7C#W LDX 0 PROPBIT(1) [FOR SUBSEQUENT CHECK 7CSG LDX 1 3 7D#6 LDX 3 FPTR(3) 7DRQ ANDX 0 7 7F?B BZE 0 NFRPRB 7FR2 FREECORE 1 [PROPERTY BLOCK 7G=L LDX 1 3 7GQ= LDX 3 FPTR(3) 7H9W NFRPRB 7HPG FREECORE 1 [COPY OF MAIN FILE'S FABSNB 7J96 ANDX 7 SETUPBIT(1) 7JNQ BZE 7 XLS2 [J IF NO SETUP FILE 7K8B NAMETOP 3,FILE,FABSNB 7KN2 MHUNT 2,FILE,FABSNB 7L7L CHAIN 3,2 7LM= BRN XLS2 7M6W [ 7MLG OLSETOPEN 7N66 [THE SETUP FILE IN AN ONLINE REQUEST IS OPEN UNCLEANLY 7NKQ CALL 6 TIDYCHAIN 7P5B LFTHAW [THAW SETUP FILE 7PK2 ZERRORX AOLSERR [ALREADY USING SETUP FILE 7PKG [THE MAXIMUM NUMBER OF LFS TO REMOTE OR LOCAL PRINTERS HAS 7PL2 [BEEN REACHED. WE MUST TIDY UP AND REPORT ERROR. 7PLG UNMAX LDX 7 GMODE(3) 7PM2 LDX 1 3 7PMG LDX 3 FPTR(3) 7PN2 FREECORE 1 [FREE GOUT,GKEY 7PNG LDX 0 PROPBIT(1) 7PP2 ANDX 0 7 7PPG BZE 0 SNPR [J IF NO PROPERTY 7PQ2 LDX 1 3 7PQG LDX 3 FPTR(3) 7PR2 FREECORE 1 7PS7 SNPR 7PT# LDX 0 SETUPBIT(1) 7PWG ANDX 0 7 7PX2 BZE 0 SNOS [J IF NO SETUP FILE 7PXG LDX 1 3 7PY2 NAMETOP 1,FILE,FABSNB 7PYG CHAIN 1,2 7P^G LFTHAW [THAW SETUP FILE & FREE FABSNB 7P^S SNOS 7Q26 ANDX 4 XREM(1) 7Q2G BZE 4 XLOC [J IF LOCAL MAX EXCEEDED 7Q32 ZERRORX JLFMAXR 7Q3G XLOC ZERRORX JLFMAXL 7Q4L SBRKIN 7QJ= [BREAK-IN DURING USEROPEN OF SETUP FILE 7R3W MHUNTW 1,GOUT,INFO 7RHG FREECORE 1 7S36 SENDY 7SGQ CALL 6 TIDYCHAIN 7T2B MHUNT 1,FILE,FABSNB 7TG2 CALL 7 OPTFREE [FREE IF THERE 7T^L [UNDER CERTAIN CIRCUMSTANCES(E.G.NAMEFORM REPLY) USEROPEN DOES NOT 7WF= [SET UP A FABSNB 7WYW LDX 0 AWORK3(2) 7XDG BZE 0 SEND 7XY6 BRN SCOM 7YCQ SBRKINX 7YXB [BREAK-IN DURING USEROPEN OF MAIN FILE 7^C2 MHUNT 1,GOUT,INFO 7^WL FREECORE 1 82B= SENDX 82HD #UNS AWLSZ 82NL VFREEW GOUT,GESIZE 82R= LDX 1 FX1 82TW LDX 0 SETUPBIT(1) 83*G ANDX 0 AWORK1(2) 83T6 BZE 0 SENDY [J IF NO SETUP FILE TO THAW 84#Q MHUNT 1,FILE,FABSNB [MAIN FILE 84SB CALL 7 OPTFREE 85#2 LFHUNT 7,AWORK2(2),AWORK4(2) 85RL BRN XTID 86?= [ 86QW [WE HAVE JUST NOTICED THAT A FILE IS LOST 86SD #UNS AWLSZ 86W2 ( 86XJ WLOST JBC WLST2,3,BLFWLSIZE 86^6 LDX 1 FPTR(3) 872N FREECORE 1 874= WLST2 LDX 7 GMODE(3) 875S ) 877B #UNS AWLSZ 878Y #SKI 87=G WLOST LDX 7 GMODE(3) 87Q6 ANDX 5 XLOSTM(1) 889Q LDX 1 3 88PB LDX 3 FPTR(3) 8992 CHAIN 1,2 [GOUT/INFO 89NL LDX 0 PROPBIT(1) 8=8= ANDX 0 7 8=MW BZE 0 XNPR [J NO PROPERTY 8?7G LDX 1 3 8?M6 LDX 3 FPTR(3) 8#6Q FREECORE 1 8#LB XNPR BNG 7 XOLB [J ONLINE 8*62 NAMETOP 3,FILE,FABSNB 8*KL LDX 1 3 8B5= LDX 3 FPTR(3) 8BJW CHAIN 1,2 8C4G XOLB ANDX 7 SETUPBIT(1) 8CJ6 BZE 7 XLS2 [J IF NO SETUP 8D3Q LDX 1 3 8DHB NAMETOP 1,FILE,FABSNB 8F32 BZE 5 XLS1 8FGL MHUNT 2,FILE,FABSNB 8G2= XLS1 CHAIN 1,2 8GFW BRN XLS2 8G^G [ 8HF6 XER GEOERR 1,NOLFWB [NO OL BLOCK IN MISC. CHAIN. 8HFK [ 8HG4 [ ********************************************************************** 8HGH [ 8HH2 [ LFSIZE MACRO 8HHF [ 8HHY [ ********************************************************************** 8HJC [ 8HJW POINT4 8HK* #UNS AWLSZ 8HKS ( 8HL? LDX 6 ACOMMUNE1(2) 8HLQ LDX 7 ACOMMUNE2(2) 8HM9 HUNTW 3,GOUT,GESIZE 8HMN BNG 3 XUP 8HN7 BZE 7 XRTSZ [BLOCK MUST BE RIGHT SIZE 8HNL LDX 5 ALOGLEN(3) 8HP5 SBN 7 1 8HPJ TXL 7 5 8HQ3 BCS XRTS2 8HQG GEOERR 1,GESIZEWR 8HQK [ 8HQN XRTS2 SMO 7 8HQR STO 6 A1(3) 8HQW BRN XUP 8HQ^ [ 8HRD XRTSZ SMO 7 8HRX STO 6 A1(3) 8HSB [ NO LFCLOSE TO WAIT FOR NOW 8HST MHUNTW 3,GOUT,INFO 8HT# LFHUNT 7,GOUTKEY1(3),GOUTKEY2(3) 8HW= BC 3,BLFWLCLOSE 8HWP XUP UP 8HX8 [ 8HXM ) 8HYQ #END ^^^^ ...25403440000400000000