{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: USERDIR842)}}
====== USERDIR842 ======
(George Source)
**Macros used:** [[george:macro:ALTLENG|ALTLENG]], [[george:macro:ANSOK2|ANSOK2]], [[george:macro:BBS|BBS]], [[george:macro:BBUS|BBUS]], [[george:macro:BWNZ|BWNZ]], [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DOWN|DOWN]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETDIR|GETDIR]], [[george:macro:HUNT|HUNT]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:JFREZFCB|JFREZFCB]], [[george:macro:JMBAC|JMBAC]], [[george:macro:MBC|MBC]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:NAME|NAME]], [[george:macro:OPB|OPB]], [[george:macro:OPC|OPC]], [[george:macro:OPEN|OPEN]], [[george:macro:OPEND|OPEND]], [[george:macro:OPENSYS|OPENSYS]], [[george:macro:OUTMESS|OUTMESS]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PICKREP|PICKREP]], [[george:macro:PICKREP2|PICKREP2]], [[george:macro:PREP2|PREP2]], [[george:macro:PTREP2|PTREP2]], [[george:macro:PUTREP|PUTREP]], [[george:macro:PUTREP2|PUTREP2]], [[george:macro:REWRITE|REWRITE]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETMODE|SETMODE]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:SETREP2|SETREP2]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SETUPTAB|SETUPTAB]], [[george:macro:SKIP|SKIP]], [[george:macro:TABSET|TABSET]], [[george:macro:TESTMODE|TESTMODE]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TESTUSER|TESTUSER]], [[george:macro:TOPFCB2|TOPFCB2]], [[george:macro:TRACE|TRACE]], [[george:macro:TREP2|TREP2]], [[george:macro:TREPN2|TREPN2]], [[george:macro:UNNORM|UNNORM]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL SEG USERDIR,8,C DONG,USEROPES
22^= [
23DW [
23YG SEGENTRY K1USERDIR,ZENTRY
24D6 [
24XQ [ AWORK3 USED FOR LIBRARIAN ENTRANTS:
25CB [ B0 SET : SERIAL ALREADY OPEN
25X2 [ B15-23 NON-ZERO: DO GETDIR 4-GETDIR MUST SET UP AONBS/GLIST
26BL [
26W= [
27*W XFILEREV +FILEREV [FILE REVERTED TO STATE ON DATE AT TI
27TG XFILEGONE +FILEGONE [FILE LOST:THIS COPY DUMPED ON AT
282N ...#UNS FBLKTWO
287W ...XFILEMULTAL +FILEMULTAL
28*6 NDLANG 4HC1
28SQ [
29#B [
29S2 ZENTRY
2=?L #SKI K6USERDIR>99-99
2=R= TRACE 5,USERDIR
2?=W MHUNT 2,FILE,FABSNB
2?QG LDN 4 6 [LENGTH OF FLOCNB FOR FILE
2#=6 LDX 0 ALOGLEN(2) [IF 0<[ALOGLEN]-[A1]<6 IT IS A
2#PQ SBX 0 A1(2) [LIBRARIAN ENTRANT AND CONTAINS AN
2*9B BZE 0 MLN [AHMM!!,REQUIRES AN 8WD FLOCNB
2*P2 SBN 0 6
2B8L BPZ 0 MLN
2BN= LDN 4 8 [FLOCNB FOR MT ENTRANT
2C7W MLN
2CMG SETUPCORE 4,3,FILE,FLOCNB
2D76 MHUNT 2,FILE,FABSNB
2DLQ LDX 0 ATYPE(2)
2F6B DSA 0 ATYPE(3) [PUT L.S.HALF OF TYPEWORD IN FLOCNB
2FL2 SMO A1(2)
2G5L ADN 2 A1-6
2GK= ADN 3 A1
2H4W SMO 4
2HJG MOVE 2 0 [LOCAL NAME FROM FABSNB
2J46 [
2JHQ [ X5 STILL CONTAINS MODE
2K3B [
2KH2 TESTMODE 5,MLN1,NOT,DIRONLY [J IF NOT DIRONLY MODE
2L2L [ DIRONLY MODE - MEANS DONT OPEN UNLESS ITS A DIRECTORY
2LG= TESTUSER 0(3),MLN1 [J IF USERNAME IF FLOCNB
2L^W [ NOT A USERNAME,SO TREAT IT AS LOCAL NAME OF A DIRECTORY
2MFG LDN 0 1 [REEL NO =1 FOR A DIRECTORY
2M^6 LDN 2 0
2NDQ STO 0 3(3) [SET REEL NO = 1
2NYB BXE 0 4(3),OKGEN [J IF GENERATION=1
2PD2 BXU 2 4(3),XDETS [IF NOT 1 OR ZERO,REPLY DIRDET
2PXL STO 0 4(3) [IF ZERO,SET=1
2QC= OKGEN
2QWW LDX 0 NDLANG(1) [CHECK LANG C1 OR UNSPEC.
2RBG BXE 0 5(3),MLN1 [J IF LANG =C1
2RW6 BXU 2 5(3),XDETS [IF LANG SPECIFIED AND NOT C1,GO XDET
2S*Q STO 0 5(3) [SET LANG=C1
2STB MLN1
2T*2 MHUNT 2,FILE,FABSNB
2TSL LDN 0 6 [CONVERT FABSNB FOR ENTRANT INTO
2W#= SBS 0 A1(2) [FABSNB FOR ENTRANT'S DIRECTORY
2WRW BBUS 23,ATYPE(2),NSYS [J IF FILESTORE ENTRANT
2X?G [
2XR6 [ SYSTEM'SERIAL MAY ALREADY BE OPEN AFTER PREVIOUS ATTEMPT TO FIND
2Y=Q [ THE ENTRANT UNDER A TEMPORARY DIRECTORY
2YQB [
2^=2 SMO FX2
2^PL LDX 0 AWORK3
329= BNG 0 NSYS [DONT OPEN SYSTEM SERIAL AGAIN
32NW TESTMODE 5,NSYS,,CREATE [DONT OPEN SYS IF CREATING MT ENTRY
338G OPENSYS XBRS,SERIAL,GENERAL
33N6 TESTRPN2 OK,SYSNOPEN [J IF CANT OPEN SERIAL
347Q NSYS
34MB [ IF NOT CREATE,EMPTY,ERASE MODES, OPEN DIRECTORY IN CLEAN, QUERY
3572 [ MODES--OTHERWISE IN GENERAL, QUERY SINCE REWRITES/DELETES POSSIBLE
35LL #SKI 1
366= (
36KW SETMODE 4,GENERAL,QUERY
375G TESTMODE 5,OPEND,,CREATE,EMPTY,ERASE
37K6 SETMODE 4,CLEAN,QUERY
384Q OPEND
38JB OPEND XBR,4
3942 )
39HL #SKI
3=3= OPEN XBR,GENERAL,QUERY [OPEN DIRECTORY OF ENTRANT
3=GW TESTRPN2 OK,OPREP [IF REPLY NOTOK,SEND IT BACK UP+1
3?2G # DIRECTORY IS OPEN
3?G6 [ GETDIRPOSNS READING PTRS HAVING JUST READ THE NAME RECORD
3?^Q # AND LEAVES A COPY OF THE DIRECTORY ENTRY IN A FILE/ENT BLOCK
3#FB # IF THE FILE CANNOT BE FOUND IT REPLIES NOFILE
3#^2 CALL 6 MOVED2
3*DL LDN 4 6
3*Y= ADS 4 A1(2) [RESET LENGTH OF FABSNB
3BCW LDX 3 1 [PRESERVE FLOCNB POINTER IN X3
3BXG SMO FX2
3CC6 LDEX 0 AWORK3
3CWQ BNZ 0 MTS [DO GETDIR 4 IF LIST OF TSNS REQUIRED
3DBB GETDIR 5 [IGNORE TO-BE-ERASED, POSN ON COPIES
3DBW ...#UNS FTS1 [CHANGES FOR TWIN SYSTEMS
3DCB ...(
3DCW ... TESTMODE AWORK1(2),NFREZCHECK,,FROZEN [NO FREEZE CHK IF FROZEN
3DDB ... [SUBMODE GIVEN
3DDW ... PICKREP2 7 [PRESERVE REPLY FROM GETDIR
3DFB ... PREP2 4
3DFW ... HUNT 3,FILE,ENT
3DGB ... BNG 3 NOENT1 [J IF NO FILE ENT
3DGW ... BWNZ EUSE1(3),NDFREZ [CAN ACCESS DIRS THO SUP FROZEN
3DHB ...NOENT1
3DK3 ... TOPFCB2 3 [X3->FCB OF SUP
3DLN ... JBS YFREZ,3,BFUSERFREZ [J IF DIR FROZEN
3DNB ...NDFREZ
3DNL ... HUNT 3,FILE,ENT
3DNW ... BNG 3 YFREZOK [J IF NO FILE ENT
3DP= ... JBC YFREZOK,3,BEUSERFREZ [J IF FILE NOT FROZEN
3DPL ...YFREZ
3DQ2 ... DOWN USEREXCP,1 [CANN ACCESS PROCEED REGARDLESS
3DQB ... BRN PGD [NO!! (ERROR REPLY SET UP)
3DQW ...YFREZOK
3DRW ... PUTREP2 7 [RESTORE GETDIR REPLY
3DSB ... PTREP2 4
3DSL ... LDN 4 6 [RESET X4 AFTER REUSE
3DSW ...NFREZCHECK
3DTB ...)
3DW2 [THE FOLLOWING CODE PREVENTS MULTIFILE/SINGLE FILE OCCURRENCES IN
3F*L [DIRECTORIES. DEPENDS ON GETDIR REPLIES (M) & SUBREPLIES (S).
3FT= [SINGLE FILES OF DIFFERENT GENERATION NOS. MAY CO-EXIST.
3G#W [IF FILE REQUESTED BY FLOCNB (FRF) DOESNT EXIST AND NO OTHER FILES
3GSG [OF THE SAME NAME/LANG EXISTS, GETDIR GIVES NOFILE(M) & OK(S)
3H#6 [IF FRF DOESNT EXIST BUT OTHER FILE(S) OF SAME NAME/LANG EXIST
3HRQ [GETDIR GIVES NOFILE(M) & SINGLE(S), MULTI(S), OR BOTH AS APPROPRIATE
3J?B [IF FRF & NO OTHER EXISTS, GETDIR GIVES OK(M) & OK(S)
3JR2 [IF OTHER FILE(S) ALSO EXIST, THEN THEN OK(M) & SINGLE(S), MULTI(S), OR
3K=L [BOTH AS APPROPRIATE.
3KQ=
3L9W TESTMODE 5,PGD,,ERASE [MUST ALLOW ERASE TO CLEAN UP ANY MES
3LPG TESTREP2 OK,TESTSUB,NOFILE,TESTSUB
3M96 BRN PGD [J IF UNXPECTED MAIN REPLY
3MNQ TESTSUB
3N8B TREPN2 OK,SUBREP [J IF MORE THAN 1 FILE OF SAME NAME/L
3NN2 TESTRPN2 OK,PGD
3P7L MHUNTW 1,FILE,ENT [IF OK(M) ENT EXITS
3PM= #SKI AMULTUSER
3Q6W (
3QLG JBC SINGLE,1,BEMDF [J IF NOT MDF--I.E. IS SINGLE
3R66 TESTMODE 5,XMULTI,,MDF,MULT
3RKQ SETREP2 MULTIEX
3S5B BRN PGD
3SK2 )
3T4L #SKI AMULTUSER<1$1
3TJ= (
3W3W JBS XMULTI,1,BEMDF [J IF MDF
3WHG BRN SINGLE [OTHERWISE SINGLE
3X36 )
3XGQ [
3Y2B [ PREVENT MULTIFILE USE WHERE NON-MULTI OF SAME NAME/LANG EXISTS
3YG2 [ AND VICE VERASA
3Y^L [
3^F= SUBREP
3^YW LDX 0 ACOMMUNE2(2)
42DG ANDN 0 ANQSINGLE+ANQMULTI
42Y6 ERN 0 ANQSINGLE+ANQMULTI
43CQ BZE 0 XB [J IF BOTH SINGLE AND MULTI SUBREP
43XB #SKI AMULTUSER<1$1
44C2 (
44WL [ BUG 893 -- SHD TEST REPLIES EVEN IF READING-EDITING MULTIFILES
45B= [ WILL EXCISE THIS CODE WHEN I'M SURE ITS INCORRECT
45TW [ PENDING MARK8 CHANGES TO MULTIFILE MODES TO USEROPEN TO SORT
46*G [ OUT EDIT/LISTFILE DILEMMA: SDNT OPEN ELEM IF NO SUCH MODES GIVEN
46T6 LDX 0 5
47#Q ANDN 0 #7000
47SB SBN 0 #3000
48#2 BNG 0 PGD [OK IF READ MODE
48RL )
49?= TREP2 SINGLE,SINGLE
49QW TREP2 MULTI,XMULTI
4==G WRONGANQ
4=Q6 GEOERR 1,WRONGANQ
4?9Q [ BOTH MULTIFILE AND NON MULTIFILE EXIST WITH SAME NAME/LANG.
4?PB XB SETREP2 BOTHEX
4#92 BRN PGD
4#NL [ NON-MULTI EXISTS-CHECK THAT IF CREATE BLOCK,NOT CREATING MULTIFILE
4*8= SINGLE
4*MW #SKI AMULTUSER
4B7G TESTMODE 5,SINGEX,NOT,FILE
4BM6 HUNT 3,FILE,CREATE
4C6Q #SKI AMULTUSER
4CLB BNG 3 PGD
4D62 #SKI AMULTUSER<1$1
4DKL BNG 3 NOSINGCR
4F5= LDCT 0 #60
4FJW ANDX 0 CEINF1(3)
4G4G #SKI AMULTUSER
4GJ6 BZE 0 PGD
4H3Q #SKI AMULTUSER<1$1
4HHB (
4J32 BNZ 0 SINGEX
4JGL NOSINGCR
4K2= [ NO CREATE BLOCK,OR NOT CREATING MULTIFILE-CHECK USEROPEN MODES
4KFW SETMODE 0,MULTEL,MULT
4K^G ANDX 0 5
4LF6 BZE 0 PGD
4LYQ )
4MDB SINGEX
4MY2 SETREP2 SINGLEX
4NCL BRN PGD
4NX= [ MULTIFILE EXISTS-CHECK THAT NOT CREATING SINGLE FILE
4PBW XMULTI
4PWG #SKI AMULTUSER
4QB6 (
4QTQ TESTMODE 5,MULTMODE,,MDF,MULT,MULTEL
4R*B SETREP2 NOMULTS [MULTIFILES NOT ALLOWED FOR THIS COMM
4RT2 BRN PGD
4S#L MULTMODE
4SS= MHUNTW 1,FILE,ENT
4T?W JBC NOTMDF,1,BEMDF [J IF NOT MDF
4TRG TESTMODE 5,OKMDF,,MDF,MULT
4W?6 SETREP2 NOMULTS
4WQQ BRN PGD
4X=B NOTMDF
4XQ2 JBC XB,1,BEMULT [J IF NOT MULTEL EITHER
4Y9L [ MEANS SINGLE FILE ENT WITH MULTIFILE SUBREPLY GIVEN
4YP= TESTMODE 5,OKMDF,,MULTEL,MULT
4^8W SETREP2 MULTEL [MULTELS NOT ALLOWED FOR THIS COMMAND
4^NG BRN PGD
5286 OKMDF
52MQ HUNT 3,FILE,CREATE
537B BNG 3 NOMULTCR
53M2 LDCT 0 #60
546L ANDX 0 CEINF1(3)
54L= BNZ 0 PGD [J IF CREATING MULT
555W NOMULTCR
55KG )
5656 #SKI AMULTUSER<1$1
56JQ (
574B ... TESTMODE 5,PGD,,MULTEL [OK IF MULTEL ACCEPTABLE
57J2 ... MHUNT 1,FILE,FLOCNB [OTHERWISE CHECK USER HAS NOT
583L ... LDX 0 A1+4(1) [TRIED TO SPECIFY THE ACTUAL GEN
58H= ... SBN 0 1 [NO OF A MULTIFILE
592W ... BNZ 0 MULTIEX [IF SO TELL HIM ITS A MULT
59GG ... TESTMODE 5,PGD,,MULT [OK IF MULTIFILE DEMANDED
5=^B TESTMODE 5,SMULTEX,,STREAMS
5?F2 SETREP2 NOMULTS
5?YL BRN PGD
5#D= SMULTEX
5#XW )
5*CG #SKI AMULTUSER
5*X6 TESTMODE 5,PGD,NOT,FILE
5BBQ [ IF NOT FILE MODETHEN ONLY MULTIFILE MODES ARE GIVEN& CAN OVERWRITE
5BWB [ USEROPEN KNOWS THAT NEW FILE IS TO BE A MULT ONLY WHEN MULT QUAL G
5CB2 TESTMODE 5,PGD,NOT,EMPTY [DONT ALLOW OVERWRITING OF MULTIFILE
5CKS ...MULTIEX
5CTL SETREP2 MULTIEX
5D*= PGD
5DSW CALL 6 MOVED2
5F#G [
5FS6 [ ANY GETDIR REPLY EXCEPT OK OR NOFILE IMPLIES A COMMAND ERROR-UP+1
5G?Q [ BUT
5GRB [ OK IN CREATE MODE FOR MT ENTRANT
5H?2 [ AND
5HQL [ NOFILE WITHOUT CREATE MODE-IN THESE CASES CLOSE DIRECTORY,UP+2
5J== [
5JPW [
5K9G [ X4 AT PRESENT=6,UNLESS GETDIR 4 DONE,WHEN SET ZERO(TABS SET BY GD4
5KP6 [ SET ZERO IF NOFILE REPLY GIVEN
5L8Q [ IF X4 ZERO,TABS NOT SET(EXCEPT WITHIN GETDIR 4)
5LNB [
5M82 LDN 7 0
5MML TESTREPN OK,OPC
5N7= BBS 23,ATYPE(1),OPA [J IF NON-FILESTORE FILE
5NLW ... MHUNTW 3,FILE,ENT
5NQ2 ...#UNS FBLKTWO
5NT6 ... JMBAC OP1,3,BEREVERT,BEBLOCK2
5NY= ...#UNS FBLKTWO
5P3B ...#SKI
5P6G ... JBC OP1,3,BEREVERT [J IF HIT BY BACKMAP BIT NOT SET
5PL6 ... TESTMODE 5,OPEE,,ERASE,EMPTY [IF EMPTY OR ERASE JUST TAKE OUT BIT
5S4= CALL 6 MOVED2 [UPDATE FABSNB FROM FLOCNB
5SHW [ BUG 9974-FILEREV,FILEGONE MESS COME OUT WITH MESS GENERATION NO.
5SMR ...[ WE SET LOGLEN OF FABS TO THE CONTENTS OF A1, SINCE SOME
5SRN ...[ ROUTINES GIVE USEROPEN A LONG FABS CONTAINING A SHORT NAME
5SXK ...[ AND THIS BREAKS UNNORM. WE THEN UPDATE THE FABSNB FROM THE FLOCNB
5T3G [
5T8N ... ALTLENG 2,A1(2)
5T*W ... CALL 6 MOVED2
5TH6 LDX 0 A1(1)
5W2Q BZE 0 NOCHANGE
5WGB ADN 1 A1
5X22 SMO A1(2)
5XFL ADN 2 A1-6
5X^= MOVE 1 6
5YDW NOCHANGE
5YYG SETNCORE 20,3,ADATA,CREADL
5^D6 STOZ A1(3)
5^XQ UNNORM
62CB MHUNT 3,ADATA,CREADL
62X2 OUTPARAM A1(3),CPDATA,ADATA,CREADL
63BL MFREEW ADATA,CREADL
63W= MHUNTW 3,FILE,ENT
63Y8 ...#UNS FBLKTWO
6426 ...(
6444 ... JBC REVERT,3,BEBLOCK2
6462 ... LDX 6 XFILEMULTAL(1) [ FILE CONTAINED BLOCKTWICE
647Y ... BRN OUTMESS
649W ...REVERT
64?S ...)
64*W OUTPACK EWRITDAY(3),1,DATETHEN
64TG MHUNTW 3,FILE,ENT
65*6 OUTPACK EWRITTIME(3),1,TIMETHEN
65SQ MHUNTW 3,FILE,ENT
66#B JBS X15MESS,3,BELOSE
66S2 [ SINGLY UPDATED CASE
67?L LDX 6 XFILEREV(1)
67R= BRN OUTMESS
68=W [ MULTIPLY UPDATED CASE
68QG X15MESS
69=6 LDX 6 XFILEGONE(1)
69PQ OUTMESS
6=9B [ MONOUT USES ALL ACOMMUNE WRDS; BUT NO NEED TO SAVE SUBREPS
6=P2 [
6?8L MONOUTX 6
6?N= MHUNTW 3,FILE,ENT
6?Y4 ...OPEE
6?^L ...#UNS FBLKTWO
6#38 ... MBC 3,BELOSE,BEREVERT,BEBLOCK2
6#4Q ...#UNS FBLKTWO
6#6# ...#SKI
6#7W MBC 3,BELOSE,BEREVERT [TAKE OUT CORRUPT FILE BITS
6#MG NAME 3,FILE,FWB
6*76 REWRITE
6*LQ MHUNTW 3,FILE,FWB
6B6B NAME 3,FILE,ENT
6BL2 ANSOK2
6C5L [RESET MAIN REPLY FROM GETDIR
6CK= CALL 6 MOVED2
6D4W BRN OP1
6DJG OPC
6F46 TESTREPN NOFILE,OPDR1 [IF NEITHER OK NOR NOFILE,UP+1
6FHQ LDN 4 0 [X4 SET ZERO IF NOFILE REPLY
6G3B SETMODE 7,CREATE
6GH2 [
6H2L [ CHECK FOR OK+CREATE FOR MT,NOFILE WITHOUT CREATE
6HG= [
6H^W OPA
6JFG SETMODE 0,CREATE
6J^6 ANDX 0 5
6KDQ ERX 7 0 [X7 NON ZERO FOR ERROR CASES
6KYB BZE 7 OP1
6LD2 OPB
6LXL PICKREP 4
6MC= CLOSETOP [CLOS DIR BECAUSE OF ERROR
6MWW BRN NMFEA
6NBG PGD1 [OK REPLY FROM GETDIR 4-GLIST ENTRY NEVER HAS CREATE MODE
6NW6 CALL 6 MOVED2
6P*Q OP1
6PTB LDX 0 A1(1)
6Q*2 BZE 0 NMFE1 [DONT ALTER FABSNB IF NO LOCAL NAME G
6QSL ADN 1 A1
6R#= SMO A1(2)
6RRW ADN 2 A1-6
6S?G [ UPDATE FABSNB WITH CORRECTED LOCAL NAME
6SR6 MOVE 1 6
6T=Q BZE 4 NMFE1 [DONT SET TABS
6TQB PICKREP 4
6W=2 [ SET TAB,THEN POSN.DIR ON USER TRAPS
6WPL SETUPTAB
6X9= TABSET
6XNW MHUNTW 3,FILE,ENT
6Y8G LDEX 1 ECOPS(3)
6YN6 BZE 1 NMFEA
6^7Q SKIP ,0(1) [POSITION ABOUT TO READ FIRST TRAPS
6^MB [ OR INDEX RECORDS. CHECKTRA WILL SKIP OVER THE INDEX (SHOULD BE CH
7272 BZE 3 XENDIR [J IF END OF FILE
72LL NMFEA
736= PUTREP2 4
73KW NMFE1
745G UPPLUS 2
74K6
754Q
75JB MOVED2
7642 MHUNT 1,FILE,FLOCNB
76HL MHUNT 2,FILE,FABSNB
773= EXIT 6 0
77GW
782G
78G6 MTS
78^Q GETDIR 4
79FB #SKI K6USERDIR>99-99
79^2 (
7=DL MHUNTW 2,AONBS,GLIST
7=Y= TRACE A1(2),NO. TSNS
7?CW LDX 2 FX2
7?XG )
7#C6 LDN 4 0 [TO AVOID SETUPTAB
7#D7 ...#UNS FTS1
7#F8 ...(
7#G9 ... TESTREP2 NOFILE,NOFMTS [J IF GETDIR DIDNT FIND MTS
7#H= ... TESTRPN2 OK,OPDR1 [J IF NON OK REPLY
7#J? ... TESTMODE AWORK1(2),PGD1,,FROZEN [OK IF FROZEN SUBMODE GIVEN
7#K# ... TOPFCB2 3 [X3->FCB OF DIR
7#L* ... JFREZFCB 3,OPDR1 [ERROR IF USERFROZEN AND USER
7#MB ... [NOT ALLOWED TO ACCESS FROZEN FILES O
7#NC ... BRN PGD1 [OK
7#PD ...NOFMTS
7#QF ...)
7#RG ...#UNS FTS1
7#SH ...#SKI
7#TJ ...(
7#WQ TESTREP2 OK,PGD1
7*BB TESTRPN2 NOFILE,OPDR1
7*L8 ...)
7*W2 MFREE FILE,FLOCNB
7B*L BRN OPB
7BT=
7C#W
7CSG OPDR1
7D#6 PICKREP 7
7DRQ CLOSETOP [DIRECTORY
7F?B BRN OPDR2
7FR2 OPREP [REPLY FROM OPENING DIR IS NOT OK
7G=L PICKREP 7
7GQ= OPDR2
7H9W CALL 4 SERCL
7HPG PUTREP 7
7J96 UP1
7JNQ MFREE FILE,FLOCNB
7K8B UPPLUS 1
7KN2 XDETS
7L7L SETREP DIRDET [DETAILS WRONG FOR A DIRECTORY
7LM= BRN UP1
7M6W
7MLG
7N66 XBR
7NKQ CALL 4 SERCL
7P5B XBRS
7PK2 MFREE FILE,FLOCNB
7Q4L UP
7QJ= [
7R3W [ CLOSE SERIAL IF IT WAS OPEN
7RHG [
7S36 SERCL
7SGQ MHUNT 1,FILE,FLOCNB
7T2B BBUS 23,ATYPE(1),SERCLX [J IF FILESTORE ENTRANT
7TG2 TESTMODE 5,SERCLX,,CREATE [SERIAL NOT OPEN,GO SERCLX
7T^L SBX 4 FX1
7WF= CLOSETOP [SERIAL
7WYW ADX 4 FX1
7XDG SERCLX
7XY6 EXIT 4 0
7YCQ XENDIR
7YXB GEOERR 1,ENDDIR [SKIP TO END OF DIRECTORY
7^C2 SYSNOPEN
7^WL GEOERR 1,SYSNOPEN [CANT OPEN SERIAL
82B= [
82TW [
83*G ... MENDAREA 40, K99USERDIR
84#Q #END
^^^^ ...65574031000200000000