16 226D ... SEG ALLOCATE,6,SECTION FILE,FILESTORE,G400 4 22=W ...[ 16 22C# ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 22HQ ...[ 6 22N8 ...#UNS G400 13 22SL ...# THIS CHAPTER IS FOR G3PLUS-IH MK2 12 22_= SEGENTRY K1ALLOCATE,X1ALLOCATE 12 23DW SEGENTRY K2ALLOCATE,X2ALLOCATE 12 23YG SEGENTRY K3ALLOCATE,X3ALLOCATE 19 24D6 [THIS SEGMENT ENABLES THE INSTALLATION MANAGER TO INSIST THAT A 20 24XQ [SPECIFIED FILESTORE FILE BE PUT ON A SPECIAL SPECIFIED FILESTORE 21 25CB [RESIDENCE. ALTERNATIVELY HE CAN ALSO INSIST THAT A FILE BE NO LONGER 20 25X2 [KEPT ON A SPECIAL RESIDENCE. FINALLY THIS SEGMENT CAN BE USED TO 19 26BL [SPECIFY RENT FREE FILES AND TO UPDATE THE APPROPRIATE DIRECTORY 9 26W= [ENTRIES ACCORDINGLY. 12 27*W [ THERE ARE THREE ENTRY POINTS 20 27TG [ 1) X1ALLOCATE -: ALLOCATING FILES TO SPECIFIED RES. 15 28*6 [ 2) X2ALLOCATE -:CANCEL ALLOCATE 20 28SQ [ 3) X3ALLOCATE -: ALLOCATE WHILE FILE BEING RETRIEVEC 2 29#B 2 29S2 9 2=?L [ PRESET CONSTANTS-: 2 2=R= 8 2?=W NOUSER #2 8 2?QG NOUSEMOP #10 9 2#=6 PUBLIC 8HPUBLIC 11 2*HQ ...MASTER 16H:MASTER MASTER 9 2*P2 MLOCAL #40000 10 2B8L ZMANG 12HMANAGER 6 2B*S ...#SKI IPL 9 2BH2 ...ZWWXAS 12HWWXAS 2 2BN= 12 2C7W [ MONITORING FILE MESSAGES 2 2CMG 9 2D76 XINCDUMP +INCDUMP 9 2DLQ XALLERX +ALLERX 9 2F6B XALLERZ +ALLERZ 10 2FL2 XERENT +ERENTTYPE 10 2FTS ...XERNOMULTS +ERNOMULTS 9 2G5L XAMISS +AMISS 9 2GK= XJUSE +JUSNA 2 2H4W 7 2HJG [ MCONERR 6 2J46 [ ONERR 7 2JHQ [ TWONER -: 2 2K3B 18 2KH2 [ THESE ARE SUBROUTINES FOR OUTPUTTING THE COMMAND ERRORS 2 2L2L 2 2LG= 5 2L_W MCONERR 19 2MFG SBX 6 FX1 [SUBROUTINE FOR OUTPUTTING 17 2M_6 SMO FX1 [ COMMAND ERRORS 8 2NDQ LDX 1 0(1) 19 2NYB COMERRX 1 [NEVER COME BACK SINCE FATAL 2 2PD2 5 2PXL ONERR 20 2QC= SBX 6 FX1 [ SUBROUTINE FOR OUTPUTTING 19 2QWW SMO FX1 [ COMMAND ERRORS WHICH ARE 19 2RBG LDX 1 0(1) [ NOT FATAL TO THE COMMAND 7 2RW6 ERRORX 1 8 2S*Q ADX 6 FX1 7 2STB EXIT 6 0 2 2T*2 5 2TSL TWONER 8 2W#= SBX 6 FX1 8 2WRW SMO FX1 18 2X?G LDX 1 0(1) [ USER NAME MISSING 8 2XR6 SMO FX1 8 2Y=Q LDX 2 0(2) 7 2YQB ERRORX 1,2 8 2_=2 ADX 6 FX1 7 2_PL EXIT 6 0 2 329= 18 32=4 ...[ THIS SUBROUTINE ATTEMPTS TO COPYFILE THE FILE DEFINED 21 32=W ...[ BY THE FIRST FABSNB. THIS FABSNB IS ALWAYS REMOVED BY THE ROUTIN 5 32?N ...NOWCOPY 8 32#G ... SBX 6 FX1 8 32*# ... LDX 2 FX2 17 32B6 ... LDX 0 AWORK1(2) [RES NO TO COPY TO 14 32BY ... BZE 0 XITOK [CC AO 7 32CQ ... SBN 0 1 15 32DJ ... BZE 0 XITOK [AO PUBLIC 16 32FB ... ADN 0 1 [RESTORE RES NO 19 32G8 ... RESQUERY 0,XITUG [J IF RESIDENCE DOESN'T EXIST 8 32GK ... LDX 2 FX2 5 32H2 ...XITOK 17 32HS ... COPYFILE AWORK1(2) [COPYFILE THE FILE 8 32JL ...XIT ADX 6 FX1 7 32KD ... EXIT 6 0 5 32L= ...XITUG 10 32M4 ... MFREE FILE,FABSNB 8 32MW ... BRN XIT 2 32NW 17 338G [ THE FILE RESIDENCE NUMBER IS STORED IN AWORK1 WORD 13 33N6 [ FOR CANCEL ALLOCATE AWORK1=0 15 347Q [ FOR ALLOCATE AWORK1= 48 GE (FRN) LE 63 13 34MB [ FOR RENT FREE FILES AWORK1=+1 2 3572 2 35LL 6 366= X2ALLOCATE 20 36KW LDX 2 FX2 [ENTRY POINT FOR CANCEL ALLOCATE 15 375G STOZ AWORK1(2) [AWORK1 = 0 8 37K6 BRN XA1 2 384Q 2 38JB 6 3942 X1ALLOCATE 19 39HL NGN 0 1 [ENTRY POINT FOR ALLOCATE 21 3=3= LDX 2 FX2 [AWORK1 -VE I.E FSN NOT SPECIFIED YET 9 3=GW STO 0 AWORK1(2) 20 3?2G STOZ AWORK2(2) [AWK2 FLAGS IF AN ACCEPTABLE FILE 21 3?G6 [NAME HAS BEEN SPEC. IN THE COMMAND 20 3?_Q [ X7 KEEPS A COUNT OF THE NUMBER OF FILES SPECIFIED IN THE COMMAND 19 3#FB [ (PLUS ONE ) UP TO THE POINT WHERE THE SPECIAL FILE RESIDENCE 16 3#_2 [ NUMBER IS SPECIFIED. X7 SHOULD NOT BE OVERWRITTEN 19 3*DL XA1 LDX 3 CONTEXT(2) [TESTING FOR NO-USER CONTEXT 17 3*Y= STOZ 7 [ZEROISE FILE COUNT 6 3B5D ...#UNS G400 14 3B=L ... TESTHOOK STRT [J IF IN A HOOK 8 3BCW LDX 1 FX1 9 3BXG ANDX 3 NOUSER(1) 19 3CC6 BZE 3 USER [J IF IN USER CONTEXT 10 3CWQ LDX 3 CONTEXT(2) 10 3DBB ANDX 3 NOUSEMOP(1) 18 3DW2 BZE 3 STRT [J IF IN NO-USER CONTEXT 19 3F*L BRN MCOMX1 [J IF IN NO-USER +MOP CONTEXT 4 3FT= USER 17 3G#W FJOCA 2 [X2=JOB CONTROL BLOCK 21 3GSG ... TESTNAMX 3,JUSER(2),ZMANG(1),MNOTMAN,3 [J IF JOB NOT UNDER MAN 2 3H#6 4 3HRQ STRT 17 3J?B SPARAPAS [ PICK UP A PARAMETER 2 3JR2 10 3K=L MHUNT 2,CPB,CUNI 9 3KQ= LDX 3 ANUM(2) 18 3L9W BZE 3 STRT1 [J IF PARAMETER IS NULL 19 3LPG BNG 3 NONE [J IF PARAMETER IS MISSING 19 3M96 CHNUMCON 1 [TEST IF PARAMETER IS ANUMBER 10 3MNQ MHUNT 3,CPB,CUNI 17 3N8B TESTREP CHNUMERR,NOTNUM [J IF NOT A NUMBER 2 3NN2 9 3P7L LDX 0 AWORK1(2) 11 3PM= TRACE AWORK1(2),ALLFRN 21 3Q6W BNG 0 XA2 [J IF RESIDENCE NO. HAS NOT BEEN SPEC 10 3QLG MFREE CPAR,GNUMCON 8 3R66 BRN XA3 11 3RKQ XA2 MHUNTW 1,CPAR,GNUMCON 16 3S5B LDX 3 A1+1(1) [X3 CONTAINS FRN 7 3SK2 SBN 3 3 16 3T4L BNG 3 MCOMX2 [ERROR IF FRN <3 8 3TJ= SBN 3 61 17 3W3W BPZ 3 MCOMX2 [ERROR IF FRN > 63 8 3WHG ADN 3 64 17 3X36 STO 3 AWORK1(2) [KEEP FRN IN AWORK1 10 3XGQ MFREE CPAR,GNUMCON 9 3Y2B MFREE CPB,CUNI 8 3YG2 BRN STRT 2 3Y_L 2 3_F= 21 3_YW # THIS CODING IS ENTERED WHEN THE PARAMETER PICKED UP IS NOT A NUMBER 15 42DG # A TEST IS MADE ON THE FORMAT OF THE FILENAME 2 42Y6 2 43CQ 5 43XB NOTNUM 9 442G ... LDX 0 ANUM(3) 8 445L ... ANDN 0 #7777 21 448Q ... SBN 0 9 [CANT BE 'PUBLIC' OR ':MASTER' IF >8 19 44?W ... BPZ 0 XA4 [CHARS SPECIFIED. J IF SO. 18 44C2 LDX 4 APARA(3) [1ST WORD OF PARAMETER 9 44WL TRACE 4,ALLNOPB 8 45B= LDX 2 FX1 19 45TW BXU 4 PUBLIC(2),XA3 [ J IF 1ST WORD.NE.TO PUBL 10 46*G LDX 4 APARA+1(3) 18 46T6 BXU 4 PUBLIC+1(2),XA3 [J IF 2ND WORD .NE. TO IC 2 47#Q 2 47SB 15 48#2 # ENTRY HERE IF ALLOCATE PUBLIC COMMAND IS GIVEN 12 48RL # AWORK1 WORD IS SET EQUAL TO ONE 2 49?= 2 49QW 18 4==G LDX 4 JPARNUM(3) [NO. OF PAR. IN CPB/CALAS 7 4=Q6 SBN 4 1 18 4?9Q BNZ 4 XA3 [J IF NOT FIRST PARAMETER 7 4?PB LDN 2 1 8 4#92 SMO FX2 17 4#NL LDX 4 AWORK1 [J IF 1ST. PAR. OF 18 4*8= BPZ 4 XA3 [CANCEL COM. IS PUBLIC 8 4*MW SMO FX2 20 4B7G STO 2 AWORK1 [^ALLOCATE PUBLIC^HAS BEEN GIVEN 8 4BM6 BRN STRT1 2 4C6Q 2 4CLB 18 4D62 # ENTRY: THE PARAMETER IS TESTED AT THIS POINT FOR FILE NAME 2 4DKL 2 4F5= 4 4F6H ...XA3 12 4F7S ...# TEST FOR MASTER(SPECIAL CASE) 9 4F95 ... LDX 4 APARA(3) 13 4F=B ... BXU 4 MASTER(2),XA4 [:MAST 10 4F?M ... LDX 4 APARA+1(3) 13 4F#Y ... BXU 4 MASTER+1(2),XA4 [ER 11 4FCG ... SETNCORE 4,1,FILE,FABSNB 20 4FDR ... LDN 0 0 [A1 IS A FLAG TO INDCATE :MASTER 18 4FG4 ... STO 0 A1(1) [SET UP MASTER'S FABSNB 17 4FH* ... SMO FX1 [A1 IS SET TO 4 LATER 9 4FJL ... LDX 0 MASTER+2 9 4FKX ... STO 0 A1+1(1) 8 4FM8 ... SMO FX1 9 4FNF ... LDX 0 MASTER+3 9 4FPQ ... STO 0 A1+2(1) 8 4FR3 ... LDX 0 ACES 9 4FS# ... STO 0 A1+3(1) 8 4FTK ... BRN XUSER 3 4FWW ... 8 4FY7 ... [NOT :MASTER 3 4F_D ... 18 4G2P ...XA4 NAMETOP 3,FILE,FNAME [RENAME CUNI BLK F/FNAME 18 4G4G FNORM [CHANGE FNAME INTO FABSNB 10 4GJ6 MHUNT 3,FILE,FNAME 10 4H3Q NAMETOP 3,CPB,CUNI 19 4HHB TESTREP NAMEFORM,STRT1 [J IF ERROR IN NAME ENTRANT 2 4J32 10 4JGL MHUNT 1,FILE,FABSNB 21 4K2= BBS 13,ATYPE(1),MERRX2 [J IF NOT A FILE (MT ENTRANT ETC.) 18 4KFW BBS 16,ATYPE(1),MERRX2 [J IF FILE IS A WORKFILE 17 4K_G BBS 14,ATYPE(1),MERRX3 [J IF LOCAL NAME ONLY 19 4LF6 LDX 0 A1+1(1) [ TESTING FOR SPECIAL LOCAL 15 4LYQ BZE 0 MERRX3 [ NAME CASE 5 4MDB XUSER 19 4MY2 ADN 7 1 [UPDATE COUNT OF FILENAMES 9 4NCL LDX 3 AWORK1(2) 19 4NX= BNG 3 STRT [J IF FRN NOT YET SPECIFIED 2 4PBW 18 4PWG XLOOP SBN 7 1 [SUBTRACT ONE FROM COUNT 10 4P_L ... MHUNT 1,FILE,FABSNB 18 4Q2W ... LDX 3 A1(1) [TEST FOR SPECIAL CASE 17 4Q46 ... BZE 3 MASALL [JI F MASTER'S FABSNB 21 4Q5B ... LDN 4 1 [MARKER ZERO IF ;LOCAL NAME WITHOUT G 17 4Q6L ... [ DETAILS^ SPECIFIED 7 4Q7W ... SBN 3 4 19 4Q96 ... BZE 3 XOPEN1 [J IF JUST ONE DIR. SPECIFIED 7 4Q=B ... SMO 3 18 4Q?L ... LDX 4 A1+2(1) [ X4= GEN. NO. SPECIFIED 5 4Q#W ...XOPEN1 2 4QB6 16 4QTQ OPENDIR MBRK2,GENERAL,QUERY [OPEN DIR. FILE 4 4R*B [ 9 4RT2 TESTREP OK,OK1 4 4S#L [ 17 4SS= ERRTEST 3,STRT2,NAME,NOFILE,NOUSER,WRGEN,VRYWRONG 4 4T?W [ 13 4TRG [ GEOERR IF UNEXPECTED REPLY IS GIVEN 4 4W?6 [ 10 4WQQ GEOERR 1,ALLOCATE 4 4X=B [ 20 4XQ2 OK1 MHUNTW 2,FILE,ENT [F/FABSNB PUT DIR. ENT. IN F/ENT 2 4Y9L 2 4YP= 15 4_5Q ... JBC XNOTMDF,2,BEMDF [J IF NOT MDF 21 4_G= ... BZE 4 XAB [ERROR IF TRYING TO ALLOCATE COMPLETE 15 4_WQ ... [ MULTIFILE 5 52?= ...XNOTMDF 8 52MQ SMO FX2 9 537B LDX 3 AWORK1 8 53K_ ... NGN 0 #100 9 53LF ... ANDS 0 EALLOC(2) 18 53M2 ... ORS 3 EALLOC(2) [UPDATE EALLOC WITH AWK1 5 53WS ...NSPEC 9 546L LDEX 3 ECOPS(2) 18 54L= BZE 3 NOCOPIES [J IF NO COPIES RECORD 19 555W BACKSPACE [POSITION AFTER NAME RECORD 10 55KG MHUNT 2,FILE,ENT 4 5656 [ 5 56JQ NOCOPIES 4 574B [ 10 57J2 NAMETOP 2,FILE,FWB 17 583L REWRITE [REWRITE DIR. ENTRY 10 58H= MHUNT 2,FILE,FWB 16 592W NAMETOP 2,FILE,ENT [RENAME FILE ENT 17 6#MG LDEX 3 ECOPS(2) [ IS THE CPIES REC =0 9 6*76 TRACE 3,OFFLINE 16 6*LQ ... BZE 3 MFREEFAB [J IF OFFLINE 5 6B6B ONLINE 13 6BL2 ...[ COPY FILE IF POSSIBLE,FABSNB REMOVED 9 6C5L ... CALL 6 NOWCOPY 7 6H_W XA7A CLOSETOP 2 6JFG 5 6J_6 OFFLINE1 19 6K3P ... BNG 7 UPRT [J IF ENTERED FROM RETRIEVE 9 6K6# ... MFREE FILE,ENT 5 6K?G ...MASFIN 20 6KDQ NGN 0 1 [FLAGS THAT AT LEAST ONE FILE HAS 16 6KYB STO 0 AWORK2(2) [ BEEN OPENED 2 6LD2 9 6MWW MFREE CPB,CUNI 5 6NBG NOTHR 17 6NW6 BZE 7 STRT [J IF COUNT IS ZERO 8 6P*Q BRN XLOOP 5 6PFM ...MFREEFAB 10 6PKJ ... MFREE FILE,FABSNB 8 6PPF ... BRN XA7A 4 6PTB [ 19 6Q*2 [ ENTRY POINT FROM RETRIEVE COMMAND (DTREST SEGMENT).ENTERED 18 6QSL [ WHENEVER A FILE IS ALLOCATED DURING THE TIME THAT THE 12 6R#= [ FILE IS BEING COPIED FROM TAPE 4 6RRW [ 6 6S?G X3ALLOCATE 20 6SR6 NGN 7 1 [X7 NORMALLY USED AS A COUNT HERE 19 6T=Q LDX 2 FX2 [NEW FILE RES. NO. IS PASSED 16 6TQB LDX 3 ACOMMUNE1(2) [DOWN BY RETREIVE 8 6W=2 TRACE 3,FRNRET 9 6WPL STO 3 AWORK1(2) 20 6X9= BRN ONLINE [IT INDICATES ENTRY FROM RETREIVE 4 6XNW UPRT 5 6Y8G UP 5 6Y=P ...MNOTMAN 6 6Y#Y ...#SKI IPL 4 6YC7 ...( 21 6YFB ... TESTNAMX 3,JUSER(2),ZWWXAS(1),MCOMX1,3 [J IF JOB NOT UNDER USER W 8 6YHK ... BRN STRT 4 6YKS ...) 5 6YN6 MCOMX1 19 6_7Q LDN 1 XINCDUMP [ THIS COMMAND IS NOT FOR 16 6_MB CALL 6 MCONERR [ GENERAL USE 2 7272 4 72LL NONE 2 736= 9 73KW MFREE CPB,CUNI 9 745G LDX 3 AWORK1(2) 19 74K6 BPZ 3 MFINI [J IF COMMAND HAS FINISHED 17 754Q LDN 1 XALLERX [SPECIAL RESIDENCE 18 75JB CALL 6 MCONERR [ NUMBER NOT SPECIFIED 2 7642 5 76HL MERRX2 10 773= MFREE FILE,FABSNB 2 77GW 20 782G LDN 1 XERENT [COMM. ERR.= ENTRANT DESCRIPTION 5 78=# ...MERRX1 21 78G6 CALL 6 ONERR [ FORMAT INDICATES WRG. ENTRANT TYP 8 78_Q BRN STRT1 2 79FB 4 79_2 XAB 9 7=DL MFREE FILE,ENT 10 7=ND ... MFREE FILE,FABSNB 7 7=Y= CLOSETOP 10 7?=M ... LDN 1 XERNOMULTS 9 7?K4 ... BRN MERRX1 5 7?XG STRT2 10 7#C6 MFREE FILE,FABSNB 5 7#WQ STRT1 9 7*BB MFREE CPB,CUNI 8 7*W2 BRN STRT 5 7B*L MCOMX2 2 7BT= 19 7C#W LDN 1 XALLERZ [%C IS NOT A VALID SPECIAL 17 7CSG CALL 6 MCONERR [ RESIDENCE NUMBER 2 7D#6 5 7DRQ MERRX3 2 7F?B 18 7FR2 LDX 3 CONTEXT(2) [TEST IF IN USER CONTEXT 8 7G=L SMO FX1 9 7GQ= ANDX 3 NOUSER 17 7H9W BZE 3 XUSER [J IF IN USER CONTEXT 9 7HPG LDN 1 XAMISS 8 7J96 LDN 2 XJUSE 17 7JNQ CALL 6 TWONER [USER NAME MISSING 2 7K8B 2 7KN2 8 7L7L BRN STRT2 2 7LM= 5 7M6W MFINI 2 7MLG 18 7N66 BNZ 7 XLOOP [COUNT REDUCED TO ZERO 7 7NKQ SBN 3 1 17 7P5B BZE 3 UP [J IF ALLOCATE PUBLIC 17 7PK2 BNG 3 UP [J IF CANCEL ALLOCATE 7 7Q4L ADN 3 1 18 7QJ= RESQUERY 3,MERRX4 [J IF FR DOES NOT EXIST 4 7R3W UP 16 7RHG ENDCOM [END OF COMMAND 5 7S36 MBRK2 20 7SGQ BPZ 7 XCOMB [J IF NOT ENTERED FROM RETREIVE 7 7T2B CLOSETOP 5 7TG2 XCOMB 19 7T_L COMBRKIN [COMMAND HAS BEEN BRKN INTO 5 7WF= MERRX4 19 7WYW [ A TEST IS MADE HERE TO ENSURE THAT ALLOCATE HAS BEEN APPLIED 20 7XDG [ SUCCESSFULLY TO AT LEAST ONE FILE BEFORE ANY MESSAGE IS OUTPUT 8 7XY6 SMO FX2 9 7YCQ LDX 2 AWORK2 19 7YXB BPZ 2 UP [J IF A FILE HAS BEEN OPENED 20 7_C2 OUTNUM 3,0 [CONVERTS BINARY NO. TO CHARACTER 9 7_WL MONOUT ALLERY 8 82B= BRN UP 15 82G7 ...MASALL [ALLOCATE :MASTER 16 82L4 ... CALL 6 NOWCOPY [COPYFILE MASTER 9 82P_ ... BRN MASFIN 4 83*G #END 8 ____ ...74141424000100000000