ASMB,R,L,C,N HED DS/1000 INITIALIZATION * (C) HEWLETT-PACKARD CO. 1979 * IFZ NAM LSTEN,19,26 91740-16072 REV 1913 790126 XIF IFN NAM LSTEN,19,26 91740-16001 REV 1913 790126 XIF SPC 1 ENT LSTEN SPC 1 EXT READF,CLOSE,OPEN,RNRQ,PRTN,REIO,PGMAD,CNUMD EXT EXEC,MESSS,$LIBR,$LIBX,$OPSY,RMPAR,PARSE,#RSAX EXT #ST04,#MRTH,$BMON,#ST10 EXT #FWAM,#TBRN,#MSTO,#NULL,#QRN,#LDEF EXT #BREJ,#SVTO,#WAIT,#SWRD,#NODE,#NRV,#NCNT EXT #GRPM,#QCLM,#NCLR,#SCLR,#RFSZ,#RTRY EXT #CNOD,#LNOD EXT #LU3K,#QZRN,#RQCV,#RPCV,#QXCL EXT D$EQT,D$XS5,D$LID,D$RID,#SAVM EXT DRTEQ IFZ EXT D65MS,#BUSY,#PNLH XIF SUP * * NAME: LSTEN * SOURCE: 91740-18001 * RELOC.: 91740-16001 * PGMR: C. HAMILTON [ 02/12/77 ] * D. TRIBBY [ 03/17/77 ] DS/3000 CHANGES * ** MODIFIED TO HANDLE DVR07 [11/18/77] DMT ** MODIFIED TO PROVIDE SHUTDOWN [6-15-78] LAW ** ** MODIFIED TO PROVIDE COMMENTS [6-23-78] LAW ** ** MODIFIED FOR REMOTE DATA BASE ACCESS [10-27-78] CEJ * * * USE "Z" OPTION TO INCLUDE SHUTDOWN CAPABILITY * USE "N" OPTION TO EXCLUDE SHUTDOWN CAPABILITY * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. 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 5 * LSTEN SERVES A DUAL PURPOSE. IT IS USED, PRIMARILY, TO INITIALIZE * THE DISTRIBUTED SYSTEMS NETWORK THROUGH ESTABLISHMENT OF THE * REQUIRED RESOURCES (CLASS NUMBERS, RESOURCE NUMBERS, TRANSACTION * LISTS, POINTERS, TIMERS, AND CONSTANTS), THROUGH THE ACTIVATION * OF 'LISTEN' MODE FOR EACH SPECIFIED COMMUNICATION LINE INTERFACE, * AND BY SCHEDULING THOSE MONITOR-PROGRAMS WHICH SERVICE INCOMING * REQUESTS FROM REMOTE NETWORK NODES. SPC 3 * LSTEN'S SECONDARY PURPOSE IS TO ALLOW THE USER TO RE-ENABLE A * COMMUNICATION LINE INTERFACE, WHICH HAS BEEN INACTIVATED BY * UNFORESEEN MALFUNCTIONS. IT MAY ALSO BE USED TO BRING THE * NETWORK TO A QUIESCENT STATE, IN ORDER TO ADJUST SYSTEM TIMING, * OR FOR ANY OTHER PURPOSE WHICH REQUIRES SUSPENSION OF NETWORK * OPERATIONS, AT THIS PARTICULAR NODE. * SKP * +----------------------------------------------------------------+ * !SCHEDULING FOR INITIALIZATION: ! * +----------------------------------------------------------------+ * * *ON,LSTEN,(INPUT LU),(ERROR LU) * * SCHEDULE TO ACCEPT RESPONSES FROM A PERIPHERAL DEVICE. * * NOTE: IF SCHEDULING PARAMETERS ARE NOT SUPPLIED, LU #1 IS THE DEFAULT. * IF THE (INPUT LU) IS LINKED TO AN INTERACTIVE DEVICE, * INTERROGATORY REMARKS WILL BE DISPLAYED ON THE DEVICE. * THE (ERROR LU), IF SPECIFIED, MUST BE LINKED TO AN * INTERACTIVE DEVICE. * * *ON,LSTEN,FI,LE,NM [,SECURITY CODE [,CARTRIDGE NUMBER] ] * * SCHEDULE TO ACCEPT RESPONSES FROM A FILE . * * NOTE: ANY ERRORS WILL BE REPORTED ON LU #1; WILL THEN ABORT. * * CALL EXEC(10,NAME,-1,ICLAS,IRELN) * * USE A START-UP PROGRAM TO SCHEDULE WITH RESPONSES PASSED * IN I/O CLASS AND LENGTH . (THIS MODE IS INDICATED * BY A NEGATIVE FIRST PARAMETER.) * * +--------------------------------------------------------------+ * !INITIALIZATION QUERIES AND VALID RESPONSES (IN NORMAL ORDER): ! * +--------------------------------------------------------------+ * * NOTE: CONTROL FILE RESPONSES CONSIST OF ONE RECORD PER RESPONSE. * /A : ABORT IS A VALID RESPONSE TO ALL QUERIES. * * /LSTEN: SYSTEMS CONNECTED TO THIS NODE * /LSTEN: HP 1000? * /LSTEN: HP 3000? * * /LSTEN: NO OF ACTIVE TRANSACTIONS? <1-100 (/D =DEFAULT OF 20)> * NOTE: EACH TRANSACTION USES 5 WORDS OF SYSTEM-AVAILABLE-MEMORY. * * NOTE: FOLLOWING QUESTIONS ARE ASKED ONLY WHEN HP3000 IS CONNECTED * /LSTEN: MAX NO. OF CONCURRENT HP3000 USERS? <1-10 (/D=DEFAULT OF 4)> * NOTE: EACH CONCURRENT USER REQUIRES 14 WORDS OF SAM * * /LSTEN: LU OF HP3000? * * /LSTEN: ENTER 0 FOR HALF, 1 FOR FULL DUPLEX: * NOTE: ASKED ONLY FOR MODEM LINK. * * /LSTEN: LOCAL ID SEQUENCE? <15 CHAR MAX: /E IF NONE> * NOTE: ASKED ONLY FOR MODEM LINK. * * /LSTEN: REMOTE ID SEQUENCE? <15 CHAR MAX: /E IF NONE> * NOTE: ASKED ONLY FOR MODEM LINK. * * END HP3000 OPTION. * * NOTE: FOLLOWING QUESTIONS ASKED ONLY WHEN HP1000'S ARE CONNECTED: * /LSTEN: ENABLE LU# ? * /LSTEN: ENABLE LU# ? * * /LSTEN: NDT FILE NAME [,SC[,CR]]? AAAAAA,NN,NN (FILE NAME) THIS FILE * DEFINES THE NETWORK DESCRIPTION TABLE & IS CREATED BY PROGRAM "NDTGN" * * /LSTEN: LOCAL CPU #? <1-32767 (DEFINES LOCAL NODE NUMBER) > * * NOTE: NDT TABLE MAY BE INTERACTIVELY CREATED, AS SHOWN BELOW: * * * /LSTEN: NDT FILE NAME [,SC[,CR]]? <0> (SPECIFY INTERACTIVE 'NDTGN') * * /LSTEN: LOCAL CPU #? <1-32767 (DEFINE LOCAL NODE NUMBER) > * * /LSTEN: NUMBER OF NODES? * * /LSTEN: CPU#,LU,TIMEOUT? * * (CPU# = 0 TO 32767 [NODAL ADDRESS]) * * (LU [DV-65]: 0=LOCAL NODE, 0 * /LSTEN: MONITOR NAME? * * /LSTEN: INPUT # OF FILES: <1 TO 255 (TOTAL FILES OPEN TO ALL NODES)> * NOTE: ASKED ONLY FOR /D OPTION, OR WHEN SPECIFIED. * * /LSTEN: SECURITY CODE? * * /LSTEN: OPERATION? < (SEE SECONDARY MODE FOR VALID RESPONSES) > * * ONCE THE SYSTEM HAS BEEEN INITIALIZED, SUBSEQUENT SCHEDULING OF * WILL CAUSE ENTRY INTO THE SECONDARY MODE OF OPERATION. * IN THIS MODE, THE USER MAY RE-ENABLE COMMUNICATION LINE INTERFACES, * SCHEDULE ADDITIONAL MONITORS, DISPLAY THE NODAL ROUTING VECTOR, * OR PLACE THE SYSTEM INTO QUIESCENT MODE. ONCE THE SYSTEM HAS BEEN * MADE QUIESCENT, THE USER MAY, ONLY, RESTART THE QUIESCENT SYSTEM. SKP * +--------------------------------------------------------------+ * !SCHEDULING FOR SECONDARY MODE OF OPERATION: ! * +--------------------------------------------------------------+ * * *ON,LSTEN,(LINE LU#),(ERROR LU#) * * THIS PROCEDURE IS USED TO RE-ENABLE THE LINE INTERFACE FOR A * SINGLE LOGICAL UNIT NUMBER. THERE IS NO INTERACTION WITH THE * USER, UNLESS AN ERROR IS DETECTED. IN THE EVENT OF ERROR * DETECTION, THE USER WILL BE QUERIED ON THE (ERROR LU#) DEVICE. * * (INPUT LU#),(ERROR LU#) < DEFAULT = LU#1 FOR BOTH > * / * *ON,LSTEN, : -1,CLASS #,RECORD LENGTH * FI,LE,NM [,SECURITY CODE [,CARTRIDGE NUMBER] ] * * IN SECONDARY MODE, SCHEDULING WITH AN INTERACTIVE TERMINAL * AS THE (INPUT LU#) DEVICE, OR UNDER THE CONTROL OF A COMMAND FILE, * WILL ALLOW THE USER TO SELECT SEVERAL POSSIBLE OPERATIONS. * * +-------------------------------------------------------------------+ * !SECONDARY MODE QUERIES AND VALID RESPONSES: ! * +-------------------------------------------------------------------+ * * NOTE: /A (ABORT ) IS A VALID RESPONSE TO ALL QUERIES. * * **** ACCEPTABLE RESPONSES--NON-QUIESCENT SYSTEM **** * * -------------- TO RE-ENABLE A LINE ----------------- * * /LSTEN: OPERATION? * (REPEAT FOR AS MANY AS DESIRED) * /LSTEN: ENABLE LU# ? * * ---------------- TO DISPLAY THE NODAL ROUTING VECTOR -------- * * /LSTEN: OPERATION? LOAD-NODE= NNNNN (OR "NONE") [DISPLAYED FOR RTE-M, ONLY] * * --------------- TO ADJUST SYSTEM TIMING -------------------- * /LSTEN: OPERATION? * [ RESOLUTION = 5 SECONDS ] (DEFAULT VALUE = 45) * * /LSTEN: SLAVE T/O [5 TO 1275 SECONDS] ? <5 TO 1275 (NUMERIC RESPONSE)> * [ RESOLUTION = 5 SECONDS ] (DEFAULT VALUE = 30) * * /LSTEN: REMOTE-BUSY RETRIES [1 TO 10]? <1 TO 10(NUMERIC)> * (DEFAULT VALUE =3) * * /LSTEN: REMOTE-QUIET WAIT [0 TO 7200 SEC.]? <0 TO 7200 (NUMERIC)> * (DEFAULT VALUE =0) * * ---------------- TO TEMPORARILY SUSPEND NETWORK TRANSACTIONS ----- * (I.E., "QUIESCE" THE NODE) * * /LSTEN: OPERATION? * END LSTEN (TERMINATION MESSAGE) * * NOTE: WHEN QUIESCENT, PRINTS "SYSTEM IS QUIESCENT" ON LU#1. * * --------- TO SCHEDULE ADDITIONAL MONITORS ------- * * /LSTEN: OPERATION? * /LSTEN: MONITOR NAME? * /LSTEN: OPERATION? * END LSTEN (TERMINATION MESSAGE) * * ----------- TO SHUTDOWN DS ACTIVITY & RELEASE RESOURCES --- * * /LSTEN: OPERATION? SD * /LSTEN: SYSTEM SHUTDOWN * /LSTEN: # ACTIVE TCBS: NNNNN * /LSTEN: # ACTIVE HP 3000 SESSIONS: NNNNN * /LSTEN: SECURITY CODE? * END LSTEN (TERMINATION MESSAGE) * * "SHUTDOWN" MAY BE INVOKED WHENEVER LSTEN IS SCHEDULED IN THE * SECONDARY MODE. WHEN SHUTDOWN IS COMPLETE, ALL RESOURCES OF * ANY KIND WHICH WERE ALLOCATED TO NETWORK-RELATED ACTIVITY * DURING THE PREVIOUS INITIALIZATION ARE RETURNED TO RTE. * THIS INCLUDES ALL CLASS NUMBERS, CLASS BUFFERS, RESOURCE NUMBERS, * NETWORK-RELATED PROGRAMS (GRPM,RTRY,QCLM,UPLIN,QUEX,QUEZ, * RPCNV,RQCNV,QUEUE,ETC.) AND ALL ALLOCATED SAM ARE RETURNED TO RTE. * THIS MEANS ALL SYSTEM RESOURCES. ALL COMMUNICATION LOGICAL UNITS * DEFINED IN THE NRV ARE CLEARED: THEY WILL NOT RESPOND TO INCOMING * MESSAGES. ALL SLAVE MONITORS ARE ABORTED AND THEIR CLASS NUMBERS * AND ANY BUFFERS OUTSTANDING ARE CLEARED (NOTE: ALL FILES CURRENTLY * OPEN TO 'RFAM' WILL BE LOST. FILES WHICH HAVE BEEN WRITTEN ON WILL * BE CORRUPTED). ALL MASTER PROGRAMS WAITING * FOR REPLIES ARE GIVEN A MASTER TIME-OUT ERROR. IF THEY REPEAT THEIR * REQUEST, THEY WILL RECEIVE A DS00 ERROR. * * THEREFORE, USE CARE IN DETERMINING WHEN TO RE-INITIALIZE. * * THE NEXT TIME LSTEN IS SCHEDULED, IT WILL REQUEST INITIALIZATION. * * THE USER SHOULD ALSO BE AWARE THAT WHENEVER DS/1000 IS * INITIALIZED, A BLOCK OF SAM IS ALLOCATED SEMI-PERMANENTLY FOR THE * DS-RELATED TABLE AREAS (TCBS, NRV, ETC.). IT IS NOT RETURNED TO * RTE UNTIL DS IS SHUTDOWN OR THE SYSTEM IS RE-BOOTED. INITIALIZING * DS WHILE OTHER PROGRAMS HAVE SAM: BLOCKS ALLOCATED WILL FRAGMENT SAM: * THAT IS, IT MAY DIVIDE THE "LARGEST POSSIBLE SAM BLOCK" (THE * SIZE OF WHICH RTE DETERMINES AT BOOT-UP) INTO TWO PORTIONS. IT WILL * THEN NOT BE POSSIBLE FOR A PROGRAM TO OBTAIN SUCH A LARGE BLOCK, * ALTHOUGH RTE WON'T KNOW THIS, WHICH MAY CAUSE A "DEADLOCK" CONDITION: * THE PROGRAM WILL BE WAITING FOR A BLOCK WHICH CAN NEVER BE GRANTED. * IT WILL BE PLACED INTO UNAVAILABLE MEMORY SUSPENSION DURING THIS * TIME, WHICH WILL HAVE THE SIDE EFFECT OF PREVENTING ANY * OTHER PROGRAMS OF LOWER PRIORITY FROM GAINING ANY SAM AT ALL, * EVEN SMALL BLOCKS WHICH COULD BE GRANTED (THIS IS A POLICY ENFORCED * BY RTE WHOSE PURPOSE IS TO ASSURE THAT HIGH-PRIORITY PROGRAMS * ARE NOT LOCKED OUT BECAUSE A SERIES OF SMALL-BLOCK SAM ALLOCATIONS * BY LOW-PRIORITY PROGRAMS PREVENTS A LARGE BLOCK FROM EVER BECOMING * FREE). THIS IN TURN MAY FORCE MORE PROGRAMS INTO UNAVAILABLE * MEMORY SUSPENSION THAN ACTUALLY BELONG THERE. * * THIS LEADS TO THE CONCLUSION THAT IT MAY BE HAZARDOUS (IN TERMS * OF AVOIDING DEADLOCKS AND MAXIMIZING OVERALL THRUPUT) TO * FREQUENTLY RE-INITIALIZE THE DS SYSTEM. IT ALSO FOLLOWS THAT IT * SHOULD BE INITIALIZED ON BOOT-UP. HOWEVER, THE USER WHO NEEDS TO * SHUT THE SYSTEM DOWN OCCASIONALLY, AND THEN START IT UP AGAIN * AND WHO CANNOT AFFORD TO SHUT THE SYSTEM DOWN TO RE-BOOT, SHOULD * TRY TO ARRANGE FOR INITIALIZATION TO OCCUR AT TIMES WHEN THE * OTHER DEMANDS UPON SAM ARE VERY SMALL OR NON-EXISTENT. * * * NOTE 1: THE NUMBER OF ACTIVE TCBS AND # OF ACTIVE HP 3000 SESSIONS * ARE PRINTED IN ORDER TO GIVE SOME INDICATION OF THE RELATIVE * DISTRIBUTED-SYSTEMS REMOTE ACTIVITY. IF THERE EXIST EITHER ACTIVE * TCBS OR ACTIVE HP 3000 SESSIONS, THEN SHUTTING DOWN WILL PROBABLY * INTERFERE WITH SOME USER OF THE SYSTEM (THAT IS, TERMINATE ALL * HIS PROCESSES ABNORMALLY, PERHAPS CAUSING OPEN FILES TO BE CORRUPTED * OR, IN EXTREME CASES, PERHAPS DESTROYING A REMOTE DATA BASE). * IT IS STRONGLY RECOMMENDED THAT THE USER FIRST BROADCAST HIS * INTENTION TO SHUT THE SYSTEM DOWN TO ALL REMOTE USERS, GIVING * THEM TIME TO CLOSE THEIR FILES AND LOG OFF BEFORE DOING SO. * * IF THE SECURITY CODE ENTERED IS NON-NUMERIC, OR DOES NOT MATCH * THE ORIGINAL SET-UP SECURITY CODE, SHUTDOWN WILL NOT OCCUR. * IF YOU HAVE ASKED FOR SHUTDOWN, BUT DECIDE YOU DON'T WANT TO AFTER * SEEING THAT THE SYSTEM IS BEING USED, ENTER A ZERO FOR THE SECURITY * CODE (OR ANY NUMERIC, OR ANY INCORRECT SECURITY CODE). * * NOTE 2: ONCE SHUTDOWN HAS BEEN COMPLETED, THE NEXT TIME LSTEN * IS SCHEDULED IT WILL ENTER THE INITIALIZATION MODE. SKP * --------------- TO LIST ALL COMMANDS ------------------------ * * /LSTEN: OPERATION? * /LSTEN: QUIESCENT RE-START * /LSTEN: SECURITY CODE? < AA (MUST MATCH ORIGINAL SECURITY CODE)> SKP * * ERROR MESSAGES--INTERPRETATION AND APPROPRIATE ACTION: * ----------------------------------------------------- * * [ ALL MESSAGES ARE PRECEDED BY "/LSTEN:", OR, IN RTE-IVA/B * NODES, THE ACTUAL NAME OF THE "CLONED" ID-SEGMENT BEING * USED, E.G., "/LST09:"] SPC 1 * CLASS I/O ERROR - A REQUIRED CLASS NUMBER CANNOT BE ALLOCATED. * IS ABORTED. THIS ERROR MAY REQUIRE * RE-GENERATION WITH A LARGER ALLOTMENT OF CLASS NO'S. * * PROG NAME MUST BE 'LSTEN' - INTERNAL SECURITY CHECKS REQUIRE THAT * THE NAME OF THE PROGRAM BEING RUN TO INITIALIZE THE SYSTEM BE * NAMED 'LSTEN'. IN RTE-IVA & B SYSTEMS, THE USER'S COPY OF FMGR * WILL GENERALLY "CLONE" AN ID SEGMENT FOR HIM/HER WHEN DIRECTED * TO RUN A PROGRAM. TO AVOID THIS PROBLEM, RUN 'LSTEN' FROM THE * SYSTEM CONSOLE WHEN INITIALIZING OR SHUTTING DOWN THE SYSTEM. * * END LSTEN - NORMAL COMPLETION MESSAGE. THE TEN CHARACTERS COMPRISING * THE MESSAGE ARE ALSO RETURNED IN THE 5-WORD TEMPORARY * STORAGE AREA OF A SCHEDULER'S I.D. SEGMENT. THEY MAY BE * RECOVERED THROUGH THE USE OF . * IF HAS BEEN ABORTED, THE FIVE WORDS OF RETURNED- * DATA CONSIST OF: 100000B,ER, L,ST,EN * * ERROR: MON?: AAAAA - THE SPECIFIED MONITOR IS NOT IN THE SYSTEM. * ABORT , USING /A COMMAND, AND THEN LOAD * THE MONITOR INTO THE SYSTEM. RE-START . * * ERROR: STAT: AAAAA - THE MONITOR'S STATUS IS NOT 'DORMANT', AND * THEREFORE IT CANNOT BE SCHEDULED. * ABORT , USING /A COMMAND, AND THEN USE * RTE OPERATOR COMMANDS TO CHANGE THE STATUS. * * FILE ERROR - IMPROPER RESPONSE TO "INPUT # OF FILES". RETRY. * * INVALID NAME! - MONITOR NAME IS NOT RECOGNIZED BY . RETRY. * * INVALID RESPONSE! - OPERATOR ENTRY ERROR. RETRY. * (NO RETRY ALLOWED FOR QUIESCENT OR RE-START MODE) * * LSTEN ABORTED - IF INITIALIZATION WAS IN PROGRESS, THEN ALL ALLOCATED * RESOURCES HAVE BEEN RETURNED TO RTE. * * LU ERROR - IMPROPER LU# SPECIFIED, OR LU# NOT LINKED TO DVA65. RETRY. * * NODE SPEC. ERROR - IMPROPER NODAL REFERENCE VALUE. ABORTED! * CORRECT INITIALIZATION ANSWERS AND RESTART . * * NO SYSTEM MEMORY! - INSUFFICIENT SYSTEM AVAILABLE MEMORY FOR USE BY * THE NETWORK. SYSTEM CANNOT BE INITIALIZED. * IS ABORTED. RE-GENERATION OF RTE MAY * BE REQUIRED. * * READ ERROR - END-OF-FILE OR FMGR ERROR HAS BEEN DETECTED ON THE * INPUT DEVICE/FILE. THE QUESTION IS REPEATED ON THE * (ERROR LU) DEVICE. THE USER MAY SUPPLY THE REQUIRED * RESPONSE FROM THIS DEVICE. * * RN ERROR - A REQUIRED RESOURCE NUMBER CANNOT BE ALLOCATED; * IS ABORTED. RE-GENERATION, WITH A LARGER * ALLOTMENT OF RESOURCE NUMBERS, MAY BE REQUIRED. * * ID SEGMENT NAME MUST BE 'LSTEN' -- INITIALIZATION AND SHUTDOWN FUNCTIONS * CANNOT BE PROCESSED UNLESS THE PROGRAM NAME IS 'LSTEN'. * NOTE THAT SOME RTES WILL CREATE A COPY OF A PROGRAM WHEN * RUN FROM A NON-SYSTEM CONSOLE. ACTION: RUN 'LSTEN' FROM * SYSTEM CONSOLE. * * TR FILE ERROR - THE FILE MANAGER CANNOT PROCESS THE FILE * WHICH WAS SPECIFIED IN THE SCHEDULING * PARAMETERS. CORRECT THE FILE PROBLEM, * AND RE-SCHEDULE . * * ** UPLIN NOT SCHEDULED - THE SYSTEM TRANSACTION-MONITOR AND CLEANUP * PROGRAM COULD NOT BE SCHEDULED. * IS ABORTED! DETERMINE NATURE OF * PROBLEM AND CORRECT. RE-SCHEDULE . * * ANSWER YES OR NO - THE QUESTION REQUIRES A "YES" OR "NO" ANSWER * SKP PRAM NOP INPUT LU OR FIRST 2 CHARS. OF FILE NAME. NOP ERROR LU OR SECOND 2 CHARS. OF FILE NAME. NOP THIRD TWO CHARS. OF FILE NAME. NOP FILE SECURITY CODE--OPTIONAL. NOP FILE CARTRIDGE NUMBER--OPTIONAL. * SPC 2 * DEFINE MASTER TCB FORMAT * NXSTC EQU 0 NEXT TCB ENTRY TIMOT EQU 1 TIMEOUT COUNTER UD EQU TIMOT U & D FLAGS IN TIME-OUT WORD LOCSQ EQU 2 LOCAL SEQUENCE NUMBER MSCLS EQU 3 MASTER CLASS NUMBER IDSG@ EQU 4 MASTER'S ID SEGMENT NUMBER SPC 2 * DEFINE NRV FORMAT * NRVZ@ EQU 2 NUMBER OF WORDS PER ENTRY XMTL@ EQU 1 OFFSET TO GET TO TRANSMISSION LU SPC 2 LSTEN EQU * JSB RMPAR GET THE DEF *+2 PARAMETERS DEF PRAM FOR LOCAL USE. * LDA XEQT SAVE MY ID STA IDADR SEGMENT ADDRESS ADA D12 COPY ACTUAL NAME IN MY ID SEGMENT TO RAL LOCAL STORAGE FOR ERROR & PROMPT MESSAGES. LDB @MYNM MBT B5 * LDA @ENMG INITIALIZE ADDRESS OF RETURN PARAMS TO 'FATHER' PRGM STA $RTRN LDA $OPSY GET THE SYSTEM SPECIFICATIONS. RAR,RAR BIT#15: 1=DMS BIT#0: 1=RTE, 0=RTE-M. STA OPTYP SAVE THE USEFUL SYSTEM SPECIFICATIONS. SSA,RSS JMP NODMS THIS IS A NON-DMS SYSTEM * DLD XSBAI GET THE CROSS-STORE INSTRUCTION, DST STLNK AND CONFIGURE THE TWO NULL-LINK DST STERM INSTRUCTIONS FOR DMS OPERATION. DST LOOP3 DLD XCBAI DST NCHEK DLD XSANP DST STNOP DLD XLANP DST DSNR1 DST DSNR2 DST DSNR3 DLD XLABI PICK UP XLA B,I IFZ DST DSNR4 DST DSNR5 DST DSNR7 DST DSNR8 XIF DLD MWII DST NRMOV * * PICK UP READ LU NODMS LDA PRAM GET THE INPUT LU--IF ANY. UNL * TO INVOKE DEBUG, ADD FOLLOWING CODE: * EXT DBUGR * CPA M1 * RSS WE WANT DEBUG * JMP LSTN1 NO DEBUG * JSB DBUGR * DEF *+1 * CLB,INB TERMINATE * JMP TERM4 AND SAVE RESOURCES. LST LDB #FWAM GET "ALREADY-INITIALIZED" INDICATOR. STB ONTWO SAVE IN OPTION 1/2 FLAG WORD CLB INITIALIZE EQUIPMENT TYPE CODE STB TYPEQ TO INDICATE AN INTERACTIVE DEVICE. STB CLFLG CLEAR CLASS I/O FLAG. * LDB B1 IF LU NOT SUPPLIED, DEFAULT TO LU 1 SZA SUPPLIED? LDB A YES AND BT137 LU OR FILE? SZA CLB FILE...CLEAR FILE FLAG STB RLU SAVE READ LU OR 0 (FILE). SZB,RSS LU OR FILE? JMP LSTN2 FILE * JSB TTY? CHECK DEF RLU READ LU. SZB,RSS TTY? IOR B400 YES...SET IN ECHO BIT STA RLU SAVE AS INPUT LU STB TYPEQ SAVE INPUT DEVICE EQUIPMENT CODE. * * PICK UP ERROR LU LDA PRAM+1 SZA IS ERROR LU SUPPLIED? JMP LSTN2+1 YES...SAVE IT. LDA RLU NO. GET THE INPUT LU. SZB IS INPUT LU INTERACTIVE? LSTN2 LDA B1 NO...DEFAULT TO SYSTEM CONSOLE. STA ERLU SAVE ERROR LU * JSB TTY? CHECK DEF ERLU ERROR LU. SZB TTY? LDA B1 NO...SET TO SYSTEM TTY IOR B400 STA ERLU * JSB CHCKN SEE IF FILE JMP LSTN3 NOT FILE * LDA PRAM WAS 1ST PARAMETER SSA NEGATIVE? JMP CLASS YES--DO CLASS READ. * JSB OPENX OPEN THE FILE JMP *+2 OPEN ERROR! JMP LSTN3 OPEN WAS SUCCESSFUL. * JSB SYSER SYSTEM ERROR DEF TRFM "TR FILE ERROR" * LSTN3 LDB ONTWO OPTION 1/2 FLAG SZB OPTION 1? JMP OPTN2 NO...OPTION 2 * CPA B65 ATTEMPT TO INITIALIZE WITH SDI LU#? JMP LUER1 YES. SKIP TO REPORT THE ERROR. CPA B61 ALSO CHECK HP3000 DRIVERS JMP LUER1 CPA B66 JMP LUER1 CPA B67 RSS JMP INITL NO. GO TO START THE INITIALIZATION. * LUER1 JSB SYSER INFORM THE USER OF THE DEF LUERM " LU ERROR"--NO RETURN. *