15 22FL ... SEG CLOSFREZ,863,SECTION FILE,CLOSE 4 22_= ...# 15 236D ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 4 23?L ...# 11 23DW ... SEGENTRY K1CLOSFREZ,XENT1 11 25CB SEGENTRY K2CLOSFREZ,XENT2 11 25X2 SEGENTRY K3CLOSFREZ,XENT3 4 26BL # 9 26W= SVLAN 4H#### 4 27*W # 4 27BG ...# 9 27C6 ...#SKI K6CLOSFREZ>199-199 4 27CQ ...( 5 27DF ...PACKMESS 8 27H4 ... SBX 7 FX1 8 27KM ... OUTPACKX 4,5,6 8 27N= ... ADX 7 FX1 7 27QT ... EXIT 7 0 4 27RP ...) 4 27SK ...# 5 27TG OPENDIR 8 28*6 SBX 6 FX1 21 28SQ ... GETFNAME [SET UP FABSNB FOR FILE OPEN AT DEPTH 13 29#B OPENDIR XBREAKIN,GENERAL,ERASING 10 29S2 ... MHUNTW 2,FILE,ENT 10 2=?L ... NAME 2,FILE,FWB 9 2=R= ... LDEX 0 ECOPS(2) 18 2?=W ... BZE 0 NOCOPS [J IF NO BLOCKS RECORD 7 2?QG ... BACKSPACE 5 2#PQ NOCOPS 8 2*9B ADX 6 FX1 7 2*P2 EXIT 6 0 4 2*YS ...# 4 2B8L # 4 2F6B # 4 2H4W # 13 2HJG ...# ENTRY FROM THE CLOSETHAW MACRO. 21 2J46 # THE DIRECTORY IS OPENED AND THE FREEZECOUNTS IN THE FCB AND THE 20 2JHQ # DIRECTORY ENTRY ARE CHECKED; IF ZERO OR INCONSISTENT WE 21 2K3B ...# GEOERR, OTHERWISE SUBTRACT 1 FROM THE COUNTS AND FORCE FULL 14 2KH2 ...# IF WORKFILE, UPDATE FCB COUNT ONLY. 4 2L2L ...# 5 2LG= ...XENT3 14 2L_W ... TOPFCB2 2 [X2-> FCB 21 2MFG ... JBS WORKFILE,2,BFWORK [J IF WORKFILE (NO DIRECTORY ENTRY) 21 2NDQ CALL 6 OPENDIR [OPEN DIRECTORY / POS. ON NAME RECORD 10 2NH_ ... MFREE FILE,FABSNB 21 2NM8 ... FCBNO2 2,THAWERR1 [X2 -> FCB AT LEVEL 1, ELSE GEOERR 18 2NQC ... MHUNTW 3,FILE,FWB [X3-> NAME RECORD BLOCK 10 2NTL ... LDEX 0 EAUTOCOUNT(3) 10 2NYT ... LF 2,FFFREZCT,1 21 2P44 ... BXU 0 1,THAWERR [GEOERR IF LF-FROZEN COUNTS IN FCB & 19 2P7? ... BZE 1 THAWERR [GEOERR IF FILE NOT FROZEN 7 2P=G ... SBN 1 1 10 2P*P ... STF 2,FFFREZCT,1 21 2PDY ... DEX 1 EAUTOCOUNT(3) [REDUCE BY 1 LF-FROZEN COUNTS IN FCB 5 2PJ7 ...XFRIG 17 2PMB ... REWRITE [REWRITE NAME RECORD 9 2PQK ... MFREEW FILE,FWB 16 2PTS ... CLOSETOP [CLOSE DIRECTORY 18 2P_3 ... TOPFCB2 2 [X2-> FCB OF THAWED FILE 18 2Q4= ... JFNZ NOTHAW,2,FFFREZCT [J IF FILE STILL FROZEN 21 2Q7F ... LONGON 6,FLOC1(2) [WAKE UP ANYONE WAITING FOR FILE TO B 5 2Q=N ...NOTHAW 21 2Q*X ... CLOSE [CLOSE THAWED FILE - FULL CLOSE TO EN 18 2QF6 ... [ DATE/TIME LAST ACCESSED 5 2QJ* ... UP 5 2QMJ ...WORKFILE 10 2QQR ... LF 2,FFFREZCT,4 7 2QW2 ... SBN 4 1 19 2Q_9 ... BNG 4 THAWERR2 [GEOERR IF FREEZECOUNT WRONG 10 2R4D ... STF 2,FFFREZCT,4 9 2R7M ... BRN NOTHAW 4 2R=W ...# 4 2RB5 ...# 5 2RF# ...THAWERR1 21 2RJH ... GEOERR BRIEFPM,1FILE [ONLY 1 FILE OPEN WHEN SHOULD BE 2 4 2RMQ ...# 5 2RQ_ ...THAWERR2 9 2RW8 ...#SKI K6CLOSFREZ>199-199 9 2R_C ... BRN NOTHAW 21 2S4L ... GEOERR BRIEFPM,NEGFREZ [FREEZE COUNT GOING -IVE ON ! FILE 4 2S7T ...# 5 2S?4 ...THAWERR 9 2SB? ...#SKI K6CLOSFREZ>199-199 4 2SFG ...#SKI 21 2SJP ... GEOERR BRIEFPM,FROZEN? [LF-FROZEN COUNTS IN FCB & DIR. ENTRY 9 2SMY ...#SKI K6CLOSFREZ>199-199 4 2SR7 ...( 9 2SXJ ... LDN 4 FUSER1(2) 7 2SYM ... LDN 5 3 10 2S_Q ... LDN 6 JPDUSERNAME 16 2T2T ... CALL 7 PACKMESS [OUTPUT USER NAME 10 2T3Y ... FCBNO2 2,THAWERR1 9 2T53 ... LDN 4 FLOC1(2) 10 2T66 ... LDN 6 JPDLOCNAME 17 2TKQ ... CALL 7 PACKMESS [OUTPUT LOCAL NAME 21 2W5B ... INFORM 1,FROZERROR,1 [SEND MESSAGE 'FREEZE ERROR ON :USER. 21 2WK2 ... [ (WITH CATEGORIES JOURNAL,CENTRAL 8 2X4L ... BRN XFRIG 4 3?G6 ) 4 3?_Q # 4 3#P8 ...# 4 3#_2 ...# 13 3*8S ...# ENTRY FROM THE MACRO FREEZESAVE. 20 3*DL # THE FILE OPEN AT THE TOP LEVEL IS FROZEN BY ADDING 1 TO THE 20 3*Y= # APPROPRIATE COUNT IN FSVCT (B0-11 IF OPEN FOR WRITING, 21 3B=M ...# B12-23 IF READING) AND ESVCT, EXCEPT IF CAME IN AT K1 (PARAM 13 3BK4 ...# WANT TO FREEZE FOR READING ANYWAY. 20 3BXG ...# FI/FCA AND FABSNB BLOCKS ARE LEFT AROUND FOR SAVEFILE SEGMENT. 4 3CC6 ...# 5 3CH3 ...XENT1 19 3CLY ... LDN 4 1 [SET 'READ-SAVE' INDICATOR 8 3CQT ... BRN XREAD 5 3CWQ XENT2 21 3CXR ... LDN 4 0 [SET 'HLS FREEZE ACCORDING TO MODE 17 3CYS ... [ OPEN IN' INDICATOR 5 3C_T ...XREAD 21 3DBB CALL 6 OPENDIR [OPEN DIRECTORY / POS. ON NAME RECORD 4 3DW2 # 13 3F*L ...# ADD 1 TO THE APPROPRIATE COUNT. 20 3FT= # NOTE THAT THE SAVING FILE (LANGUAGE #### ) IS A SPECIAL CASE - 21 3G#W # ALTHOUGH OPEN FOR WRITING WE FREEZE IT AS IF READING SINCE 14 3GSG # IT WILL BE REOPENED FOR READING 7 3HRQ LDN 0 1 21 3J?B ... SFCAB 0,3,2 [X2-> FCB & X3-> FCA OF 'TO BE HLS-FR 21 3JH8 ... BNZ 4 READ [J IF ALREADY KNOW MODE TO FREEZE IN 21 3JR2 ... LDN 4 1 [SET DEFAULT UPDATE AS 'READ SAVE' 19 3K=L ... JMBS READ,3,BAMREAD,BAMREADR [J IF READ OR READR MODE 9 3KGD ... LDX 0 FLAN(2) 19 3KQ= ... BXE 0 SVLAN(1),READ [J IF THIS IS THE SAVING FILE 18 3L9W ... LDX 4 BIT11 [SET UP 'WRITE FREEZE' 4 3PM= READ 19 3Q6W ... ADS 4 FSVCT(2) [UPDATE HLS-SAVE COUNT IN FCB 4 3RKQ # 21 3S5B ...# REWRITE THE DIRECTORY ENTRY, CLOSE THE DIRECTORY ,SET UP FI/FCA TO 21 3SK2 ...# AND BITS WORDS OF FCA AND LEAVE IT FOR SAVEFILE. THEN CLOSE THE F 4 3T4L # 10 3TJ= ... MHUNTW 3,FILE,FWB 21 3W3W ... ADS 4 ESVCT(3) [UPDATE HLS-SAVE COUNT IN DIR. ENTRY 17 3WHG ... REWRITE [REWRITE NAME RECORD 9 3X36 ... MFREEW FILE,FWB 16 3XGQ ... CLOSETOP [CLOSE DIRECTORY 10 3XJN ... MHUNT 2,FILE,FABSNB 8 3XLL ... LDX 0 A1(2) 8 3XNJ ... SBN 0 10 21 3XQG ... BZE 0 OKFAB [J IF 10-WORD FABSNB (SAVEFILE ASSUME 15 3XSD ... FREECORE 2 [FREE FABSNB 18 3XWB ... GETFNAME [GET NEW 10-WORD FABSNB 5 3XY# ...OKFAB 21 3Y2B ... SETNCORE FCASAVENO,3,FI,FCA [SET UP FI/FCA INTO WHICH TO SAVE FIL 14 3YG2 ... TOPFCA2 2 [X2-> FCA 10 3Y_L ... ADN 2 FREADBLOCK 9 3_F= ... ADN 3 FCASAVE 17 3_YW ... MOVE 2 FCASAVENO [MOVE FCA INTO FI/FCA 18 42DG ... CLOSETOP [CLOSE TO-BE-SAVED FILE 4 42W= ...UP 5 42Y6 ... UP 4 42_H ...# 4 43CQ ...# 4 43XB ...# 5 4SS= XBREAKIN 11 4T?W GEOERR BRIEFPM,FREEZBRK 4 4W?6 #END 8 ____ ...23446770000100000000