17 22FL #SEG WLA [DEVT - STIG TOWNSEND 9 22_= #OPT K0WLA=0 13 23DW #LIS K0WLA>K0ALLGEO>K0GREATGEO 6 23YG 8HWLA 16 24D6 SEGENTRY K1WLA,WLAK1 [WHATLIST COMMAND 16 24XQ SEGENTRY K2WLA,WLAK2 [STOPLIST COMMAND 16 25CB SEGENTRY K3WLA,WLAK3 [CHANGELIST COMMAND 16 25X2 SEGENTRY K4WLA,WLAK4 ['PR' PARAM ANALYSIS 4 26W= [ 4 27*W [ 16 27TG [ CODING CONVENTIONS: ONLY X1 PTS TO APERI/APROPS 16 28*6 [ ONLY X2 PTS TO APERI/APRNUM 16 28SQ [ APERI/CONSOLE 15 29#B [ CPB/CUNI 14 29S2 [ CPAT 18 2=?L [ ONLY X3 PTS TO ADATA/AWHATLIST HEAD 19 2=R= [ (X1 MAY PT TO INNER WDS) 15 2?=W [ THESE MAY NOT BE ADHERED TO IN THE SUBROUTINES 4 2?QG [ 4 2#=6 [ 18 2#PQ [ THE FOLLOWING BIT IDENTIFIERS ARE RELEVANT TO A CPAT BLOCK 4 2*9B [ 15 2*P2 BITDEFS CONTEXT,19,WBUOPCON,,,WBNUCON,WBUCON 4 2B8L [ 16 2BN= [ THEY ARE THE OPS' CONSOLE, NOUSER AND USER CONTEXT 8 2C7W [ BITS RESPECTIVELY 4 2CMG [ 4 2D76 [ 7 2DLQ [ PRESET DATA 7 2F6B [ =========== 4 2FL2 [ 8 2L_W PVAL1 +1 8 2MFG PVAL2 +2 8 2M_6 PVAL3 +3 8 2NDQ PVAL4 +4 8 2NYB PSTRCOLON 4H: 8 2PD2 PSTRSTAR 4H* 9 2PXL PSTRUSER 8HUSER : 9 2QC= PSTRFULL 8HFULL 9 2QWW PSTRLIST 8HLIST 9 2RBG PSTRHERE 8HHERE 9 2RW6 PSTRFILE 8HFILE 9 2S*Q PSTRDOCU 8HDOCU 9 2STB PSTRTOPR 8HTOPR 9 2T*2 PSTRTOUR 8HTOUR 8 2TSL PSTRJOB 4HJOB 8 2W#= PERITYPE 4HCP 8 2WRW 4HLP 8 2X?G 4HTP 10 2XR6 PROPERTY 8HPROPERTY 8 2Y=Q PSTRPR 4HPR 8 2YQB PSTRDM 4HDM 7 2_=2 PCT 0 10 2_PL #FID CBCT,CBCT,1 4 329= [ 4 32NW [ 10 338G [ SUBROUTINE 'SUBAREPROPS' 10 33N6 [ ======================== 4 347Q [ 21 34MB [ THIS SUBROUTINE CHECKS WHETHER A GIVEN PROPERTY STRING IS DRASTICALLY 21 3572 [ WRONG. IF IT IS, A REPLY IS SET, ELSE AN APERI/APRNUM BLOCK IS SET UP 19 35LL [ CONTAINING THE PROPERTY NUMBERS(B0=>CONSOLE, B1=>PERMANENT) 4 366= [ 9 36KW [ ENVIRONMENT REQUIRED:- 11 375G [ APERI/APROPS BLOCK EXISTS 13 37K6 [ ADATA/CREADL DETAILS BLOCK EXISTS 14 384Q [ X1=GSIGN (MUST FIND DEFAULT PROPERTY) 17 38JB [ 0 (DEFAULT IS CONSPROP OF PREVIOUS APROPS) 4 3942 [ 9 39HL [ ENVIRONMENT CHANGES:- 13 3=3= [ X0 LINK - KEPT IN AWORK1 THROUGHOUT 6 3=GW [ X2:=FX2 13 3?2G [ X1,X3->X7,AWORK1->AWORK4 DESTROYED 14 3?G6 [ REPLY XPROP,CPROPS,MAXATT OR OK GIVEN 9 3?_Q [ APERI/APRNUM SET UP 16 3#FB [ DETAILS BLOCK UPDATED TO INCLUDE 'PR' DETAILS 17 3#_2 [ AWORK2 SET NON-ZERO IF BREAKIN BEFORE SYSPER OPENED 4 3*DL [ 21 3*Y= PRCENTRAL 4H 001 [PROPNO WD FOR 'CENTRAL' IN SYSPROP 6 3BCW SUBAREPROPS 7 3BXG SBX 0 FX1 7 3CC6 ADX 0 1 7 3CWQ LDX 2 FX2 14 3DBB STO 0 AWORK1(2) [STORE LINK 10 3DW2 MHUNT 1,APERI,APROPS 17 3F*L LDX 7 A1+1(1) [X7 := CT OF PROPNAMES 19 3FT= STO 7 AWORK3(2) [AWORK3 := EXPECTED PROP COUNT 8 3G#W LDN 6 ATTMAX 7 3GSG SBX 6 7 19 3H#6 BNG 6 TOOMANYPRS [IF TOO MANY PROPNAMES, ERR FI 19 3HRQ ADN 7 2 [X7 := LOGLEN OF APERI/APRNUM 11 3J?B SETUPCORE 7,2,APERI,APRNUM 7 3JR2 SBN 7 2 17 3K=L STOZ A1(2) [COUNT OF PROPNOS := 0 21 3KQ= STOZ A1+1(2) [CLEAR CONSPROP WD (ASSUME NO CONSPROP) 14 3L9W OPENSYS UBROKEIN,PROPERTY,READ,CAREFUL 20 3LPG IF 7,NZ [IF PR PARAM (I.E. NOT JUST REMOTE) 5 3M96 THEN 8 3MNQ WHILE TRUE 20 3N8B STEP [FOR EACH :SYSTEM.PROPERTY RECORD 11 3NN2 MHUNT 1,APERI,APROPS 11 3P7L MHUNTW 2,APERI,APRNUM 8 3PM= AND 3,NZ 20 3Q6W AND +A1(2),U,A1+1(1) [UNTIL ALL REQUIRED NAMES FOUND 13 3QLG DO [DO 9 3R66 SMO FX2 17 3RKQ STOZ AWORK2 [ZERO => 1ST PARAM 11 3S5B LDX 5 APROPNAME(3) 11 3SK2 LDX 6 APROPNAME+1(3) 18 3T4L LDX 7 APROPNAME+2(3) [X5->7:=THAT PROPNAME 20 3TJ= LDX 4 A1+1(1) [USING X4 AS LOOP CONTROLLER, 20 3W3W ADN 1 A1+2 [FOR EACH NAME IN /APROPS DO 6 3WHG DO 10 3X36 TXU 5 1(1) 10 3XGQ TXU 6 2(1) 10 3Y2B TXU 7 3(1) 21 3YG2 IF CC [IF THAT NAME=NAME IN SYSPROP 7 3Y_L THEN 21 3_F= NGNC 5 1 [THEN DESTROY NAME IN X5->X7 21 3_YW ANDX 5 APROPNO(3) [SET UP NON-CONSOLE PROPNO 10 42DG SMO FX1 17 42Y6 IF 5,E,PRCENTRAL [IF CENTRAL 8 43CQ THEN 21 43XB LDX 5 GSIGN [THEN PROPNO:=JUST SIGN B 18 44C2 ELSF +APROPGROUP(3),NG [ELSF CONSPROP 8 44WL THEN 20 45B= ORX 5 GSIGN [THEN SET CONSOLE BIT 15 45TW FI [FI 21 46*G IF 5,NG [IF CENTRAL OR CONSPROP THEN 8 46T6 THEN 12 47#Q LDX 7 A1+1(2) 21 47SB BNZ 7 TWOCONSOLE [IF 2ND CONSPROP THEN ERR 21 48#2 STO 5 A1+1(2) [PUT CONSPROP ON /APRNUM 11 48RL SMO FX2 21 49?= IF +AWORK2,NZ [IF NOT 1ST NAME IN PARAM 9 49QW THEN 19 4==G LDX 7 1 [X7 KEEPS PTR 12 4=Q6 SMO FX2 13 4?9Q LDN 1 ACOMMUNE1 11 4?PB LDN 0 2 21 4#92 MOVE 0 6 [PRESERVE TOP 6 X'S 14 4#NL MHUNT 1,APERI,APROPS 13 4*8= LDX 0 A1+1(1) 12 4*MW SMO FX2 21 4B7G STO 0 ACOMMUNE3 [STORED X4 => 1ST PARA 21 4BM6 LDN 6 A1+2(1) [X6 -> START OF 1ST CE 11 4C6Q LDX 1 7 21 4CLB SBN 1 1 [X1 -> END OF PREV CEL 21 4D62 LDX 0 1(1) [X0 := CHARCT FOR CONS 21 4DKL DO [MOVE OTHER NAMES DOWN 13 4F5= LDX 5 0(1) 13 4FJW STO 5 4(1) 12 4G4G SBN 1 1 14 4GJ6 REPEAT UNTIL,1,L,6 21 4H3Q STO 0 1(1) [PUT CONSPROP CT IN 1S 14 4HHB LDN 5 APROPNAME(3) 12 4J32 LDN 6 2(1) 21 4JGL MOVE 5 3 [PUT CONSPROP NAME IN 21 4K2= LDN 6 A1+2(2) [X6 -> 1ST PROPNO WD 12 4KFW SMO FX2 12 4K_G LDX 1 AWORK3 11 4LF6 ADX 1 6 21 4LYQ SBX 1 4 [X1 -> CURRENT PROPNO 21 4MDB WHILE 6,L,1 [FOR PROPNOS ABOVE CUR 9 4MY2 DO 12 4NCL SBN 1 1 21 4NX= LDX 0 0(1) [SHIFT PROPNOS DOWN 13 4PBW STO 0 1(1) 18 4PWG REPEAT [REPEAT 12 4QB6 SMO FX2 13 4QTQ LDN 0 ACOMMUNE1 11 4R*B LDN 1 2 20 4RT2 MOVE 0 6 [RESTORE TOP 6 X'S 19 4S#L LDX 1 7 [RESTORE PTR 19 4SS= FI [FI FIRST NAME 20 4T?W FI [FI CENTRAL OR CONSPROP 21 4TRG LDN 6 A1+2(2) [PUT PROPNO INTO PRNUM IN ST 10 4W?6 SMO FX2 11 4WQQ ADX 6 AWORK3 10 4X=B SBX 6 4 10 4XQ2 SMO 6 10 4Y9L STO 5 0 21 4YP= LDN 4 1 [ENSURE APROPS LOOP TERMINAT 21 4_8W ADS 4 A1(2) [AND USE X4 TO UPDATE APRNUM 12 4_NG LDX 5 APROPNAME(3) 13 5286 LDX 6 APROPNAME+1(3) 19 52MQ LDX 7 APROPNAME+2(3) [RESET NAME IN X5->7 14 537B FI [FI 9 53M2 ADN 1 4 9 546L SMO FX2 10 54L= STO 1 AWORK2 20 555W REPEAT CT 4 [REPEAT OVER NAMES IN BLOCK 19 55KG REPEAT [REPEAT OVER SYSPROP RECORDS 8 5656 LDX 5 A1(2) 11 56JQ MHUNT 1,APERI,APROPS 20 574B BXU 5 A1+1(1),PROPUNK [IF NOT ALL NAMES FOUND,ERR FI 9 57J2 LDN 1 A1+2(2) 9 583L LDN 3 A1+2(2) 17 58H= LDX 5 A1(2) [FOR ALL PROPNOS DO 8 592W IF 5,NZ 6 59GG THEN 5 5=26 DO 9 5=FQ LDX 0 0(1) 18 5=_B IF 0,PZ [IF NON-CONSOLE THEN 7 5?F2 THEN 18 5?YL STO 0 0(3) [PUT BACK IN BLOCK 9 5#D= ADN 3 1 14 5#XW ELSE [ELSE 9 5*CG LDN 0 1 20 5*X6 SBS 0 A1(2) [CORRECT NON-CONSOLE COUNT 14 5BBQ FI [FI 8 5BWB ADN 1 1 8 5CB2 REPEAT CT 5 14 5CTL FI [REPEAT 12 5D*= FI [FI 10 5DSW MHUNTW 1,APERI,APRNUM 11 5F#G MHUNTW 3,ADATA,AWHATLIST 17 5FS6 IF +A1+1(1),ZE [IF NO CONSPROP IN PARAM 10 5G?Q LDX 4 AWLCONS(3) 19 5GRB AND 4,NZ [BUT ONE TO FIND (I.E. REMOTE) 5 5H?2 THEN 8 5HQL ANDX 4 BSP16 8 5J== LDCT 2 #600 20 5JPW ORX 2 4 [ENSURE CONSOLE, PERMANENT SET 15 5K9G STO 2 A1+1(1) [UPDATE PRNUM 8 5KP6 LDX 2 FX2 9 5L8Q LDX 0 AWORK1(2) 18 5LNB IF 0,NG [IF LOOKING FOR DEFAULT 6 5M82 THEN 7 5MML REWIND 6 5N7= DO 7 5NLW STEP 10 5P6G LDX 0 BSP16 11 5PL6 ANDX 0 APROPNO(3) 16 5Q5Q REPEAT UNTIL,0,E,4 [X3 -> ENTRY 9 5QKB LDCT 1 #600 19 5R52 ADN 1 APROPNAME+2(3) [X1 -> LAST CHAR OF NAME 9 5RJL WHILE TRUE 10 5S4= LDCH 0 0(1) 9 5SHW SBN 0 #20 9 5T3G AND 0,ZE 6 5TH6 DO 9 5W2Q SLC 1 2 9 5WGB SBN 1 1 9 5X22 SRC 1 2 19 5XFL REPEAT [X1 -> LAST NON-SPACE CHAR 11 5X_= SBN 1 APROPNAME(3) 8 5YDW SLC 1 2 11 5YYG LDN 4 APROPNAME(3) 16 5_D6 LDN 6 1(1) [X6 := CHARCT 11 5_XQ MHUNT 3,APERI,APROPS 6 62CB ELSE 11 62X2 MHUNT 3,APERI,APROPS 14 63BL HUNT2J 1,APERI,APROPS,3,(GEOERR) 10 63W= LDN 4 A1+3(1) 10 64*W LDX 6 A1+2(1) 5 64TG FI 8 65*6 SMO FX2 9 65SQ LDN 5 AWORK2 7 66#B MOVE 4 3 8 66S2 LDX 7 A1(3) 7 67?L ADN 7 4 7 67R= PHOTO 5 10 68=W ALTLENG 3,7,REFIND 10 68QG IF 5,U,BCOUNT 6 69=6 THEN 11 69PQ MHUNT 2,APERI,APROPS 6 6=9B ELSE 8 6=P2 LDX 2 3 5 6?8L FI 16 6?N= STO 7 A1(2) [UPDATE HDDR WD 9 6#7W LDX 0 A1+1(2) 19 6#MG SLL 0 2 [X0 := CT OF WDS TO MOVE DOWN 7 6*76 LDN 1 1 16 6*LQ ADS 1 A1+1(2) [UPDATE PROPCT WD 9 6B6B LDN 1 A1+1(2) 19 6BL2 ADX 1 0 [X1 -> LAST WD TO BE MOVED 8 6C5L IF 0,NZ 6 6CK= THEN 6 6D4W DO 10 6DJG LDX 7 0(1) 10 6F46 STO 7 4(1) 9 6FHQ SBN 1 1 17 6G3B REPEAT CT 0 [BLOCK MOVED DOWN 5 6GH2 FI 9 6H2L STO 6 A1+2(2) 8 6HG= SMO FX2 9 6H_W LDN 4 AWORK2 9 6JFG LDN 5 A1+3(2) 17 6J_6 MOVE 4 3 [FIRST CELL INSERTED 18 6KDQ ELSF +A1+1(1),E,GSIGN [ELSF 'CENTRAL' 1ST ELT THEN 5 6KYB THEN 11 6LD2 MHUNT 2,APERI,APROPS 16 6LXL STOZ A1+2(2) [ZERO THE CT WD 16 6MC= FI [FI FIND CONSPROP 5 6MWW CLOSE 7 6NBG SETREP2 OK 14 6NW6 BRN XITISPROP [NORMAL EXIT 5 6P*Q UBROKEIN 7 6PTB LDX 2 FX2 15 6Q*2 STO 2 AWORK2(2) [BREAKIN EXIT 9 6QSL BRN XITBROKEN 17 6R#= TOOMANYPRS [ERROR EXITS FOLLOW 7 6RRW LDX 2 FX2 8 6S?G SETREP2 MAXATT 9 6SR6 BRN XITISPROP 6 6T=Q TWOCONSOLE 5 6TQB CLOSE 8 6W=2 SETREP2 CPROPS 9 6WPL BRN XITISPROP 5 6X9= PROPUNK 5 6XNW CLOSE 8 6Y8G SETREP2 XPROP 6 6YN6 XITISPROP 9 6_7Q STOZ AWORK2(2) 6 6_MB XITBROKEN 9 7272 LDX 0 AWORK1(2) 7 72LL ADX 0 FX1 8 736= ANDX 0 BITS22LS 7 73KW EXIT 0 0 4 745G [ 4 74K6 [ 10 754Q [ SUBROUTINE 'SUBPROPOWN' 10 75JB [ ======================= 4 7642 [ 19 76HL [ THIS SUBROUTINE TESTS A CONSOLE PROPERTY NUMBER TO SEE WHETHER 17 773= [ IT IS ACCESSIBLE TO THE OPERATOR SOURCE REQUESTING IT. 4 77GW [ 9 782G [ ENVIRONMENT REQUIRED:- 15 78G6 [ COMMAND PROCESSING ACTIVITY - NOT CHECKED 18 78_Q [ LS 15 BITS OF ACOMMUNE1 HOLD REQUESTED CONSOLE PROPERTY 6 79FB [ X2=FX2 4 79_2 [ 9 7=DL [ ENVIRONMENT CHANGES:- 6 7=Y= [ X1 LINK 8 7?CW [ X2,X5 UNCHANGED 13 7?XG [ ALL OTHER ACCUMULATORS DESTROYED 4 7#C6 [ 8 7#WQ [ REPLIES GIVEN:- 11 7*BB [ OK - PROPERTY ACCESSIBLE 11 7*W2 [ CANT - CAN'T USE PROPERTY 4 7B*L [ 9 7BT= [ PARAMETERS REQUIRED:- 6 7C#W [ NONE 4 7CSG [ 6 7D#6 SUBPROPOWN 7 7DRQ SBX 1 FX1 8 7F?B LDX 6 BSP16 15 7FR2 ANDX 6 JSOURCE3(2) [X6:=SRCE PROP 18 7G=L BZE 6 SUBPROK [CENTRAL SOURCE MAY USE ANY 8 7GQ= LDX 4 BSP16 16 7H9W ANDX 4 ACOMMUNE1(2) [X4:=REQUESTED PROP 17 7HPG BXE 6 4,SUBPROK [REMOTE MAY USE ITS OWN 10 7J96 HUNTMISB 3,APERI,CONSOLE 19 7JNQ BNG 3 SUBPROK [IF NO REAL REMOTE CONSOLES THEN 20 7K8B [ALL CLUSTERS USE CENTRAL, SO 18 7KN2 [MAY ACCESS ALL OTHERS 18 7L7L STOZ AWORK1(2) [REQ COMMS DEVICE:=SCANNER 18 7LM= STOZ AWORK2(2) [REQ PROP NOT IN /CONSOLE 18 7M6W STOZ AWORK3(2) [SRCE COMMS DEVICE:=SCANNER 18 7MLG STOZ AWORK4(2) [SRCE PROP NOT IN /CONSOLE 9 7N66 WHILE +A1+1(3),NZ 19 7NKQ DO [FOR ALL PROPS IN /CONSOLE DO 15 7P5B ANDX 0 BSP16 [X0:=PROPNO 18 7PK2 IF 0,E,4 [IF PROPNO=REQ PROP THEN 6 7Q4L THEN 10 7QJ= LDX 7 A1+1(3) 19 7R3W ANDX 7 GSIGN [X7:=+(SCANNER) OR -(7900) 18 7RHG STO 7 AWORK1(2) [SET REQ COMMS DEVICE 10 7S36 LDX 7 A1+2(3) 17 7SGQ STO 7 AWORK2(2) [SET REQ CONS IDE 19 7T2B ELSF 0,E,6 [ELSF PROPNO=SRCE PROP THEN 6 7TG2 THEN 10 7T_L LDX 7 A1+1(3) 9 7WF= ANDX 7 GSIGN 18 7WYW STO 7 AWORK3(2) [SET SRCE COMMS DEVICE 10 7XDG LDX 7 A1+2(3) 17 7XY6 STO 7 AWORK4(2) [SET SRCE CONS IDE 13 7YCQ FI [FI 13 7YXB REPEAT DX 3 [REPEAT 11 7_C2 OPSCON SUBOPCHK,SUBCOMCHK 6 7_WL SUBCOMCHK 18 82B= LDX 6 AWORK1(2) [IF OP COMMAND OR USER THEN 9 82TW LDX 7 AWORK2(2) 9 83*G TXU 6 AWORK3(2) 18 83T6 TXU 7 AWORK4(2) [IF AU'D CONSOLE .NE. REQ'D 14 84#Q BCS SUBCANT [THEN ERROR 14 84SB BRN SUBPROK [ELSE OK FI 5 85#2 SUBOPCHK 7 85RL LDCT 7 #200 9 86?= ANDX 7 JSOURCE2(2) 17 86QW IF +AWORK1(2),NG [ELSF REQ ON 7900 THEN 5 87=G THEN 19 87Q6 BZE 7 SUBCANT [IF SRCE NOT ON 7900, ERR FI 10 889Q LDX 7 JSOURCE2(2) 15 88PB SLL 7 12 [X7:=GEOGNO:0 10 8992 LDX 6 JSOURCE1(2) 15 89NL ANDN 6 #7777 [X6:=0:IDE 18 8=8= ADX 7 6 [X7:=GEOGNO:IDE (SRCE) 19 8=MW BXU 7 AWORK2(2),SUBCANT [IF SRCE CONSOLE .NE. REQ,ERR 17 8?7G ELSE [ELSE (REQ ON SCANNER) 19 8?M6 BNZ 7 SUBCANT [IF NOT SCANNER SRCE, ERR FI 9 8#6Q LDX 7 AWORK2(2) 16 8#LB SRL 7 12 [X7:=REQ TERM IDE 10 8*62 LDX 6 JSOURCE1(2) 7 8*KL SRL 6 6 18 8B5= ANDN 6 #7777 [X6:=SRCE TERMINAL IDE 18 8BJW BXU 6 7,SUBCANT [IF DIFFERENT THEN ERR FI 9 8C4G LDX 7 AWORK2(2) 16 8CJ6 ANDN 7 #7777 [X7:=REQ LINE NO 10 8D3Q LDX 6 JSOURCE2(2) 7 8DHB SRL 6 9 16 8F32 ANDN 6 #7777 [X6:=SRCE LINE NO 18 8FGL BXU 6 7,SUBCANT [IF DIFFERENT THEN ERR FI 12 8G2= FI [FI 13 8GFW SUBPROK [FI 16 8G_G SETREP2 OK [CAN USE REQ PROP 7 8HF6 ADX 1 FX1 7 8HYQ EXIT 1 0 5 8JDB SUBCANT 15 8JY2 SETREP2 CANT [CAN'T USE IT 7 8KCL ADX 1 FX1 7 8KX= EXIT 1 0 4 8LBW [ 4 8LWG [ 5 8MB6 REFIND 10 8MTQ MHUNT 2,APERI,APROPS 7 8N*B EXIT 1 0 4 8NT2 [ 4 8P#L [ 9 8PS= [ SUBROUTINE 'SUBSET' 9 8Q?W [ =================== 4 8QRG [ 16 8R?6 [ SETS UP ADATA/CREADL AND ADATA/AWHATLIST BLOCKS 4 8RQQ [ 9 8S=B [ ENVIRONMENT REQUIRED:- 12 8SQ2 [ ENTRY FROM COMMAND PROCESSOR 4 8T9L [ 9 8TP= [ ENVIRONMENT CHANGES:- 8 8W8W [ BLOCKS SET UP 17 8WNG [ AWHATLIST INITIALISED WITH CONTEXTS AND DEFAULTS 6 8X86 [ X7 LINK 4 8XMQ [ 17 8Y7B [ THE MAXIMUM SIZE OF DETAILS THAT MAY BE GIVEN IS :- 21 8YM2 [ (:<12 CHAR USER>, <12 CHAR JOB>, *, PR , FILE <37 12 8_6L [ I.E. (ATTMAX*13) - 1 + 83 CHARS 15 8_L= [ HENCE NUMBER OF WORDS NEEDED TO HOLD INFO :- 13 925W #DEF MAXMESSWDS=ATTMAX*13+85/4 12 92KG [ THIS #DEF MUST ALSO BE MADE IN WLB 4 9356 [ 5 93JQ SUBSET 7 944B SBX 7 FX1 13 94J2 SETNCORE MAXMESSWDS+2,3,ADATA,CREADL 7 953L LDN 0 A1+2 21 95H= STO 0 A1+1(3) [SET PTR TO STRING START DISPLACEMENT 17 962W SETNCORE AWLPRNO+ATTMAX-AWLUSERNAM,3,ADATA,AWHATLIST 7 96GG LDX 0 ACES 10 9726 STO 0 AWLUSERNAM(3) 10 97FQ LDN 5 AWLUSERNAM(3) 10 97_B LDN 6 AWLUSERNAM+1(3) 17 98F2 MOVE 5 5 [NULL OUT THE STRING WDS 9 98YL STOZ AWLPERI(3) 9 99D= LDN 5 AWLPERI(3) 9 99XW LDN 6 AWLPERI+1(3) 19 9=CG MOVE 5 AWLPRNO+ATTMAX-AWLPERI-1 [ZERO OUT THE NUMBER WDS 4 9=X6 [ 17 9?BQ [ SET CONTEXT BITS (AND JOB DETAILS IF USER CONTEXT) 14 9?WB [ AND SOURCE CONSOLE PROPERTY IF REMOTE 4 9#B2 [ 17 9#TL OPSCON SETOPER,SETOPCOM [IF NOT (OP OR OPERATOR) 17 9**= JBS ZWRCNTXT,2,WBNUCON [IF NOT USER THEN ERROR 17 9*SW BS 3,AWLBUSERCON [ELSE SET USER CONTEXT 17 9B#G FCJOB 2,,,CPA [POINT X2 AT JOB BLOCK 9 9BS6 LDX 0 JOBNUM(2) 14 9C?Q STO 0 AWLPERI(3) [STORE JOBNO 8 9CRB LDN 4 JUSER(2) 10 9D?2 LDN 5 AWLUSERNAM(3) 15 9DQL CALL 6 SIGCHARS [STORE USERNAME 14 9F== STO 5 AWLCOUNT(3) [STORE COUNT 12 9FPW BRN NOTOP [FI 18 9G9G SETOPER [ELSF OPERATOR CONTEXT 16 9GP6 BS 3,AWLBOPER [SET OPERATOR BIT 8 9H8Q BRN NOTOP 13 9HNB SETOPCOM [ELSE 16 9J82 BS 3,AWLBOPCOM [SET OP COMMAND BIT 13 9JML NOTOP [FI 4 9K7= [ 6 9KLW [ ASSERTION: 20 9L6G [ AN ADATA/AWHATLIST BLOCK EXISTS, IN THE FORMAT GIVEN ABOVE. THE 21 9LL6 [ ONLY INFORMATION IT CONTAINS IS ONE BIT SET OUT OF THE SET (USER 20 9M5Q [ CONTEXT , OPERATOR CONTEXT , OP COMMAND), AND IF USER CONTEXT, 20 9MKB [ THEN USERNAME BIT IS ALSO SET, AND THE USERNAME SET UP IN THE 8 9N52 [ ADATA/AWHATLIST 4 9NJL [ 7 9P4= LDX 2 FX2 9 9PHW LDX 6 JSOURCE3(2) 19 9Q3G IF 6,NZ [IF NOT CENTRALLY ISSUED THEN 5 9QH6 THEN 18 9R2Q BS 3,AWLBREM [SET REMOTE CONTEXT BIT 8 9RGB ANDX 6 BSP16 16 9S22 STO 6 AWLCONS(3) [STORE CONSPROP 12 9SFL FI [FI 7 9S_= ADX 7 FX1 7 9TDW EXIT 7 0 4 9TYG [ 14 9WD6 SIGCHARS [REQUIRES X45 SET TO MOVE A NAME 10 9WXQ [ LINK X6 11 9XCB [RETURNS LENGTH IN X5 6 9XX2 [ 15 9YBL MOVE 4 3 [COPY NAME OVER 7 9YW= LDX 1 4 17 9_*W LDN 5 12 [GET NO. CHARS IN NAME 7 9_TG WHILE TRUE 7 =2*6 SLC 1 2 7 =2SQ SBN 1 1 7 =3#B SRC 1 2 8 =3S2 LDCH 0 3(1) 8 =4?L SBN 0 #20 7 =4R= AND 0,ZE 5 =5=W DO 7 =5QG REPEAT CT 5 7 =6=6 EXIT 6 0 4 =6PQ [ 4 =79B [ 6 =7P2 [ ASSERTION: 20 =88L [ IF THE COMMAND WAS ISSUED IN REMOTE OR CLUSTER CONTEXT THEN THE 21 =8N= [ REMOTE CONTEXT BIT IS SET, AND THE PROPNO ATTRIBUTED TO THAT CLUSTE 15 =97W [ CONSOLE IS STORED IN THE ADATA/AWHATLIST 4 =9MG [ 4 ==76 [ 4 ==LQ [ 15 =?6B [ WW WW W WWWWWWWW 15 =?L2 [ WW WW WW WW 14 =#5L [ WW WW WWW WW 14 =#K= [ WWWW WW WWW 15 =*4W [ WWWWW WW WWWWWW WW 15 =*JG [ WW WW WW WW WW 15 =B46 [ WW WW WW WW WW 15 =BHQ [ WW WW WW WWWWWW 4 =C3B [ 4 =CH2 [ 5 =D2L WLAK1 8 =DG= CALL 7 SUBSET 18 =D_W [ENSURE THAT TRACING/REPORTING IS HIGH ENOUGH TO MAKE IT 18 =FFG [WORTHWHILE CARRYING ON. THE TEST IS ONLY MADE FOR 'WL', 18 =F_6 [SINCE FOR 'SL' OR 'CH' TO GENERATE THE MESSAGE THEY MUST 18 =GDQ [TRACE/REPORT NEITHER COMMENT NOR COMERR CATEGORY (THEIR 19 =GYB [OUTPUT MAY BE EITHER OR BOTH) - BUT IF THEY'RE NOT TRACING 15 =HD2 [COMERR THEN THEY WON'T GET THE MESSAGE!!! 17 =HXL IF BC,3,AWLBOPER [IF (OP COMMAND OR USER) 5 =JC= THEN 8 =JWW LDX 1 FX1 17 =KBG TESTRACE PCT(1),ZTRACEREP [ERROR IF LESS 12 =KW6 FI [FI 8 =L*Q BS 3,AWLBWL 8 =LTB BRN YANALYSE 5 =M*2 WLAK2 8 =MSL CALL 7 SUBSET 8 =N#= BS 3,AWLBSL 8 =NRW BRN YANALYSE 5 =P?G WLAK3 8 =PR6 CALL 7 SUBSET 8 =Q=Q BS 3,AWLBCH 5 =QQB YANALYSE 8 =R=2 ACROSS WLB,1 4 =RPL [ 4 =S9= [ 8 =SNW [ WW WW WW 8 =T8G [ WW WW WW 7 =TN6 [ WW WW WW 8 =W7Q [ WWWW WW WW 9 =WMB [ WWWWW WWWWWWWW 8 =X72 [ WW WW WW 8 =XLL [ WW WW WW 8 =Y6= [ WW WW WW 4 =YKW [ 4 =_5G [ 5 =_K6 WLAK4 4 ?24Q [ 8 ?2JB LDX 1 GSIGN 9 ?342 CALL 0 SUBAREPROPS 9 ?3HL LDX 0 AWORK2(2) 18 ?43= BNZ 0 ZBRKIN [IF BREAKIN, ABANDON COMMAND 18 ?4GW TESTREP2 XPROP,ZNOSCHPROP [ELSF UNKNOWN PROPERTY, ERR 19 ?52G TESTREP2 MAXATT,Z2MANYPRPS [ELSF TOO MANY PROPERTIES, ERR 20 ?5G6 TESTREP2 CPROPS,Z2CONSOLE [ELSF TWO CONSOLE PROPERTIES, ERR 12 ?5_Q MHUNTW 3,ADATA,AWHATLIST [FI 10 ?6FB MHUNTW 2,APERI,APRNUM 8 ?6_2 LDX 7 A1+1(2) 18 ?7DL IF 7,E,GSIGN [IF 'CENTRAL' SPECIFIED THEN 5 ?7Y= THEN 16 ?8CW STOZ A1+1(2) [FORGET NUMBER 16 ?8XG IF BSC,3,AWLBREM [IF REMOTE THEN 6 ?9C6 THEN 16 ?9WQ STOZ AWLCONS(3) [MAKE CENTRAL 21 ?=BB JBC ZNOTOWNED,3,AWLBUSERCON [IF 'OP' OR OPERATOR, ERR FI 13 ?=W2 FI [FI 16 ??*L BS 3,AWLBPRCENT [SET CENTRAL BIT 20 ??T= ELSF 7,NZ [ELSF CONSOLE PROPERTY GIVEN THEN 21 ?##W THEN [(OTHER THAN CENTRAL (TRAPPED ABOVE)) 8 ?#SG ANDX 7 BSP16 7 ?*#6 LDX 6 7 15 ?*RQ BS 3,AWLBPROP [SET 'PR' BIT 15 ?B?B IF BSC,3,AWLBREM [IF REMOTE 17 ?BR2 AND BC,3,AWLBUSERCON [AND NOT USER THEN 6 ?C=L THEN 9 ?CQ= LDX 2 FX2 11 ?D9W STO 6 ACOMMUNE1(2) 18 ?DPG CALL 1 SUBPROPOWN [IF CAN'T USE PROPERTY 16 ?F96 TESTRPN2 OK,ZNOTOWNED [THEN ERROR FI 11 ?FNQ MHUNTW 2,APERI,APRNUM 12 ?G8B MHUNTW 3,ADATA,AWHATLIST 10 ?GN2 LDX 6 A1+1(2) 9 ?H7L ANDX 6 BSP16 13 ?HM= FI [FI 16 ?J6W STO 6 AWLCONS(3) [STORE PROPERTY 12 ?JLG FI [FI 10 ?K66 IF BSC,3,AWLBREM 5 ?KKQ THEN 10 ?L5B BS 3,AWLBPROP 5 ?LK2 FI 18 ?M4L LDN 1 AWLPRNO(3) [X1 := PTR TO PROPS DEST'N 20 ?MJ= LDX 6 A1(2) [X6 := COUNT OF NON-CONSOLE PROPS 20 ?N3W IF 6,NZ [IF NON-CONSOLE PROPS REQUIRED THEN 5 ?NHG THEN 18 ?P36 STO 6 AWLPRCNT(3) [UPDATE TOTAL MAND PROPS 15 ?PGQ BS 3,AWLBPROP [SET 'PR' BIT 18 ?Q2B ADN 2 A1+2 [PT AT /APRNUM PROPNOS 18 ?QG2 DO [COPY PROPS TO AWHATLIST 9 ?Q_L LDX 7 0(2) 9 ?RF= STO 7 0(1) 8 ?RYW ADN 1 1 8 ?SDG ADN 2 1 8 ?SY6 REPEAT CT 6 12 ?TCQ FI [FI 9 ?TXB MFREE APERI,APRNUM 8 ?WC2 VFREE CPB,CUNI 8 ?WWL ACROSS WLB,2 4 CDM= [ 7 CF6W [ ERROR LABELS 7 CFLG [ ============ 4 CG66 [ 6 CGKQ ZTRACEREP 8 CH5B COMERR JMTRACE 6 CHK2 ZNOACTION 10 CJ4L COMERR JPARMIS,ACTION 5 CJJ= ZWRQUAL 18 CK3W COMERR BADQUAL [ERROR IN 'LIST' QUALIFIER 5 CKHG ZDUFFPAR 7 CL36 LDX 3 2 9 CLGQ SPARANOX JPARNUM(3) 5 CM2B ZFORMERR 5 CMG2 ZUNRECOG 5 CM_L ZLISTWR 16 CNF= COMERR APFERR [PARAM FORMAT ERROR 6 CNYW ZTOURTOPR 4 CPDG ZHL 5 CPY6 ZKEYRPT 19 CQCQ COMERR ASCOMBER [ILLEGAL PARAMETER COMBINATION 5 CQXB ZBRKIN 18 CRC2 ABANDCOM [ABANDONED DUE TO BREAKIN 6 CRWL ZNOSCHPROP 16 CSB= COMERR JPROPUNK [UNKNOWN PROPERTY 6 CSTW Z2MANYPRPS 15 CT*G COMERR JPERR2 [TOO MANY PROPS 6 CTT6 Z2CONSOLE 16 CW#Q COMERR JPERR3 [TWO CONSOLE PROPS 6 CWSB ZNOTOWNED 20 CX#2 COMERR CONSNOTOWN [REMOTE OP ASKS ABT OTHER CONSPROP 6 CXRL ZURINUSER 10 CY?= COMERR JFORMCNTXT,JCOM 5 CYQW ZNULLPAR 5 C_=G ZPRNULL 8 C_Q6 COMERR JNULLPAR 5 D29Q ZWRCNTXT 17 D2PB COMERR JCONTINC,JNUNOP [NO-USER, NOT-OPERATOR 7 D2R_ ...#UNS ANSTOOMANY 4 D2WJ ...( 5 D2_7 ...ZMAXPAR 9 D33Q ... COMERR JMAXPAR 4 D36* ...) 4 D392 #END 6 ____ ...623376560001