CANCRVX864

(George Source)

Macros used: ALTLEN, BBS, BBUS, BXE, BXL, BXU, CLOSESTREAM, CLOSETOP, COMBRKIN, ENDCOM, ERRORX, FC, FNORM, FREECORE, FSHCODE, FSHSKIP, GEOERR, LF, MENDAREA, MFREE, MFREEW, MHUNT, MHUNTW, MONOUTX, NAME, NAMETOP, OUTPARAM, REPERR, REWRITE, SEG, SEGENTRY, SETNCORE, SPARAPAS, TESTREP2, TRANCHKN, TRANSBEG, TRANSFIN, TREPN, UNIFREE, UNNORM, UP, USEROPEN

CANCRVX864.txt
22FL ...  SEG  CANCRVX,860,C.R.JOHNSON,SCHEDULER
22^= ...[   
23DW ...[     THIS SEGMENT IMPLEMENTS THE CANCEL RETRIEVE COMMAND   
23YG ...[   
24D6 ...[     THE FIRST PARAMETER IS A FILE DESCRIPTION; THE FILE'S 
24XQ ...[     DIRECTORY IS OPENED TO OBTAIN THE FILE AND INCREMENT NUMBER   
25CB ...[     AND A SEARCH IS MADE DOWN THE OFF-LINE CHAIN FOR AN APPROPRIATE   
25X2 ...[     FREQ BLOCK. IF FOUND THE FREQ BLOCK IS FREED UNLESS SOMEONE   
26BL ...[     ELSE REQUIRES THE FILE. IF THERE IS NO FREQ BLOCK WE DO NOT   
26W= ...[     KNOW WHAT HAS HAPPENED SO A MESSAGE IS ISSUED GIVING THE STATE
27*W ...[     OF THE FILE AT PRESENT.   
27TG ...[   
28*6          SEGENTRY K1CANCRVX,X1CANCRVX  
29S2    [   
29^8 ...      FSHSKIP  B
2=6B ...(   
2=?L    XT11           #76777777
2=R=    XJNOPAR        +JNOPAR             [NO PARAMS   
2?=W    XAMISS         +AMISS   
2?QG    XJUSE          +JUSNA   
2#=6    XERENT         +ERENTTYPE   
2#PQ    XJLOC          +JLOCNA  
2*9B    [   
2*P2    [     MONITORING FILE MESSAGES  
2B8L    [   
2BN=    MON1           +ALRONL             [%A IS ALREADY ON-LINE   
2C7W    MON2           +ANOTNL             [%A IS NOT ON-LINE   
2CMG    [   
2CX# ...[   ******************************************************************  
2D76    [   
2DLQ    XLOCAL                             [USER NAME MISSING   
2F6B          LDN   1  XAMISS   
2FL2          LDN   2  XJUSE
2G5L          CALL  7  ZERR2
2G*D ...      MHUNT 3,CPB,CUNI  
2GK=          BRN      NULLPAR  
2H4W    XUSE  LDN   1  XAMISS              [ONLY USERNAME PRESENT   
2HJG          LDN   2  XJLOC
2J46          CALL  7  ZERR2
2JHQ          BRN      XINCV
2JMM ...[   
2JRJ ...[   ******************************************************************  
2JXF ...[   
2K3B    [     SEND TWO-PARAM ERROR MESSAGE  
2KH2    [   
2L2L    ZERR2 SMO      FX1  
2LG=          LDX   1  0(1) 
2L^W          SMO      FX1  
2MFG          LDX   2  0(2) 
2M^6          SBX   7  FX1  
2NDQ          ERRORX   1,2  
2NYB          ADX   7  FX1  
2PD2          EXIT  7  0
2PXL    XENTTYPE                           [ENTRANT TYPE INVALID
2QC=          LDN   1  XERENT   
2QJD ...[   
2QPL ...[   ******************************************************************  
2QWW    [   
2RBG    [            SEND OUT ERROR MESSAGE WITH ONE PARAM  
2RW6    [   
2S*Q    XERROR SMO     FX1  
2STB          LDX   1  0(1) 
2T*2          ERRORX   1
2TSL          BRN      XINCV               [J TO PICK UP NEXT PAR   
2TWR ...UP  
2TYY ...      FSHCODE  A,XFSHATRAN  
2W35 ...(   
2W5= ...      TRANCHKN FSHCANCRVX,EQUAL,XFSHATRAN,XFSHATRAN [J IF FROM M/C B
2W7C ...      TRANSFIN                     [RETURN TO MACHINE B 
2W9J ...XFSHATRAN   
2W?P ...)   
2W*W ...      ENDCOM
2WD7 ...[   
2WJ4 ...[   ******************************************************************  
2WM^ ...[   
2WRW    [     THIS SUBROUTINE WILL REMOVE A SPECIFIC JOB NO FROM AFREQ BLOCK
2X?G    [           AND ALTER ITS LENGTH
2XH# ...[   
2XR6    [              ENTRY   X2=FREQ BLOCK
2XW= ...[   
2X^B ...[              THE SUBROUTINE MUST NOT CORRUPT ACOMMUNE1,2,OR 3.
2Y4G ...[   
2Y7L ...[   
2Y=Q    REMJOB  
2YQB          SBX   7  FX1                 [RELATIVISE LINK 
2^=2          STO   2  4                   [PRESERVE POINTER TO FREQ
2^PL          LDX   5  FREVCT(2)           [X5=NO OF JOBS   
329=          BZE   5  XEXIT2              [J IF NO JOBNOS  
32NW    RET1
338G          BXE   6  FREVCT+1(2),REQ1    [LOOP ROUND FOR  
33N6          ADN   2  1                   [EQUAL JOB NOS   
347Q          BCT   5  RET1 
34MB    XEXIT2                             [UNABLE TO FIND JOB NO   
3572          ADX   7  FX1  
35LL          EXIT  7  0                   [EXIT IF JOB NO NOT FOUND
366=    REQ1
36KW          SBN   5  1
375G          BZE   5  NOMOVE              [J IF POS ON LAST JOB NO 
37K6          LDN   1  FREVCT+2(2)  
384Q          ADN   2  FREVCT+1 
38JB          SMO      5
3942          MOVE  1  0
39HL    NOMOVE  
3=3=          LDX   2  4                   [REPLACE THE POINTER 
3=GW          LDN   1  1
3?2G          SBS   1  FREVCT(2)
3?G6          SBS   1  ALOGLEN(2)          [REDUCE LOG LENGTH   
3?^Q          LDX   3  ALOGLEN(2)   
3#FB          ALTLEN 4,3
3#^2          ADX   7  FX1  
3*DL          EXIT  7  1                   [EXIT IF JOB NO FOUND
3*KS ...[   
3*R2 ...[   ******************************************************************  
3*Y=    [   
3BCW    [              S.R. TO DISCOVER PRESENCE OR ABSENCE OF REQUEST BLOCK
3BXG    [                                  IN OFF LINE CHAIN
3CC6    [   
3CWQ    VSEARCH 
3DBB          LDN   3  0                   [SET 'VARIABLE'  
3DW2          BRN      VS   
3F5S ...[   
3F*L    [     SUBROUTINE TO SEARCH OFF LINE CHAIN FOR A REQUEST BLOCK SPECIFIED 
3FM2 ...[     BY AN INCREMENT NUMBER IN X4, FILE NUMBER IN X5, AND  
3FYB ...[     FILESTORE NUMBER IN X6.   
3G9Q ...[     THE CHAIN IS SORTED ON INCREMENT NUMBER, FILE NUMBER AND THEN 
3GH6 ...[     FILESTORE NUMBER. 
3GSG    [     IF THE REQUEST BLOCK IS NOT FOUND X2 POINTS TO THE NEXT BLOCK IN  
3H#6    [     THE CHAIN                    EXIT  7  1   
3HLH ...[     IF THE REQUEST BLCK IS FOUND X2 POINTS TO IT  EXIT  7  0  
3HYY ...[   
3J?B    SEARCH  
3JR2          LDN   3  1                   [SET MANDATORY   
3K=L    VS    LDX   2  BOLC 
3KQ=          LDN   0  BOLC 
3L9W    M1SFOLC 
3LPG          LDX   2  0(2) 
3M7B ...      BXE   2  0,XIT1               [J IF END OF CHAIN  
3MK= ...      BXL   4  FDTINCNUM(2),XIT1    [J IF INCREMENT NOT THERE   
3N36 ...      BXU   4  FDTINCNUM(2),M1SFOLC [J IF INCREMENT NOT YET REACHED 
3NF2 ...      BXL   6  FDTFILSTR(2),XIT1    [J IF FILESTORE NOT THERE   
3NWW ...      BXU   6  FDTFILSTR(2),M1SFOLC [J IF FILESTORE NOT YET REACHED 
3P#Q ...      BXL   5  FDTFILNUM(2),XIT1    [J IF FILE NOT THERE
3PQL ...      BXU   5  FDTFILNUM(2),M1SFOLC [J IF FILE NOT YET REACHED  
3Q8G ...[   
3QLG    [     X2 POINTS TO A REQUEST BLOCK FOR THIS FILE
3QW# ...[   
3R66          EXIT  7  0
3R*Y ...[   
3RKQ    [     THERE IS NO REQUEST BLOCK FOR THIS FILE IN OFF LINE CHAIN 
3RTJ ...[   
3S5B    XIT1  BNZ   3  XGONE               [J IF MANDATORY  
3SK2          EXIT  7  1
3T4L    XGONE GEOERR   1,FILEGONE   
3T9S ...[   
3TC2 ...[   ******************************************************************  
3TJ=    [   
3W3W    [     S.R. TO SET CHAIN ALTERED BITS IN DUMP TAPE ACTIVITIES
3WHG    [   
3X36    [   
3XGQ    [     IN N.I. JUST SET BIT 8 OF FDST FOR EACH FDT ENTRY-MEANS CHAIN ALTE
3Y2B    [   
3YG2    SACT  LDX   2  BOLC 
3Y^L          LDCT  0  1                   [BIT 8   
3^F=          LDX   1  A1(2)               [COUNT OF FDT ENTRIES
3^YW          BZE   1  SACT2
42DG    SET8  ORS   0  FDST(2)             [SET B8  
42Y6          ADN   2  FDTLEN              [NEXT ENTRY  
43CQ          BCT   1  SET8 
43XB    SACT2 EXIT  7  0
43^# ...)   
443? ...[   
4478 ...[   ******************************************************************  
44?5 ...[   
44C2    [     ENTRY 1  FETCH THE ENTRANT DESCRIPTION
44WL    [   
45B=    X1CANCRVX   
45CS ...      FSHCODE  B,XFSHBTRAN  
45FB ...(   
45GY ...#  ALL CANCEL RETRIEVES TO BE DONE IN MACHINE B 
45JG ...      TRANSBEG FSHCANCRVX,CANCRVX,1,CLB,,ACOMMUNE1  
45L4 ...      ENDCOM
45ML ...XFSHBTRAN   
45P8 ...)   
45QQ ...      FSHSKIP  B
45S# ...(   
45TW          STOZ     AWORK1(2)
46*G    [   
46T6    STARTAGN
47#Q          SPARAPAS  
47SB          MHUNT    3,CPB,CUNI          [FETCH THE PARAMETER 
48#2          LDX   0  ANUM(3)  
48RL          BNG   0  NOMORE              [J IF PARAMETER MISSING  
49?=          BNZ   0  NORM                [J IF +VE IE. PAR PRESENT
49QW    NULLPAR 
4==G          FREECORE 3                   [NULL PAR  FREE  CPB/CUNI
4=Q6          BRN      STARTAGN 
4?9Q    NOMORE  
4?PB          SMO      FX2  
4#92          LDX   0  AWORK1   
4#NL          BNZ   0  ZATLONE             [J IF AT LEAST ONE PAR SPEC. 
4*8=          LDN   1  XJNOPAR             [OUTPUT ERROR MESSAGES   
4*BG ...[   
4*JQ ...[     FOR NO PARAM CASE - SIMPLEST TO HAVE SEPARATE S/R 
4*R2 ...[   
4*^= ...[   
4B7G          SMO      FX1  
4BM6          LDX   1  0(1) 
4C6Q          ERRORX   1
4CLB          BRN      UP   
4D62    ZATLONE 
4DKL          FREECORE 3                   [FREE CPB/CUNI BLK   
4F5=          BRN      UP                  [COMMAND FINISHED
4FJW    [   
4G4G    [     MUST FIRST DO SOME WORK FOR FNORM-IT WONT COPE WITH A RELATIVE
4GJ6    [     NAME IN NO USER CONTEXT   
4H3Q    [   
4HHB    NORM
4J32          STO   3  AWORK1(2)           [MAKE AWK1 +VE   
4JGL          LDCH  0  APARA(3)            [FIRST CHARACTER 
4K2=          SBN   0  #12                 [:   
4KFW          BZE   0  PRESCOL             [J IF USER NAME PRESENT  
4K^G          BBUS     23,CONTEXT(2),XLOCAL    [J IF RELATIVE NAME IN NO USER   
4LF6                                           [CONTEXT 
4LYQ    [   
4MDB    [     EITHER COLON OR IN USER CONTEXT   
4MY2    [   
4NCL    PRESCOL 
4NX=          NAMETOP  3,FILE,FNAME 
4PBW          FNORM                        [CONVERT TO A FILE/FABSNB
4PJ4 ...      MHUNT    3,FILE,FNAME 
4PP= ...      NAMETOP  3,CPB,CUNI          [FOR USEROPEN ERROR MESSAGES 
4PWG          TESTREP2  NAMEFORM,XFNO      [ERROR REPORTED BY FNORM 
4QB6          MHUNT    1,FILE,FABSNB
4QTQ          LDN   0  #2400               [CHECK WHETHER TSN OR REEL/RET PRESEN
4R*B          ANDX  0  ATYPE(1) 
4RT2          BNZ   0  XENTTYPE            [J IF ENTRANT TYPE INVALID   
4S#L          BBS      16,ATYPE(1),SHRIEK  [J IF WORKFILE   
4SS=          LDX   0  ALOGLEN(1)   
4T?W          SBN   0  4
4TRG          BZE   0  XUSE                [J IF ONLY USERNAME  
4W?6    [   
4WQQ    [     OPEN THE FILE'S SUPERIOR DIRECTORY
4X=B    [   
4XQ2 ...      USEROPEN XBR,READR,LEAVE,STREAMS,DIR,TERMDIR,UNTRAP,FROZEN
4Y9L          REPERR   OK2  
4YP= ...      BRN      XINCV               [ TO PICK NEXT PAR   
4^8W ...OK2   STOZ     AWORK4(2)
4^NG ...      TREPN    STREAM,OK3   
5286 ...      LDX   0  GSIGN
52MQ ...      STO   0  AWORK4(2)           [REMEMBER TO CLOSE SDF   
53M2    OK3 
546L          MHUNTW   3,FILE,ENT   
54L=          LDN   6  0
555W          BBUS     23,CONTEXT(2),NOUSERACT  [J IF IN
55KG                                       [ NO USER ACTIVITY   
5656          LDX   6  JOBNO(2)            [PICK UP JOB NO  
56JQ    NOUSERACT   
56SJ ...      STO   6  AWORK2(2)           [STORE JOBNUMBER 
574B          LDX   4  EINC(3)             [X4 =INC NO  
57J2          LDX   5  EFILNUM(3)          [X5=FILE NO  
57P8 ...      LF       3,FEFSNO,6          [X6 => FILESTORE NUMBER. 
57WB ...[   
583L    [      SEARCH FOR REQUEST BLKS  
58?D ...[   
58H=          CALL  7  VSEARCH             [SEARCH FOR FREQ BLK;X2=FREQ 
592W          BRN      XFREQP              [J IF REQUEST BLK PRESENT
59*? ...[   
59MN ...[     IF FREQ BLK NOT FOUND (OR JOB NO) THEN IT IS NOT POSSIBLE TO DET. 
5=26    [     EXACTLY WHAT HAPPENED, SO WE MERELY INFORM THE USER OF THE CURRENT
5=FQ    [     STATE OF THE FILE 
5=^B    [   
5?F2    SEREND  
5?YL          SETNCORE 100,3,ADATA,CREADL  [BLOCK FOR ENTRANT DESCRIPTION   
5#D=          STOZ     A1(3)               [NOTHING IN IT YET   
5#XW          UNNORM   TWO                 [CONVERT NAME FROM FABSNB
5*CG          MHUNTW   3,ADATA,CREADL   
5*X6          OUTPARAM A1(3),CPDATA,ADATA,CREADL   [SET UP AS A PARAMETER   
5BBQ          MFREEW   ADATA,CREADL 
5BWB          MHUNTW   3,FILE,ENT   
5CB2          LDX   4  MON1(1)             [%A IS ALREADY ON-LINE   
5CTL          LDX   0  ECOPS(3) 
5D*=          ANDN  0  #7777
5DSW          BNZ   0  ONL                 [BRANCH IF ON-LINE   
5F#G          LDX   4  MON2(1)             [%A IS NOT ON-LINE   
5FS6    ONL   MFREEW   FILE,ENT 
5G?Q ...ONLSH MONOUTX  4
5GRB ...      BRN      XINCF
5H?2    XFREQP  
5HQL          LDX   3  FX2  
5J42 ...      STO   4  ACOMMUNE1(3) 
5J*B ...      STO   5  ACOMMUNE2(3) 
5JLQ ...      STO   6  ACOMMUNE3(3) 
5JY6 ...      LDX   6  AWORK2(3)           [X6 => JOBNUMBER 
5K9G          CALL  7  REMJOB   
5KP6          BRN      SEREND              [JOB NOT PRESENT 
5L4T ...      LDX   4  ACOMMUNE1(2) 
5LDJ ...      LDX   5  ACOMMUNE2(2)        [RESTORE ACCS
5LS? ...      LDX   6  ACOMMUNE3(2) 
5M82          CALL  7  SEARCH              [X2=FREQ BLK 
5MML          LDX   0  FREQCT(2)
5N7=          BNZ   0  XENDCC              [J IF WAITERS PRESENT
5NLW          LDX   0  FREVCT(2)
5P6G          BNZ   0  XENDCC              [J IF JOBS PRESENT   
5PL6          FREECORE 2                   [ FREE REQUEST BLOCK 
5Q5Q          CALL  7  SACT                [CHAIN ALTERED BITS  
5Q9M ...      MHUNTW   3,FILE,ENT   
5Q?K ...      FC    3,FEGMTRV              [CLEAR GMTNOW FIELD IN FILE ENT  
5Q*H ...      NAME     3,FILE,FWB   
5QCF ...      REWRITE                      [UPDATE NAME RECORD  
5QFC ...      MFREEW   FILE,FWB 
5QHB ...      BRN      XINCF
5QKB    XENDCC  
5R52          MFREEW   FILE,ENT 
5RB5 ...XINCF   
5RM9 ...      CLOSETOP                     [CLOSE DIRECTORY 
5RPS ...      LDX   0  AWORK4(2)
5RSC ...      BPZ   0  XINCV               [CHECK FOR SDF   
5RX2 ...      CLOSESTREAM   
5R^L ...XINCV   
5S4=          MFREE    FILE,FABSNB  
5SHW    XFNO
5T3G ...      UNIFREE   
5TH6          BRN      STARTAGN 
5W2Q    [   
5WGB    [     CANCEL RV !   
5X22    [   
5XFL    SHRIEK  
5X^=          LDX   2  FX2  
5YDW          LDCT  0  #210                [! CHAR  
5YYG          STO   0  ACOMMUNE1(2) 
5^D6          LDN   0  1
5^XQ          OUTPARAM 0,ACOMMUNE1  
62CB          LDX   4  MON1(1)  
62PR ...      MONOUTX 4 
6348 ...      BRN      XINCV
63BL    XBR   COMBRKIN  
63W=          MENDAREA 100,K99CANCRVX   
6464 ...)   
64*W    #END
64TG
^^^^ ...15400262000200000000