RENAME864

(George Source)

Macros used: ACROSS, BASEFCB, BBS, BC, BS, BXE, BXU, CHAIN, CLOSETOP, COMBRKIN, COMERRX, COOR3, DELETE, ENDCOM, ERASESUD, FNORM, FREECORE, FSHCODE, FSHENTRY, FSHSKIP, GETDIR, HUNTW, INSERT, JBC, JBS, JMBS, JMTONL, LOGACCESS, LONGOFF, LONGON, LONGSET, LONGSTOP, MBC, MBS, MENDAREA, MFREE, MFREEALL, MFREEW, MHUNT, MHUNTW, MONOUT, NAME, NAMETOP, NEXTFCB, READ, REPALLER, REPERR, REPERR2, SEG, SEGENTRY, SETREP2, SETUPCORE, SPARANOX, STEPAGAIN, TESTNAMX, TESTREP2, TESTRPN2, TOPFCB2, TRACE, TRANSBEG, TRANSFIN, TREP2, USEROPEN, WRONG

RENAME864.txt
22FL ...      SEG      RENAME,6,EDWARD  MOON ,FILESTORE 
22^=          SEGENTRY K1RENAME,Z1RENAME
2394 ...      FSHENTRY K2RENAME,OPDIR,,OPDIR
23DW    #              THIS SEGMENT IMPLEMENTS THE RENAME COMMAND WHICH IS USED 
23YG    #              TO ALTER THE GENERAL LOCAL NAME OF A TERMINAL FILE.  
242P ...[   
244Y ...[ FORBIDDEN LANGUAGES(WOULD BE ALLOWED BY 'FNORM'   
2477 ...[ IF NOT CHECKED HERE   
249B ...[   
24?K ...SAVELANG       4H####   
24*S ...XJOBLANG       4H****   
24D6    [   
24XQ    XERR  SBX   3  FX1  
25CB          CLOSETOP                     [DIRECTORY   
25X2          ADX   3  FX1  
26BL    XCOMERR 
26W=          COMERRX  0(3) 
27*W    [   
27TG    Z1RENAME       [COMMAND ENTRY   
28*6    [   
28SQ    #              CARRY OUT FORMAT CHECKSON THE 2ND PARAMETER(GENERAL  
29#B    #              LOCAL NAME) AND SET UP A FILE/FLOCNB BLOCK FOR INPUT TO  
29S2    #              GETDIR WHEN CHECKING THAT THE GENERAL LOCAL NAME IS NOT  
2=?L    #              ALREADY IN USE.  
2=R=          LDN   4  2
2?=W          CALL  5  PARIN               [PUT 2ND PAPAMETER IN FABSNB BLOCK   
2?QG    #SKI           K6RENAME>199-199 
2#=6          TRACE    4,RENTYPE
2#PQ          STO   4  7
2*9B          CALL  5  SFLOC               [SET UP A FILE/FLOCNB BLOCK  
2*P2    #              CARRY OUT FORMAT CHECKS ON THE FIRST PARAMETER(FILE NAME)
2B8L    #              THE FILE/FABSNB BLOCK WILL BE USED AS INPUT TO OPENDIR   
2BN=    #              WHEN OPENING THE FILE'S DIRECTORY.   
2C7W          LDN   4  1
2CMG          CALL  5  PARIN               [PUT 1ST PARAMETER IN FABSNB BLOCK   
2D76          SBN   6  5
2DLQ          BZE   6  RENMT               [BRANCH IF MAG TAPE  
2F6B          ADN   6  5
2FL2          BNZ   6  WRONG               [BRANCH IF WRONG QUALIFIER   
2G5L          ANDN  4  #6600
2GK=          BNZ   4  WRONG
2H4W          ERN   7  #1000               [2ND PARAMETER MUST BE LOCAL NAME ONL
2HJG          ANDN  7  #7600
2J46          BNZ   7  NOTLOCAL            [BRANCH IF ANY FORBIDDEN DETAILS 
2JHQ          MHUNT    2,FILE,FLOCNB
2K3B          BBS      2,A1+4(2),ZEROGEN   [GENERATION ZERO ILLEGAL 
2L2L    #     THIS SECTION RENAMES A FILESTORE FILE 
2LG=    #              OPEN THE FILE'S DIRECTORY AND CHECK THAT THE USER IS 
2L^W    #              ALLOWED TO RENAME THIS FILE  
2MFG    OPDIR   
2MGX ...      FSHCODE  B,XFSHBRENAME
2MJ# ...(   
2MKP ...#  RENAMING OF A FILE MUST BE DONE ON MACHINE A 
2MM6 ...      TRANSBEG FSHRENAMEID,RENAME,2,CLB,,ACOMMUNE1  
2MNH ...      BRN      XENDCOM             ['ENDCOM' RETURN 
2MPY ...      BRN      OPBRK               ['COMBRKIN' RETURN   
2MR* ...XFSHBRENAME 
2MSQ ...)   
2MW7 ...      FSHSKIP  B
2MXJ ...(   
2M^6          USEROPEN OPBRK,WRITE,DIR,LEAVE,ERASE  
2NDQ          REPERR2  USCHK
2NYB          BRN      XENDCOM  
2PD2    USCHK   
2PK8 ...      OWNERCHECK                   [THE USEROPEN WONT HAVE  
2PMR ...      TESTREP2 NOALLACC,NOTALAC,NOINFACC,NOTINFAC   
2PQB ...      TESTRPN2 OK,NOTOWNER         [DONE THIS - BECAUSE OF ERASE SUBMODE
2PXL          MHUNTW   3,FILE,ENT   
2QC=          LDX   4  EUSE1(3) 
2QWW          BNZ   4  NOTTERMINAL         [BRANCH UNLESS TERMINAL FILE 
2R6N ...      JMBS     NOMULTS,3,BEMDF,BEMULT   
2RBG    #              RETAIN ANY DETAILS FOR WHICH NEW VALUES HAVE NOT BEEN
2RW6    #              SUPPLIED 
2S*Q          MHUNT    2,FILE,FLOCNB
2STB          LDX   4  A1+3(2)  
2T*2          BNZ   4  RET1 
2TSL          LDX   4  EREEL(3) 
2W#=          STO   4  A1+3(2)             [RETAIN REEL NO  
2WRW    RET1
2X?G          LDX   4  A1+4(2)  
2XR6          BNZ   4  RET2 
2Y=Q          LDX   4  EGEN(3)  
2YQB          STO   4  A1+4(2)             [RETAIN GENERATION NO
2^=2    RET2
2^PL          LDX   4  A1+5(2)  
2^WS ...      BXE   4  SAVELANG(1),WRONGLANG [J. IF ILLEGAL LANG.   
3242 ...      BXE   4  XJOBLANG(1),WRONGLANG [ CODE SPECIFIED   
329=          BNZ   4  RET3 
32NW          LDX   4  ELAN(3)  
338G          STO   4  A1+5(2)             [RETAIN LANGUAGE 
33N6    RET3
347Q    #              CHECK THAT THE SPECIFIED GENERAL LOCAL NAME IS NOT   
34MB    #              ALREADY USED UNDER THE OPEN DIRECTORY
34YF ...      GETDIR   5                   [ENSURE NO NON-ERASED ENTRANTS   
359J ...      TREP2    MULTI,MULTIEX
35GM ...      TESTREP2 OK,XISTS,WRGEN,WRGEN,VRYWRONG,RONGBUT
35RS ...      TESTRPN2 NOFILE,(GEOERR)  
35^3 ...QERASE  
366=          MHUNT    3,FILE,FLOCNB
36KW          LONGSET  #12,(GEOERR),A1(3)  [BEFORE COORDINATING - IN CASE WAIT R
375G          GETDIR   3                   [CHECK FOR ERASED ENTRANTS   
37K6          MHUNTW   3,FILE,ENT          [FROM GD IF OK ELSE FROM USEROPEN
37^L ...      TESTREP2 NOFILE,NERAS,OK,NOTMT
38B6 ...      TESTRPN2 VRYWRONG,(GEOERR)
38QL ...      STEPAGAIN 
3976 ...      LDX   4  ESERN(3)            [GET TSN OF TAPE BEING RETURNED  
39HL          JMTONL   4,,SLUDGE           [J TO SLUDGE IF TAPE OPEN TO THIS JOB
3=3=    WAITERASE   
3=GW          CLOSETOP                     [DIRECTORY   
3?2G          MFREEALL FILE,ENT 
3?G6          LONGSTOP OPBRK,,FWTBER       [WAIT FOR ERASE OR RETURN ETC
3?^Q          BRN      OPDIR               [TRY AGAIN   
3#4* ...)   
3#6Y ...OPBRK   
3#9H ...      FSHCODE  A,XFSHABRKIN 
3##6 ...(   
3#BP ...      LDN   4  1                   [OFFSET FOR LABEL 'OPBRK'
3#F# ...      TRANSFIN 4,,ALIEN            [RETURN TO M/C B IF ORIGINATED THERE 
3#HX ...XFSHABRKIN  
3#LG ...)   
3#P5 ...      COMBRKIN                     [BREAKIN 
3#RN ...      FSHSKIP  B
3#W? ...(   
3#^2    NOTMT   
3*DL          CALL  7  SEFCB               [FIND FCB
3*Y=          BRN      WAITERASE           [NONE SO WAIT FOR FILE TO BE ERASED  
3BCW          BRN      TESTCLUDGE          [FOUND SO TEST FOR CLUDGE BEFORE WAIT
3BXG ...      BRN      WAITERASE
3CC6    TESTCLUDGE  
3CWQ          CLUDGEQU 3,SLUDGE,4,5        [J TO SLUDGE IF CLUDGE   
3DBB          BRN      WAITERASE           [OK TO WAIT  
3DW2    NERAS   
3F*L          LONGOFF   
3FT=          LDX   4  ECOPS(3) 
3G#W          BZE   4  NERA1               [BRANCH IF NO BLOCKS OR ONLINE COPIES
3GSG          ANDN  4  #777 
3H#6          BZE   4  NONLI               [BRANCH IF NO ONLINE COPIES  
3HRQ    NERA1   
3J?B          LDEX  4  EAUTOCOUNT(3)
3JR2          ORX   4  ESAVECOUNT(3)
3K=L          BNZ   4  NONLI               [BRANCH IF FILE FROZEN   
3KQ=          CALL  7  SEFCB               [LOOK FOR AN FCB BLOCK FOR THIS FILE 
3L9W          BRN      UPDIR
3LPG          BRN      WAIT 
3M96          MHUNT    2,FILE,FLOCNB
3MNQ          ADN   2  A1   
3N8B          ADN   3  FLOC1
3NN2          MOVE  2  6                   [OVERWRITE GENERAL LOCAL NAME IN FCB 
3P7L    #              UPDATE DIRECTORY ENTRY IN FILE/ENT BLOCK 
3PM=    UPDIR   
3Q6W    #SKI  G4
3QLG          ERASESUD FX2,ACOMMUNE1
3R66          CALL  5  SFLOC               [SET UP A FILE FLOCNB BLOCK  
3RKQ          GETDIR   1                   [RESET POINTERS TO AFTER RECORD  
3S5B          MFREE    FILE,FLOCNB  
3S8G ...#UNS ILOGACC
3S?L ...(   
3SBQ ...      LOGACCESS  6  
3SFW ...)   
3SK2          MHUNT    2,FILE,FLOCNB
3T4L          MHUNTW   3,FILE,ENT   
3TJ=          NAME     3,FILE,FWB   
3W3W          LDX   0  A1+5(2)  
3WHG          STO   0  ELAN(3)  
3X36          LDN   0  A1(2)
3XGQ          LDN   1  ELOC1(3) 
3Y2B          MOVE  0  5
3YG2          BS       3,BEDUMP            [ENSURE FILE REDUMPED
3Y^L          STOZ     EINCLOOK(3)  
3^F=          STOZ     EINC(3)  
3^YW          MBC      3,BEDIRDUMP,BEREVERE[REVERED STATUS LOST(BACKMAP CANT COP
42DG          LDEX  7  ECOPS(3)            [BLOCKS RECORDS  
42Y6          ADX   7  ENUSE(3)            [TRAPS RECORDS   
437Y ...      LDX   5  ELOC1(3) 
43CQ          JBC      NOINDEX,3,BEINDEX
43XB          ADN   7  1
44C2    NOINDEX 
44WL          LDX   6  7
45B=          ADN   7  1                   [NAME RECORD 
45TW          BZE   6  NDEL 
46*G    READLOOP
46T6          READ                         [NEXT RECORD IN ENTRY
47#Q          MHUNTW   1,FILE,FRB   
47SB          NAME     1,FILE,FWB          [FOR INSERT  
48#2          LDX   2  ACTRING(2)   
48RL          SBN   2  ACTRING  
49?=          CHAIN    1,BPTR(2)           [IN REVRSE ORDER TO ENABLE INSERTION 
49QW          BCT   6  READLOOP            [             IN CORRECT ORDER   
4==G    NDEL
4=Q6          LDX   6  7
4?9Q    NDELOOP 
4?PB          DELETE
4#92          BCT   6  NDELOOP  
4#NL          GETDIR   3                   [POSITION TO INSERT  
4*8=          MFREEW   FILE,ENT            [FROM GETDIR 
4*MW          MFREE    FILE,FLOCNB  
4B7G    WRITELOOP   
4BM6          INSERT                       [EACH RECORD OF ENTRY
4C6Q          MFREEW   FILE,FWB 
4CLB          BCT   7  WRITELOOP
4D62          LONGON   #10,5               [WAITERS FOR THIS COMM FILE  
4D7Y ...#UNS FNSAD  
4D9W ...(   
4D?S ...      TOPFCB2  3
4D*Q ...      JBS      NOUPDATE,3,BEDUMP
4DCN ...      MBS   3,BFDUMP,BFDIRUPDATE
4DFL ...NOUPDATE
4DHJ ...)   
4DKL          CLOSETOP                     [CLOSE DIRECTORY 
4DTD ...)   
4F5=    XENDCOM 
4F7T ...      FSHCODE  A,XFSHAENDCOM
4F=D ...(   
4F*3 ...      TRANSFIN ,,ALIEN             [RETURN TO M/C B IF ORIGINATED THERE 
4FCL ...XFSHAENDCOM 
4FG9 ...)   
4FJW          ENDCOM
4G4G    RENMT   
4GJ6          ACROSS   RENAMAG,1           [RENAME A MAGNETIC TAPE  
4H3Q    ZEROGEN 
4HHB          CALL  3  XCOMERR  
4J32                   +ERWRGEN 
4J4? ...      FSHSKIP  B
4J5J ...(   
4J6X ...WRGEN   
4J=S ...      CALL  3  XERR 
4JBP ...               +ERWRGEN 
4JGL    NOTOWNER
4K2=          CALL  3  XERR 
4KFW                   +ERALT   
4KG^ ...NOTALAC 
4KJ4 ...      CALL  3  XERR 
4KK7 ...               +ERNOALLACC  
4KL= ...NOTINFAC
4KM* ...      CALL 3  XERR  
4KND ...               +ERNOINFACC  
4KPH ...NOMULTS 
4KQL ...      CALL  3  XERR 
4KRP ...               +ERNOMULTS   
4KSS ...MULTIEX 
4KTX ...      MFREE    CPB,CUNI 
4KX2 ...      CALL  3  XERR 
4KY5 ...               +JMULTIEX
4KYR ...)   
4K^G    PARMIS  
4LF6          CALL  3  XCOMERR  
4LYQ                   +JPARMIS 
4MDB    NOTLOCAL
4MY2          MFREE    CPB,CUNI 
4NCL          CALL  3  XCOMERR  
4NX=                   +ERNOTLOC
4PBW    WRONG   
4PWG          CALL  3  XCOMERR  
4QB6                   +ERWRONG 
4QH# ...      FSHSKIP  B
4QNG ...(   
4QTQ    NOTTERMINAL 
4R*B          CALL  3  XERR 
4RT2                   +ERDIR   
4S#L    SLUDGE  
4SS=          LONGOFF   
4SW8 ...      MFREE    CPB,CUNI 
4SY6 ...      CALL  3  XERR 
4T24 ...               +ERCLUDGE
4T2H ...RONGBUT 
4T32 ...      STEPAGAIN 
4T3F ...      JBS      QERASE,3,BNERASE 
4T42 ...VRYWRONG
4T5Y ...      MFREE    CPB,CUNI 
4T7W ...      CALL  3  XERR 
4T9S ...               +ERVRYWRONG  
4T?W ...XISTS   
4TRG          MFREE    CPB,CUNI 
4W?6          CALL  3  XERR 
4WQQ                   +ERALREX 
4WTW ...WRONGLANG   
4W^2 ...      MFREE    CPB,CUNI 
4X46 ...      CALL  3  XERR 
4X7= ...               +ERILLANG
4X=B    [   
4XQ2    #     THIS SECTION PUTS A FILE ONLINE IF NOT ALREADY ONLINE 
4Y9L    #     AND CAUSES THE RENAMING TO WAIT UNTIL THE FILE IS UNFROZEN
4YP=    NONLI   
4^8W          FREECORE 3                   [ENT 
4^NG    OPENFILE
5286          CLOSETOP                     [CLOSE DIRECTORY 
52MQ ...      USEROPEN OPBRK,WRITE,UNTRAP  [TO GET FILE ONLINE &/OR THAWED  
537B          REPERR   OPENED   
53M2          BRN      XENDCOM  
546L    OPENED  
54L= ...      CLOSETOP  
54Q7 ...      JBC      NOWAIT,,ICTSW         [J IF NOT ASF  
54W4 ...      COOR3    #41                  [WAIT FOR OTHER ACTS TO RUN 
54^^ ...NOWAIT  
555W          BRN      OPDIR               [TRY AGAIN   
55KG    #     FILE IS OPEN OR BEING WAITED FOR - WAIT   
5656    WAIT
56JQ          BS       3,BFEMPTY           [SET WAITING TO EMPTY FILE BIT   
574B          MFREEW   FILE,ENT 
57J2          BRN      OPENFILE 
57RS ...)   
583L    #     SUBROUTINE TO INPUT THE PARAMETER WHOSE NUMBER IS IN X4, SET UP A 
58H=    #     FILE/FABSNB BLOCK AN LEAVE CERTAIN SYNTACTIC FORM BITS IN X4 AND  
592W    #     LEAVE A CPB/CUNI BLOCK FOR POSSIBLE ERROR MESSAGES.   
59GG    PARIN   
5=26          SBX   5  FX1  
5=FQ          SPARANOX 4                   [PASS PARAMETER  
5=^B          MHUNT    3,CPB,CUNI   
5?F2          NGX   0  ANUM(3)  
5?YL          BPZ   0  PARMIS   
5#D=          NAMETOP  3,FILE,FNAME 
5#XW          FNORM    7
5*CG          TESTREP2 NAMEFORM,XENDCOM 
5*X6          LDN   6  0
5BBQ          TESTRPN2 ADJUNCTS,PAR1
5BWB          MHUNTW   1,FILE,ADJUNCTS  
5CB2 ...      LDX   6  A1+2(1)  
5CTL          SRL   6  15                  [DEVICE TYPE 
5D*=          SBN   4  1
5DSW ...PAR1
5G?Q          MHUNT    3,FILE,FNAME 
5GRB          NAMETOP  3,CPB,CUNI          [NEEDED FOR ERROR MESSAGES   
5GYJ ...      HUNTW 3,FILE,FTRAP
5H5Q ...      BPZ   3  TRAPQUAL 
5H?2          MHUNT    3,FILE,FABSNB
5HQL          LDX   4  ATYPE(3) 
5J==          ANDN  4  #7600               [EXTRACT SOME SYNTACTIC FORM BITS
5JPW          ADX   5  FX1  
5K9G          EXIT  5  0
5K#5 ...TRAPQUAL
5KBN ...      MONOUT   INVTG
5KF? ...      SETREP2  NAMEFORM 
5KHW ...      REPALLER  
5KLF ...      BRN      XENDCOM  
5KP6    #     SUBROUTINE TO SET UP A FILE/FLOCNB BLOCK FROM THE FIRST   
5L8Q    #     FILE/FABSNB BLOCK 
5LNB    SFLOC   
5M82          SBX   5  FX1  
5MML          MHUNT    2,FILE,FABSNB
5N7=          LDN   6  6
5NLW          LDX   4  ATYPE(2) 
5P6G          ANDN  4  #2400
5PL6          BZE   4  SFLOD               [BRANCH UNLESS MAG. TAPE DESCRIPTION 
5Q5Q          ADN   6  2
5QKB    SFLOD   
5R52          SETUPCORE 6,3,FILE,FLOCNB 
5RJL          MHUNT    2,FILE,FABSNB
5S4=          LDX   4  ATYPE(2) 
5SHW          DSA   4  ATYPE(3) 
5T3G          ADX   2  A1(2)
5TH6          ADN   2  A1-6 
5W2Q          ADN   3  A1   
5WGB          SMO      6
5X22          MOVE  2  0
5XFL          ADX   5  FX1  
5X^=          EXIT  5  0
5Y6D ...      FSHSKIP  B
5Y?L ...(   
5YDW    #     SUBROUTINE TO FIND FILE/FCB BLOCK, IF THERE IS ONE, FOR THE FILE  
5YYG    #     TO BE RENAMED. X7= LINK. ON EXIT X3= ADDRESS OF FILE/FCB BLOCK.   
5^D6    #     EXIT AT LINK IF BLOCK NOT FOUND   
5^XQ    #     EXIT AT LINK+1 IF FILE OPEN OR BEING WAITED FOR   
62CB    #     EXIT AT LINK+2 IF FILE RENAMABLE AND FCB FOUND
62X2    #     NO COORDINATION   
63BL    SEFCB   
63W=          TOPFCB2  1
64*W          LDX   2  3                   [->ENT   
64TG    #SKI  G4
65*6    (   
65SQ          LDN   3  FME1(1)  
66#B          SMO      FX2  
66S2          LDN   4  ACOMMUNE1
67?L          MOVE  3  3                   [USER NAME OF DIR.   
67R=          LDN   3  ELOC1(2) 
68=W          ADN   4  3
68QG          MOVE  3  6                   [G.L.N. OF FILE  
69=6    )   
6CD3 ...#              X3= ADDRESS OF FOUND FILE/FCB BLOCK  
6CD^ ...
6CFX ...      BASEFCB 3,FILE,SEXIT,6
6CGT ...      LDX   4  ELOC1(2) 
6CHR ...SLOOP   
6CJP ...      BXE   4  FLOC1-FCBRING(3),SLOOP2   [B IF MATCH FOUND  
6CKM ...SLOOP1  
6CLK ...      NEXTFCB 3,FILE,SLOOP,6   [TRY NEXT FCB
6CMH ...SEXIT                  [EXIT NOT FOUND  
6CNF ...      EXIT  7  0
6CPC ...SLOOP3  
6CQ* ...      LDX   4  ELOC1(2) 
6CR? ...      BRN      SLOOP1   
6CS9 ...SLOOP2  
6CT7 ...      TESTNAMX 4,FLOC2-FCBRING(3),ELOC2(2),SLOOP3,4 
6CW5 ...      LDX   4  ELAN(2)         [CHECK LOCAL NAME LANG CODE  
6CX3 ...      BXU   4  FLAN-FCBRING(3),SLOOP3   
6CX^ ...[   
6CYX ...[ TEST FULL LOCAL NAME AND USERNAME 
6C^T ...[   
6D2R ...      TESTNAMX 3,FME1(1),FUSER1-FCBRING(3),SLOOP3,4 
6D3P ...      SBN   3  FCBRING         [FCB FOUND   
6D4W          LDX   4  CTOPEN(3)
6DJG          ORX   4  FWAITCOUNT(3)
6F46          BNZ   4  SEFEX1   
6FBH ...      JMBS     SEFEX1,3,BFMCOP,BFSOLE,BFTIDYLOCK  [J IF FILE BEING COPIE
6FNY ...                                   [ OR BEING CLOSED
6G3B          BC       3,BFEMPTY           [CLEAR 'WAITING TO EMPTY FILE' BIT   
6GH2          EXIT  7  2                   [FCB FOUND, FILE COMPLETELY FREE 
6H2L    SEFEX1  
6HG=          EXIT  7  1                   [FCB FOUND, OPEN OR BEING AWAITED
6HQ4 ...)   
6H^W    [   
6JFG          MENDAREA 20,K99RENAME 
6J^6    #END
^^^^ ...46004620000200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1