LISTFREE867

(George Source)

Macros used: ACROSS, ALTLENGD, ANOTHER, BC, BS, CHAIN, CLOSETOP, COMBRKIN, COMERRX, ENDCOM, FREECORE, FSHENTRY, GEOERR, HUNTW, JBC, LFHUNT, LFRECNUM, LFTHAW, LONGOFF, LONGSET, LONGSTOP, MENDAREA, MFREEW, MHUNT, MHUNTW, MONOUT, NAME, NAMETOP, OFFLTEST, OPENTEST, OUTPARAM, PERON, PUTPERENT, REPERR, RVDIR, SEG, SEGENTRY, SETENTRY, SETNCORE, STARTACT, TESTOPEN, TESTREP2, TREP, UNNORM, UP, USEROPEN, VFREEW, ZERRORX, ZERRORY

LISTFREE867.txt
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