ASMB,R,Q,C HED RTE-IVB (W/ SESSION MONITOR) VERSION NAM RESSM,30 91750-1X163 REV 2013 801014 RTE-IVB(SM) SPC 1 * ENT #MCTR,#MTBL,#MARN,#MAHC,#MARL,#MAZE ENT #RSM,#POOL,#DFUN,#PASS ENT #BUSY,#FWAM,#GRPM,#BREJ,#LDEF,#MNUM,#MRTH ENT #PNLH,#TRCL,#TRCN,#CL3K,#NRV,#NCNT ENT #RDLY,#PRLU,#LEVL,#ACRN,#LUMP,#LMPE ENT #MSTO,#NODE,#NULL,#QRN,#RSAX,#RTRY ENT #ST00,#ST01,#ST02,#ST03,#ST04,#ST05,#ST06,#ST07 ENT #ST08,#ST09,#ST10,#SVTO,#TBRN,#WAIT,#CNOD,#LNOD ENT #ST11 ENT #QCLM,#NCLR,#SCLR,#SWRD,#PLOG,#RFSZ,#SAVM ENT #RPCV,#RQCV,#LU3K,#QZRN,#CLRN,#QXCL,#TST ENT D$LID,D$BSZ,D$RID,#INCV,#OTCV,#MHCT,#NMSC ENT #LV,#LCNT,#CM,#CMCT,#MDCT,#EXHC,#EXTC,#TCB SPC 1 EXT $BALC,$CGRN,$LIBR,$LIBX,$BRTN,.ENTP,#PRGL * * NAME: RESSM (21MX-M/E/F/ COMPUTERS, W/ RTE-IVB & SESSION MONITOR) * SOURCE: 91750-18??? * RELOC: 91750-16??? * PGMR: LYLE WEIMAN [ 03/30/79 ] * MODIFICATIONS FOR 91750: * --------------------------- * GAB [02/06/79] REPLACE EXTENDED INSTR'S W/ JSB'S * LAW [03/30/79] ADD MODE 12 * " 4-11-79 ADD ENTRY PTS #CLRN,#INCV,#OTCV * " 4-30-79 SECURITY CODE FOR SAM CALLS; REMOVES * REQUIREMENT THAT PROGRAM NAME BE 'DINIT' * MASTER TIME-OUT PASSED IN 'ALLOCATE MASTER TCB' * CALLS; CODE TO SCAN NRV REMOVED. * "LOOP COUNTER" ADDED (#MHCT) * #ACRN ENTRY POINT ADDED * 5-9-79 FIXED BAD MASTER TCB LIST CODE PROBLEM * ALSO FIXED BAD LOCATION FOR 'SECOD' * 5-16-79 CHANGED NAME OF "GHOST COUNTER" TO #MHCT (MAX. HOP * COUNT) * ADDED NETWORK MANAGEMENT SECURITY CODE STORAGE WORD * (#NMSC) * 5-17-79 FIXED ORDER OF #NCNT & #NRV TO BE OUT OF AREA * CLEARED BY 'DINIT'. MOVED #ACRN * 6-5-79 CREATED SEPARATE VERSION FOR RTE-L (PHASE V) * 6-11-79 ADDED ENTRY PTS #RSM,#POOL,#DFUN,#PASS FOR JIM H. * 6-18-79 ADDED ENTRY PTS FOR RE-ROUTING & CHANGED CALLING * SEQUENCE # ( & TCB FORMAT) FOR MODE 8 * 6-12-79 6-WORD TCBS, CHANGED MODE CHECK TO USE 'JUMP TABLE' * 6-19-79 ADD CHANGES TO PNL ENTRY FORMAT & SEARCH CALLS, * AS REQUIRED FOR REMOTE SESSION. * 6-27-79 CHANGE SLAVE STREAM HEADER TO INCLUDE MODULE * NAME, INSTEAD OF ID SEGMENT ADDRESS * 8-14-79 SEPARATE 'RES' INTO THREE MODULES: * RESL -- RTE-L * RESM -- RTE-M & RTE-IVB W/O SESSION MONITOR * RESSM-- RTE-IVB W/ SESSION MONITOR * * 9-18-79 ADDED #MDCT--MAXIMUM LINE DOWN CNTR IN 5 MIN. * TKM 1.03.80 CHANGED '$BRTN' CALL (SEE LABEL 'SAM2'). * TKM 3.27.80 ADDED ENTRY POINTS #EXHC, #EXTC, #TCB. * TKM 4.09.80 MODIFIED SEARCH TO IGNORE 'BAD' TCBS. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * SPC 2 * RES IS A MEMORY-RESIDENT SYSTEM LIBRARY MODULE USED BY THE * DS/1000 (DISTRIBUTED SYSTEMS) SOFTWARE PACKAGE TO PROVIDE * CONTROLLED-ACCESS COMMON STORAGE. ITEMS STORED IN ARE NETWORK * GLOBAL CONSTANTS & VARIOUS LISTS WHICH CONTAIN THE TRANSACTION-BLOCK * RECORDS OF CURRENT TRANSACTIONS-IN-PROCESS ON THE NETWORK. * SPC 5 * #RSAX IS A PRIVILEGED LIBRARY ROUTINE EMBEDDED IN RES * WHICH CONTROLS ACCESS TO, AND ALLOWS MAINTENANCE OF, THE * NETWORK'S TRANSACTION-CONTROL-BLOCKS (TCB'S) FOR CURRENT REQUESTS. SKP * #RSAX OPERATION: SPC 1 * 1. SAVE PARAMETERS IN PREPARATION FOR MAP-SWITCH. SPC 1 * 2. SAVE MAP STATUS AND SWITCH TO SYSTEM MAP. SPC 1 * 3. CHECK MODE OF OPERATION: * A. IF =0, GO TO 7. TO ALLOCATE SYSTEM MEMORY. * B. IF =1, GO TO 7. TO DE-ALLOCATE SYSTEM MEMORY. * C. IF =2, GO TO 4. TO ADD NEW ENTRY TO MASTER-REQUEST LIST. * D. IF =3, GO TO 5. TO ADD NEW ENTRY TO A SLAVE-STREAM LIST. * E. IF =4, GO TO 6. TO SEARCH FOR A MASTER TCB ENTRY. * F. IF =5, GO TO 6. TO SEARCH FOR A SLAVE TCB ENTRY. * G. IF =6, GO TO 6. TO REMOVE A MASTER ENTRY & RETURN IT TO THE POOL. * H. IF =7, GO TO 6. TO REMOVE A SLAVE ENTRY & RETURN IT TO THE POOL. * I. IF =8, GO TO 4. TO ADD AN HP3000 PROCESS. * J. IF=10, GO TO 6. TO REMOVE AN HP3000 PROCESS. * K. IF=11, SET SEARCH KEY OFFSET TO 5 (6TH TCB WORD IS SEARCH KEY) AND * GOTO 6. * L. IF=12, GO TO 6. TO SET THE M.A. REQUEST ACKNOWLEDGEMENT FLAG * M. IF=13, GO TO 6. TO TEST " " " " " * * NOTE: THE M.A. ACKNOWLEDGEMENT FLAG IS DOCUMENTED IN THE MESSAGE * ACCOUNTING SOFTWARE. * * N. IF=14, THEN SAME AS 2, BUT SKIP SEARCH FOR "OBSOLETE" ENTRIES. * M. IF NONE OF THE ABOVE - ERROR #2 --- REJECT! SPC 1 * 4. CHECK FOR AVAILABLE ENTRY, BEFORE ADDING TO THE MASTER LIST. * A. IF NONE AVAILABLE, CALLER HAS NOT CHECKED AVAILABILITY OF * TABLE-ACCESS RN (#TBRN) BEFORE ENTRY - ERROR #3 --- REJECT! * B. IF ENTRY AVAILABLE, SEARCH BY ID SEG. ADDR. FOR OBSOLETE * ENTRIES IN THE MASTER REQUEST LIST (EXCEPT IF MODE =12). * C. FLAG ALL OBSOLETE MASTER-REQUEST ENTRIES AS BAD, IF THEY * ORIGINATED WITH SAME REQUESTOR (BIT#15 =1 OF WORD#5). * D. LINK THE NEW ENTRY INTO THE MASTER REQUEST LIST. * E. USE TIMEOUT SPECIFIED IN CALL, OR USE #MSTO IF VALUE IS ZERO. * F. TRANSFER THE CALLER'S DATA INTO THE NEW ENTRY. * G. IF ENTRY POOL NOT DEPLETED, CLEAR TABLE-ACCESS RN & RETURN. SPC 1 * 5. CHECK FOR AVAILABLE ENTRY, BEFORE ADDING TO THE SLAVE-STREAM LIST. * A. IF NONE, #TBRN NOT CHECKED BEFORE ENTRY - ERROR #3 --- REJECT! * B. CHECK STREAM PARAMETER FOR ACCEPTABLE TYPE--ERROR #1, IF INVALID. * C. LINK THE NEW ENTRY INTO THE SPECIFIED SLAVE-STREAM LIST. * D. TRANSFER CALLER'S DATA INTO THE NEW ENTRY. * E. RETURN VIA 4.G.(ABOVE), TO UPDATE STATUS OF TABLE-ACCESS RN. SPC 1 * 6. INITIALIZE LIST POINTERS, BEFORE SEARCHING FOR/CLEARING AN ENTRY. * A. IF IMPROPER LIST SPECIFIED - ERROR #1 --- REJECT! * B. SEARCH FOR ENTRY. IF ENTRY NOT LOCATED, REJECT---ERROR #4! * C. IF MODE=4/5, GET CONTENTS OF ENTRY WORD#4 & RETURN TO CALLER. * D. IF MODE=6/7, GET CONTENTS OF WD#4 & RE-LINK ENTRY IN NULL LIST. * E. CHECK MODE AGAIN: IF 12, THEN SET M.A. REQUEST ACKNOWLEDGEMENT * FLAG & RETURN CLASS # # TCB ADDR. * IF 13, THEN RETURN WITH ONLY M.A. R.A. FLAG * IN (A): IF 0 THEN FLAG CLEAR, * ELSE #0 IF FLAG SET. DON'T DEPEND * ON A PARTICULAR VALUE, IN CASE * THIS CHANGES. * F. RETURN VIA 4.G.(ABOVE), TO UPDATE STATUS OF TABLE-ACCESS RN. SPC 1 * 7. VERIFY CALLER KNOWS CORRECT SECURITY CODE BEFORE ALLOCATING OR * DE-ALLOCATING SAM. * A. IF MODE & #FWAM =0, GO TO ALLOCATE SYSTEM AVAILABLE MEMORY. * B. IF REQUEST GRANTED, STORE BLOCK ADDRESS IN #FWAM, SIZE IN #SAVM. * D. IF REQUEST DENIED, RETURN REASON IN , FOR FURTHER ANALYSIS. * E. IF MODE=1 & PRAM1=#FWAM, RETURN MEMORY TO THE SYSTEM. * F. CLEAR #FWAM & #SAVM, BEFORE RETURNING TO . SKP * #RSAX CALLING SEQUENCE: * * JSB #RSAX * DEF RTN * DEF MODE MODE OF OPERATION (0 THRU 7) * DEF PRAM1 REQUIRED PARAMETER (SEE TABLE, BELOW) * DEF PRAM2 REQUIRED FOR MODES: 2,3,5,7 [OPTIONAL MODES: 0,1,4,6] * DEF PRAM3 REQUIRED FOR MODES 2 & 3 ONLY (NODAL ADDRESS) * DEF PRAM4 OPTIONAL FOR MODES 2,8 & 12 ONLY (MASTER TIME-OUT) *RTN : NORMAL-(SEE TABLE); ERROR-(SEE LATER DESCRIPTION) * * WHERE: * * +----+------------+--------------+------------+---------+-------+-------+ * !MODE! ACTION ! PRAM1 ! PRAM2 ! PRAM3 ! RTN! RTN! * !====+============+==============+============+=========+=======+=======+ * ! 0 ! GET MEMORY !#WORDS TO GET ! SECURITY ! NOT USED!FWA SAM! #WORDS! * ! ! ! ! CODE ! ! ! ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 1 ! RTN MEMORY !FWA SAM BLOCK ! SECURITY ! NOT USED! 0 ! 0 ! * ! ! ! ! CODE ! ! ! ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 2 ! ADD MASTER !MASTER CLASS# !MA 'SEND'CNT! NOT USED!LOC SEQ!TCB ADR! * ! ! ! NOTE: PRAM4 = MASTER TIME-OUT VALUE ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 3 ! ADD SLAVE !ORIG. SEQ. NO.!SLAVE STREAM!ORIG.NODE!LOC SEQ!TCB ADR! * +----+------------+--------------+------------+---------+-------+-------+ * ! 4 ! FIND MASTER!LOCAL SEQ. NO.! NOT USED ! NOT USED!CLASS# !TCB ADR! * +----+------------+--------------+------------+---------+-------+-------+ * ! 5 ! FIND SLAVE !LOCAL SEQ. NO.!SLAVE STREAM! NOT USED!ORG SEQ!TCB ADR! * +----+------------+--------------+------------+---------+-------+-------+ * ! 6 !CLEAR MASTER!LOCAL SEQ. NO.! NOT USED ! NOT USED!CLASS# ! 0 ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 7 !CLEAR SLAVE !LOCAL SEQ. NO.!SLAVE STREAM! NOT USED!ORG SEQ! 0 ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 8 ! ADD PNL ! LOGGING LU # !REMOTE SES ! REMOTE !LOC.SEQ!TCB ADR! * ! ! ! ! ID/SMP # ! NOTE # ! ! ! * ! ! ! NOTE: PRAM4 = MPE/RTE FLAG WORD ! ! ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 10 ! CLEAR PNL !REMOTE SESSION! REMOTE NODE! NOT USED! LOG LU! 0 ! * ! ! ! ID/SMP # ! NUMBER ! ! ! ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 11 ! FIND MA SEQ! M.A. SEQ. # ! NOT USED ! NOT USED! CLASS#! TCB ! * ! ! NUMBER ! ! ! ! ! ADDR ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 12 !SET REQUEST ! M.A. SEQ. # ! NOT USED ! NOT USED! CLASS#! TCB ! * ! !ACKNOWLEDGED! ! ! ! ! ADDR ! * ! !FLAG, SEE 16! ! ! ! ! ! * +----+------------+--------------+------------+---------+-------+-------+ * ! 14 ! ADD MASTER ! SAME AS # 2, BUT NO SEARCH FOR OBSOLETE ENTRIES ! * +----+------------------------------------------------------------------+ * ! 16 !TEST REQUEST!LOCAL SEQ. NO.! NOT USED ! NOT USED!0 IF ! TCB ! * ! !ACKNOWLEDGED! ! ! !FLAG 0 ! ADDR ! * ! !FLAG, SEE 12! ! ! !ELSE<>0! ! * +----+------------+--------------+------------+---------+-------+-------+ * * IN PNL ENTRIES, CONTAINS -1 FOR MPE SESSIONS. * * #RSAX ERROR INDICATIONS: * * ERROR DETECTION WILL RESULT IN A RETURN TO THE CALLER WITH THE * REQUESTED ACTION NOT PERFORMED. * * = -1: AN INVALID LIST HAS BEEN SPECIFIED; FIRST CALLER * IS NOT ; MEMORY ALLOCATION/DE-ALLOCATION IMPROPER. * * = -2: THE SPECIFIED MODE OF OPERATION IS UN-DEFINED. * * = -3: NO SPACE FOR A NEW ENTRY. THE CALLER DID NOT WAIT FOR * THE TABLE-ACCESS RESOURCE NUMBER (#TBRN) TO BE CLEARED, * PRIOR TO CALLING #RSAX. (THIS SHOULD NOT OCCUR IF ALL * CALLERS ADHERE TO THE RN CONVENTION, PRIOR TO CALLING.) * * = -4: ENTRY CANNOT BE LOCATED; ACCESSING AN EMPTY LIST. * * MODE 0 ( ALLOCATION ): < 0 IF BAD SECURITY CODE SPECIFIED, * OR INSUFFICIENT SAM AVAILABLE. * * > : #FWAM & #SAVM CONTAIN ADDRESS & SIZE * OF ALLOCATED AREA * 1 (DE-ALLOCATION): = = -1 IF ADDRESS OF BLOCK BEING * RETURNED IS NOT EQUAL TO #FWAM, OR IF * SECURITY CODE IS INCORRECT. SKP * LIST FORMATS: * * 'RES' SYSTEM AVAILABLE MEMORY * ------------------------------- ------------------------- * * #PNLH < ADDR 1ST PROCESS# LIST ENTRY>... * <0!D! 0 > * < REMOTE NODE NUMBER > * < 0 ! LOCAL TERM- > * INAL LU * * * * BIT 14 OF WORD 3 (D) IS SET FOR MPE SESSIONS, * CLEAR FOR RTE SESSIONS. * * #MRTH < ADDR.=1RST MASTER-LIST ENTRY>... * < UDF-----*TIMEOUT CNTR. > * < LOCAL SEQUENCE NUMBER > * * * * * #ST00 ... * . <- * MONITOR'S CLASS NUMBER > < UD------*TIMEOUT CNTR. > * . < LOCAL SEQUENCE NUMBER > * . < MONITOR NAME (CHARS 3 & 4 > < ORIGIN SEQUENCE NUMBER > * . < MONITOR NAME (CHAR 5) > < ORIGIN NODAL ADDRESS > * . < *** RESERVED ******** > * . * . * #STXX < ******* FORMAT SAME ******* >...< **** FORMAT SAME ***** > * < ********* FOR ALL ********* > < ******** FOR ********* > * < ****** SLAVE STREAMS ****** > < ******** ALL ********* > * < *************************** > < ******* SLAVE ******** > * < *************************** > < ****** STREAMS ******* > * < ********************** > * * WHERE: - = RESERVED FOR FUTURE USE. A(#15) = ABORT OK. * B(#15) = DUPLICATE ENTRY, OR ONE WHICH MAY BE DELETED. * SET TO "FLAG" 'UPLIN' THAT THIS TCB MAY BE RELEASED. * C(#15) = LONG MASTER TIMEOUT (APPROXIMATELY 20 MIN.) * U(#15) = UPLIN TEMPORARY BIT. D(#14) = HP3000 REQUEST. * F(#13) = M.A. "REQUEST ACKNOWLEDGED" FLAG. 1 = SET, 0=CLEAR * * *NOTE: 0 IN LIST HEAD OR FIRST WORD OF ENTRY SIGNALS END OF LIST. * * * NETWORK ROUTE VECTOR TABLE: * * #NCNT < NEGATIVE NUMBER OF NRV PAIRS> * NRV TABLE FORMAT: * * +--------------------------+ * #NRV----> ! CPU NUMBER (16-BITS) ! * +--------------------------+ * ! TIME-OUT ! FORMAT # ! * ! (8 BITS) ! (8 BITS) ! * +----------+---------------+ * !RESERVED!N! COMM-LINK LU ! * !(7 BITS)! ! (8 BITS) ! * +----------+---------------+ * * N = 1 IF CPU IS NEIGHBOR TO LOCAL NODE, ELSE 0 SKP MODE NOP MODE OF OPERATION. PRAM1 NOP USER PRAM2 NOP SPECIFIED PRAM3 NOP PARAMETERS. PRAM4 NOP SUP [SUPPRESS EXTENDED LISTING] #RSAX NOP ENTRY/EXIT: TCB MANAGEMENT. JSB $LIBR DECLARE THIS TO BE NOP A PRIVILEGED ROUTINE. JSB .ENTP OBTAIN DIRECT ADDRESSES DEF MODE FOR PARAMETERS & RETURN POINT. * * CLA [PROTECT AGAINST MISSING PARAMETER] STA GOOD CLEAR SEARCH FLAG LDA PRAM1,I OBTAIN STA PRAM1 PARAMETERS STA KEYWD (ASSUME WE WILL SEARCH ON THIS KEY) CLA FOR LDA PRAM2,I LOCAL USE, STA PRAM2 IN PREPARATION CLA FOR A LDA PRAM3,I POSSIBLE STA PRAM3 DMS MAP-SWITCH. CLA LDA PRAM4,I STA PRAM4 CLA LDB MODE,I GET THE MODE OF OPERATION, SSB NEGATIVE MODE? JMP ERR02 YES, ILLEGAL MODE! STB MODE AND SAVE IT LOCALLY, ALSO. * * RSA GET CURRENT MAP STATUS. RAL,RAL POSITION CURRENT STATUS FOR RESTORATION. STA DMSTS SAVE FOR RESTORATION BEFORE EXIT. SJP MODCK ENABLE SYSTEM MAP AND CONTINUE. * DMSTS NOP DMS MAP-STATUS STORAGE. * MODCK EQU * HERE TO CHECK FOR LEGAL MODE & BRANCH TO PROCESSOR LDA B PICK UP MODE ADA NMODX SUBTRACT MAX. ALLOWABLE 'MODE' CODE SSA,RSS TOO BIG? JMP ERR02 YES, ERROR! LDA B RECOVER MODE AGAIN ADA @JTBL ADD JUMP TABLE ADDRESS JMP A,I & BRANCH TO PROPER PROCESSOR SPC 2 * 'JUMP' TABLE. DO NOT DISTURB ORDER! * @JTBL DEF *+1,I MODE ACTION DEF SAM 0 ALLOCATE MEMORY. DEF SAM 1 RETURN MEMORY TO RTE DEF ADENT 2 CREATE A MASTER TCB ENTRY DEF ADENT 3 CREATE A SLAVE TCB ENTRY DEF FIND 4 SEARCH FOR A MASTER TCB ENTRY DEF FIND 5 SEARCH FOR A SLAVE TCB ENTRY DEF FIND 6 SEARCH FOR/CLEAR A MASTER TCB ENTRY DEF FIND 7 SEARCH FOR/CLEAR A SLAVE TCB ENTRY DEF ADENT 8 CREATE A PROCESS # ENTRY DEF ERR02 9 *** ERROR, ILLEGAL MODE *** DEF FNPNL 10 SEARCH FOR/CLEAR A PROCESS # ENTRY DEF FNDMA 11 FIND MASTER TCB GIVEN M.A. SEQ. NUMBER DEF FNDMA 12 SET REQUEST ACKNOWLEDGEMENT FLAG DEF ERR02 13 *** ERROR, ILLEGAL MODE *** DEF ADENT 14 CREATE A MASTER ENTRY (W/O DUPL. ENTRY SEARCH) DEF ERR02 15 *** ERROR, ILLEGAL MODE *** DEF FIND 16 TEST REQUEST ACKNOWLEDGEMENT FLAG * NMODX ABS @JTBL-* NEG. SIZE OF TABLE SPC 10 * ADD A NEW ENTRY TO THE MASTER OR SLAVE-STREAM LIST. SPC 1 ADENT LDA #NULL GET THE NULL LIST LINK-WORD. SZA,RSS IS AN ENTRY AVAILABLE FROM THE POOL? JMP ERR03 * NO. ERROR #3: NO ENTRY AVAILABLE! STA ENTAD YES. SAVE ADDRESS OF NEW ENTRY. * INA POINT TO THE SECOND WORD OF THE ENTRY. STA ENPNT SAVE THE POINTER FOR ENTRY BUILDING. CPB P14 BUILT NEW MASTER W/O "OBS.ENTRY" SEARCH? JMP MST0 YES CPB P8 IS THIS A PNL ENTRY? JMP MSTAD . YES, SKP "OBS ENTRY" SEARCH CLE,SLB IF THIS IS TO BE A SLAVE ENTRY, JMP SLVAD THEN SKIP THE SEARCH FOR MASTER ENTRIES. * LDA MDEF INITIALIZE THE LIST PTR TO REF THE STA LSTAD MASTER LIST. * LDA XEQT SEARCH KEYWORD IS: ID SEG ADDR. STA KEYWD LDA P4 EXAMINE FIFTH WORD OF EACH MASTER TCB. JSB SERCH FIND ENTRIES WITH SAME CLASS OR PROCESS #. JMP MSTAD END-OF-LIST: GO TO ADD NEW ENTRY. ADB P4 GET THE 5TH WORD (ID SEGMENT ADDRESS) LDA B,I FROM ENTRY WITH SAME NUMBER. IOR SIGN ADD BAD-ENTRY FLAG (BIT#15). STA B,I RETURN MODIFIED WORD.(UPLIN CLEARS TCB). * MSTAD CCB CHECK FOR LDA MODE NEW PROCESS CPA P8 NUMBER MODE. RSS YES, STAY IN-LINE JMP MST0 LDA PRAM4 PICK UP TIME-OUT WORD JMP SETIM GO SET TIMEOUT * MST0 EQU * CLB,INB SET MASTER TCB LIST CODE LDA PRAM4 LOAD MASTER TIME-OUT JMP SETIM * SLVAD JSB LSTCK PREPARE REFERENCES FOR THE SLAVE LIST. ADA P2 POINT TO WORD #3 OF SLAVE-STREAM HEAD. LDA A,I GET THE MONITOR I.D. SEGMENT ADDRESS. SZA,RSS IF THE MONITOR HAS NOT BEEN INITIALIZED, JMP ERR01 THEN NOTHING MAY BE ADDED TO THIS LIST! LDA #SVTO VALID LIST: GET SLAVE TIMEOUT VALUE. * SETIM STA ENPNT,I SET TIMEOUT INTO ENTRY WORD #2 ISZ ENPNT POINT TO NEXT WORD OF ENTRY CLA OBTAIN AN ENTRY FROM THE NULL LIST. JSB LNK GO PROCESS LIST CHANGES.[B=LIST CODE] SZA LIST-PROCESSING ERROR? JMP ERR04 YES--INFORM THE CALLER! * LDA PRAM3 USE THIRD PARAMETER LDB MODE INSTEAD OF SEQUENCE CPB P8 NUMBER FOR MODE 8. JMP STOR3 STORE IN THIRD TCB WORD. * SKP SPC 3 LDA SEQN GET THE LAST SEQUENCE NUMBER. INA,SZA,RSS ADVANCE THE COUNT & TEST FOR ZERO. CLE,INA ROLL-OVER: RESET TO ONE. STA SEQN SAVE THE CURRENT SEQUENCE NUMBER. STOR3 STA ENPNT,I INSERT IT INTO THE THIRD ENTRY WORD. ISZ ENPNT ADVANCE THE ENTRY POINTER. LDA MODE IF A SLAVE-ENTRY IS TO BE CLE,ERA ADDED, SET =1. LDA PRAM1 GET THE CALLER'S PARAMETERS LDB XEQT GET CALLER'S ID SEGMENT ADDRESS SEZ SLAVE-LIST ADDITION? LDB PRAM3 YES, GET THE ORIGIN NODAL ADDRESS. DST ENPNT,I ADD PARAMETERS TO ENTRY WORDS #4,#5. ISZ ENPNT BUMP POINTER TO ISZ ENPNT WORD 6 LDA PRAM2 LOAD 'M.A.' SEQUENCE NUMBER STA ENPNT,I STORE IN 6TH T.C.B. WORD * LDA SEQN RETURN WITH: =CURRENT SEQUENCE NO. LDB ENTAD =ENTRY ADDRESS. JMP EXIT GO TO PREPARE FOR RETURN TO CALLER. * SEQN NOP TRANSACTION SEQUENCE NUMBER. * SPC 3 * ERROR PROCESSING AND EXIT SECTION. SPC 1 ERR04 LDA P4 =4: ENTRY CANNOT BE LOCATED. JMP ERR00 ERR03 LDA P3 =3: NEW ENTRY NOT AVAILABLE. JMP ERR00 ERR02 LDA P2 =2: INVALID MODE PARAMETER. RSS ERR01 CLA,INA =1: INVALID LIST PARAMETER. * ERR00 CMA,INA NEGATE THE ERROR CODE. STA B ARE THE SAME FOR ERROR RETURN. * EXIT DST TEMP SAVE TEMPORARILY. CLA CLEAR PARAMETER ADDRESSES STA MODE TO FACILITATE CHECKING STA PRAM1 FOR MISSING PARAMETERS STA PRAM2 UPON NEXT ENTRY OF <#RSAX>. STA PRAM3 STA PRAM4 LDA #NULL IF NO TCB ENTRIES REMAIN AVAILABLE SZA,RSS IN THE ENTRY POOL, THEN DO NOT JMP RETRN CLEAR THE TABLE-ACCESS RN; ELSE, LDA #TBRN GET THE TABLE-ACCESS RN AND GO TO RTE JSB $CGRN TO MAKE IT AVAILABLE FOR NEXT ACCESS. RETRN DLD TEMP RESTORE THE RETURN-DATA TO & . * JRS DMSTS LBEX *** RESTORE THE APPROPRIATE MAPS *** * LBEX JSB $LIBX RETURN TO THE CALLER, VIA THE RTE DEF #RSAX PRIVILEGED ROUTINE PROCESSOR. * SKP * SEARCH FOR & CLEAR PROCESS NUMBER LIST ENTRY * FNPNL EQU * LDA PDEF INITIALIZE SEARCH LIST HEAD TO STA LSTAD PROCESS NUMBER LIST CCA,CLE INITIALIZE LIST CODE FOR PNL STA LSTCD LDA P5 SET OFFSET TO SESSION ID WORD STA OFSET JMP FINDX AND SEARCH FOR ENTRY SPC 2 * SEARCH FOR MASTER & SLAVE TCB ENTRIES. CLEAR AND RETURN TO POOL, * IF REQUESTED. SPC 1 FIND EQU * LDA P2 SEARCH KEY WILL BE THIRD WORD IN TCB * FIND. EQU * HERE WITH OFFSET FOR SEARCH IN STA OFSET SAVE OFFSET LDA MDEF INITIALIZE POINTERS STA LSTAD TO THE CLA,INA MASTER STA LSTCD LIST. * CLE,SLB IF THIS IS A SLAVE REQUEST, THEN JSB LSTCK ESTABLISH REFERENCES TO THE SLAVE LIST. * FINDX EQU * HERE TO START/RESUME SEARCH LDA OFSET LOAD OFFSET IN TCB TO SEARCH KEY. JSB SERCH GO TO LOCATE THE TCB ENTRY [E=0]. JMP ERR04 * ERROR #4: ENTRY CANNOT BE LOCATED! * * STB ENTAD SAVE THE ENTRY ADDRESS FOR LATER USE. LDA MODE GET THE MODE OF OPERATION CPA P10 CLEAR PNL? JSB FPNLX YES, CHECK FURTHER, RETURN IF TRUE MATCH ADB P3 POINT TO THIRD WORD, FOR LATER USE, STB ENPNT IN RETURNING THE CONTENTS TO CALLER. * CPA P6 ARE WE SUPPOSED TO RELEASE THE TCB? JMP RELS YES,... CPA P7 (OTHER CASE FOR RELEASE) ? JMP RELS YES,... CPA P10 (RELEASE PNL) ? JMP RELS YES,... * JMP FOUND NONE OF THE ABOVE, DON'T RELEASE TCB * RELS LDA LSTCD REMOVE ENTRY FROM THE SPECIFIED LIST. CLB,CLE RETURN IT TO THE NULL LIST. JSB LNK GO TO PROCESS THE LIST CHANGES. CCE,SZA LIST PROCESSING ERROR? JMP ERR04 YES! GO TO INFORM THE CALLER. STA ENTAD ASSURE RETURNS W/ ZERO. * FOUND EQU * LDA MODE IS THIS REQUEST TO: CPA P12 SET REQUEST ACKNOWLEDGEMENT FLAG? JMP SETRA .. YES, GO SET IT CPA P16 TEST R.A. FLAG? JMP TSTRA .. YES, GO TEST IT * FOND1 EQU * RETURN POINT FOR ALL "FIND TCB" PROCESSORS LDA ENPNT,I GET WORD #4 FOR RETURN TO CALLER. FOND2 LDB ENTAD GET THE TCB ADDRESS; JMP EXIT ELSE, RETURN WITH =0. SPC 2 * HERE WHEN A PNL ENTRY HAS BEEN FOUND WHICH MATCHES * THE REMOTE SESSION ID NUMBER. IF REMOTE NODE NUMBER ALSO MATCHES, * THEN A GOOD MATCH HAS BEEN FOUND. OTHERWISE, CONTINUE SEARCH. * FPNLX NOP ADB P2 POINT TO REMOTE NODE NUMBER LDB B,I LOAD REMOTE NODE NUMBER CPB PRAM2 MATCH? RSS YES JMP FINDX NO MATCH, RESUME SEARCH AT NEXT ENTRY. LDB ENTAD RECOVER REGISTER & RETURN JMP FPNLX,I * * HERE TO FIND MASTER TCB, GIVEN M.A. SEQUENCE NUMBER * OPERATION IS THE SAME AS "FIND MASTER TCB" (MODE 4), EXCEPT * THAT THE SEARCH KEY IS THE 6TH WORD IN THE TCB, INSTEAD * OF THE THIRD. FNDMA EQU * LDA P5 6TH WORD IS SEARCH KEY LDB P4 (ESTABLISH MASTER LIST PNTRS) STA GOOD SET FLAG THAT ONLY "GOOD" TCBS WANTED JMP FIND. * SETRA EQU * HERE TO SET REQUEST ACKNOWLEDGEMENT FLAG LDB ENTAD GET ADDRESS INB OF THE FLAG ( --> TCB+1) LDA B,I GET THE FLAG, IOR RAFLG SET IT, STA B,I AND PUT IT BACK. ADB P4 --> TCB+5 CLA CLEAR THE MA IDENTIFIER STA B,I JMP FOND1 * RAFLG OCT 20000 BIT # 13 * TSTRA LDB ENTAD GET THE ADDRESS INB OF THE FLAG LDA B,I GET THE FLAG ITSELF AND RAFLG AND RETURN TO CALLER WITH ONLY THAT BIT SET JMP FOND2 * ENPNT NOP POINTER INTO TCB ENTRY. ENTAD NOP TCB ADDRESS STORAGE. * SKP * SYSTEM AVAILABLE MEMORY ALLOCATION/DE-ALLOCATION PROCESSOR. SPC 1 SAM EQU * LDA PRAM2 GET CALLER'S SECURITY CODE UNL CPA SECOD CODES MATCH? LST RSS CODES MATCH: ALLOW ACCESS, ELSE JMP ERR01 REPORT IMPROPER ACCESS! * SLB IF THE REQUEST IS FOR DE-ALLOCATION, JMP RTSAM GO TO RETURN THE MEMORY TO THE SYSTEM. * LDA #FWAM IF SYSTEM-AVAILABLE-MEMORY SZA HAS ALREADY BEEN ALLOCATED, JMP ERR01 THEN REJECT THE REQUEST! * JRS DMSTS SAM1 RETURN TO USER MAP SAM1 EQU * JSB $BALC REQUEST SYSTEM AVAILABLE MEMORY (S.A.M.) DEF *+4 DEF PRAM1 # WDS REQUESTED (RETURNED # WORDS ALLOCATED OR <0 IF ERR) DEF PRAM3 ADDRESS OF BLOCK (RETURNED) DEF LSTCK (RETURN) MAX. CONTIG. BLOCK SIZE AVAIL. LDA PRAM1 WAS REQUEST GRANTED? SSA JMP SAMEX ** NO, RETURN W/ < 0 STA #SAVM O.K. SAVE THE SIZE OF THE MEMORY BLOCK. LDB PRAM3 SET ADDRESS OF STB #FWAM ALLOCATED BLOCK JMP SAMEX RETURN TO CALLER * RTSAM EQU * LDA PRAM1 GET ADDRESS OF BLOCK BEING RETURNED CPA #FWAM IS CALLER SPECIFYING CORRECT BLOCK? RSS YES. PROCESS THE DE-ALLOCATION. JMP ERR01 NO. ** IGNORE THE REQUEST! ** * * JRS DMSTS SAM2 RETURN TO USER MAP SAM2 EQU * LDA #FWAM LDB #SAVM DST SAMA SETUP FOR $BRTN CALL JSB $BRTN RETURN A SYSTEM-AVAILABLE-MEMORY BLOCK; SAMA DEF *-* (ADDRESS OF BLOCK TO BE RETURNED TO SAM) DEF *-* (SIZE OF BLOCK TO BE RETURNED TO SAM) CLA CLEAR THE STORAGE LOCATIONS FOR: STA #FWAM MEMORY BLOCK ADDRESS. STA #SAVM MEMORY BLOCK SIZE. SAMEX EQU * RETURN TO CALLER JSB $LIBX DEF #RSAX UNL SECOD DEC 3360 LST SKP * SUBROUTINE TO CHECK LIST PARAMETER & SET LIST CODE & LIST ADDRESS. SPC 1 * ENTER: = DON'T CARE. * RETURN: =LIST ADDRESS; =LIST CODE. * ERROR - RETURN VIA ERROR EXIT WITH ERROR #1. * LSTCK NOP ENTRY/EXIT: LIST ID ROUTINE. LDA PRAM2 GET THE STREAM PARAMETER. AND B77 ISOLATE THE STREAM NUMBER. ADA P2 ADD OFFSET FOR NULL & MASTER LISTS. STA LSTCD SAVE FOR USE ELSEWHERE. STA B SAVE FOR RETURN TO CALLER. ADA NMAX CHECK FOR SPECIFICATION CLE,SSA,RSS OF AN UN-DEFINED LIST. JMP ERR01 * ERROR #1: INVALID LIST! LDA #LDEF GET THE LIST-TABLE ADDRESS. ADA B INDEX TO THE PROPER ENTRY. LDA A,I GET THE LIST ADDRESS. STA LSTAD SAVE THE ADDRESS FOR LATER USE. JMP LSTCK,I RETURN TO THE CALLER. * B77 OCT 77 LSTAD NOP ADDRESS OF LIST HEADER. LSTCD NOP LIST IDENTIFICATION CODE. * SKP * SUBROUTINE TO SEARCH FOR A SPECIFIC LIST ENTRY. SPC 1 * ENTER: = OFFSET INTO TCB ENTRY; = DON'T CARE. * =0: SEARCH FROM TOP; =1: CONTINUE SEARCH. * 'LSTAD' SET TO ADDRESS OF LIST TO BE SEARCHED. * 'KEYWD' CONTAINS SEARCH KEY * * RETURN: P+1 -- ENTRY NOT LOCATED; MEANINGLESS, =0. * P+2 -- ENTRY WAS LOCATED; MEANINGLESS, = ENTRY ADDRESS. * SERCH NOP ENTRY/EXIT:LIST SEARCH ROUTINE. LDB TEMP+1 GET NEXT-ENTRY ADDRESS TO CONTINUE. SEZ IS THIS A REQUEST TO CONTINUE? JMP SLOOP YES. GO TO CONTINUE THE SEARCH. STA OFSET SAVE OFFSET INTO TCB ENTRY. LDB LSTAD GET TOP-OF-LIST ADDRESS. * SLOOP LDB B,I GET THE LINK TO THE NEXT ENTRY. SZB,RSS IS THIS THE END OF THE LIST? JMP SERCH,I YES. TAKE "NOT FOUND" EXIT (P+1). * STB TEMP+1 SAVE POINTER TO NEXT ENTRY. LDA GOOD ONLY GOOD TCBS WANTED? SZA,RSS JMP SER1 . NO BAD ONES OK LDA P4 ADA B --> ID SEGMENT ADDRESS TCB+4 LDA A,I CHECK FOR BAD BIT SET CCE,SSA BAD BIT SET? JMP SLOOP . YES IGNORE THIS TCB SER1 ADB OFSET POINT TO KEYWORD LOCATION. LDA B,I GET THE KEYWORD. LDB TEMP+1 PREPARE TO RETURN WITH ENTRY ADDRESS. CPA KEYWD DOES IT MATCH THE CALLER'S KEYWORD? CCE,RSS YES. SET FOR CONTINUATION--SKIP. JMP SLOOP NO. CONTINUE SEARCHING. * ISZ SERCH ENTRY FOUND: SET RETURN TO P+2. JMP SERCH,I RETURN TO THE CALLER. * OFSET NOP KEYWORD OFFSET INTO TCB ENTRY. KEYWD NOP SEARCH KEY GOOD NOP IF SET, ONLY "GOOD" TCBS WANTED * SKP * SUBROUTINE TO PROCESS LIST LINKAGE. SPC 1 * ENTER: = CODE OF REMOVAL LIST; = CODE OF ADDITION LIST. * 'ENTAD' SET TO ADDRESS OF ENTRY TO BE REMOVED. * * RETURN: & =0: NORMAL; =-1, =UNCHANGED: ERROR. * LNK NOP ENTRY/EXIT: LIST LINK ROUTINE. STA TEMP SAVE REMOVAL-LIST CODE, TEMPORARILY. ADA #LDEF FIND THE TABLE ADDRESS. LDA A,I GET ADDRESS: TOP-OF-REMOVAL-LIST. LNK1 STA PNTR SAVE LIST POINTER. LDA A,I GET THE LINK TO THE NEXT ENTRY. SZA,RSS IF THIS IS THE END OF THE LIST, JMP LNKER THEN INFORM THE CALLER OF THE ERROR. CPA ENTAD IS THIS THE ENTRY TO BE REMOVED? RSS YES. SKIP TO REMOVE IT. JMP LNK1 NO. TRY THE NEXT ONE. LDA ENTAD,I GET THE LINK TO THE FOLLOWING ENTRY, STA PNTR,I AND MOVE IT TO THE PREVIOUS ENTRY. * ADB #LDEF FIND THE TABLE ADDRESS. LDB B,I GET ADDRESS: TOP-OF-ADDITION-LIST. LNK2 STB PNTR SAVE LIST POINTER. LDB B,I GET THE LINK TO THE NEXT ENTRY. SZB IS THIS THE END OF THE LIST? JMP LNK2 NO. CONTINUE SEARCHING FOR THE END. STB ENTAD,I YES. MAKE NEW ENTRY = END-OF-LIST. LDA ENTAD GET THE ADDRESS OF THE NEW ENTRY. STA PNTR,I SAVE IN LINK-WORD OF PREVIOUS ENTRY. * LDA MODE IF MODE IS CPA P14 NOT = 14 CLA AND ADA M8 >= 8 THEN SSA,RSS PROCESSING JMP LNKER-1 IS ALL DONE. * CPB TEMP REMOVING ENTRY FROM NULL LIST? [=0] CLA,INA,RSS YES. PREPARE TO ADD TO ACTIVE COUNT. CCA NO. PREPARE TO DECREMENT ACTIVE COUNT. ADA #BUSY COMPUTE THE NEW 'ACTIVE-ENTRY' COUNT, STA #BUSY AND UPDATE THE INDICATOR. CLA,RSS INDICATE NORMAL RETURN, AND SKIP. LNKER CCA =-1: NO ENTRIES IN REMOVAL LIST. JMP LNK,I RETURN IS MADE TO THE CALLER. * PNTR NOP LIST POINTER STORAGE. * SKP * TABLE OF LIST-HEADER ADDRESSES. LIST CODES: SPC 1 #LDEF DEF SOT START-OF-TABLE DEFINITION. PDEF DEF #PNLH HP3000 PROCESS NUMBER HEADER -01 SOT DEF #NULL ENTRY-POOL HEADER 00 MDEF DEF #MRTH MASTER-REQUEST HEADER 01 SDEF DEF #ST00 SLAVE-STREAM 00 HEADER 02 DEF #ST01 SLAVE-STREAM 01 HEADER 03 DEF #ST02 SLAVE-STREAM 02 HEADER 04 DEF #ST03 SLAVE-STREAM 03 HEADER 05 DEF #ST04 SLAVE-STREAM 04 HEADER 06 DEF #ST05 SLAVE-STREAM 05 HEADER 07 DEF #ST06 SLAVE-STREAM 06 HEADER 10 DEF #ST07 SLAVE-STREAM 07 HEADER 11 DEF #ST08 SLAVE-STREAM 08 HEADER 12 DEF #ST09 SLAVE-STREAM 09 HEADER 13 DEF #ST10 SLAVE-STREAM 10 HEADER 14 DEF #ST11 SLAVE-STREAM 11 HEADER 15 * NEW ENTRY: .........DEF #STXX.....SLAVE-STREAM XX HEADER........15 * NMAX ABS SDEF-*-2 LIST CODE VALIDITY-CHECKING CONSTANT. * #MNUM ABS NMAX-SDEF NUMBER OF SLAVE-STREAM TYPES. SPC 1 * CONSTANTS AND STORAGE. SPC 1 M8 DEC -8 P2 DEC 2 P3 DEC 3 P4 DEC 4 P5 DEC 5 P6 DEC 6 P7 DEC 7 P8 DEC 8 P10 DEC 10 P12 DEC 12 P16 DEC 16 P14 DEC 14 SIGN OCT 100000 TEMP OCT 0,0 TEMPORARY STORAGE LOCATIONS. SPC 1 D$BSZ NOP MSG SIZE MAX FOR MPE LINK * HP3000 ID SEQUENCE SPECIFICATIONS * D$LID DEF LOC LOCAL ID SEQUENCE ADDRESS D$RID DEF REM REMOTE ID SEQUENCE ADDRESS SPC 1 #RDLY DEC -200 MAXIMUM RTRY DELAY: 200 CENTOSECONDS (2 SEC.) #PRLU DEF #PRGL DEFAULT LU FOR PROGL MESSAGES: NO MESSAGES * (NOTE: #PRGL IS IN #REQU. IT MUST BE SEPARATED * IN ORDER TO ALLOW 'ABS' AT GEN-TIME TO WORK, AS WELL * AS ON-LINE PATCHES TO #PRLU) * * GENERAL SYSTEM DATA [ INITIALIZED BY 'DINIT' ]. * * NOTE: ANY CHANGE IN THE ORDERING OF THIS AREA MUST BE ACCOMPANIED * BY A CHANGE TO THE CORRESPONDING AREA OF 'DINIT' * SPC 1 #SCLR DEF #TBRN START OF AREA CLEARED BY 'DINIT'. #FWAM NOP ADDRESS OF SYSTEM AVAIL. MEMORY BLOCK. #SAVM NOP SIZE OF SYSTEM AVAIL. MEMORY BLOCK. #TBRN NOP TABLE-ACCESS RESOURCE NUMBER. #QRN NOP QUIESCENT(RN) OR SHUT-DOWN(0). #GRPM NOP GENERAL PRE-PROCESS MODULE CLASS NO. #QCLM NOP QUEUE CLEAN-UP MONITOR CLASS NUMBER. #BUSY NOP NUMBER OF ACTIVE TCB ENTRIES. #MSTO NOP MASTER REQUEST TIMEOUT VALUE. #SVTO NOP SLAVE REQUEST TIMEOUT VALUE. #RTRY NOP RETRY-PROCESSOR'S CLASS NUMBER. #WAIT NOP D65MS QUIESCENT WAIT INTERVAL. #SWRD NOP NETWORK-NODE SECURITY CODE. #BREJ NOP D65MS RETRY COUNT FOR BUSY REJECT. #INCV NOP INCOMING MSG CNVTR CLASS NUMBER #OTCV NOP OUTGOING MSG CNVTR CLASS NUMBER #MHCT NOP MAXIMUM HOP COUNT #MDCT NOP MAX. TIMES A LINK CAN GO DOWN IN 5 MIN #RPCV NOP HP3000 REPLY CONVERTER CLASS NO. #RQCV NOP HP3000 REQUEST CONVERTER CLASS NO. #LU3K NOP LU NUMBER OF HP3000 #QZRN NOP QUEZ RN FOR "LISTEN MODE" #CLRN NOP QUEX RESOURCE NUMBER FOR CLEANUP #QXCL NOP QUEX CLASS NO. #TST NOP HP3000 TRANS. STATUS TABLE ADDRESS NOP HP3000 TRANS. STATUS TABLE SIZE,IN ENTRIES * SKP * LIST HEADERS (REMAINDER OF LISTS LOCATED IN SYSTEM AVAILABLE MEMORY). SPC 3 #PNLH NOP HP3000 PROCESS # LIST SPC 1 #NULL NOP LIST HEADER: ENTRY POOL. SPC 1 #MRTH NOP MASTER REQUEST LIST. SPC 1 #ST00 OCT 0,0,0,0,0 SLAVE-STREAM 00 LIST. SPC 1 #ST01 OCT 0,0,0,0,0 SLAVE-STREAM 01 LIST. SPC 1 #ST02 OCT 0,0,0,0,0 SLAVE-STREAM 02 LIST. SPC 1 #ST03 OCT 0,0,0,0,0 SLAVE-STREAM 03 LIST. SPC 1 #ST04 OCT 0,0,0,0,0 SLAVE-STREAM 04 LIST. SPC 1 #ST05 OCT 0,0,0,0,0 SLAVE-STREAM 05 LIST. SPC 1 #ST06 OCT 0,0,0,0,0 SLAVE-STREAM 06 LIST. SPC 1 #ST07 OCT 0,0,0,0,0 SLAVE-STREAM 07 LIST. SPC 1 #ST08 OCT 0,0,0,0,0 SLAVE-STREAM 08 LIST. SPC 1 #ST09 OCT 0,0,0,0,0 SLAVE-STREAM 09 LIST. SPC 1 #ST10 OCT 0,0,0,0,0 SLAVE-STREAM 10 LIST. SPC 1 #ST11 OCT 0,0,0,0,0 SLAVE-STREAM 11 LIST. SPC 1 * NEW ENTRY: ...#STXX OCT 0,0,0,0,0 .............SLAVE-STREAM XX LIST. SKP #RFSZ NOP MAXIMUM NUMBER OF 'OPEN' RFA FILES. * * REMOTE SESSION MONITOR ITEMS * #RSM NOP REMOTE SESSION MONITOR CLASS NUMBER #POOL NOP POINTER TO REMOTE SESSION ID POOL #DFUN BSS 11 DEFAULT ACCOUNT FOR REMOTE SESSION #PASS BSS 5 PASSWOD FOR NON-SESSION ACCESS * * PLOG/TLOG ITEMS * #PLOG BSS 7 1000 LOGGING PROGRAM'S CLASS NO. #CL3K BSS 7 3000 LOGGING PROGRAM'S CLASS NO. * * EXECM ITEMS * #EXHC BSS 1 EXECM HOLDING CLASS #EXTC BSS 1 EXECM TEMPORARY CLASS * * RE-ROUTING ITEMS * #LV NOP LINK VECTOR PNTR (OR 0 IF NO RE-ROUTING) #LCNT NOP NUMBER OF "LINK VECTOR" ENTRIES #CM NOP "COST MATRIX" PNTR, OR 0 IF NO RE-ROUTING #CMCT NOP NUMBER OF "COST MATRIX" ENTRIES * * "MESSAGE ACCOUNTING" STORAGE AREA * #MCTR NOP NEGATIVE # OF M.A. TABLE ENTRIES #MTBL NOP PNTR TO M.A. TABLE (IN SAM) #MARN NOP M.A. TABLE ACCESS RESOURCE NUMBER #MAHC NOP M.A. 'HOLDING' CLASS (SLAVE REPLY QUEUE FOR RE-XMISN) #MARL NOP MAX. MSG RETRY LIMIT #MAZE NOP MA DEBUG TRACE FLAG * *-- MAX NUMBER OF TCBS IN THE SYSTEM (INCLUDES PNL ENTRYS) #TCB NOP * * END OF AREA CLEARED BY "DINIT" * #NCLR ABS #TBRN-* NEGATIVE # LOCNS 'DINIT' CLEARS SPC 2 * NODAL ADDRESSING SPECIFICATIONS. * #CNOD NOP CURRENT-USER-NODE; -1: INACTIVE. #LNOD NOP DOWN-LOAD NODE * * * * #NODE NOP LOCAL NODE NUMBER. #ACRN NOP DOWN-LOAD FILE CRN * * * NOTE: #NCNT & #NRV MUST BE CONSECUTIVE! * #NCNT NOP NEG. NUMBER OF NRV TABLE ENTRIES (PAIRS) #NRV NOP S.A.M. ADDRESS OF NRV TABLE. #TRCL NOP 'TRACE' CLASS NUMBER #TRCN NOP 'TRACE' RESOURCE NUMBER SPC 2 #LEVL DEC 1 LOCAL NODE UPGRADE LEVEL #NMSC NOP NETWORK MANAGEMENT SECURITY CODE #LUMP NOP STORAGE FOR 'LUMAP' CLASS NUMBER #LMPE NOP STORAGE FOR ERRORS NOP (DOUBLE-WORD) NOP REPORTING NODE NUMBER SPC 2 * HP3000 ID SEQUENCE SPECIFICATIONS * LOC NOP LOCAL ID SEQUENCE: BYTE COUNT BSS 8 CHARACTERS * REM NOP REMOTE ID SEQUENCE: RESERVED WORD NOP BYTE COUNT BSS 8 CHARACTERS SPC 2 A EQU 0 B EQU 1 * XEQT EQU 1717B SPC 1 SIZE EQU * [ INDICATES SIZE OF ] SPC 1 END