16 225F ... SEG ARCHIVE,84,PETER CAMPBELL,DUMPSYS,G268 4 228Y ...[ 15 22#C ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 13 22CW ...[ THIS EXCLUDES CODE UNDER #SKI G268 4 22H* ...[ 7 22LS ...#OPT G268 = 0 6 22Q? ...#SKI G268&1 13 22TQ ...# WITH UGUG EDIT M268 (CHUCKOFF COMMAND) 12 22_= SEGENTRY K1ARCHIVE,X1ARCHIVE 12 23DW SEGENTRY K2ARCHIVE,X2ARCHIVE 12 23GD ... SEGENTRY K3ARCHIVE,X3ARCHIVE 6 23J2 ...#SKI G268&1 4 23KJ ...( 4 23M6 ...# 18 23NN ...# K3 ENTRY IMPLEMENTS THE READING VERSION OF CHUCKOFF (CK) 19 23Q= ...# WHICH CHECKS OWNERSHIP AS FOR THE ARCHIVE COMMAND AND CHECKS 18 23RS ...# IF THE FILE(S) MAY BE THROWN OFF AS BY THE BS UNJAMMER 10 23TB ...# RICHARD DANN 15AUG77 4 23WY ...) 4 23YG # 20 24D6 # THIS SEGMENT ENABLES A USER TO SPECIFY THAT CERTAIN OF HIS FILES 19 24XQ # SHOULD BE THROWN OFF-LINE WHEN THE BACKING-STORE UNJAMMER IS 20 25CB # BROUGHT IN.IT IS ALSO POSSIBLE TO ^CANCEL^ THIS SPECIFICATION. 20 25X2 # THE SEGMENT PICKS UP EACH PARAMETER OF THE ^ARCHIVE^ COMMAND IN 20 26BL # TURN,VALIDATES IT (WITH APPROPRIATE MESSAGES IF NOT VALID) AND 19 26W= # SETS BIT 9 IN WORD EINF2 OF THE DIRECTORY ENTRY FOR THE FILE 19 27*W # SPECIFIED (FOR ARCHIVE) OR UNSETS BIT9 FOR CANCEL ARCHIVE. 20 27TG # ALSO,ENABLES A USER HAVING ^NOTOWNER^ PRIVILEGE TO ^ARCHIVE^ AND 19 28*6 # ^CANCEL ARCHIVE^ FILES WHICH HE DOES NOT OWN ( BY SETTING AND 21 28SQ # UNSETTING B11 OF EINF2 RESPECTIVELY). IF SUCH A USER ^ARCHIVES^ OR 20 29#B # ^CANCEL ARCHIVES^ HIS OWN FILES, B9 AND B11 OF EINF2 ARE SET OR 9 29S2 # UNSET RESPECTIVELY. 20 2=?L # COMMAND ERRORS ARE GENERATED FOR ANY INVALID PARAMETERS BUT THE 16 2=R= # COMMAND IS FINISHED BEFORE THESE ARE DETECTED. 4 2?=W # 18 2?QG # THERE ARE TWO ENTRY POINTS: X1ARCHIVE FOR /ARCHIVE/ 20 2#=6 # X2ARCHIVE FOR /CANCEL ARCHIVE/ 4 2#PQ # 7 2*9B #SKI K6ARCHIVE 4 2*P2 # 10 2B8L # PRESET CONSTANTS NEEDED: 4 2BN= # 8 2C7W NOT 4HNOT 8 2CMG NOW 4HNOW 10 2G5L NOTOWNER 8HNOTOWNER 8 2HJG ONE +1 4 2J46 # 21 2JHQ # UNIVERSALS NEEDED FOR ERROR MESSAGES GENERATED WITHIN THIS SEGMENT: 4 2K3B # 20 2KH2 XARCHERX +ERNOTOWN [ERROR %B IN %A:YOU DO NOT OWN %C 21 2L2L XARCHERY +ERARCH [ERROR %B IN %A:%C MAY NOT BE ARCHIVE 19 2LG= XARCHERZ +JPARMIS [ERROR %A : PARAMETER MISSING 9 2L_W # SUBROUTINES USED ARE: 16 2MFG # ^ONERR^ - TO PUT OUT THE ABOVE ERROR MESSAGES 4 2M_6 # 18 2NDQ # ^SUBPACKX^ - TO OUTPUT A PARAMETER TO A GMON/ASET BLOCK 4 2NYB # 20 2PD2 # ^RCHANGEBIT^ - TO SET/UNSET BIT 9 OF EINF2 IN DIRECTORY ENTRY. 4 2PXL # 17 2QC= # ALL SUBROUTINES ARE CALLED ON X7 AND ALL COORDINATE. 4 2QWW # 20 2R44 BITDEFS AWORK2,0,XBMULTSPEC,XBMULTREAD,XBPARAMPRES,XBNOTOWNER 6 2R5R ...#SKI G268&1 11 2R7G ... BITDEFS AWORK2,4,XNOTYET 12 2R9= BITDEFS AWORK1,0,XBCCAR,XBAR 6 2R=6 ...#SKI G268&1 10 2R?2 ... BITDEFS AWORK1,2,XBCK 20 2R?W BITDEFS ATYPE,13,XBTAPE,,,XBWORK [SET IN FABSNB BY FNORM 5 2RBG ONERR 8 2RW6 SBX 7 FX1 8 2S*Q SMO FX1 8 2STB LDX 1 0(1) 21 2T*2 ERRORX 1 [PUT OUT ERROR MESSAGE & SET COMERR 8 2TSL ADX 7 FX1 7 2W#= EXIT 7 0 4 2WRW # 5 2X?G SUBPACKX 8 2XR6 SBX 7 FX1 8 2Y=Q OUTPACKX 4,5,6 8 2YQB ADX 7 FX1 7 2_=2 EXIT 7 0 4 2_PL # 6 329= RCHANGEBIT 8 32NW SBX 7 FX1 7 338G OWNERCHECK 10 33N6 MHUNTW 3,FILE,ENT 9 33Q* LDX 0 EINF2(3) 9 33SJ STO 0 AWORK3(2) 10 33WR LF 3,FEGMTRV,0 9 33_2 STO 0 AWORK4(2) 20 3439 # SRORE ORIGINAL VALUES OF BITS AND FIELD WHICH MAY BE CHANGED 20 345D # SO THAT IF THEY ARE NOT , THE BLOCKS NEED NOT BE RE WRITTEN 16 347Q TESTREP OK,ROK2 [J IF OWNS FILE 6 34=* #UNS FTS1 16 34#Y [ OR HAS ALLACC OR INFACC PRIVILEGE AND QUALIFER 6 34CH #UNS FTS1 4 34G6 #SKI 4 34JP ( 12 34MB JBC XLAB3,2,XBNOTOWNER 12 3572 # JUMP TO CE IF NOT PRIVILEGED 4 358? ) 6 359J #UNS FTS1 4 35=T ( 20 35#6 TESTREPN NOTOWNER,REPALLER [ J IF QUALIFER GIVEN IN ERROR 21 35*C JBS MANARCH,2,XBNOTOWNER [NOT OWNER JUMP IF HAS NOTOWNER PRI 20 35BN BRN XLAB3 [ ERROR YOU DO NOT OWN THIS FILE 5 35C_ REPALLER 17 35F= REPALLER [ GIVE ERROR REPLY 9 35GH BRN RCLOSED 5 35HS MANARCH 4 35K5 ) 6 35KK ...#SKI G268&1 11 35L5 ... JBS RUCHUCK,2,XBCK 12 35LL TRF 2,XBAR,3,BESYSARCH 12 366= # SET,CLEAR MANAGER ARCHIVE BIT 8 36KW BRN REST 6 36L8 ...#SKI G268&1 4 36LG ...( 5 36LS ...RUCHUCK 9 36M6 ... LDX 0 EALLOC(3) 8 36MD ... ANDN 0 #77 8 36MQ ... SBN 0 48 8 36N4 ... BPZ 0 XLAB4 9 36NB ... LDEX 0 ECOPS(3) 16 36NN ... BZE 0 RUOFFLINE [ALREADY OFFLINE 9 36P2 ... LDX 0 EINF2(3) 17 36P# ... BNG 0 RUWAIT [NOT YET - NOT DUMPED 9 36PL ...# SEE IF FILE IS IN USE 9 36PY ... FCBFIND 6,RULF 18 36Q= ... BRN RUWAIT [FOUND SO CANT CHUCK OFF 4 36QJ ...RULF 10 36QW ... LDX 0 EAUTOCOUNT(3) 18 36R8 ... BNZ 0 RUWAIT [NOT YET - BEING LISTED 9 36RG ... LDX 0 ESVCT(3) 17 36RS ... BNZ 0 RUWAIT [NOT YET - HLS SAVED 7 36S6 ...# OK TO CHUCK 8 36SD ... LDCT 4 #777 16 36SQ ... ANDX 4 ECOPS(3) [ X4 = FILE SIZE 11 36T4 ... IF BS,2,XBMULTSPEC 6 36TB ... THEN 20 36TN ... READ [ BLOCKS RECORD (MULTIFILE) 6 36W2 ... ELSE 8 36W# ... READAGAIN 5 36WL ... FI 10 36WY ... MHUNTW 1,FILE,FRB 8 36X= ... IF 4,NZ 6 36XJ ... THEN 10 36XW ... NAME 1,BSTB,FULLB 18 36Y8 ... FULLBPAS 1,2 [FREE THE BACKING STORE 6 36YG ... ELSE 8 36YS ... FREECORE 1 5 36_6 ... FI 6 36_D ... DELETE 10 36_Q ... MHUNTW 3,FILE,ENT 8 3724 ... LDCT 0 #777 9 372B ... ANDS 0 ECOPS(3) 8 372N ... BRN RUEX 5 3732 ...RUWAIT 9 373# ... BS 2,XNOTYET 19 373L ...RUOFFLINE [NO MESSAGE YET IF NOT ONLINE 8 373Y ... BRN REST 4 374= ...) 4 375G ROK2 6 37=N ...#SKI G268&1 11 37CW ... JBS RUCHUCK,2,XBCK 13 37K6 # OWS FILE SO SET,CLEAR ARCHIVE BIT 12 384Q TRF 2,XBAR,3,BEARCHIVE 13 38JB JMBAC REST,2,XBAR,XBNOTOWNER 13 3942 [ JUMP IF CC AR AND NOT PRIVILEGED 14 39HL JMBC RCLEAR,2,XBNOTOWNER,XBCCAR 6 39NS #UNS FTS1 20 39W2 TREPN2 OK,RCLEAR [ J IF OWNERACC QUALIFIER GIVEN 18 3=3= BC 3,BESYSARCH [ CC AR AND PRIVILEGED 5 3=GW RCLEAR 6 3?2G #SKI ARETRV 4 3?G6 ( 10 3?_Q JBC REST,2,XBAR 18 3#FB FC 3,FEGMTRV [ ARCHIVE SO CLEAR FIELD 4 3#_2 ) 4 3G#W REST 13 3GM? JBS RNOCOPIES,2,XBMULTSPEC 12 3G_N # JUMP IF JUST STEPPING THROUGH 9 3H#6 LDEX 4 ECOPS(3) 18 3HRQ BZE 4 RNOCOPIES [J IF NO ONLINE RECORDS 21 3J?B BACKSPACE [POSITION AS THOUGH JUST READ NAME 10 3JR2 MHUNTW 3,FILE,ENT 6 3K=L RNOCOPIES 9 3K*9 LF 3,FEGMTRV,4 9 3KCS LDX 0 EINF2(3) 20 3KGC TXU 0 AWORK3(2) [ SET C IF ARCHIVE BITS CHANGED 17 3KK2 TXU 4 AWORK4(2) [ OR FIELD CLEARED 17 3KMK BCC REXIT [ JUMP IF NO CHANGE 6 3KNF ...#SKI G268&1 4 3KP* ...RUEX 10 3KQ= NAMETOP 3,FILE,FWB 21 3L9W REWRITE [MAKE SURE RECORD IS WRITTEN BACK. 10 3LPG MHUNTW 1,FILE,FWB 10 3M96 NAMETOP 1,FILE,ENT 5 3MDY REXIT 8 3MNQ ADX 7 FX1 7 3N8B EXIT 7 0 4 3NN2 # 20 3P7L # AWORK1 .... USED TO DENOTE ARCHIVE(ZERO) OR CC ARCHIVE(NEGATIVE) 17 3PM= # AWORK2 .... B0 SET - PARAMETER SPECIFIED A MULTIFILE 21 3Q6W # B1 SET - AT LEAST ONE MULTIFILE COMPONENT HAS BEEN READ 21 3QLG # B2 SET - AT LEAST ONE PARAMETER PRESENT FOR THE COMMAND 17 3R66 # B3 SET - USER HAS THE ^NOTOWNER^ PRIV. 4 3RKQ # 4 3S5B # 6 3S6* ...#SKI G268&1 4 3S7# ...( 16 3S8? ...X3ARCHIVE [READING CHUCKOFF 9 3S9= ... STOZ AWORK1(2) 9 3S=9 ... BS 2,XBCK 8 3S?8 ... BRN RSTOZ 4 3S#7 ...) 18 3S*8 SEGENTRY K10ARCHIVE [FOR CSS ARCHIVE 6 3SK2 X1ARCHIVE 6 3SNF ...#SKI G268&1 9 3SRY ... STOZ AWORK1(2) 16 3SXC BS 2,XBAR [SET ARCHIVE BIT 9 3T9S BC 2,XBCCAR 8 3TJ= BRN RSTOZ 19 3TS4 SEGENTRY K20ARCHIVE [FOR CSS ARCHIVE 6 3W3W X2ARCHIVE 6 3W94 ...#SKI G268&1 9 3WB= ... STOZ AWORK1(2) 17 3WHG BC 2,XBAR [SHOW CNCEL ARCHIVE 9 3X36 BS 2,XBCCAR 5 3XGQ RSTOZ 17 3Y2B STOZ AWORK2(2) [UNSET ALL MARKERS 15 3YG2 CHEKPRIV JOB,NOTOWNER(1),RCOMMON,NOTOPEN 19 3Y_L BS 2,XBNOTOWNER [SHOW HAS NOTOWNER PRIVILEGS 5 3_F= RCOMMON 6 3_LD ...#SKI G268&1 9 3_RL ... BC 2,XNOTYET 17 3_YW BC 2,XBMULTSPEC [CLEAR MULTI FILE BIT 17 43CQ SPARAPAS [PICK UP A PARAMETER 10 43XB MHUNT 3,CPB,CUNI 9 44C2 LDX 5 ANUM(3) 18 44WL BNG 5 REND [J IF END OF PARAMETERS 20 45B= BS 2,XBPARAMPRES [ SHOW AL LEAST ONE PARAM READ 17 45TW BZE 5 RFREECUNI [J IF NULL PARAMETER 10 46*G NAMETOP 3,FILE,FNAME 6 46DL #UNS FTS1 7 46HQ FNORM 1 6 46LW #UNS FTS1 4 46Q2 #SKI 20 46T6 FNORM [PUT PARAM.DETAILS IN FILE/FABSNB 10 47#Q MHUNT 3,FILE,FNAME 10 47SB NAMETOP 3,CPB,CUNI 19 48#2 TESTREP2 NAMEFORM,RFREECUNI [J IF INCORRECT NAME FORMAT 10 48RL MHUNT 3,FILE,FABSNB 19 49?= JMBAC RNOTWORK,3,XBWORK,XBTAPE [JUMP IF WORKFILE OR TAPE 9 4==G LDN 1 XARCHERY 17 4=Q6 CALL 7 ONERR [MESSAGE ^ERARCH^. 10 4?9Q BRN RFREEFABSNB 5 4?PB RNOTWORK 12 4#92 OPENDIR XLAB2,GENERAL,QUERY 16 4#NL TESTREP2 OK,ROK1 [J IF FOUND FILE 5 4*8= REPAL 20 4*MW REPALLER [MESSAGES FOR UNEXPECTED REPLIES 9 4B7G BRN RFREECUNI 4 4BM6 ROK1 17 4C6Q MHUNTW 3,FILE,ENT [SET UP BY ^OPENDIR^ 9 4CLB LDX 0 ESER(3) 17 4D62 BNZ 0 XLAB4 [J IF A MAGNETIC TAPE 9 4DKL LDX 0 EUSE1(3) 16 4F5= BNZ 0 XLAB4 [J IF A DIRECTORY 15 4FJW JMBS XLAB4,3,BETEMP,BEONLINE,BEWORK 6 4FLD ...#SKI G268&1 4 4FN2 ...( 11 4FPJ ... JBS RMULTI,3,BEMDF 9 4FR6 ... IF BC,2,XBCK 6 4FSN ... THEN 12 4FW= ... JBS RMULTI,3,BEMULT 5 4FXS ... FI 4 4F_B ...) 7 4G2Y ...#SKI G268&1$1 12 4G4G JMBS RMULTI,3,BEMDF,BEMULT 18 4JGL CALL 7 RCHANGEBIT [SET/UNSET BIT 9 OF EINF2 9 4K2= BRN RMESSAGE 5 4KFW RMULTI 20 4K_G BS 2,XBMULTSPEC [SHOW MULTI FILE SPECIFIED BUT 17 4LF6 BC 2,XBMULTREAD [ NOT YET READ 19 4MY2 REWIND [BACK TO START OF DIRECTORY 5 4NCL RSTEP 6 4NX= STEP 18 4PBW BZE 3 RMESSAGE [J IF END OF DIRECTORY 10 4PWG LDX 0 ERES-A1(3) 17 4QB6 BNZ 0 RSTEP [J IF NOT NAME RECORD 10 4QTQ MHUNTW 1,FILE,ENT 21 4R*B TESTNAMX 3,ELOC1(1),ELOC1-A1(3),RDIFF [J IF NOT SAME LOCALNAME 9 4RT2 LDX 7 ELAN(1) 15 4S7C # DON'T GIVE UP LOOKING IF LANGUAGE CHANGES 20 4SFS BXU 7 ELAN-A1(3),RSTEP [J IF NOT SAME LANGUAGE 10 4SS= BS 2,XBMULTREAD 7 4T?W READAGAIN 10 4TRG MHUNTW 1,FILE,FRB 10 4W?6 NAME 1,FILE,ENT 18 4WQQ CALL 7 RCHANGEBIT [SET/UNSET BIT 9 OF EINF2 9 4X=B MFREE FILE,ENT 8 4XQ2 BRN RSTEP 5 4Y9L RDIFF 11 4YWD # BACK FOR MORE IF NOT READ 12 4YXP JBC RSTEP,2,XBMULTREAD 15 4Y_2 # DON'T STOP LOOKING UNTIL NAME KEY CHANGES 9 4_2? LDN 5 ELOC1(1) 18 4_3J SUM 4 3 [KEY FOR ORIGINAL ENTRANT 10 4_4T LDN 6 ELOC1-A1(3) 17 4_66 SUM 5 3 [KEY FOR THIS ENTRANT 18 4_7C BXE 4 5,RSTEP [KEEP LOOKING IF SAME KEY 18 4_8W RMESSAGE [A MULTIFILE COMPONENT 6 4_B4 ...#SKI G268&1 10 4_H= ... JBS RUMESS,2,XBCK 7 4_NG TOPFCB 3 9 5286 LDN 4 FME1(3) 7 52MQ LDN 5 3 10 537B LDN 6 JPDUSERNAME 20 53M2 CALL 7 SUBPACKX [OUTPUT USERNAME AS 1ST PARAMETER 10 546L MHUNTW 3,FILE,ENT 9 54L= LDN 4 ELOC1(3) 10 555W LDN 6 JPDLOCNAME 21 55KG CALL 7 SUBPACKX [OUTPUT LOCALNAME AS 2ND PARAMETER 9 5656 LDN 4 ONE(1) 7 56JQ LDN 5 1 9 574B LDN 6 JPDGENNUM 11 57J2 JBS RONE,2,XBMULTSPEC 10 583L MHUNTW 3,FILE,ENT 18 58H= LDN 4 EGEN(3) [RESET GENERATION NUMBER 4 592W RONE 20 59GG CALL 7 SUBPACKX [OUTPUT GEN.NO. AS 3RD PARAMETER 10 5=26 MHUNTW 3,FILE,ENT 9 5=FQ LDN 4 ELAN(3) 10 5=_B LDN 6 JPDLANGUAGE 20 5?F2 CALL 7 SUBPACKX [OUTPUT LANGUAGE AS 4TH PARAMETER 9 5?YL LDN 4 NOT(1) 16 5#D= JBC RNOT,2,XBAR [ JUMP IF CC AR 9 5*CG LDN 4 NOW(1) 4 5*X6 RNOT 10 5BBQ LDN 6 JPDVARCHAR 21 5BWB CALL 7 SUBPACKX [OUTPUT ^NOT^ OR ^NOW^ AS 5TH PARAM. 20 5CB2 MONOUT INCARCH [:%A.%B(%C/%D) %E ARCHIVED FILE 11 5CTL JBS RCLOSE,2,XBCCAR 8 5D*= # JUMP IF CC AR 10 5DSW MHUNTW 3,FILE,ENT 9 5F#G LDX 0 EALLOC(3) 8 5FS6 ANDN 0 #77 15 5G?Q LDX 6 0 [ AND IN X6 7 5GRB SRL 0 4 7 5H?2 SBN 0 3 19 5HQL BNG 0 RCLOSE [J IF NOT SPECIALLY ALLOCATED 10 5J== MHUNT 3,CPB,CUNI 9 5JPW LDEX 0 ANUM(3) 19 5K9G OUTPARAM 0,APARA,CPB,CUNI [FILENAME AS 1ST PARAMETER 19 5KP6 OUTNUM 6,0 [[ RES NO. AS 2ND PARAMETER 20 5L8Q MONOUT ARCHALLOC [ %A ARCHIVED BUT ALLOCATED TO 18 5LNB [ RESIDENCE %B 9 5M82 BRN RCLOSE 6 5M95 ...#SKI G268&1 4 5M=8 ...( 5 5M?? ...RUMESS 11 5M#B ... JBC RCLOSE,2,XNOTYET 15 5M*F ... SETNCORE 20,3,ADATA,CREADL [FOR UNNORM 8 5MBJ ... STOZ A1(3) 19 5MCM ... UNNORM TWO [GET FILENAME (AS IN RV MSG) 11 5MDQ ... MHUNTW 3,ADATA,CREADL 13 5MFT ... OUTPARAM A1(3),CPDATA,ADATA,CREADL 9 5MGY ... MONOUT JRUWAIT 10 5MJ3 ... MFREEW ADATA,CREADL 9 5MK6 ... BRN RCLOSE 4 5ML9 ...) 5 5MML XLAB2 17 5N7= GEOERR 1,NOT ARCH [BREAK-IN NOT ALLOWED 5 5NLW XLAB3 9 5P6G LDN 1 XARCHERX 17 5PL6 CALL 7 ONERR [MESSAGE ^ERNOTOWN^ 9 5Q5Q BRN RCLOSE 5 5QKB XLAB4 9 5R52 LDN 1 XARCHERY 16 5RJL CALL 7 ONERR [MESSAGE ^ERARCH^ 5 5S4= RCLOSE 7 5SHW CLOSETOP 5 5SRN RCLOSED 9 5T3G MFREEW FILE,ENT 6 5TH6 RFREEFABSNB 10 5W2Q MFREE FILE,FABSNB 6 5WGB RFREECUNI 9 5X22 MFREE CPB,CUNI 18 5XFL BRN RCOMMON [BACK FOR NEXT PARAMETER 4 5X_= REND 12 5Y?M JBS RSOME,2,XBPARAMPRES 13 5YL4 # JUMP IF AT LEAST ONE PARAM PRES 9 5YYG LDN 1 XARCHERZ 17 5_D6 CALL 7 ONERR [MESSAGE ^JPARMIS^ 5 5_XQ RSOME 9 62CB MFREE CPB,CUNI 6 62X2 ENDCOM 10 63BL MENDAREA 30,K99ARCHIVE 19 63FQ SEGENTRY K90ARCHIVE [FOR CSS ARCHIVE 10 63JW ACROSS ARCHIVNW,1 19 63N2 SEGENTRY K91ARCHIVE [FOR CSS ARCHIVE 10 63R6 ACROSS ARCHIVNW,2 6 63RJ ...#SKI G268 4 63S2 ...#SKI 4 63SD ...( 6 63SW ...X3ARCHIVE 10 63T# ... GEOERR 1,M268 OFF 4 63TQ ...) 4 63W= #END 8 ____ ...57024402000100000000