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