13 2278 ... SEG TRAPGO,,MIKE PUTNAM,COMMAND 4 22#B ...# 21 24XQ # THIS SEGMENT IMPLEMENTS THE TRAPGO AND TRAPSTOP COMMANDS. IT ALSO 15 25CB # INCLUDES ENTRIES FROM THE TRAPCHEC CHAPTER 21 25X2 # THE IDENTIFIERS USED IN THIS SEG FOR TRAP RECORD ARE DEFINED IN 17 26BL # FILECOMPS.THOSE FOR TRAP STYLES IN MACROS RM59B 4 26W= [ 11 27*W SEGENTRY K1TRAPGO,TRAPGO 11 27TG SEGENTRY K2TRAPGO,TRAPSTOP 12 28*6 SEGENTRY K5TRAPGO,TRAPCHECK 11 28SQ SEGENTRY K7TRAPGO,TRAPADD 12 29#B SEGENTRY K11TRAPGO,PARAMSDONE 4 29FJ ...[ 15 29LQ ... FSHENTRY K12TRAPGO,SENTFROMB,,SENTFROMB 4 29S2 [ 5 2LG= MOGGIE 10 2L_W CATMASK FILES,COMMENT 5 2MFG XCOM6 14 2M_6 ... MONOUT JMTRACE1 [BUG 3957 8 2NYB BRN NMEET 5 2PD2 XENERR 10 2QC= MHUNT 2,FILE,FNAME 9 2QWW NAMETOP 2,CPB,CUNI 9 2RBG ... COMERR ERXENOSER 8 2S*Q ONE +1 8 2STB 4H: 5 2T*2 SIX +6 15 2TSL # X7 IS USED TO INDICATE WHICH COMMAND 11 2W#= # X7=0 DENOTES TRAPGO 14 2WRW # X7 WITH B0=1 DENOTES TRAPSTOP 21 2X?G # X7 WITH B0=0 AND B1AND/ORB2=1 INDICATES ENTRY FROM TRAPCHEC 20 2XR6 # X7,B4=1 IMPLIES USEROPEN PROCESSING THE TRAPGO ADJUNCT 4 2Y=Q [ 6 2YQB TRAPCHECK 4 2_=2 [ 8 2_PL #SKI K6TRAPGO>99-99 11 329= TRACE JOBNO(2),TRAPCHEC 21 32NW LDCT 7 #200 [MARKER,INDICATING TRAPCHECK COMMAND 20 338G TESTRACE MOGGIE(1),XCOM6 [J IF NO FILES OR COMMENT OUTPUT 8 33N6 BRN NMEET 4 347Q [ 5 34MB TRAPSTOP 4 3572 [ 8 35LL #SKI K6TRAPGO>99-99 11 366= TRACE JOBNO(2),TRAPSTOP 8 36KW LDX 7 GSIGN 8 375G BRN NMEET 4 37K6 [ 5 384Q TRAPGO 4 38JB [ 8 3942 #SKI K6TRAPGO>99-99 11 39HL TRACE JOBNO(2),TRAPGO 19 3=3= STOZ 7 [X7 IS ZERO FOR TRAPGO ENTRY 20 3=GW # THE FIRST PARAMETER(ENTRANT DESCRIPTION)IS ANALYSED THEN THE 21 3?2G # ROUTINE GOES ACROSS TO CHECK THE USERNAME PARAM(X4 SET NEGATIVE 14 3?G6 # IF NONE) AND THE TRAPMODES IN TRAPPARA 5 3?_Q NMEET 10 3#3F ... FSHCODE B,SKIPINA1 4 3#58 ...( 16 3#6X ... TRANSBEG FSHTRAPID,TRAPGO,12,CLB,,ACOMMUNE1 8 3#8L ... BRN NCOM 10 3#=* ... ACROSS TRAPCHEC,8 5 3##4 ...SKIPINA1 4 3#*R ...) 6 3#CG ...SENTFROMB 9 3#FB STOZ AWORK4(2) 18 3#_2 SPARAPASS [PASS ENTRANT PARAMETER 9 3*DL MHUNT 2,CPB,CUNI 9 3*Y= NGX 0 ANUM(2) 18 3BCW BNG 0 YESENTR [J.IF THERE IS A PARAMETER 18 3BXG ... COMERR JPARMIS,JFENTRANT [FILENAME PARAM MISSING 5 3DW2 YESENTR 14 3F*L NAMETOP 2,FILE,FNAME [FOR FNORM 7 3FT= ... FNORM 9 16 3G#W ... TESTRPN2 NAMEFORM,NORMALOK [J IF NO ERROR 8 3GDR ... FSHCODE AORB 8 3GJN ... BRN NCOM 7 3GNK ... FSHSKIP 6 3GSG ENDCOM 5 3H#6 NORMALOK 17 3HRQ MHUNT 2,FILE,FABSNB [CHECK NOT XENOTAPE 19 3J?B LDN 0 2 [SET ^EITHER TYPE OF ENTRANT^ 15 3JR2 ORS 0 ATYPE(2) [BIT IN ATYPE 21 3K=L LDN 0 #2000 [B14 OF ATYPE SET IF SERIAL NO GIVEN 9 3KQ= ANDX 0 ATYPE(2) 15 3L9W BZE 0 NOXENOT [J IF NOT SET 8 3LPG ADX 2 A1(2) 16 3M96 LDX 0 A1+1(2) [SERIAL NO. IN X0 17 3MNQ BNG 0 XENERR [J IF -VE (XENOTAPE) 5 3N8B NOXENOT 17 3NN2 ACROSS TRAPPARA,1 [PROCESS OTHER PARAMS 21 3P7L [ TRAPPARA IS SHARED CODE WITH ADJCHECK FOR ANALYSIS OF TRAPSTYLE 21 3PM= [ PARAMETERS ENTRY AT K4TRAPGO IS IMMEDIATE.THE FILE/FAPB WILL HAVE 21 3Q6W [ THE MODE WORD UPDATED.ERRORS WILL HAVE BEEN REPORTED DIRECTLY BY 12 3QLG [ TRAPPARA,AND NO REENTRY MADE 4 3R66 [ 6 3RKQ PARAMSDONE 4 3S5B [ 8 3SK2 #SKI K6TRAPGO>99-99 9 3T4L TRACE 6,TRAPPARA 17 3TJ= OPENDIR XBRK,GENERAL,QUERY [OPEN DIRECTORY ABOVE 14 3W3W TESTREP2 OK,OKDIROP [JIF OK 15 3W?N ...RPERR [REPORT ERROR 10 3WHG MHUNT 3,FILE,FNAME 17 3X36 NAMETOP 3,CPB,CUNI [FOR ERROR REPORTING 20 3X73 ... TESTRPN2 NOTOWNER,NNO [TRANSLATE NOTOWNER INTO NOTOWN 21 3X=Y ... SETREP2 NOTOWN [TO ACHIEVE CORRECT MESSAGE IN REPALL 4 3XBT ...NNO 7 3XGQ ... REPALLER 8 3Y2B ... BRN NCOM 10 44C2 # DIRECTORY OPENED OK. 5 44WL OKDIROP 6 44X9 ...#UNS FTS1 4 44XS ...( 8 44Y= ... LDCT 0 #200 7 44YN ... ANDX 0 7 20 44_6 ... BNZ 0 NOTFREZ [DONT CHECK FREEZING IF TC COM 7 44_K ... TOPFCB2 3 16 4528 ... JBS YFREZ,3,BFUSERFREZ [J IF DIR FROZEN 10 452R ... MHUNT 3,FILE,ENT 17 453B ... JBC NOTFREZ,3,BEUSERFREZ[J IF FILE NOT FROZEN 5 453_ ...YFREZ 20 456Y ... DOWN USEREXCP,1 [CAN ACCESS PROCEED REGARDLESS 19 459X ... BRN RPERR [NO!! (ERROR REPLY SET UP) 13 45#W ...NOTFREZ [YES 4 45*F ...) 16 45TW OWNERCHECK [TEST IF OWNER 9 46*G ... TESTRPN2 OK,RPERR 10 46T6 ... MFREE FILE,FNAME 9 47#Q ... BRN SETTAB 14 48#2 [ THIS ENTRY POINT IS FOR USEROPEN WHEN 20 48RL # ONE OR MORE FTRAP BLOCKS HAVE BEEN SET UP THE FIRST HAS BEEN 18 49?= # RENAMED A FAPB & CHAINED NEXT TO THE ACTIVITY BLOCK 17 49QW [ WE SET A TAB AT THE START OF THE DIR ENTRY FIRST 19 4==G [ A TRAPGO ADJUNCT HAS BEEN GIVEN.B4(CT.OF #20) OF X7 IS SET 16 4=Q6 # ENT BLOCK IN CORE. FOR W/FILES A FABSNB TOO 4 4?9Q [ 5 4?PB TRAPADD 4 4#92 [ 9 4#NL STOZ AWORK4(2) 9 4*8= HUNT 1,FILE,FAPB 10 4*MW LDX 6 ETRAPMODES(1) 18 4B7G LDCT 7 #20 [B4 SET FOR THIS ENTRY 8 4BM6 LDCT 0 #200 10 4C6Q ANDX 0 ETRAPMODES(1) 19 4CLB SLL 0 1 [ SET'TS' BIT IF TS ADJUNCT 7 4D62 ORX 7 0 10 4DKL MHUNT 1,FILE,FABSNB 8 4F5= LDN 0 #200 9 4FJW ANDX 0 ATYPE(1) 15 4G4G BZE 0 NOTWF4 [J IF NOT W/F 7 4GJ6 LDN 0 1 21 4H3Q ANDX 0 ATYPE(1) [IF NON-FILESTORE I. E. WORKTAPE, TRE 16 4HHB BNZ 0 NOTWF4 [AS NON-WORKFILE 10 4J32 ACROSS TRAPWORK,2 5 4JGL NOTWF4 8 4K2= #SKI K6TRAPGO>99-99 9 4KFW TRACE 7,TRAPADJ 5 4K_G SETTAB 9 4LF6 LDX 0 AWORK4(2) 19 4LYQ BNZ 0 NOSET [SWITCH,=0 IF NO FTAB BLOCK 17 4MDB SETUPTAB [SET UP FTAB BLOCK 7 4MY2 LDN 0 1 9 4NCL STO 0 AWORK4(2) 5 4NX= NOSET 6 4PBW TABSET 17 4PWG # THIS SECTION STEPS THRU' THE DIRECTORY,UNTIL'- 4 4QB6 # 21 4QTQ # 1. END OF ENTRY, INSERT NEW RECORD,EXIT UNLESS ADJUNCT.IF THERE'S 21 4R*B # ANOTHER FTRAP BLOCK,RESET TAB,TABULATE & BACK THR 17 4RT2 # 2. MATCHING TRAP,DROP THRU' TO S40 & REWRITE TRAP. 20 4S#L # IN THIS CASE WE UPDATE THE TRAPS RECORD, AND IF EMPTY THEN, GO TO 18 4SS= # LABEL'S10' TO DELETE IT & UPDATE THE COUNT OF USER TRAPS. 5 4T?W NEXTONE 11 4TRG #SKI K6TRAPGO>599-599 9 4W?6 TRACE K7,TRAPJ 7 4W?Y ...#UNS ILOGACC 4 4W#Q ...( 10 4W*J ... HUNT 1,FILE,FAPB 10 4WBB ... LDX 4 ETRAPMODES(1) 7 4WC8 ... SLL 4 2 8 4WD2 ... BNG 4 NOLOG 10 4WDS ... NAME 1,FILE,FTRAP 7 4WFL ... LDN 4 0 16 4WGD ... BPZ 7 NTSTOP [J IF NOT TRAPSTOP 18 4WH= ... LDCT 4 #200 [TS BIT FOR FTRAP BLOCK 5 4WJ4 ...NTSTOP 10 4WJW ... ORS 4 ETRAPMODES(1) 8 4WKN ... LOGACCESS 10 10 4WLG ... HUNT 1,FILE,FTRAP 10 4WM# ... ERS 4 ETRAPMODES(1) 10 4WN6 ... NAME 1,FILE,FAPB 5 4WNY ...NOLOG 4 4WPQ ...) 10 4WQQ MHUNTW 1,FILE,ENT 11 4X=B ... JBC NOINDX,1,BEINDEX 6 4YP= STEP 5 4_8W NOINDX 20 4_NG S2 STEP [TO LOOK AT CURRENT USER TRAPS 17 5286 PORT BZE 3 S3 [JUMP IF END OF FILE 9 52MQ ... LDX 0 ERESN(3) 19 537B BZE 0 S4 [J IF END OF DIRECTORY ENTRY 10 53M2 S6 HUNT 2,FILE,FAPB 21 546L LDN 0 3 [THIS SEQUENCETESTS FOR SAME NAME IN 7 54L= REPT SMO 0 20 555W LDX 4 A1(2) [GET NAME IN FAPB WORD BY WORD 7 55KG SMO 0 10 5656 TXU 4 ETRAPRH-A1(3) 19 56JQ BCS S2 [IF DISSIMILAR LOOK AT NEXT 16 574B BCT 0 REPT [GET NEXT WORDS 15 57J2 LDX 2 4(3) [STYLES WORD 7 583L ERX 2 6 21 58H= BNG 2 S2 [GET NEXT IF NOT BOTH GROUPS OR BOTH 21 592W # THIS SECTION DEALS WITH THE CASE WHERE AN EXISTING TRAP R 9 59GG # IS FOUND 4 5=26 S40 9 5=FQ HUNT 2,FILE,FAPB 15 5=_B LDX 4 ETRAPMODES-A1(3) [ OLD STYLES 15 5?F2 BPZ 7 S5 [J IF TRAPGO 20 5?YL LDCT 0 #200 [ UNSET TS ADJUNCT BIT, IF THERE 7 5#D= ORX 6 0 7 5#XW ERX 6 0 8 5*CG ERN 6 CALL 21 5*X6 ANDX 4 6 [NEW STQLES FOLLOWING TRAPSTOP COMMAN 8 5BBQ BRN S33 21 5BWB S5 ORX 4 6 [NEW STYLES FOLLOWING TRAPGO COMMAND 4 5CB2 S33 21 5CTL BXU 4 ETRAPMODES-A1(3),S333[ J IF TS && MODES NOT SAME,O/W SET 7 5D*= ORN 7 1 4 5DSW S333 15 5F#G STO 4 ETRAPMODES(2) [NEW STYLES. 8 5FS6 ANDN 4 CALL 19 5G?Q BZE 4 S10 [JUMP IF NO TRAP LEFT-WE'LL REMOVE IT 10 5GRB NAME 2,FILE,FWB 7 5H?2 REWRITE 18 5HQL MFREE FILE,FWB [FREE BLOCKS LEFT OVER 7 5J== LDXC 7 7 18 5JPW BCC S3333 [ J IF TRAPGO & NO CHANGE 18 5K9G LDEX 0 7 [IF NONZERO TRAP FOUND 8 5KP6 BNZ 0 S24 5 5L8Q S3333 8 5LNB LDCT 0 #20 7 5M82 ANDX 0 7 16 5MML BNZ 0 OTHERWHERE [ J IF ADJUNCT 8 5N7= #SKI K6TRAPGO>99-99 10 5NLW TRACE 4,TRAPENDA 9 5P6G # END OF COMMAND 5 5PL6 ZENDC 7 5Q5Q CLOSETOP 4 5Q*J ...NCOM 10 5QBT ... FSHCODE A,SKIPINB1 4 5QD6 ...( 9 5QFC ... TRANSFIN ,,ALIEN 5 5QGN ...SKIPINB1 4 5QH_ ...) 6 5QKB ENDCOM 16 5RJL # GIVES COMMENT FOR TS & NO TRAP TO THAT USER. 4 5S4= S4 4 5SHW S3 15 5T3G BPZ 7 S12 [J IF NOT TS 9 5TH6 MFREEW FILE,FAPB 4 5W2Q S24 15 5WGB BBS 4,7,NOMESS [J IF ADJUNCT 8 5X22 #SKI K6TRAPGO>99-99 10 5XFL TRACE FX2,N0SUCHTR 9 5X_= MONOUT HAVNOTRAP 5 5YDW NOMESS 8 5YYG BRN S3333 4 5_D6 S12 7 5_XQ TABULATE 10 62CB MHUNTW 2,FILE,ENT 19 62X2 LDEX 4 ECOPS(2) [J IF READ PTRS @ NAME RECORD 16 63BL BZE 4 NOBAK [O/W BACKSPACE 15 63W= BACKSPACE [O/W BACKSPACE 9 64*W MHUNTW 2,FILE,ENT 5 64TG NOBAK 7 65*6 LDN 0 1 11 65SQ #SKI K6TRAPGO>599-599 9 66#B TRACE K7,TRAPC 17 66S2 ADS 0 ENUSE(2) [UPDATE TRAPS COUNT 10 67?L NAME 2,FILE,FWB 16 67R= REWRITE [REWIITE DIR ENT 10 68=W MHUNTW 1,FILE,FWB 9 68QG NAME 1,FILE,ENT 7 69=6 ... LDX 5 4 7 6=9B ADN 5 1 11 6=*? ... JBC NOINDX2,1,BEINDEX 7 6=F8 ... ADN 5 1 5 6=K5 ...NOINDX2 7 6=P2 LDX 3 5 18 6?8L SKIP ,0(3) [SKIP TO 1ST TRAPS RECORD 10 6?N= MHUNTW 1,FILE,FAPB 10 6#7W NAME 1,FILE,FWB 18 6#MG INSERT [INSERT NEW TRAPS RECORD 9 6*76 MFREE FILE,FWB 8 6*LQ #SKI K6TRAPGO>99$99 9 6B6B TRACE 7,TRAPEOF 5 6BL2 ZENDCH 8 6C5L LDCT 0 #20 7 6CK= ANDX 0 7 15 6D4W BNZ 0 OTHERWHERE1 [J IF ADJUNCT 8 6DJG BRN ZENDC 13 6F46 # CLEARS EMPTY TRAP FROM DIRECTORY 4 6FHQ S10 16 6G3B FREECORE 2 [FREE READ BLOCK 17 6GH2 DELETE [DELETE TRAPS RECORD 18 6H2L TABULATE [BACK TO 1ST TRAPS RECORD 10 6HG= MHUNTW 3,FILE,ENT 7 6H_W LDN 0 1 16 6JFG SBS 0 ENUSE(3) [UPDATE CT. OF TRAPS 9 6J_6 NAME 3,FILE,FWB 9 6KDQ LDEX 6 ECOPS(3) 9 6KYB BZE 6 NOBAK1 17 6LD2 BACKSPACE [REWRITE NAME RECORD 5 6LXL NOBAK1 7 6MC= REWRITE 8 6MWW LDCT 0 #20 7 6NBG ANDX 0 7 16 6NW6 BNZ 0 OTHERPLACE [ J IF ADJUNCT 8 6P*Q #SKI K6TRAPGO>99-99 9 6PTB TRACE 4,TSDELETE 8 6Q*2 BRN ZENDC 13 6QSL # ALL THE BITS FOR TG/TS ADJUNCT. 15 6R#= OTHERPLACE [TRAP DELETED 8 6RRW BZE 6 NOST1 6 6S?G STEP 5 6SR6 NOST1 10 6T=Q MHUNTW 1,FILE,FWB 10 6TQB NAME 1,FILE,ENT 4 6W=2 #SKI 4 6WPL ( 9 6X9= HUNT 1,FILE,FTRAP 9 6XNW BNG 1 NOMORE 6 6Y8G STEP 9 6YN6 HUNT 1,FILE,FTRAP 4 6_7Q ) 9 6_MB BRN NOTABULE 6 7272 OTHERWHERE1 7 72LL ADN 5 1 7 736= SBX 5 4 9 73KW # NEW TRAP INSERTED 4 745G ZZ8 7 74K6 BACKSPACE 8 754Q BCT 5 ZZ8 7 75JB TABRESET 9 7642 BRN NOTABULE 13 76HL # NORMAL SEARCH FOR NEW FTRAP ETC 6 773= OTHERWHERE 21 77GW TABULATE [BACK TO START OF TRAPS(OR INDEX REC) 5 782G NOTABULE 10 78G6 HUNTW 1,FILE,FTRAP 15 78_Q BNG 1 NOMORE [EXIT IF END 10 79FB NAMETOP 1,FILE,FAPB 10 79_2 LDX 6 ETRAPMODES(1) 8 7=DL LDCT 0 #200 15 7=Y= LDXC 7 7 [CLEAR TS BIT 7 7?CW ANDX 0 6 7 7?XG SLL 0 1 19 7#C6 ORX 7 0 [& PUT BACK IF APPROPRIATE 7 7#WQ ORN 7 1 7 7*BB ERN 7 1 8 7*W2 CHAIN 1,FX2 9 7B*L BRN NEXTONE 5 7BT= NOMORE 7 7C#W FREETAB 7 7CSG SETREP OK 5 7D#6 UP 9 7DRQ XBRK GEOERR 1,BROKENIN 4 7F?B [ 10 7FR2 MENDAREA 25,K99TRAPGO 4 7G=L #END 8 ____ ...07226722000200000000