Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: USERONE867)}} ====== USERONE867 ====== (George Source) **Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ADDMODE|ADDMODE]], [[george:macro:ANSOK2|ANSOK2]], [[george:macro:BBS|BBS]], [[george:macro:BBUS|BBUS]], [[george:macro:BXE|BXE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CHEKPRIV|CHEKPRIV]], [[george:macro:DOWN|DOWN]], [[george:macro:FINDNAME|FINDNAME]], [[george:macro:FNORM|FNORM]], [[george:macro:FREEBAX|FREEBAX]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETDIRWORK|GETDIRWORK]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNTW|HUNTW]], [[george:macro:JBC|JBC]], [[george:macro:JBS|JBS]], [[george:macro:KEEPREP|KEEPREP]], [[george:macro:KREPC|KREPC]], [[george:macro:LONGSET|LONGSET]], [[george:macro:LONGSTOP|LONGSTOP]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEBAX|MFREEBAX]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:NAMETOP|NAMETOP]], [[george:macro:OPENCREX|OPENCREX]], [[george:macro:PICKREP2|PICKREP2]], [[george:macro:PREP2|PREP2]], [[george:macro:PTREP2|PTREP2]], [[george:macro:PUTREP2|PUTREP2]], [[george:macro:SECUREX|SECUREX]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETBIT|SETBIT]], [[george:macro:SETMODE|SETMODE]], [[george:macro:TESTMODE|TESTMODE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TESTRPN2|TESTRPN2]], [[george:macro:TRACE|TRACE]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:VFREE|VFREE]], [[george:macro:VFREEBAX|VFREEBAX]], [[george:macro:VFREEW|VFREEW]], [[george:macro:WHATBACK|WHATBACK]] <code - USERONE867.txt>22FL ... SEG USERONE,850,MIKE PUTNAM,USEROPES 22^= [ 2394 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983 23DW [ 23YG SEGENTRY K1USERONE,ZENTRY 24D6 SEGENTRY K10USERONE,TWOMODES 24XQ SEGENTRY K2USERONE,WAITING 25CB [ 25X2 [ 26BL [ USERONE IS THE FIRST PART OF THE OLD USEROPEN6 SEGMENT 26W= [ AND OLD USERCREA SEGMENT 27*W [ SEE PRM & GIM FOR ITS PURPOSE 27TG [ 28*6 [ 28G# ...MASTER 4H**** 28MG ...MHASH 4H#### 28SQ WABS +FILE+FABSNB 29#B WNAME +FILE+FNAME 29S2 MAPP +AAPPEND 2=?L MDDIR +ADIROPEN 2=R= XALLFILE +AFILE+AMULT+AMULTEL+AMDF 2?=W XMULTEL +AFILE+AMULT+AMDF 2?QG XMULTMODE +AFILE+AMULTEL+AMDF 2#=6 MASK1 #57777777 2#PQ [ GDR IS E-MODE FOR USEROPEN; GDESTR IS A-MODE FOR OPENREL 2*9B MGDR +AGDESTR 2*P2 PRIV 8HDESTCOMM 2B8L UPM +AQUERY+AREPWAIT [XTRA MODES ADDED FOR OPENCREX 2BN= NOPM #02007752 [MODES (IF PRESENT) PASSED TO OPENCRE 2C7W MDOL +ADIROPEN+ALEAVE [XTRA MODES FOR OPENCREX IF MULTEL 2C8? ...[ 2CMG [ 2D76 [ USEROPEN/USEROPEX MACROS ENTER USERONE 2DLQ [ 2F6B [ K10USERONE IF TWO MODE WORDS GIVEN 2FL2 [ 2G5L [ K1USERONE IF ONLY ONE MODE WORD 2GK= [ 2H4W [ USE OF WORK SPACE 2HJG [ 2J46 [ AWORK1 SECOND MODE WORD E-MODES 2JHQ [ AWORK2 CONTAINS ANQDIR USED AT OKDIR & K3USEROPEN 2K3B [ B0 SET-MEANS A MULTIFILE HAS BEEN EMPTIED-USED 2KH2 [ IN USERSTRM & USERONE 2L2L [ AWORK3 SWITCHES -B1 SET-CREATE PRESERVED AS APROC-BUG 5399 2LG= [ B2 SET - [CETM] (FORMERLY #462..., #463...) 2L^W [ = 0 TO PREVENT TYPE MODE CHECKS AGAIN IN USERTYPE 2MFG [ -FOR B0,15-23 SEE USERDIR/USERLIB 2M^6 [ AWORK4 FIRST MODE WORD A-MODES 2NDQ [ 2NYB 2PD2 TWOMODES 2PXL LDX 0 ACOMMUNE2(2) 2QC= #SKI K6USERONE>99-99 2QWW TRACE 0,2NDUSERM 2RBG STO 0 AWORK1(2) 2RW6 BRN MERG1 2S*Q [ 2STB [ 2T*2 ZENTRY 2TSL STOZ AWORK1(2) [NO 2ND MODE WORD 2W#= MERG1 2WRW LDX 5 ACOMMUNE1(2) 2X?G #SKI K6USERONE>99-99 2XR6 TRACE 5,USERONE 2Y=Q STO 5 AWORK4(2) [KEEP MODE 2YQB STOZ AWORK2(2) [STORING SUBSIDIARY REPLY 2^=2 STOZ AWORK3(2) [USED IN USERLIB,WHICH CAN RE-ENTER 2^PL [USEROPEN,AND IN USEROPEN(BIT 1) 329= #SKI K6USERONE>199-199 32NW ( 338G TESTMODE 5,SEEK,NOT,MDF,MULT [J IF NOT MDF AND NOT MULT 33N6 TESTMODE 5,XMDFMULT,NOT,MULT [J IF NOT MULT 347Q TESTMODE 5,SEEK,NOT,MDF [J IF NOT MDF 34MB GEOERR 1,MDFMULT [BOTH MDF AND MULT MODES ILLEGAL 3572 XMDFMULT 35LL TESTMODE 5,XRAND,,CREATE,EMPTY,ERASE 366= [ CANT HAVE THESE MODES WITH MDF MODE 36KW ) 375G [ 37K6 [ FIRST,GET NAME,CHECK,AND PUT INTO A SUITABLE FORM 384Q [ 38JB [ THE NAME IS IN EITHER A FILE/FNAME OR A FILE/FABSNB 3942 [ 39HL SEEK 3=3= LDX 2 FPTR(2) [LOOK AT NEXT BLOCK 3=GW LDX 0 ATYPE(2) 3?2G #SKI K6USERONE>199-199 3?G6 ( 3?^Q BXL 0 CACT,XT1 3#FB GEOERR 1,NONAME 3#^2 XT1 3*DL ) 3*Y= SRL 0 12 3BCW BXE 0 WNAME(1),UFNOR [NAME GIVEN IN FNAME BLOCK 3BXG BXU 0 WABS(1),SEEK 3CC6 [ 3CWQ [ NAME IN FABSNB 3DBB [ 3DW2 #SKI K6USERONE>99-99 3F*L ( 3FT= SMO A1(2) 3G#W LDX 0 A1-6(2) [GET LOCAL NAME 3GSG LDX 4 A1(2) 3H#6 SBN 4 6 3HRQ BPZ 4 TRACENAME [IF NO LOCAL NAME 3J?B LDX 0 A1+1(2) [GET ONLY NAME 3JR2 TRACENAME 3K=L TRACE 0,USERFABS 3KQ= ) 3R66 TESTMODE 5,UCT1,,MULTEL [IGNORE ADJUNCTS IF MULTELEM 3RKQ HUNTW 3,FILE,ADJUNCTS [IF GIVEN IN FABSB THERE MAY BE ADJUN 3S5B BPZ 3 UADJ 3SK2 BRN NCOMP 3T4L [ NAME GIVEN IN FILE/FNAME BLOCK,SO FNORM NOT DONE 3TJ= [ 3W3W UFNOR 3WHG CHAIN 2,FX2 [PUT FNAME NEXT TO ACT.BLOCK 3Y2B #SKI K6USERONE>99-99 3YG2 ( 3Y^L [ FNAME SHOULDNT OCCUR WITH STREAMCOMP MODE 3^F= TESTMODE 5,XSC,NOT,MULTEL [FNAME WRONG IF MULTEL MODE GIVEN 3^YW GEOERR 1,NOTNORM 42DG XSC 42Y6 ) 43XB FNORM 3 44C2 MHUNT 2,FILE,FNAME [RENAME TO CUNI FOR ERROR REPORTING 44WL NAMETOP 2,CPB,CUNI 45B= TESTREP NAMEFORM,RNOK 45TW MHUNT 2,FILE,FABSNB 46*G #SKI K6USERONE>99-99 46T6 ( 47#Q SMO A1(2) 47SB LDX 0 A1-6(2) [GET LOCAL NAME 48#2 LDX 4 A1(2) 48RL SBN 4 6 49?= BPZ 4 TRACENAME1 [IF NO LOCAL NAME 49QW LDX 0 A1+1(2) [GET ONLY NAME 4==G TRACENAME1 4=Q6 TRACE 0,USERFNAM 4?9Q ) 4?PB [ 4#92 [ NOW LOOK AT SOME OF THE MODES AND CHECK COMPATIBILITY 4#NL [ 4*8= TESTREPN ADJUNCTS,NCOMPFAB 4*MW MHUNTW 3,FILE,ADJUNCTS 4B7G [ 4BM6 [ ADJUNCTS BLOCK PRESENT (X3).X2 POINTS FABSNB 4C6Q [ 4CLB UADJ 4D62 SETMODE 4,NOWAIT,REPLY [IF CERTAIN QUALIFIERS SPECIFIED 4DKL ANDX 4 A1+1(3) [ADD SUITABLE MODES. 4F5= #SKI K6USERONE>99-99 4FJW ( 4G4G BZE 4 NOADMOD 4GJ6 TRACE 4,USERADJ 4H3Q NOADMOD 4HHB ) 4J32 ORX 5 4 [ENSURE THAT,IF NOWAIT OR REPLY MODE 4JGL [ GIVEN AS COMMAND QUALIFIERS,THEY ARE SET IN X5. 4K2= LDN 0 #7000 [IF READING IGNORE APPEND 4KFW ANDX 0 5 [& SELF QUALIFIERS 4K^G SBN 0 #3000 4LF6 BNG 0 NOMULT 4LYQ LDN 0 #7000 4MDB ANDX 0 A1+1(3) [MAIN MODE IN X0 4MY2 BXU 0 MAPP(1),NOAP [ZPPEND QUALIFIER NOT GIVEN 4NCL [ 4NX= [ IF THE COMMAND HASNT GIVEN EMPTY MODE,THEN USER CANT SAY APPEND 4PBW ...[ DITTO IF COMMAND WANTS A NONSERIAL FILE 4PWG TESTMODE 5,XRAND,NOT,EMPTY 4Q3N ... HUNT 1,FILE,CREATE 4Q8W ... BNG 1 OKAP 4QB4 ... JBC XRAND,1,CESERIAL 4QH= ...OKAP 4QND ... LDX 1 FX1 4QR5 ... SETMODE 0,EMPTY 4QTQ ERX 5 0 [TAKE EMPTY MODE OUT OF X5 4R*B [ 4RT2 [ OFFSET MODE INSERTED IF APPEND QUAL.SO THAT APPEND TRAP IS CHECKED 4S#L [ DONE COS COPY WORKS IN RANDOM MODE AND WOULD OTHERWISE CHECK FOR 4SS= [ WRITE TRAP 4T?W [ 4TRG ADDMODE 5,OFFSET [MUST ONLY CHECK APPEND TRAP 4W?6 NOAP 4WQQ SETMODE 4,SELF [SELF MODE MEANS MULT QUALIFIER 4X=B ANDX 4 A1+1(3) 4XQ2 BZE 4 NOMULT [J IF NO SELF MODE IN ADJUNCTS 4Y9L [ THE USER SAYS THIS IS A MULTIFILE 4YP= [ ERROR IF MULT QUALIFIER GIVEN AND NOT MULT SUBMODE GIVEN TO USERO 52MQ TESTMODE 5,XMULT,NOT,STREAMS [ERROR IF SELF AND NOT STREAMS MODES 537B TESTMODE 5,XMULTI,,COMMUNE,DESTRUCT 53M2 [COMMUNE ILLEGAL WITH MULTIS 546L BBS 16,ATYPE(2),XTEMMULT [WFILE CANT HAVE MULT QUALIFIER 54L= SMO A1(2) 555W LDX 0 A1-6+4(2) [LOOK AT GENERATION NO.IN FABSNB 55#6 ... BZE 0 NOGEN [NO GEN = O.K. 55GB ... SBN 0 1 [PERMIT GEN = 1 (REF TO MULT AS WHOLE 55NL ... BNZ 0 XGENMULT [ELSE MUST NOT SPECIFY GEN WITH MULT 55WW ...NOGEN 5656 LDN 0 1 56JQ SMO A1(2) 574B STO 0 A1-6+4(2) [SET GEN. = 1 TO GET MDF 57J2 [ 583L [ SET MODE MULT AND TAKE OUT MODES FILE,MULTEL,MDF (IF ANY)=> 58H= [ OPEN ONLY IF IT IS A MULT 592W [ 5#XW ADDMODE 5,MULT 5*X6 BRN NOTWORK 5BBQ NOMULT 5BWB TESTMODE 5,NCOMPFAB,NOT,DESTRUCT [GO NCOMPFAB IF NOT DCF MODE 5CB2 BBS 14,5,NOTRAND [J IF NOT READR,WRITE,OVERLAY MODES 5CTL GEOERR 1,RANDDCF [CANT USE DCF RANDOMLY 5D*= NOTRAND 5DSW BBS 16,ATYPE(2),XDESTWF [CANT USE WORKFILES FOR DEST.COMM. 5F#G [ CHECK WHETHER USER HAS DESTCOMM PRIVILEGE 5FS6 CHEKPRIV ,PRIV,NODESTP 5G?Q BRN NCOMP 5GRB [ 5H?2 [ DO THIS BIT ONLY IF MULTEL MODE 5HQL [ 5J== UCT1 5JPW [MAIN MODE IN X5 5K9G DOWN COMPOST,1 [SET UP FABSNB FOR NEXT ELEMENT 5KP6 BRN RCNOK [NON-OK REPLY => MDF CLOSED 5M82 NCOMP 5MML MHUNT 2,FILE,FABSNB 5N7= NCOMPFAB [X2 STILL POINTS TO FABSNB 5NLW BBUS 16,ATYPE(2),NOTWORK 5P6G SMO FX1 5PL6 ORX 5 MDDIR 5Q5Q NOTWORK 5QKB SMO FX2 5R52 STO 5 AWORK4 [REMEMBER MODE-MAY HAVE BEEN AUGMNTD 5RJL [ OR CHANGED WITH NOWAIT,REPLY,OFFSET,MULTEL,MULT,DIROPEN,UNTRAP,ETC 5S4= BBS 23,ATYPE(2),NWF [J IF NON-FILESTORE ENTRANT 5SHW BBUS 16,ATYPE(2),NWF [J IF NOT A WORKFILE 5T3G [ 5TH6 [ USEROPEN ON A WORKFILE 5W2Q [ 5WGB #SKI K6USERONE>199-199 5X22 TRACE ATYPE(2),USERWF! 64TG TESTMODE 5,XMULTEM,,MULT [J IF WF WHERE MULTI REQD 65*6 SMO FX2 65SQ LDX 4 AWORK1 [GET 2ND MODE WORD 66#B BZE 4 NOMODE 66S2 TESTMODE 4,XRAND,,GDR [WF CANT HAVE GDR 67?L NOMODE 67R= [ GETDIRWORK REQUIRES FABSNB-N.B.NO FLOCNB SET UP 68=W GETDIRWORK 68QG BRN UFILEX 69=6 [ 69PQ [ NOT A WORKFILE-HAVE A CLOSER LOOK AT THE ENTRANT DESCRIPTION 6=9B [ 6=P2 NWF 6?8L [ CANT HAVE GDR IF MULTIFILE MODES ARE THE ONLY MODES GIVEN 6CK= TESTMODE 5,NOTSET,NOT,MULTEL,MULT 6D4W SMO FX2 6DJG LDX 4 AWORK1 [GET 2ND MODE WORD 6F46 BZE 4 NOTSET 6FHQ TESTMODE 4,XRAND,,GDR [MULT CANT HAVE GDR 6G3B NOTSET 6GH2 LDN 4 4 [4 WORDS POSSIBLE FOR LISTDIR 6H2L BXU 4 A1(2),PT 6HG= FINDNAME [EXPAND FABSNB [F 4 WDS TO OPEN DIREC 6H^W TESTRPN2 OK,RNOK1 6JFG MHUNT 2,FILE,FABSNB 6J^6 #SKI K6USERONE>199-199 6KDQ ( 6KYB BXU 4 A1(2),PT 6LD2 GEOERR 1,MASTER [SHOULD BE DETECTED BY FNORM 6LXL ) 6MC= PT 6MWW #SKI K6USERONE>199-199 6NBG TRACE ATYPE(2),USERENT 6NW6 LDX 4 ATYPE(2) [X4 = 0 UNLESS DESCRIPTION 6P*Q ANDN 4 #4100 6PTB SMO A1(2) 6Q*2 LDX 0 A1-6(2) [IF LAST NAME IN FABSNB DOESNT START 6QSL BXU 0 HCOLUSER,PTA [WITH COLON,GO TO'PTA' 6R#= LDN 4 1 [SET X4 TO DENOTE FILE NAME 6RRW [ IF X4 IS NON-ZERO THEN IT IS A FILE (POSSIBLY?) 6S?G PTA 6SR6 BZE 0 TP [NO FILENAME SO MAG TAPE 6T=Q LDN 0 #2400 [PRIVATE FILE INDICATORS 6TQB ANDX 0 ATYPE(2) 6W=2 BNZ 0 TP [J IF RET.PERIOD,TSN,OR REEL.NO. 6WPL BNZ 4 TF [ FILE INDICATED 6X9= [ WE STILL DONT KNOW WHAT SORT OF ENTRANT IT IS. 6XNW ... JBS SECUREX,2,BFABEXO [J IF SECUREX ENTRANT 6Y8G ... JBS PRIVATE,2,BFABLIB [J IF TAPE ENTRANT 6YN6 ... JBC UFILE,2,BFABANY [J IF TERM FILE 7272 [ 72LL [ EITHER TYPE OF ENTRANT IS ACCEPTABLE 736= [ 73KW [ 745G [ USERDIR-UP IS FOR BREAK-IN 74K6 [ UP+1 MOST ERROR REPLIES INCLUDING NOFILEVON DIRECTORY 754Q [ UP+2 OK- FABSNB UPDATED UNLESS NO LOCAL NAME GIVEN 75JB [ TAB SET IN DIRECTORY BEFORE COPIES RECORD,AND 7642 [ DIR POSITIONED ON TRAPS 76HL [ EXCEPT MT,WHEN GETDITR 4 SETS TABS,AND GLIST BLK MADE 773= [ BUT IF OK IN CREATE MODE FOR MT,DIR NOT OPEN, 77GW [ NOR IF NOFILE WITHOUT CREATE MODE 782G [ 78G6 GEOERR 1,NONENTY 78^Q [ 79FB [ 79^2 [ 7T2B TP [CHECK PRIVATE FILE WANTED 7TG2 BNZ 4 XENT [FILENAME ZERO,OR RET/TSN,BUT B12,16, 7T^L [ 17 ATYPE SET.BOTH FILE AND PRIVATE! 7WF= LDX 0 ATYPE(2) 7WMG ... ANDN 0 #73 7WTQ ... [X0=TYPE EXCEPT THAT THE SECUREX BIT 7X42 ... [IS REMOVED SO THAT WE TREAT THEM 7X== ... [AS TERMINAL FILES HERE 7XDG BZE 0 XENT [B18-23 ZERO-FILE INDICATED 7XY6 NGN 0 3 7YCQ ANDS 0 ATYPE(2) [TAKE OUT UNKNOWN BIT 7YXB SETBIT 23,ATYPE(2) [ENTRANT IS PRIVATE 7^C2 BRN PRIVATE 7^WL TF [CHECK FILE WANTED 82B= BBS 23,ATYPE(2),XENT [J IF PRIVATE 82TW NGN 0 3 83*G ANDS 0 ATYPE(2) [TAKE OUT UNKNOWN BIT 83CP ... JBC UFILE,2,BFABEXO [J IF NOT SECUREX WANTED 83FY ...SECUREX 83J7 ... LDX 0 HCOLUSER 83LB ... SMO A1(2) 83NK ... BXE 0 A1-6(2),XENT 83QS ... BRN USERDIR 83T6 84#Q [ HAVE NOEW DECIDED IT IS A FILESTORE ENTRANT 84SB [ PUT 'FILE' MODE IN IF NONE OF MULT,FILE,MULTEL,MDF GIVEN 85#2 [ CHECK THAT GEN ZERO NOT BEING REQUESTED 85RL UFILE 8?M6 LDCT 0 #100 8#6Q SMO A1(2) 8#LB ANDX 0 A1-6+4(2) 8*62 BNZ 0 XGEN [ZERO GEN NO ILLEGAL FOR FILE 8*KL HUNTW 3,BSTB,FULLB 8B5= [ 8BJW [ GET BS IF LIKELIMOOD OF A FILE BEING CREATED OR EMPTIED BEFORE 8C4G [ DIRECTORY IS OPENED,WHEN ACTIVITY WILL BE BS PRIVILEGED 8CJ6 [ 8D3Q TESTMODE 5,NOBSREQ,,DIR [DONT NEED BS IF DIR MODE 8DHB TESTMODE 5,NOBSREQ,NOT,CREATE,EMPTY [NOR UNLESS CREATE/EMPTY 8KCL TESTMODE 5,PRODBSMULT,,MULTEL [J TO GET BS FOR MULTELEM 8KX= BRN USERDIR 8LBW [ 8LWG [ IF NO BS REQD,FREE ANY SUPPLIED 8MB6 NOBSREQ 8MTQ BNG 3 USERDIR 8N*B MFREEBAX 8NT2 BRN USERDIR 8P#L [ 8PS= [ GET BS FOR MULTIFILE 8Q?W [ 8QRG PRODBSMULT 8R?6 SEGENTRY K50USERONE [TINYMULT MACRO 8RQQ LDN 4 FILESIZE [GET MAX NO. OF BLOX 8S=B BNG 3 NEEDBS [IF NO BS GIVEN,GET SOME 8SQ2 LDX 0 A1(3) 8T9L SBX 0 4 8TP= SBN 0 2 8W8W BPZ 0 USERDIR [IF ENUF GIVEN, GO TO USERDIR 8WNG MFREEBAX [ELSE FREE WHAT WAS GIVEN 8X86 [ 8XMQ [ AND GET SOME MORE 8Y7B [ 8YM2 NEEDBS 8^6L WHATBACK 7,4 8^L= USERDIR 925W DOWN USERDIR,1 92KG BRN XBR [BREAK-IN 9356 BRN UDREP [MOST ERROR REPLIES 93JQ [ 944B ...[ OK REPLY,OR NOFILE WITH CREATE MODE 94J2 [ 953L UFILEX 95H= TESTREP2 NOFILE,UREP2 95KF ... TESTMODE 5,NOWACR,NOT,CREATE 95MN ... MHUNT 3,FILE,FABSNB [IF ITS A SECUREX ENTRANT ALREADY 95PX ... JBC NOWACR,3,BFABEXO [EXISTING AND CREATE WAS SPECIFIED 95S6 ... KEEPREP 6,ALREADY [WE ERROR 95W* ... BRN RE4 95YJ ...NOWACR 962W #SKI K6USERONE>199-199 96GG ( 9726 TESTREP OK,XT2 97FQ GEOERR 1,USERREP 97^B XT2 98F2 ) 98YL ACROSS USEROPEN,1 99D= UREP2 99XW MHUNT 2,FILE,FABSNB 9=CG BBS 16,ATYPE(2),RNOF [J IF WORKFILE 9=X6 TESTMODE 5,RNOF,NOT,CREATE,COMMUNE 9?BQ [ 9?WB [ SECTION TO CREATE FILE OR FOR COMMUNE WAITING 9#B2 [ 9#TL #SKI K6USERONE>99-99 9**= TRACE 5,USERFILC 9*SW TESTMODE 5,UREP3,,CREATE [J TO CREATE FILE 9B#G MHUNT 1,FILE,FLOCNB 9BS6 #SKI K6USERONE>99-99 9C?Q TRACE A1(1),USECOMWT 9CRB LONGSET #10,SETALR,A1(1) [SET WS FOR CREATION OF COMM FILE 9D?2 LONGSTOP XBR 9DQL [ AND TRY AGAIN 9F== [ 9FPW [ 9G9G WAITING [ENTRY WAITING FOR FILE 9GP6 LDX 5 AWORK4(2) 9H8Q VFREEW FILE,ENT 9HNB MFREE FILE,FLOCNB 9J82 MHUNT 2,FILE,FABSNB 9JML #SKI K6USERONE>99-99 9K7= TRACE 5,USERTWO 9KLW BRN PT [TRY AGAIN 9L6G [ 9LL6 [ SECTION FOR CREATING A NEW FILE 9M5Q [ 9MKB UREP3 9N52 MHUNTW 3,FILE,CREATE 9NJL BNG 3 XCREA [J IF NO CREATE BLOCK 9P4= LDX 0 CETM(3) [GET TYPE/MODE 9PHW SRL 0 15 9Q3G SBN 0 #462 9QH6 BZE 0 STOZ [J IF *FR 9R2Q SBN 0 1 9R7Y ... BZE 0 STOZ [J IF *FW 9R*6 ... SBN 0 1 9RGB ... BNZ 0 XCREA [J IF NOT *FH 9S22 STOZ 9SFL STOZ CETM(3) [ZEROIZE TO REVERT TO AMORPHOUS 9S^= LDCT 0 #100 9TDW SMO FX2 9TYG ORS 0 AWORK3 9WD6 [ SET BIT TO INDICATE [CETM] = 0 FORMERLY #462..., #463... 9WXQ ...XCREA 9XCB [ 9XX2 [ BUG 410 - CANT APPEND TO A MULTIFILE BELONGING TO ANOTHER USER 9YBL [ EVEN IF APPEND TRAP OPEN. SO SKIP OWNERCHECK FOR MULTELEM 9YW= [ =2*6 SETMODE 4,MULTEL =2SQ ANDX 4 5 =3#B BNZ 4 NOWNCHEK [J IF MULTELEM ==76 [ ==LQ [ BUG 519 - CANT OVERWRITE A MULTIFILE BELONGING TO ANOTHER USER =?6B [ EVEN IF WRITE TRAP OPEN. SO SKIP OWNERCHECK FOR MDF IF B0 OF =?L2 [ AWORK2 SET => MULTIFILE WAS EMPTIED IN USERSTRM =#5L [ =#K= NOTMULTEL =*4W SMO FX2 =*JG LDX 0 AWORK2 =B46 BNG 0 XMDFCHECK [-VE => CREATE BY OVERWRITING =BHQ OWNERCHECK =C3B TESTRPN2 OK,RE =CH2 XMDFCHECK =CJY ... TESTMODE 5,YUNTRAP,,UNTRAP [ALTHOUGH WE LET PEOPLE =CLW ... MHUNT 3,FILE,FABSNB [REFER TO **** AND #### FILES THEY =CNS ... SMO A1(3) [MAY NOT CREATE THEM. =CQQ ... LDX 0 A1-1(3) =CSN ... BXE 0 MASTER(1),XILLANG [THE ONLY EXCEPTION IS JOBWELL =CWL ... BXE 0 MHASH(1),XILLANG [WHICH USES UNTRAP MODE =CYJ ...YUNTRAP =DG= TESTMODE 5,MULTCRE,,MULT [J IF CREATING MULT =JWW LDN 4 0 [MARK:NOT MULTELEM =KBG NOWNCHEK =KW6 [ ALLOW USERCLEAN,MAIN MODE,CREATE,COMMUNE,REPLY,NOWAIT,LEAVE,DESTRU =L*Q ANDX 5 NOPM(1) =LTB [ ENSURE OTHERS =M*2 ORX 5 UPM(1) =MSL BZE 4 NSC =N#= [ ENSURE EVEN MORE FOR MULTEL =NRW ORX 5 MDOL(1) =P?G NSC =PR6 SMO FX2 =Q=Q LDX 3 AWORK1 [GET 2ND MODE WORD =QQB BZE 3 NGDRX =R=2 TESTMODE 3,NGDRX,NOT,GDR [IF GDR GIVEN TO USEROPEN =RPL ADDMODE 5,GDESTR [GIVE OPENCREX GDESTR =S9= NGDRX =SNW #SKI K6USERONE>199-199 =T8G TRACE 5,USERCREX =TN6 OPENCREX XBR,5 =W7Q TESTREP2 OK,OKREX,DIRCLOSE,WAITING =WMB [ IF DIRCLOSE GIVEN FILE HAS NOT BEEN CREATED -- TRY AGAIN =X72 BRN RE =XLL OKREX =Y6= KREPC 7,NEWFILE =YKW ORS 7 AWORK2(2) [SET SUBREP NEWFILE =^5G [ [X4] = ZERO UNLESS MULTELEM =^7D ... MHUNT 3,FILE,FABSNB =^9B ... LDN 0 #4 =^?# ... ANDX 0 ATYPE(3) [IF ITS A SECUREX JUST GO STRAIGHT UP =^*= ... BZE 0 NSECUREX =^C8 ... ANSOK2 =^DF ... LDN 3 1 ['UPPLUS 1' EXIT =^FQ ... BRN UPRETURN =^H4 ...NSECUREX =^K6 ACROSS USEROPEN,3 ?24Q MULTCRE ?2JB ACROSS USERSTRM,2 [TO SET UP MDF ?342 SETALR ?3HL GEOERR 1,SETWICE [WT FIELD ALREADY SET ?43= RMODE ?4GW GEOERR 1,RONGMODE ?52G [ ?5G6 [ ?5^Q PRIVATE ?=BB VFREEBAX [DONT NEED BS FOR MAG TAPE ?=W2 ACROSS USERLIB,1 ??*L ??T= [ ?##W [ ERROR SECTION ?#SG [ ?*#6 ?*RQ RCNOK ?B?B #SKI K6USERONE>199-199 ?BR2 ( ?C=L TESTREP2 ENDMULT,UPNF,MULTFULL,UPNF ?CQ= GEOERR 1,USERREP ?D9W ) ?DPG RNOK ?F96 #SKI K6USERONE>199-199 ?FNQ ( ?G8B TESTREP NAMEFORM,UPNF ?GN2 GEOERR 1,USERREP ?H7L ) ?HM= RNOK1 ?J6W #SKI K6USERONE>199-199 ?JLG ( ?K66 TESTREP2 NOUSER,UPNF ?KKQ GEOERR 1,USERREP ?L5B ) ?LK2 UPNF ?M4L LDX 2 FX2 ?MJ= HUNTW 3,BSTB,FULLB ?N3W BNG 3 NOFULL ?NHG PICKREP2 6 ?P36 PREP2 7 ?PGQ FREEBAX ?Q2B MFREEW BSTB,EMPTYB ?QG2 PUTREP2 6 ?Q^L PTREP2 7 ?RF= NOFULL ?RYW VFREEW FILE,FTRAP ?SDG NGNC 7 1 ?SY6 ANDX 7 AWORK2(2) [TAKE OUT B0--USED ELSEWHERE ?TCQ #SKI K6USERONE>99-99 ?TXB ( ?WC2 PICKREP2 4 ?WWL TRACE 4,USERREP ?XB= TRACE 7,SUBREP ?XTW ) ?Y*G PTREP2 7 ?YMX ... LDN 3 1 ['UPPLUS 1' EXIT ?^2# ... BRN UPRETURN ?^#Q ?^SB #2#2 [ BREAK-IN EXIT SECTION #2RL [ #3?= XBR #3QW VFREEBAX [FREE ANY SPARE BS #4=G VFREEW FILE,CREATE #4Q6 VFREEW FILE,FTRAP #59Q VFREEW FILE,ENT #5PB VFREE FILE,FLOCNB #5R# ...[ CORRECTION FOR BREAK-IN WITH MULTIFILES #5T= ... TESTMODE 5,XUPP,NOT,MULTEL [ J IF NOT MULT. ELEMENT #5X8 ... MHUNT 3,FILE,FABSNB #5^6 ... LDN 7 1 #634 ... SMO A1(3) [ SUBTRACT 1 FROM GEN. NO. #652 ... SBS 7 A1-2(3) [ BEOS BRK-IN #66Y ...XUPP #6#S ... LDN 3 0 ['UP' EXIT #6GN ... BRN UPRETURN #6NL UDREP #78= TESTREP NOFILE,UDREP1 [REPLACE NOFILE BY NAME #7MW [ BECAUSE DIR SUPERIOR TO REQUIRED FILE DOES NOT EXIST #87G #SKI K6USERONE>199-199 #8M6 ( #96Q LDX 2 FX2 #9LB TESTMODE AWORK4(2),RE,,REPLY #=62 TESTREPN CANT,RE #=KL GEOERR 1,USERCANT #?5= ) #?JW ##4G ##J6 RE #*3Q ACROSS REPERR,2 #*4F ...# #*58 ...# ROUTINE TO EXIT,BEARING IN MIND SHARED FILESTORE ENHANCEMENT #*5X ...# X3=0 => UP, X3=1 => UPPLUS 1 #*6L ...UPRETURN #*G6 ... UPPLUS 0(3) ['UP' OR 'UPPLUS 1' EXIT #*HB #B32 [ ERROR CONDITIONS WITH NO ERROR REPLY SET YET #BGL [ #C2= RNOF #CFW TESTMODE 5,XTERM,,DIRONLY #C^G KEEPREP 6,NOFILE #DF6 BRN RE4 #DYQ XTERM #FDB KEEPREP 6,TERM #FY2 BRN RE4 #GCL VRY #GX= KEEPREP 6,VRYWRONG #HBW BRN RE4 #HWG XENT #JB6 KEEPREP 6,ENTTYPE #JTQ BRN RE4 #K*B XGEN #KT2 KEEPREP 6,WRGEN #L#L BRN RE4 #LS= XRAND #M?W KEEPREP 6,WRONG #MRG BRN RE4 #N?6 UDREP1 #NQQ KEEPREP 6,NAME #P=B BRN RE4 #PQ2 XMULT #Q9L KEEPREP 6,NOMULTS #QP= BRN RE4 #R8W XMULTEM #RNG KEEPREP 6,TEMPMULT #S86 BRN RE4 #SMQ NODESTP #T7B KEEPREP 6,DESTPRIV #TM2 BRN RE4 #W6L XDESTWF #WL= KEEPREP 6,DESTWF #WQ7 ... BRN RE4 #WW4 ...XILLANG #W^^ ... KEEPREP 6,ILLANG #X5W RE4 #XKG VFREEW FILE,ENT #Y56 ACROSS REPERR,4 #YJQ #^4B [ ERROR CONDITIONS GIVING NAMEFORM REPLY WITH SUBSIDIARY COMMENT #^J2 [ *23L XGENMULT *2H= LDN 7 1 *32W BRN RE3 *3GG XMULTI *426 LDN 7 2 *4FQ BRN RE3 *4^B XTEMMULT *5F2 LDN 7 3 *5YL RE3 *6D= ACROSS REPERR,3 *6XW [ *7CG [ *7X6 ... MENDAREA 60,K99USERONE *8WB #END ^^^^ ...20532707000100000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In