IDENT CLDT,FWA,CLDT ABS SST CLET,CLTE,CLTF,CPET ENTRY CLDT ENTRY RFL= ENTRY SSJ= SYSCOM B1 CLDT TITLE CLDT - CREATE LID TABLE. *COMMENT CLDT - CREATE LID TABLE. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. SPACE 4,10 *** CLDT - CREATE LID MANAGEMENT TABLE. * * M. M. CHEN 83/01/01. SPACE 4,10 *** *CLDT* CREATES A LID TABLE (LDT) ACCORDING TO THE CONTENTS OF * A LID CONFIGURATION FILE. *CLDT* IS INITIALLY EXECUTED BY * *MSM* DURING A LEVEL ZERO DEADSTART BUT MAY ALSO BE EXECUTED * ONLINE TO REBUILD THE LDT. NON-SYSTEM ORIGIN JOBS MAY CALL * *CLDT* TO CHECK FOR FATAL ERRORS IN A LID CONFIGURATION FILE * BUT NO LDT WILL BE CREATED/UPDATED IN CENTRAL MEMORY. SPACE 4,10 *** COMMAND FORMAT. * * CLDT,I=LFN. * * I=LFN SPECIFIES THE LOCAL FILE NAME WHICH CONTAINS THE * DIRECTIVES TO BUILD THE LDT. IF YOU SPECIFY ONLY * PARAMETER *I* OR *I=0* OR IF YOU OMIT THE * PARAMETER, FILE *LIDCMXX* (WHERE XX = HOST PID * MACHINE ID) BECOMES LFN. IF LFN IS NOT LOCAL TO * THE JOB, THE FILE IS OBTAINED FROM THE JOB-S USER * NAME ON THE SYSTEM DEFAULT FAMILY. THIS PARAMETER * IS OPTIONAL. SPACE 4,10 *** LIDCMID FILE. * *LIDCMID *KEYWORD(1),P1,P2, ,, . * . * . * . *KEYWORD(N),P1,P2, ,, . * * WHERE * LIDCMID IS THE RECORD HEADER. ID IS THE * MACHINE ID. * * * KEYWORDS INCLUDE - * * NPID - NAME OF PID. * * NLID - NAME OF LID. * * * - COMMENT. * * COMMENT - COMMENT. * * PARAMETERS FOR THE *NPID* KEYWORD - * * PID=XXX. * WHERE XXX IS A UNIQUE 3 ALPHANUMERIC CHARACTER * PHYSICAL IDENTIFIER OF THE REMOTE MAINFRAME. * (NOS MAINFRAMES ARE REQUIRED TO HAVE PIDS IN * THE FORMAT MXX, WHERE XX IS THE MACHINE ID.) * THE FIRST CHARACTER MUST BE ALPHABETIC. * THIS PARAMETER IS REQUIRED. * * ENABLED=YES OR NO. * INDICATES WHETHER THE MAINFRAME SPECIFIED BY XXX * IS AVAILABLE OR NOT. DEFAULT IS YES IF THE ENABLED * KEYWORD IS NOT SPECIFIED. * * MFTYPE=XXXXXXX. * WHERE XXXXXXX IS A 1-7 CHARACTER STRING INDICATING * THE MAINFRAME TYPE. AN EXAMPLE OF MAINFRAME TYPE * IS NOS/BE OR NOS OR NS2 OR CY700 OR IBM. * THIS PARAMETER IS REQUIRED. * * AT=VALID/NVALID/NLIST. * INDICATES THE ATTRIBUTES ASSOCIATED WITH THE * MAINFRAME IDENTIFIED BY PID. DEFAULT IS * VALID AND LIST ENABLED. EITHER VALID OR * NVALID MAYBE SPECIFIED BUT NOT BOTH. * * NETDIS=SSF/RHF/NAM. * INDICATES WHICH NETWORK ACCESSES TO THE * MAINFRAME IDENTIFIED BY XXX ARE DISABLED. DEFAULTS IS * ALL NETWORK ACCESSES ENABLED. * NETDIS IS INCORRECT FOR A PID WITH HOST ATTRIBUTE. * ANY COMBINATION OF NETWORK ACCESSES MAY BE SPECIFIED. * * PARAMETERS FOR THE *NLID* KEYWORD - * * LID=XXX. * WHERE XXX IS A 3 CHARACTER LOGICAL IDENTIFIER * FOR THE MAINFRAME IDENTIFIED BY THE LAST PID * DEFINITION. THE LID MAY BE THE SAME AS THE LAST * PID DEFINED. THIS PARAMETER IS REQUIRED. * * ENABLED=YES OR NO. * INDICATES WHETHER OR NOT THE MAINFRAME IDENTIFIED * BY THE LID IS AVAILABLE. DEFAULT IS YES IF THE * ENABLED KEYWORD IS NOT SPECIFIED. * * AT=LOOPB/STOREF/VALID/NVALID/NLIST. * INDICATES THE ATTRIBUTES ASSOCIATED WITH THE LID. * ATTRIBUTES OF LOOPB AND VALID ARE ONLY FOR * LID-S DEFINED FOR THE HOST MAINFRAMES. DEFAULT IS * *NVALID*. SPACE 4,10 *** DAYFILE MESSAGES. * * * THE FOLLOWING MESSAGES ARE ISSUED WHEN FATAL ERRORS * ARE ENCOUNTERED. * * * CLDT ABORTED. SEE -A- DISPLAY. * SIGNIFICANCE - A FLASHING INFORMATIVE MESSAGE ISSUED TO * NOTIFY THE OPERATOR THAT A FATAL ERROR WAS * DETECTED AND NO LDT CAN BE CREATED. * ACTION - CORRECT THE ERROR BASED UPON THE MESSAGE(S) IN THE * SYSTEM DAYFILE AND EITHER PERFORM A LEVEL ZERO * DEADSTART OR RERUN *CLDT*. * * CLDT - BUFFER TOO SMALL. * CLDT - UNABLE TO GENERATE LID TABLE.* * NUMBER OF WORDS AVAILABLE FOR LID - XXX.* * NUMBER OF WORDS NEEDED FOR LID - XXX.* * SIGNIFICANCE - EITHER THE LENGTH OF THE LID TABLE * SPECIFIED IN IPRDECK IS TOO SMALL OR * NUMBER OF PID-S OF LID-S EXCEEDED THE * BUFFER SET IN CLDT. * ACTION - INCREASE THE LENGTH OF LID TABLE AT DEADSTART * TIME OR INCREASE THE BUFFER SIZE IN CLDT. * * CLDT ABORT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. * * CLDT - COMMAND ERROR. * SIGNIFICANCE - AN INCORRECT PARAMETER WAS SPECIFIED ON THE * *CLDT* STATEMENT. * ACTION - SPECIFY ONLY ACCEPTABLE PARAMETERS ON THE STATEMENT. * * CLDT - DUPLICATE PID ON NPID STATEMENT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - DELETE THE DUPLICATE *NPID* ENTRIES. * * CLDT - EXCEEDED MAXIMUM NUMBER OF PID-S - XXX. * SIGNIFICANCE - THE MAXIMUM NUMBER OF THE PID-S IN THE * LID TABLE IS DEFINED BY THE NAME *MAXPID-S* * IN NOSTEXT. TOO MANY PID-S ARE SPECIFIED * ON THE *LIDCMID* FILE. * ACTION - REDUCE THE NUMBER OF PID-S ON THE *LIDCMID* FILE. * * CLDT - EXCEEDED MAXIMUM NUMBER OF LIDS/PID - XXX. * SIGNIFICANCE - THE MAXIMUM NUMBER OF THE LID-S PER PID IN THE * LID TABLE IS DEFINED BY THE NAME *MXLID* IN * NOSTEXT. TOO MANY LIDS ARE SPECIFIED FOR A PID * ON THE *LIDCMID* FILE. * ACTION - REDUCE NUMBER OF LIDS FOR THIS PID. * * CLDT - FIRST STATEMENT NOT LIDCMXX. * SIGNIFICANCE - THE FIRST STATEMENT ON THE LIDCMID FILE * MUST BE *LIDCMXX* WHERE XX IS THE MACHINE ID. * ACTION - CORRECT THE FIRST STATEMENT ON THE LIDCMID FILE. * * CLDT - NETDIS IS INCORRECT FOR HOST PID. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - DELETE *NETDIS* KEYWORD. * NOTE - WHEN YOU ARE ON MAINFRAME A AND ARE CHECKING FOR * SYNTAX ERRORS OF A LID CONFIGURATION FILE INTENDED * FOR MAINFRAME B, THIS MESSAGE MAY NOT APPLY. * * CLDT - NO PID SPECIFIED ON NPID STATEMENT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - SPECIFY *PID=XXX* ON THE *NPID* STATEMENT. * XXX IS THE PHYSICAL ID. * * CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS IN PID. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - MAKE SURE EXACTLY 3 ALPHANUMERIC CHARACTERS ARE * SPECIFIED FOR THE PID. * * CLDT - MAXIMUM OF 7 CHARACTERS ALLOWED ON MFTYPE. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - MAKE SURE ONLY SEVEN CHARACTERS SPECIFIED ON * THE MFTYPE KEYWORD. * * CLDT - VALID KEYWORDS FOR NPID ARE * PID,MFTYPE,ENABLED,AT AND NETDIS. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. * * CLDT - VALID OPTIONS FOR *AT* ARE VALID OR NVALID OR NLIST. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. * * CLDT - VALID OPTIONS FOR NETDIS ARE SSF, RHF AND NAM. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. * * CLDT - FILE XXXXXXX NOT FOUND. * SIGNIFICANCE - FILE XXXXXXX IS NOT LOCAL AND CANNOT BE * LOCATED UNDER THE JOB-S USER NAME. * ACTION - CREATE FILE XXXXXXX UNDER THE JOB-S USER NAME * OR HAVE THE FILE LOCAL TO THE JOB. * * CLDT - NO LID TABLE CREATED - * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. NO ACTION IS REQUIRED IF NO * LDT WAS INTENDED TO BE BUILT OR IF ONLY SYNTAX * CHECKING WAS BEING DONE ON THE LID FILE. * * CLDT - UNRECOGNIZABLE DIRECTIVE. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - CORRECT OR DELETE THE UNRECOGNIZABLE DIRECTIVE. * * CLDT - NO MFTYPE SPECIFIED ON NPID STATEMENT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - SPECIFY *MFTYPE=XXXXXXX* ON THE *NPID* STATEMENT. * XXXXXXX IS A 1-7 CHARACTER STRING INDICATING THE * MAINFRAME TYPE. * * CLDT - IDLE SUBSYSTEMS, RHF, NAM, AND SSF * BEFORE ATTEMPTING CLDT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - IDLE ANY OF THE THREE SUBSYSTEMS THAT MAYBE * AT A CONTROL POINT. EITHER RHF OR NAM OR SSF. * * CLDT - INCORRECT CHARACTER IN DIRECTIVE. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - CORRECT THE WRONG CHARACTER IN THE DIRECTIVE. * THE INCORRECT CHARACTER IS A COLON. * * CLDT - NPID DIRECTIVE MUST BE PROCESSED BEFORE A NLID * DIRECTIVE. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - PUT A *NPID* DIRECTIVE BEFORE THE FIRST *NLID* * DIRECTIVE. * * CLDT - A SEPARATOR MUST FOLLOW NLID OR NPID. * SIGNIFICANCE - A DIRECTIVE WAS ENCOUNTERED THAT DID NOT * HAVE A SEPARATOR. * EXAMPLE ( NPID PID=XXX,MFTYPE=XXXXXXX.) * ACTION - PUT A SEPARATOR IN THE NPID OR NLID DIRECTIVE. * EXAMPLE( NPID,PID=XXX,MFTYPE=XXXXXXX.) * * * THE FOLLOWING MESSAGES ARE INFORMATIVE MESSAGES AND ARE * NOT FATAL. * * CLDT COMPLETE. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - NONE. * * CLDT - DUPLICATE LID ON NLID STATEMENT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - DELETE THE DUPLICATE *NPID* ENTRIES. * * CLDT - ERROR IN THE FOLLOWING STATEMENT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. * * CLDT - LID KEYWORD NOT SPECIFIED. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - SPECIFY *LID=XXX* ON THE *NLID* STATEMENT. * * CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS IN LID. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - MAKE SURE EXACTLY THREE CHARACTERS ARE SPECIFIED * FOR THE LID. THE THREE CHARACTERS MUST BE * ALPHANUMERIC. * * CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/STOREF/VALID * NVALID/NLIST. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - MAKE SURE ONLY LOOPB OR STOREF OR VALID OR * NVALID OR NLIST ARE SPECIFIED FOR THE * *AT* KEYWORD. * * CLDT - ONLY YES OR NO ALLOWED ON ENABLED KEYWORD. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - MAKE SURE EITHER YES OR NO ARE SPECIFIED ON * THE ENABLED KEYWORD. * QUALIFICATION - THIS MESSAGE IS A FATAL MESSAGE * IF ISSUED IN REFERENCE TO A NPID * STATEMENT. * * CLDT - VALID KEYWORDS FOR NLID ARE LID, ENABLED AND AT. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. * * CLDT - STATEMENT IGNORED. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - TAKE NECESSARY ACTIONS BASED ON THE PRECEDING * DAYFILE MESSAGES. * * CLDT - INCORRECT HOST LID ATTRIBUTE. * SIGNIFICANCE - LID ATTRIBUTES OF STOREF AND LOOPB WERE BOTH * SPECIFIED FOR A LID UNDER A HOST PID. * ACTION - DELETE AT LEAST ONE OF THESE ATTRIBUTES FROM THE * NLID STATEMENT. * NOTE - WHEN YOU ARE ON MAINFRAME A AND ARE CHECKING FOR * SYNTAX ERRORS OF A LID CONFIGURATION FILE INTENDED FOR * MAINFRAME B, THIS MESSAGE MAY NOT APPLY. * * CLDT - INCORRECT LINKED LID ATTRIBUTE. * SIGNIFICANCE - A LID ATTRIBUTE OF LOOPB WAS SPECIFIED * FOR A LID UNDER A LINKED PID. * ACTION - DELETE THE LOOPB ATTRIBUTE FROM THE NLID * STATEMENT. * NOTE - WHEN YOU ARE ON MAINFRAME A AND ARE CHECKING FOR * SYNTAX ERRORS OF A LID CONFIGURATION FILE INTENDED * FOR MAINFRAME B, THIS MESSAGE MAY NOT APPLY. * * CLDT - = MUST FOLLOW KEYWORD. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - CORRECT THE ERROR AND RETRY. * QUALIFICATION - THIS MESSAGE IS A FATAL MESSAGE * IF ISSUED IN REFERENCE TO A NPID * STATEMENT. * * CLDT - VALID OPTION CAN ONLY BE SPECIFIED IF THE STOREF * OPTION IS SPECIFIED. * SIGNIFICANCE - SELF-EXPLANATORY. * ACTION - CORRECT THE NLID STATEMENT TO INCLUDE ATTRIBUTES * VALID AND STOREF. * *CASC DATA C* CLDT - IDLE SUBSYSTEMS RHF, NAM, AND SSF* *CASD DATA C* BEFORE ATTEMPTING CLDT.* *CLDA DATA C* CLDT COMPLETE.* *CLDB DATA C* CLDT ABORT.* *CLDC DATA C* CLDT ABORTED. SEE -A- DISPLAY.* *CLDD DATA C* CLDT - NO LID TABLE CREATED.* *CLEC DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS* *CLED DATA C* IN LID.* *CLEE DATA C* CLDT - VALID KEYWORDS FOR NLID ARE * *CLEF DATA C* LID, ENABLED AND AT.* *CLEG DATA C* CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/STOREF/* *CLEH DATA C* VALID/NVALID/NLIST.* *CLEI DATA C* CLDT - INCORRECT HOST LID ATTRIBUTE.* *CLEJ DATA C* CLDT - INCORRECT LINKED LID ATTRIBUTE.* *CLEK DATA C* CLDT - STATEMENT IGNORED.* *CLEL DATA C* CLDT - LID KEYWORD NOT SPECIFIED.* *CLEM DATA C* CLDT - DUPLICATE LID ON NLID STATEMENT.* *CLEN DATA C* CLDT - VALID OPTION CAN ONLY BE SPECIFIED* *CLEO DATA C* IF THE STOREF OPTION IS SPECIFIED.* *CLEU DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF LIDS/PID - XXX.* *CLTL DATA C* CLDT - NPID DIRECTIVE MUST BE PROCESSED BEFORE* *CLTM DATA C* A NLID DIRECTIVE.* *CFSF DATA C* CLDT - UNABLE TO GENERATE LID TABLE * *CFSG DATA C* NUMBER OF WORDS AVAILABLE FOR LID - XXX.* *CFSH DATA C* NUMBER OF WORDS NEEDED FOR LID - XXX.* *CFSI DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF PID-S - XXX.* *CFSJ DATA C* CLDT - UNRECOGNIZABLE DIRECTIVE.* *CPEE DATA C* CLDT - VALID KEYWORDS FOR NPID ARE * *CPEF DATA C* PID,MFTYPE,ENABLED,AT AND NETDIS.* *CPEG DATA C* CLDT - ERROR IN THE FOLLOWING STATEMENT.* *CPEH DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS * * IN PID.* *CPEJ DATA C+ CLDT - VALID OPTIONS FOR *AT* ARE VALID/NVALID/+ *CPEK DATA C* NLIST.* *CPEL DATA C* CLDT - NETDIS IS INCORRECT FOR HOST PID.* *CPEM DATA C* CLDT - VALID OPTIONS FOR NETDIS ARE * *CPEN DATA C* SSF, RHF AND NAM.* *CPEO DATA C* CLDT - = MUST FOLLOW KEYWORD.* *CPEP DATA C* CLDT - NO PID SPECIFIED ON NPID STATEMENT.* *CPEQ DATA C* CLDT - DUPLICATE PID ON NPID STATEMENT.* *CPER DATA C* CLDT - MAXIMUM OF 7 CHARACTERS ALLOWED ON MFTYPE.* *CPES DATA C* CLDT - NO MFTYPE SPECIFIED ON NPID STATEMENT.* *CPEZ DATA C* CLDT - ONLY YES OR NO ALLOWED ON ENABLED KEYWORD.* *PRSA DATA C* CLDT - FIRST STATEMENT NOT LIDCMXX.* *PRSB DATA C* CLDT - COMMAND ERROR.* *PRSC DATA C* CLDT - BUFFER TOO SMALL.* *PRSD DATA C* CLDT - FILE XXXXXXX NOT FOUND.* *PTLD DATA C* CLDT - INCORRECT CHARACTER IN DIRECTIVE.* *PTLE DATA C* CLDT - A SEPARATOR MUST FOLLOW NLID OR NPID.* SPACE 4,10 ** LID TABLE. * *T, LTW0 12/LENH,36/RFU,12/NO-PID *T,1 LTW1 18/PID,1/H,1/E,1/V,1/N,4/RFU,10/RFI,12/RFU,4/SF, * 4/RH,4/NP *T,2 LTW2 42/MF,6/RFU,12/NEXT-PID *T,3 LTW3 12/RFI,36/RFU,12/NO-LID *T,4 LTW4 18/LID,6/0,1/E,1/S,1/V,1/B,1/N,7/RFU,6/RFI,18/RFU * . * . * . *T,I LTWI REPEAT LTW4 FOR ADDITIONAL LID-S. * *T,N+1 LTWN+1 REPEAT LTW1 - LTWI FOR NEXT PID * . * . * . * * * WORD 0. * * LENH 59-48 LENGTH OF LID TABLE IN CM WORDS. * RFU 47-12 RESERVED FOR CDC. * NO-PID 11-0 NUMBER OF PID-S. * * WORD 1. * * PID 59-42 PHYSICAL ID. * H 41 HOST = 1, LINK = 0. * E 40 ENABLED. * V 39 PRE-VALIDATION. * N 38 NO-LIST. * RFU 37-34 RESERVED FOR CDC. * RFI 33-24 RESERVED FOR INSTALLATION. * RFU 23-12 RESERVED FOR CDC. * SF 11-8 SSF - SCOPE 2 STATION FACILITY. * RH 7-4 RHF - REMOTE HOST STATUS. * NP 3-0 NHP - NETWORK HOST PRODUCTS STATUS. * * (1) NETWORK STATUS CODES. * 0 - NETWORK NOT AVAILABLE. * 1 - PATHS TO PID IN SERVICE. * 2 - ALL PATHS TO PID OUT OF SERVICE. * 3-7 - RESERVED FOR CDC. * 10 - PATHS TO PID DISABLED BY OPERATOR. * NETWORK NOT AVAILABLE. * 11 - PATHS TO PID DISABLED BY OPERATOR. * PATHS TO PID IN SERVICE * 12 - PATHS TO PID DISABLED BY OPERATOR. * ALL PATHS TO PID OUT OF SERVICE. * * WORD 2. * * MF 59-18 MAINFRAME DESCRIPTION. * RFU 17-12 RESERVED OF CDC. * NEXT-PID 11-0 NEXT PID OFFSET ADDRESS. * * WORD 3. * * RFI 59-48 RESERVED FOR INSTALLATION. * RFU 47-12 RESERVED FOR CDC. * NO-LID 11-0 NUMBER OF LID SLOTS FOR THIS PID. * * WORD 4. * * LID 59-42 FIRST - LID. * ZERO 41-36 RESERVED FOR CDC. * E 35 ENABLED FLAG FOR LID. * S 34 STORE AND FORWARD MAINFRAME FOR LID. * V 33 LID VALIDATION ATTRIBUTE. * B 32 LOOP BACK FLAG FOR LID. * N 31 LID NOLIST ATTRIBUTE. * RFU 30-24 RESERVED FOR CDC. * RFI 23-18 RESERVED FOR INSTALLATION. * RFU 17-0 RESERVED FOR CDC. SPACE 4,10 * COMMON DECKS. *CALL COMCMAC *CALL COMCCMD *CALL COMSPFM *CALL COMSSCD *CALL COMSSFM *CALL COMSSSD *CALL COMSSSJ BASE D SPACE 4,10 * MACRO DEFINITIONS. ** FIELD - DEFINE FIELDS. * TAGS ARE GENERATED TO GIVE THE WORD LOCATION, BIT * LOCATION, AND NUMBER OF BITS IN FIELD. * * ENTRY TAG FIELD WP,LB,RB * TAG = NAME OF FIELD (1-6 LEGAL COMPASS CHARACTERS) * = *, USE CURRENT VALUE OF PSEUDO ORG COUNTER ORLOC1$ * WP = RELATIVE WORD POSITION IN A TABLE. * LB = LEFT-MOST BIT POSITION WITHIN A WORD (BIT 59 BEING * SIGN BIT). * RB = RIGHT-MOST BIT POSITION WITHIN A WORD. * * EXIT TAGW = WORD LOCATION OF FIELD. * TAGS = LEFT BIT POSITION OF FIELD. * TAGN = NUMBER OF BITS IN FIELD. PURGMAC FIELD MACRO FIELD,TAG,WP,LB,RB IFC NE,/WP//,4 IFC EQ,/WP/*/,2 _TAG_W EQU ORLOC1$ SKIP 1 _TAG_W EQU WP _TAG_S EQU LB _TAG_N EQU LB-RB+1 ENDM SPACE 4,10 * LID TABLE (LDT) FIELD DEFINITIONS. LNTH FIELD 0,59,48 LID TABLE LENGTH LRF0 FIELD 0,47,12 RESERVED FOR CDC LILK FIELD 0,11,0 NUMBER OF PID-S LPID FIELD 1,59,42 PID LHST FIELD 1,41,41 1 IF HOST, 0 IF LINK LENA FIELD 1,40,40 1 IF ENABLED LVAD FIELD 1,39,39 1 IF PRE-VALIDATION REQUIRED LNST FIELD 1,38,38 1 IF NOT TO LIST PID LRF1 FIELD 1,37,34 RESERVED FOR CDC LRFI FIELD 1,33,24 RESERVED FOR INSTALLATION LRF2 FIELD 1,23,12 RESERVED FOR CDC LSFS FIELD 1,11,8 SSF - SCOPE 2 STATION FACILITY STATUS LRHS FIELD 1,7,4 RHF - REMOTE HOST FACILITY STATUS LNPS FIELD 1,3,0 NHP - NETWORK HOST PRODUCTS STATUS LMFD FIELD 2,59,18 MAINFRAME DESCRIPTION LRF3 FIELD 2,17,12 RESERVED FOR CDC LNPD FIELD 2,11,0 NEXT PID OFFSET ADDRESS LRI3 FIELD 3,59,48 RESERVED FOR INSTALLATION LRF4 FIELD 3,47,12 RESERVED FOR CDC LNLD FIELD 3,11,0 NUMBER OF LID SLOTS FOR THIS PID LLD1 FIELD 4,59,42 FIRST LID LRF5 FIELD 4,41,36 RESERVED FOR CDC LLEN FIELD 4,35,35 1 IF ENABLED LID LSTF FIELD 4,34,34 1 IF STORE AND FORWARD LLVA FIELD 4,33,33 1 IF PRE-VALIDATION REQUIRED LLBK FIELD 4,32,32 1 IF LOOP BACK LNLS FIELD 4,31,31 1 IF NOLIST ATTRIBUTE LRF6 FIELD 4,30,24 RESERVED FOR CDC LRI4 FIELD 4,23,18 RESERVED FOR INSTALLATION LRF7 FIELD 4,17,0 RESERVED FOR CDC SPACE 4 QUAL$ EQU 0 BASE D TITLE DEFINITIONS. **** ASSEMBLY CONSTANTS. IBUFL EQU 400 BUFFER LENGTH SSJ= EQU 400000B SSJ= ENTRY POINT UBUFL EQU 220 UNPACK BUFFER LENGTH WBUFL EQU 22 WORKING BUFFER LENGTH **** SPACE 4,10 ORG 200B FWA BSS 0 SPACE 4,10 * FET DEFINITIONS. I BSS 0 LID CONFIGURATION FILE LIDCM FILEC IBUF,IBUFL,(FET=13D) SPACE 4 * GLOBAL VARIABLES. DSSQ CON 0 DEADSTART SEQUENCE FLAG (0 IF DEADSTART) FERF CON 0 FATAL ERROR FLAG FS CON 0 FREE SPACE FOR EACH PID FSR CON 0 REMAINDER OF FREE SPACE HOST CON 0 ZERO IF NO HOST PID SPECIFIED HOSTFLG VFD 60/1 ZERO IF HOST MAINFRAME HOSTPID VFD 60/0LM HOST MAINFRAME PID JORG CON 0 JOB ORIGIN FLAG (0 IF SYSTEM ORIGIN) LIDD VFD 24/0,1/1,35/0 LID DEFAULT VALUE (ENABLED) LIDL CON 0 LID TABLE LENGTH PIDD VFD 18/0,1/0,1/1,28/0,4/0,4/0,4/0 * (ENABLED AND NOT VALIDATE) TITLE MAIN PROGRAM. ** CLDT - CREATE LID TABLE. * * EXIT LID TABLE GENERATED IF NO FATAL ERRORS ENCOUNTERED * IN THE FILE AND CALLED BY A SYSTEM ORIGIN JOB. * IF CALLED BY A NON-SYSTEM ORIGIN JOB, THE LID * CONFIGURATION FILE IS VERIFIED AND NO LID TABLE * IS CREATED. * * USES X - 2. * A - 2. * * CALLS CAS, CFS, CLT, PRS, PSE. * * MACROS ABORT, ENDRUN, FLASH, MESSAGE, RETURN, SETPIDI. * * NOTE FATAL *CLDT* ERRORS ENCOUNTERED DURING A LEVEL ZERO * DEADSTART WILL NOT CAUSE *CLDT* TO ABORT. THIS ERROR * EXIT PROCESSING IS TO ENSURE THAT SUBSEQUENT *ISF* * PROCESSING (INITIATED BY *MSM*) WILL OCCUR REGARDLESS * *CLDT* ERRORS. NO LID TABLE IS CREATED IF FATAL * ERRORS ARE ENCOUNTERED. CLDT BSS 0 ENTRY RJ PRS PRESET RJ CFS CALCULATE FREE SPACE RJ CLT CREATE LID TABLE SA2 FERF NZ X2,CLD3 IF FATAL ERROR ENCOUNTERED SA2 JORG NZ X2,CLD1 IF NON-SYSTEM ORIGIN USER RJ CAS CHECK ACTIVE SUBSYSTEMS SETPIDI LIDT GENERATE LID TABLE EQ CLD2 * CLDT COMPLETE.* CLD1 MESSAGE CLDD * CLDT - NO LID TABLE CREATED.* CLD2 MESSAGE CLDA * CLDT COMPLETE.* EQ CLD5 EXIT CLD3 MESSAGE CLDB * CLDT ABORT.* SA2 DSSQ ZR X2,CLD4 IF DEADSTART SEQUENCE RETURN I,R RETURN LID CONFIGURATION FILE ABORT CLD4 MESSAGE CLDC,1 * CLDT ABORTED. SEE -A- DISPLAY.* FLASH INTENSIFY MESSAGE ON CONSOLE RJ PSE PAUSE FOR OPERATOR GO/DROP CLD5 RETURN I,R RETURN LID CONFIGURATION FILE ENDRUN CLDT CLDA DATA C* CLDT COMPLETE.* CLDB DATA C* CLDT ABORT.* CLDC DATA C* CLDT ABORTED. SEE -A- DISPLAY.* CLDD DATA C* CLDT - NO LID TABLE CREATED.* CAS TITLE SUBROUTINES. ** CAS - CHECK ACTIVE SUBSYSTEMS. * * EXIT AN ERROR MESSAGE IS ISSUED IF ANY OF THREE SUBSYSTEMS * ARE ACTIVE AT A CONTROL POINT (RHF, NAM, OR SSF). * TO *CLD3* IF ANY OR ALL OF THE ABOVE SUBSYSTEMS ARE * CURRENTLY ACTIVE. * * USES X - 0, 1, 2, 6. * A - 1, 2, 6. * B - 2, 3, 4. * * MACROS MESSAGE, SYSTEM. CAS SUBR ENTRY/EXIT * GET *SSCP* TABLE POINTER. SYSTEM RSB,R,CASA GET *SSCP* SA1 CASA+1 *SSC* POINTER MX0 24 LX0 -24 BX1 X0*X1 *SSC* LX1 6 SX2 SSCTL LX2 18 IX1 X2+X1 TO GET WORD FOR RHF SSC SA2 CASB BX6 X2+X1 ADD ADDRESS OF SSC FOR RSB CALL SA6 CASB * GET *SSC* SUBSYSTEM CONTROL POINT TABLE. SYSTEM RSB,R,CASB GET *SSC* SB4 3-1 SET NUMBER OF SUBSYSTEMS TO CHECK -1 SB2 MXSI-RFSI SET RHF ID CAS1 MX0 12 SX2 CASB+1 SB3 5 SET NUMBER OF BYTES IN WORD CAS2 ZR B2,CAS3 IF SUBSYSTEM ASSIGNMENT FOUND SB2 B2-B1 LX0 -12 SB3 B3-B1 NZ B3,CAS2 IF MORE BYTES IN WORD TO CHECK SX2 X2+B1 CHECK NEXT WORD SB3 5 SET NUMBER OF BYTES IN WORD EQ CAS2 CONTINUE SUBSYSTEM SEARCH CAS3 SA1 X2 BX1 X0*X1 GET EJT ORDINAL ASSIGNED TO SUBSYSTEM NZ X1,CAS4 IF SUBSYSTEM IS ASSIGNED ZR B4,CASX IF DONE CHECKING SUBSYSTEMS SB4 B4-B1 SB2 MXSI-NMSI SET NAM ID EQ B4,B1,CAS1 IF CHECKING NAM ACTIVITY SB2 MXSI-SSSI EQ CAS1 CHECK FOR SSF ACTIVITY CAS4 MESSAGE CASC * CLDT - IDLE SUBSYSTEMS RHF, NAM AND SSF* MESSAGE CASD * BEFORE ATTEMPTING CLDT.* EQ CLD3 * CLDT ABORT.* CASA VFD 12/0,12/1,18/SSCP,18/CASA+1 CON -1 CASB VFD 12/0,12/SSCTL,18/0,18/CASB+1 CON -1 BSSZ SSCTL-1 CASC DATA C* CLDT - IDLE SUBSYSTEMS RHF, NAM, AND SSF* CASD DATA C* BEFORE ATTEMPTING CLDT.* CLE SPACE 4,15 ** CLE - CREATE LID ENTRY. * * ENTRY (CLTB) = CURRENT LID POINTER. * (CLTD) = CURRENT FWA OF PID. * * EXIT (CLTB) = CURRENT LID POINTER. * (CLTE) = NUMBER OF LID FOR PID. * * USES X - 0, 1, 2, 3, 4, 5, 6, 7. * A - 1, 2, 6, 7. * B - 1, 2, 3. * * MACRO MESSAGE. CLE SUBR ENTRY/EXIT SA1 UBUF GET UNPACK BUFFER BX7 X7-X7 INITIAL LID ENTRY SA2 LIDD LID DEFAULT VALUE, ENABLED BX6 X2 SA7 CLEQ CLEAR *LID* SPECIFIED FLAG SA7 CLER CLEAR LOOPB SPECIFIED FLAG SA7 CLES CLEAR STOREF SPECIFIED FLAG SA7 CLEP CLEAR VALID SPECIFIED FLAG CLE1 MX0 42 SA1 A1+B1 GET KEYWORD SA2 CLEA GET KEYWORD TABLE ZR X1,CLE18 IF DONE PROCESSING CLE2 ZR X2,CLE23 IF NO MATCH FOUND BX3 X1-X2 BX4 X0*X3 ZR X4,CLE3 IF KEYWORD MATCH SA2 A2+1 EQ CLE2 TRY NEXT WORD CLE3 SB3 X2 GET ADDRESS OF PROCESSOR SX3 1R= BX2 X1-X3 BX4 -X0*X2 NZ X4,CLE21 IF SEPARATOR NOT *=* SA1 A1+B1 JP B3 PROCESS RESPECTIVE KEYWORD * PROCESS *LID* KEYWORD. CLE4 MX0 18 SA2 CLEQ GET *LID* KEYWORD FLAG BX3 X0*X1 ZR X3,CLE22 IF NO *LID* SPECIFIED NZ X2,CLE20 IF *LID* ALREADY SPECIFIED LX0 -18 BX7 X0*X1 NZ X7,CLE22 IF LID HAS MORE THAN 3 CHARACTERS LX0 6 BX7 X0*X1 ZR X7,CLE22 IF LID HAS LESS THAN 3 CHARACTERS BX7 X3 MX0 6 SB2 3 CLE5 BX2 X7*X0 LX2 6 ZR X2,CLE22 IF CHARACTER EQUALS A COLON NG X2,CLE22 IF CHARACTER IS NOT ALPHANUMERIC SX2 X2-1R9-1 PL X2,CLE22 IF CHARACTER IS NOT ALPHANUMERIC LX7 6 SB2 B2-B1 NZ B2,CLE5 IF THERE ARE MORE CHARACTERS TO CHECK SA2 CLTE GET NUMBER OF LID-S SB3 X2+ CLE6 SA4 B3+CLET-1 CHECK FOR DUPLICATE LID-S BX7 X3-X4 SB3 B3-B1 ZR X7,CLE20 IF DUPLICATE LID GT B3,CLE6 IF MORE LID-S TO CHECK BX7 X3 BX6 X3+X6 SA7 X2+CLET ADD NEW LID SA6 CLEQ INDICATE *LID* SPECIFIED EQ CLE1 PROCESS NEXT KEYWORD * PROCESS *ENABLED* KEYWORD. CLE7 SX3 3RYES LX3 -18 BX7 X1-X3 BX7 X0*X7 ZR X7,CLE1 IF *YES* SX3 2RNO LX3 -12 BX7 X1-X3 BX7 X0*X7 NZ X7,CLE24 IF INCORRECT KEYWORD SX3 B1 LX3 LLENS-0 BX6 -X3*X6 EQ CLE1 PROCESS NEXT KEYWORD * PROCESS *AT* KEYWORD. CLE8 SA2 CLEB GET *AT* KEYWORD TABLE CLE9 BX3 X1-X2 BX4 X0*X3 ZR X4,CLE10 IF AT KEYWORD MATCH SA2 A2+1 NZ X2,CLE9 IF NOT END OF TABLE EQ CLE25 UNRECOGNIZED KEYWORD CLE10 SX7 B1 SB3 X2 JP B3 PROCESS RESPECTIVE KEYWORD * PROCESS *LOOPB* KEYWORD. CLE11 SA2 HOSTFLG CHECK FOR HOST NZ X2,CLE28 IF LINKED, ISSUE ERROR MESSAGE SA2 CLES CHECK FOR STOREF NZ X2,CLE29 IF STOREF ALREADY SET BX5 X6 SAVE X6 VALUE SX6 B1 SA6 CLER SET LOOPB LX7 LLBKS-0 ADD LOOP BACK FLAG BX6 X5 RESTORE X6 VALUE BX6 X6+X7 EQ CLE17 CONTINUE WITH NEXT KEYWORD * PROCESS *STOREF* KEYWORD. CLE12 SA2 HOSTFLG CHECK FOR HOST NZ X2,CLE13 IF LINKED CONTINUE SA2 CLER CHECK FOR LOOPB NZ X2,CLE29 IF LOOPB ALREADY SET CLE13 BX5 X6 SAVE X6 VALUE SX6 B1 SA6 CLES SET STOREF OPTION LX7 LSTFS-0 ADD STORE FORWARD FLAG BX6 X5 RESTORE X6 VALUE BX6 X6+X7 EQ CLE17 CONTINUE WITH NEXT KEYWORD * PROCESS *VALID* KEYWORD. CLE14 LX7 LLVAS-0 ADD VALIDATION FLAG BX6 X6+X7 SA6 CLEP SET VALID OPTION SPECIFIED EQ CLE17 CONTINUE WITH NEXT KEYWORD * PROCESS *NVALID* KEYWORD. CLE15 LX7 LLVAS-0 DELETE VALIDATION FLAG BX6 -X7*X6 BX7 X7-X7 SA7 CLEP CLEAR VALID OPTION SPECIFIED EQ CLE17 CONTINUE WITH NEXT KEYWORD * PROCESS *NLIST* KEYWORD. CLE16 LX7 LNLSS-0 ADD NO LIST FLAG BX6 X6+X7 EQ CLE17 CONTINUE WITH NEXT KEYWORD * *AT* KEYWORD POST-PROCESSOR. CLE17 SX5 1R/ SX4 X1 BX7 X5-X4 NZ X7,CLE1 IF NOT */* SA1 A1+B1 MX0 42 EQ CLE8 PROCESS NEXT *AT* KEYWORD * DONE PROCESSING KEYWORDS. CLE18 SA2 CLEQ *LID* KEYWORD SPECIFIED FLAG SA3 CLTB ZR X2,CLE27 IF *LID* KEYWORD NOT SPECIFIED SA2 CLEP *VALID* OPTION SPECIFIED ZR X2,CLE19 IF *VALID* OPTION NOT SPECIFIED SA2 CLES *STOREF* OPTION SPECIFIED ZR X2,CLE30 IF *STOREF* OPTION NOT SPECIFIED CLE19 SX7 X3+B1 INCREMENT LID POINTER BY 1 SA2 CLTE CHECK NUMBER OF LID-S IN THIS PID SO FAR SB3 X2-MXLID ZR B3,CLE31 IF TOO MANY LIDS FOR THIS PID SA7 A3 SA6 X3 ADD NEW LID SX7 X2+B1 INCREMENT NUMBER OF LID-S SA7 A2 EQ CLEX RETURN * DUPLICATE LID-S. CLE20 MESSAGE CLEM *DUPLICATE LID ON THE NLID STATEMENT.* EQ CLE26 ISSUE ERROR MESSAGE * SEPARATOR NOT *=*. CLE21 MESSAGE CPEO *CLDT = MUST FOLLOW KEYWORD* EQ CLE26 ISSUE ERROR MESSAGE * INCORRECT LID. CLE22 MESSAGE CLEC *SPECIFY EXACTLY 3 CHARACTERS* MESSAGE CLED *IN LID.* EQ CLE26 ISSUE ERROR MESSAGE * INCORRECT KEYWORD. CLE23 MESSAGE CLEE * CLDT - VALID KEYWORDS FOR NLID ARE* MESSAGE CLEF * LID, ENABLED AND AT* EQ CLE26 ISSUE ERROR MESSAGE * INCORRECT *ENABLED* PARAMETER. CLE24 MESSAGE CPEZ *ONLY YES/NO ALLOWED ON ENABLED KEYWORD* EQ CLE26 ISSUE ERROR MESSAGE * INCORRECT *AT* PARAMETER. CLE25 MESSAGE CLEG *CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/ MESSAGE CLEH STOREF/VALID/NVALID/NLIST.* CLE26 MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT* MESSAGE WBUF MESSAGE CLEK *STATEMENT IGNORED.* EQ CLEX RETURN * *LID* KEYWORD NOT SPECIFIED. CLE27 MESSAGE CLEL *NO LID SPECIFIED ON NLID STATEMENT.* EQ CLE26 ISSUE ERROR MESSAGE * INCORRECT LINKED *LID* ATTRIBUTE. CLE28 MESSAGE CLEJ * CLDT - INCORRECT LINKED LID ATTRIBUTE.* EQ CLE26 ISSUE ERROR MESSAGE * INCORRECT HOST *LID* ATTRIBUTE. CLE29 MESSAGE CLEI * CLDT - INCORRECT HOST LID ATTRIBUTE.* EQ CLE26 ISSUE ERROR MESSAGE * *VALID* OPTION SPECIFIED BUT NOT *STOREF* OPTION. CLE30 MESSAGE CLEN * VALID OPTION CAN ONLY BE SPECIFIED* MESSAGE CLEO * IF THE STOREF OPTION IS SPECIFIED.* EQ CLE26 ISSUE ERROR MESSAGE CLE31 MESSAGE CLEU * EXCEEDED MAXIMUM NUMBER OF LIDS/PID... * EQ CLE26 ISSUE ERROR MESSAGE * *NLID* KEYWORD TABLE. CLEA VFD 42/3LLID,18/CLE4 *LID* VFD 42/7LENABLED,18/CLE7 *ENABLED* VFD 42/2LAT,18/CLE8 *AT* VFD 60/0 * *AT* KEYWORD TABLE. CLEB VFD 42/5LLOOPB,18/CLE11 *LOOPB* VFD 42/6LSTOREF,18/CLE12 *STOREF* VFD 42/0LVALID,18/CLE14 *VALID* VFD 42/0LNVALID,18/CLE15 *NVALID* VFD 42/0LNLIST,18/CLE16 *NLIST* VFD 60/0 CLEC DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS* CLED DATA C* IN LID.* CLEE DATA C* CLDT - VALID KEYWORDS FOR NLID ARE * CLEF DATA C* LID, ENABLED AND AT.* CLEG DATA C+ CLDT - VALID OPTIONS FOR *AT* ARE LOOPB/STOREF/+ CLEH DATA C* VALID/NVALID/NLIST.* CLEI DATA C* CLDT - INCORRECT HOST LID ATTRIBUTE.* CLEJ DATA C* CLDT - INCORRECT LINKED LID ATTRIBUTE.* CLEK DATA C* CLDT - STATEMENT IGNORED.* CLEL DATA C* CLDT - LID KEYWORD NOT SPECIFIED.* CLEM DATA C* CLDT - DUPLICATE LID ON NLID STATEMENT.* CLEN DATA C* CLDT - VALID OPTION CAN ONLY BE SPECIFIED* MXLD DECMIC MXLID CLEU DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF LIDS/PID - "MXLD" ,.* CLEO DATA C* IF THE STOREF OPTION IS SPECIFIED.* CLEP BSSZ 1 NOT ZERO IF VALID OPTION SPECIFIED CLEQ BSSZ 1 ONE IF LID KEYWORD SPECIFIED CLER BSSZ 1 ONE IF LOOPB OPTION SPECIFIED CLES BSSZ 1 ONE IF STOREF OPTION SPECIFIED CLET BSSZ MXLID+1 LID TABLE CLT SPACE 4,15 ** CLT - CREATE LID TABLE. * * ENTRY (FS) = FREE SPACE FOR EACH PID. * * EXIT LID TABLE CREATED. * * USES X - 0, 1, 2, 3, 4, 6, 7. * A - 1, 2, 6, 7. * B - 1, 3. * * CALLS CLE, CPE, PTL. * * MACROS READ, READC, REWIND. * * NOTE THE LID TABLE IS WRITTEN OVER THE OVERLAYABLE CODE. CLT SUBR ENTRY/EXIT * CLEAR THE OVERLAYABLE CODE FOR THE LDT. SB3 LENGTH LENGTH OF AREA TO BE CLEARED SX7 B0+ CLT0 SA7 LIDT+B3 SB3 B3-B1 GT B3,CLT0 IF MORE WORDS TO CLEAR REWIND I REWIND LID CONFIGURATION FILE READ X2 INITIAL READ READC X2,WBUF,WBUFL SKIP ONE LINE SX6 LIDT+2 FWA OF LID TABLE (EXCLUDING HEADER) SA6 CLTB CLT1 RJ PTL PROCESS NEXT LINE NZ X6,CLT7 IF ERROR IN *PTL* NZ X1,CLT8 IF EOR/EOF SA1 UBUF GET FIRST WORD SA2 CLTH FWA OF KEYWORD TABLE MX0 42 CLT2 BX3 X1-X2 BX4 X0*X3 ZR X4,CLT3 IF KEYWORD MATCH SA2 A2+1 ZR X2,CLT1 IF UNRECOGNIZED KEYWORD EQ CLT2 TRY NEXT WORD CLT3 SB3 X2+ GET KEYWORD PROCESSOR JP B3 PROCESS KEYWORD * PROCESS *COMMENT* STATEMENT. CLT4 EQ CLT1 IGNORE COMMENT STATEMENT * PROCESS *NPID* STATEMENT. CLT5 RJ CPE CREATE PID ENTRY SX6 B1 SA6 CLTK SET PID PROCESSED EQ CLT1 READ NEXT STATEMENT * PROCESS *NLID* STATEMENT. CLT6 RJ CLE CREATE LID ENTRY SA2 CLTK NZ X2,CLT1 IF A PID HAS BEEN PROCESSED MESSAGE CLTL * CLDT - NPID DIRECTIVE MUST BE PROCESSED* MESSAGE CLTM * BEFORE A NLID DIRECTIVE.* MESSAGE CPEG * ERROR IN THE FOLLOWING STATEMENT* MESSAGE WBUF THE NLID STATEMENT SX6 B1 SA6 FERF SET FATAL ERROR FLAG EQ CLT1 READ NEXT STATEMENT * PROCESS *PTL* ERROR. CLT7 BX6 X6-X6 SA6 CFSK ZR X1,CLT1 IF AN ERROR READ NEXT STATEMENT * UPDATE NUMBER OF LID-S FOR THE LAST PID. CLT8 SA2 HOST NZ X2,CLT11 IF HOST PID IS SPECIFIED SA2 HOSTPID BX7 X2 SA7 CLTI+2 SET HOST PID IN DEFAULTS SA2 CLTJ+2 BX7 X7-X2 SA7 CLTJ+2 SET HOST LID IN DEFAULTS SB2 7 CLT9 SA2 CLTI+B2 GET HOST PID DEFAULTS BX7 X2 SA7 UBUF+B2 FILL UBUF FOR *CPE* CALL SB2 B2-B1 NZ B2,CLT9 IF NOT DONE FILLING UBUF RJ CPE CREATE HOST PID SB2 3 CLT10 SA2 CLTJ+B2 GET HOST LID DEFAULTS BX7 X2 SA7 UBUF+B2 FILL UBUF FOR *CLE* CALL SB2 B2-B1 NZ B2,CLT10 IF NOT DONE FILLING UBUF RJ CLE CREATE HOST LID CLT11 SX7 B1+ SET EOF SA7 CLTG SA1 CLTB GET CURRENT POINTER SA2 LIDL GET LID TABLE LENGTH SX2 X2+LIDT+1 LWA OF LID TABLE IX7 X2-X1 SA7 FS RJ CPE UPDATE LAST PID ENTRY SA1 CLTD CLEAR *N-PID* OF THE LAST PID SA2 X1+B1 MX0 60-LNPDN BX7 X0*X2 SA7 A2 * GENERATE HEADER WORD OF LDT AND PARAMETER BLOCK. SA1 CLTF GET NUMBER OF PID-S SA2 LIDL GET LENGTH OF LID TABLE SX6 X2 SET PARAMETER BLOCK LENGTH LX2 LNTHS-LNTHN+1 BX7 X1+X2 SX2 B1 SET FET NOT BUSY LX6 59-11 BX6 X6+X2 MERGE BLOCK LENGTH WITH FET FLAG SA6 LIDT UPDATE LENGTH OF PARAMETER BLOCK SA7 A6+B1 UPDATE FWA OF LID TABLE EQ CLTX RETURN CLTA BSSZ 1 CLTB BSSZ 1 NEXT AVAILABLE LID TABLE ENTRY CLTD BSSZ 1 FWA OF CURRENT PID ENTRY CLTE BSSZ 1 NUMBER OF LID-S FOR PID CLTF BSSZ 1 NUMBER OF PID-S CLTG BSSZ 1 1 IF EOF * *LIDCM* KEYWORD TABLE. CLTH VFD 42/4LNLID,18/CLT6 VFD 42/4LNPID,18/CLT5 VFD 42/7LCOMMENT,18/CLT4 BSSZ 1 * DEFAULTS FOR HOST PID AND HOST LID IF NOT SPECIFIED. CLTI VFD 60/4LNPID NPID STATEMENT VFD 18/3LPID,36/0,6/1R= PID= STATEMENT VFD 60/0 HOST+MACHID PID VFD 36/6LMFTYPE,18/0,6/1R= MFTYPE STATEMENT VFD 60/7LNOSHOST NOSHOST DEFAULT VFD 12/2LAT,42/0,6/1R= VFD 60/5LVALID BSSZ 1 ZERO WORD CLTJ VFD 60/4LNLID NLID STATEMENT VFD 18/3LLID,36/0,6/1R= LID= STATEMENT VFD 60/1LA LID+MACHID LID BSSZ 1 ZERO WORD CLTK 1 IF PID PROCESSED CLTL DATA C* CLDT - NPID DIRECTIVE MUST BE PROCESSED BEFORE* CLTM DATA C* A NLID DIRECTIVE.* CPE SPACE 4,20 ** CPE - CREATE PID ENTRY. * * ENTRY (CLTB) = LID TABLE POINTER (NEXT AVAILABLE WORD). * (CLTD) = LAST PID ENTRY. * (CLTE) = NUMBER OF LID-S FOR LAST PID. * (CLTF) = NUMBER OF PID-S. * (CLTG) = 1 IF EOF. * (FS) = FREE SPACE FOR EACH PID. * * EXIT (CLTB) = NEXT AVAILABLE WORD. * (CLTD) = FWA OF CURRENT PID. * (CLTE) = 0. * (CLTF) = NUMBER OF PID-S UPDATED. * (CLET) = 0. * * USES X - 0, 1, 2, 3, 4, 6, 7. * A - 1, 2, 3, 4, 6, 7. * B - 3, 4, 7. * * CALLS SFN. * * MACROS MESSAGE. CPE SUBR ENTRY/EXIT SA1 CLTD GET FWA OF LAST PID ENTRY ZR X1,CPE3 IF FIRST CALL SA3 A1+B1 GET NUMBER OF LID-S FOR LAST PID ERRNZ CLTE-CLTD-1 ADJUST IF WORDS NOT CONTIGUOUS SA2 X1+B1 UPDATE NPID ENTRY BX6 X3 BX7 X7-X7 SA4 FSR GET REMAINDER OF FREE SPACE ZR X4,CPE1 IF NO REMAINDER OF FREE SPACE SX7 X4-1 SA7 A4 SX7 B1 CPE1 SA4 CLTB UPDATE NEXT AVAILABLE LID TABLE ENTRY SA3 FS IX6 X6+X3 ADD FREE SPACE TO NUMBER OF LID-S IX6 X6+X7 ADD REMAINDER FREE SPACE SA6 A2+B1 SET NUMBER OF LID-S FOR THIS PID ENTRY IX3 X3+X7 IX6 X4+X3 SA6 A4 SA6 CPEC IX7 X6-X1 CALCULATE NEXT PID OFFSET BX7 X2+X7 SA7 A2 ADD NPID CPE3 SA3 CLTG CHECK EOF SA1 CLTB GET NEXT AVAILABLE ENTRY NZ X3,CPEX IF EOF SX6 X1 SB7 X1 SA6 CLTD UPDATE FWA OF CURRENT PID ENTRY SA3 PIDD DEFAULT VALUE FOR PID SA1 UBUF GET FIRST PARAMETER BX6 X3 BX7 X7-X7 SA7 CLTE CLEAR NUMBER OF LID-S SA6 B7+ SET DEFAULT VALUE FOR PID SA7 CLET CLEAR LID TABLE SA7 CPET CLEAR *PID* EXISTENCE SA7 CPEU CLEAR *MFTYPE* EXISTENCE SA7 CPEV CLEAR *NETDIS* EXISTENCE SA7 CPEW CLEAR *HOST* EXISTENCE CPE4 MX0 42 SA1 A1+B1 GET KEYWORD SA2 CPEA GET KEYWORD TABLE ZR X1,CPE30 IF NO MORE KEYWORDS CPE5 ZR X2,CPE31 IF NO MATCH FOUND BX3 X1-X2 BX4 X0*X3 ZR X4,CPE6 IF KEYWORDS MATCH SA2 A2+1 EQ CPE5 TRY NEXT ENTRY CPE6 SB3 X2 SX3 1R= BX2 X1-X3 BX4 -X0*X2 NZ X4,CPE37 IF SEPARATOR NOT *=* SA1 A1+B1 JP B3 PROCESS RESPECTIVE KEYWORD * PROCESS *PID* KEYWORD. CPE7 MX0 18 SA2 CPET CHECK IF *PID* ALREADY SPECIFIED BX6 X0*X1 ZR X6,CPE32 IF NO *PID* SPECIFIED NZ X2,CPE39 IF *PID* ALREADY SPECIFIED LX0 -18 BX7 X0*X1 NZ X7,CPE32 IF PID HAS MORE THAN THREE CHARACTERS LX0 6 BX7 X0*X1 ZR X7,CPE32 IF PID HAS LESS THAN THREE CHARACTERS BX7 X6 MX0 6 SB2 3 CPE8 BX2 X7*X0 LX2 6 ZR X2,CPE32 IF THE CHARACTER IS A COLON NG X2,CPE32 IF THE CHARACTER IS NOT ALPHANUMERIC SX2 X2-1R9-1 PL X2,CPE32 IF THE CHARACTER IS NOT ALPHANUMERIC LX7 6 SB2 B2-B1 NZ B2,CPE8 IF THERE ARE MORE CHARACTERS TO CHECK SA2 CLTF UPDATE NUMBER OF PID-S ZR X2,CPE10 IF NUMBER OF PID-S EQUALS ZERO SB3 X2 CPE9 SA3 B3+CPEY-1 CHECK FOR DUPLICATE PID-S BX7 X3-X6 SB3 B3-B1 ZR X7,CPE39 IF DUPLICATE PID GT B3,CPE9 IF MORE PID-S TO CHECK CPE10 SA6 CPEY+X2 ADD NEW PID SX7 X2+1 SA7 A2+ SA7 CPET SET FLAG TO INDICATE *PID* EXIST SA2 HOSTPID CHECK FOR CURRENT HOST MAINFRAME BX7 X2-X6 SA2 B7 CURRENT FWA OF PID ENTRY SA7 HOSTFLG SET HOST PID FLAG (0 IF HOST MAINFRAME) NZ X7,CPE11 IF NOT HOST SX7 B1 SA7 HOST SET HOST PID SPECIFIED SA7 CPEW SET HOST SPECIFIED LX7 LHSTS-0 SET HOST FLAG IN PID ENTRY BX6 X6+X7 LX7 LVADS-0-LHSTS+0 ADD VALIDATION FLAG BX6 X6+X7 BX7 X7-X7 INDICATE HOST PID SA3 CPEV NZ X3,CPE35 IF HOST AND *NETDIS* SPECIFIED CPE11 BX6 X6+X2 SA6 A2 ADD PID SA2 CPEC CHECK IF *NETDIS* SPECIFIED IX2 X2+X7 SA7 A2 HOST FLAG (0 IF HOST) EQ CPE4 PROCESS NEXT KEYWORD * PROCESS *ENABLED* KEYWORD. CPE12 SX3 3RYES LX3 -18 BX6 X1-X3 BX7 X0*X6 ZR X7,CPE4 IF *YES* PROCESS NEXT KEYWORD SX3 2RNO LX3 -12 BX6 X1-X3 BX7 X0*X6 NZ X7,CPE33 IF INCORRECT KEYWORD SX6 B1 LX6 LENAS-0 SA2 B7 GET CURRENT FIRST WORD OF PID BX6 -X6*X2 CLEAR ENABLED FLAG SA6 A2 EQ CPE4 PROCESS NEXT KEYWORD * PROCESS *MFTYPE*. CPE13 BX6 X0*X1 GET MFTYPE BX3 -X0*X1 CHECK EXCESS CHARACTERS ZR X6,CPE40 IF NO MFTYPE SPECIFIED AX3 6 ELIMINATE LAST CHARACTER NZ X3,CPE40 IF MORE THAN 7 CHARACTERS SX3 1R/ BX2 X1-X3 BX4 -X0*X2 BX1 X6 RJ SFN SPACE FILL MAINFRAME DESCRIPTION BX6 X6*X0 CLEAR N-PID AREA SA6 B7+LMFDW-1 PUT MFTYPE IN LDT SX6 B1 SA6 CPEU SET FLAG TO INDICATE *MFTYPE* EXISTS NZ X4,CPE4 IF SEPARATOR NOT */* * PROCESS POSSIBLE *NOS/BE* TYPE MAINFRAME. SX3 1R/ BX6 X1 RESET X6 TO *MFTYPE* ZERO FILLED SB3 60-6 SB4 6 MX7 6 CPE14 BX4 X7*X6 ZR X4,CPE15 IF END OF CHARACTERS LX6 X6,B4 SB3 B3-B4 EQ CPE14 CHECK NEXT CHARACTER CPE15 LX6 X6,B4 BX6 X6+X3 ADD */* SA1 A1+B1 GET NEXT WORD SB4 B3-B1 MX0 1 AX0 X0,B4 BX0 X0*X1 BX6 X6+X1 ADD REMAINING CHARACTERS LX6 X6,B3 SHIFT BACK SA6 B7+B1 EQ CPE4 PROCESS NEXT KEYWORD * PROCESS *AT* KEYWORD. CPE16 SA2 CPEB GET *AT* KEYWORD TABLE CPE17 BX3 X1-X2 BX4 X0*X3 ZR X4,CPE18 IF *AT* KEYWORD MATCH SA2 A2+B1 NZ X2,CPE17 IF NOT END OF TABLE EQ CPE34 UNRECOGNIZED KEYWORD CPE18 SX5 1R/ SX6 X1 SA3 B7 SX7 B1 SB3 X2 JP B3 PROCESS RESPECTIVE *AT* KEYWORD * PROCESS *NVALID* KEYWORD. CPE19 LX7 LVADS-0 BX7 -X7*X3 CLEAR VALIDATE FLAG SA7 B7+ EQ CPE22 CONTINUE WITH NEXT KEYWORD * PROCESS *VALID* KEYWORD. CPE20 LX7 LVADS-0 BX7 X3+X7 ADD VALIDATE FLAG SA7 B7+ EQ CPE22 CONTINUE WITH NEXT KEYWORD * PROCESS *NLIST* KEYWORD. CPE21 LX7 LNSTS-0 BX7 X3+X7 ADD NO-LIST FLAG SA7 B7+ * *AT* POST-PROCESSOR. CPE22 BX7 X5-X6 NZ X7,CPE4 IF NOT */* MX0 42 SA1 A1+1 EQ CPE16 PROCESS NEXT *AT* KEYWORD * PROCESS *NETDIS* KEYWORD. CPE23 SA3 CPEC GET HOST TYPE SA2 CPEW NZ X2,CPE35 IF HOST AND *NETDIS* BX7 X7-X7 INDICATE *NETDIS* SPECIFIED SA7 A3 MX0 -12 SA3 B7 BX7 X0*X3 CLEAR *NETDIS* AREA SA7 B7 SA2 CPED *NETDIS* TABLE CPE24 BX3 X1-X2 SX7 B1 SA7 CPEV SET *NETDIS* SPECIFIED MX0 42 BX4 X0*X3 ZR X4,CPE25 IF KEYWORD MATCH SA2 A2+1 NZ X2,CPE24 IF NOT END OF TABLE EQ CPE36 UNRECOGNIZED KEYWORD CPE25 SX5 1R/ SX6 X1 SA3 B7 SX7 /NTS/DAB+/NTS/NAV SB3 X2+ JP B3 PROCESS RESPECTIVE KEYWORD * PROCESS *SSF* KEYWORD. CPE26 LX7 LSFSS-LNPSS BX7 X7+X3 SA7 B7+ SET SSF ACCESS TO 0 EQ CPE29 PROCESS NEXT KEYWORD * PROCESS *RHF* KEYWORD. CPE27 LX7 LRHSS-LNPSS BX7 X7+X3 SA7 B7+ SET RHF ACCESS TO 0 EQ CPE29 PROCESS NEXT KEYWORD * PROCESS *NAM* KEYWORD. CPE28 LX7 LNPSS-LNPSS BX7 X7+X3 SA7 B7+ SET NAM ACCESS TO 0 * EQ CPE29 PROCESS NEXT KEYWORD * *NETDIS* KEYWORD POST-PROCESSOR. CPE29 BX7 X5-X6 NZ X7,CPE4 IF NOT */* SA1 A1+B1 SA2 CPED FWA OF *NETDIS* KEYWORD TABLE EQ CPE24 CONTINUE WITH NEXT KEYWORD * COMPLETE *NPID* STATEMENT. CPE30 SA1 CPET CHECK IF *PID* KEYWORD EXISTS ZR X1,CPE38 IF NO *PID* SPECIFIED SA1 CPEU CHECK IF *MFTYPE* KEYWORD EXISTS ZR X1,CPE41 IF NO *MFTYPE* SPECIFIED SX7 B7+LRI3W-LNTHW SET NEXT AVAILABLE WORD IN LID TABLE SA7 CLTB EQ CPEX RETURN * INCORRECT *NPID* STATEMENT. CPE31 MESSAGE CPEE *VALID KEYWORDS FOR NPID ARE* MESSAGE CPEF *PID,MFTYPE,ENABLED, AT AND NETDIS.* EQ CPE42 ISSUE ERROR MESSAGES * INCORRECT *PID* PARAMETER. CPE32 MESSAGE CPEH *SPECIFY EXACTLY 3 ALPHANUMERIC CHARS.* EQ CPE42 ISSUE ERROR MESSAGES * INCORRECT *ENABLED* PARAMETER. CPE33 MESSAGE CPEZ *YES OR NO ALLOWED ON ENABLED KEYWORD* EQ CPE42 ISSUE ERROR MESSAGES * INCORRECT *AT* KEYWORD. CPE34 MESSAGE CPEJ *OPTIONS FOR *AT* ARE VALID/NVALID/* MESSAGE CPEK *NLIST.* EQ CPE42 ISSUE ERROR MESSAGES * INCORRECT HOST AND NETDIS. CPE35 MESSAGE CPEL *NETDIS IS INCORRECT FOR HOST PID* EQ CPE42 ISSUE ERROR MESSAGES * INCORRECT *NETDIS* KEYWORD. CPE36 MESSAGE CPEM *VALID KEYWORD FOR NETDIS ARE* MESSAGE CPEN *SSF, RHF AND NAM* EQ CPE42 ISSUE ERROR MESSAGES CPE37 MESSAGE CPEO *CLDT - = MUST FOLLOW KEYWORD.* EQ CPE42 ISSUE ERROR MESSAGES * NO *PID* KEYWORD ON *NPID* STATEMENT. CPE38 MESSAGE CPEP *NO PID SPECIFIED.* EQ CPE42 ISSUE ERROR MESSAGES * DUPLICATE PID FOUND. CPE39 MESSAGE CPEQ *DUPLICATE PID ON NPID STATEMENT.* EQ CPE42 ISSUE ERROR MESSAGES * INCORRECT MFTYPE. CPE40 MESSAGE CPER *MAXIMUM 7 CHARACTERS ALLOWED ON MFTYPE.* EQ CPE42 ISSUE ERROR MESSAGES * NO *MFTYPE* KEYWORD ON *NPID* STATEMENT. CPE41 MESSAGE CPES *NO MFTYPE SPECIFIED.* CPE42 MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT MESSAGE WBUF *NPID STATEMENT* SX6 B1 SA6 FERF SET FATAL ERROR FLAG EQ CPEX RETURN * *PID* KEYWORD TABLE. CPEA VFD 42/3LPID,18/CPE7 *PID* VFD 42/7LENABLED,18/CPE12 *ENABLED* VFD 42/6LMFTYPE,18/CPE13 *MFTYPE* VFD 42/2LAT,18/CPE16 *AT* VFD 42/6LNETDIS,18/CPE23 *NETDIS* VFD 60/0 * *AT* KEYWORD TABLE. CPEB VFD 42/6LNVALID,18/CPE19 *NVALID* VFD 42/5LVALID,18/CPE20 *VALID* VFD 42/5LNLIST,18/CPE21 *NLIST* VFD 60/0 CPEC CON 1 NOT *HOST* NOR *NETDIS* SPECIFIED * SUBSYSTEM KEYWORD TABLE. CPED VFD 42/3LSSF,18/CPE26 *SSF* VFD 42/3LRHF,18/CPE27 *RHF* VFD 42/3LNAM,18/CPE28 *NAM* BSSZ 1 END OF *NETDIS* TABLE CPEE DATA C* CLDT - VALID KEYWORDS FOR NPID ARE * CPEF DATA C* PID,MFTYPE,ENABLED,AT AND NETDIS.* CPEG DATA C* CLDT - ERROR IN THE FOLLOWING STATEMENT.* CPEH DATA C* CLDT - SPECIFY EXACTLY 3 ALPHANUMERIC CHARACTERS IN ,PID.* CPEJ DATA C+ CLDT - VALID OPTIONS FOR *AT* ARE VALID/NVALID/+ CPEK DATA C* NLIST.* CPEL DATA C* CLDT - NETDIS IS INCORRECT FOR HOST PID.* CPEM DATA C* CLDT - VALID OPTIONS FOR NETDIS ARE * CPEN DATA C* SSF, RHF AND NAM.* CPEO DATA C* CLDT - = MUST FOLLOW KEYWORD.* CPEP DATA C* CLDT - NO PID SPECIFIED ON NPID STATEMENT.* CPEQ DATA C* CLDT - DUPLICATE PID ON NPID STATEMENT.* CPER DATA C* CLDT - MAXIMUM OF 7 CHARACTERS ALLOWED ON MFTYPE.* CPES DATA C* CLDT - NO MFTYPE SPECIFIED ON NPID STATEMENT.* CPET BSSZ 1 *PID* EXIST FLAG IF .NE. 0 CPEU BSSZ 1 *MFTYPE EXIST FLAG IF .NE. 0 CPEV BSSZ 1 *NETDIS* SPECIFIED FLAG (1 IF SPECIFIED) CPEW BSSZ 1 HOST FLAG (1 IF HOST PID) CPEY BSSZ MXPID PROCESSED PID-S CPEZ DATA C* CLDT - ONLY YES OR NO ALLOWED ON ENABLED KEYWORD.* PSE SPACE 4,10 ** PSE - PAUSE FOR OPERATOR GO/DROP. * * USES X - 1, 6. * A - 1, 6. * B - NONE. * * MACROS RECALL. PSE SUBR ENTRY/EXIT SA1 B0 SET PAUSE FLAG IN RA+0 SX6 10000B BX6 X1+X6 SA6 A1 PSE1 RECALL SA1 B0 LX1 59-12 NG X1,PSE1 IF PAUSE FLAG NOT CLEARED EQ PSEX RETURN PTL SPACE 4,20 ** PTL - PROCESS TEXT LINE. * * *PTL* PERFORMS THE FOLLOWING FUNCTIONS - * 1. READ IN ONE TEXT LINE. * 2. SKIP TEXT LINE IF THE FIRST CHARACTER IS *. * 3. ADD TERMINATOR IF THERE IS NONE. * 4. UNPACK THE TEXT LINE. * * ENTRY LID CONFIGURATION FILE LOCAL TO THE JOB. * * EXIT (X1) .NE. 0 IF EOR/EOF ENCOUNTERED. * FERF .EQ. 1 IF AN UNRECOGNIZED DIRECTIVE WAS * ENCOUNTERED. * * USES X - ALL. * A - 1, 2, 3, 4, 5, 6, 7. * B - 2, 3, 4, 7. * * CALLS UPC. * * MACROS READC. PTL SUBR ENTRY/EXIT PTL1 READC I,WBUF,WBUFL READ A LINE BX6 X6-X6 NZ X1,PTLX IF EOR/EOF SX6 1R* SA1 WBUF MX0 6 SKIP COMMENTS BX3 X0*X1 LX6 -6 BX0 X3-X6 ZR X0,PTL1 IF FIRST CHARACTER -*- SA4 PTLA MX0 42 BX3 X0*X1 GET FIRST 7 CHARACTERS OF DIRECTIVE BX3 X3-X4 SUBTRACT *COMMENT* FROM FIRST 7 CHARACTERS ZR X3,PTL1 IF FIRST 7 CHARACTERS ARE *COMMENT* MX0 24 BX3 X0*X1 SA4 PTLB BX4 X3-X4 SUBTRACT *NPID* FROM CHARACTERS ZR X4,PTL3 IF CHARACTERS ARE *NPID * SA4 PTLC BX4 X3-X4 SUBTRACT *NLID* FROM CHARACTERS NZ X4,PTL9 IF CHARACTERS ARE NOT *NLID * PTL3 SX1 1R. SX2 1R) SB4 60 SB3 6 LX2 -6 MX0 6 LX1 -6 SA4 B6-B1 NZ X4,PTL4 IF EOL CONTAINED IN LAST WORD SA4 A4-1 CHECK PREVIOUS WORD FOR COLONS PTL4 BX3 X0*X4 BX6 X1-X3 ZR X3,PTL5 IF END OF LINE ZR X6,PTL6 IF TERMINATOR *.* BX6 X2-X3 ZR X6,PTL6 IF TERMINATOR *)* LX4 X4,B3 LEFT SHIFT ONE CHARACTER SB4 B4-B3 NZ B4,PTL4 IF NOT AT WORD BOUNDARY SA4 A4+B1 SB4 60 EQ PTL4 TRY NEXT WORD PTL5 BX7 X1+X4 POSITION BACK LX7 X7,B4 SA7 A4+ PTL6 SB3 10 INITIALIZE CHARACTER COUNT MX0 6 SA4 WBUF PTL7 BX3 X0*X4 ONE CHARACTER FROM WBUF BX5 X3-X2 ZR X5,PTL8 IF TERMINATOR *)* AND NO COLON BX5 X3-X1 ZR X5,PTL8 IF TERMINATOR *.* AND NO COLON ZR X3,PTL10 IF A COLON OR *00* IN WBUF LX4 6 SHIFT TO NEXT CHARACTER SB3 B3-B1 DECREMENT CHARACTER COUNT NZ B3,PTL7 IF MORE CHARACTERS TO CHECK IN WORD SB3 10 INITIALIZE CHARACTER COUNT SA4 A4+B1 INCREMENT TO NEXT WORD SB2 A4 LE B2,B6,PTL7 IF THERE IS ANOTHER WORD TO CHECK PTL8 SB7 UBUF FWA TO UNPACK INTO SA5 WBUF FWA TO UNPACK RJ UPC SA2 UBUF+2 SA1 HOSTPID BX2 X2-X1 NZ X2,PTL8.1 IF NOT HOST PID BX7 X1 SA7 HOST SET HOST SPECIFIED PTL8.1 SA1 UBUF SA4 PTLB BX4 X1-X4 ZR X4,PTL8.2 IF CHARACTERS ARE *NPID * SA4 PTLC BX4 X1-X4 NZ X4,PTL12 IF NOT *NLID* DIRECTIVE PTL8.2 BX6 X6-X6 BX1 X1-X1 SA6 A6+1 MAKE SURE LAST WORD IS ZERO EQ PTLX RETURN * UNRECOGNIZED DIRECTIVE. PTL9 BX1 X1-X1 CLEAR EOF/EOR SX6 B1 SA6 FERF SET FATAL ERROR FLAG SA6 CFSK SET *CFS* FATAL ERROR FLAG EQ PTLX RETURN * COLON FOUND IN DIRECTIVE. PTL10 SA3 PTLF NZ X3,PTL11 IF *PTL* CALLED BY *CLT* MESSAGE PTLD * INCORRECT CHARACTER IN DIRECTIVE. PTL10.1 MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT.* MESSAGE WBUF SX6 B1 SA6 FERF SET FATAL ERROR FLAG SA6 CFSL SET ERROR FLAG EQ PTLX RETURN * *PTL* CALLED BY *CLT*. PTL11 SX6 B1 BX1 X1-X1 EQ PTLX RETURN * NO SEPARATOR AFTER NPID OR NLID. PTL12 SA3 PTLF NZ X3,PTL11 IF *PTL* CALLED BY *CLT* MESSAGE PTLE * A SEPARATOR MUST FOLLOW NLID OR NPID.* EQ PTL10.1 ISSUE ERROR MESSAGE * *COMMENT* DIRECTIVE PTLA VFD 42/7LCOMMENT,18/0 PTLB VFD 24/4LNPID,36/0 PTLC VFD 24/4LNLID,36/0 PTLD DATA C* CLDT - INCORRECT CHARACTER IN DIRECTIVE.* PTLE DATA C* CLDT - A SEPARATOR MUST FOLLOW NLID OR NPID.* PTLF CON 0 1 IF *PTL* CALLED ONCE SPACE 4 * COMMON DECKS. *CALL COMCCIO *CALL COMCCPM *CALL COMCPFM *CALL COMCRDC *CALL COMCRDW *CALL COMCSFM *CALL COMCSFN *CALL COMCSYS *CALL COMCUPC TITLE BUFFERS. * BUFFERS. IBUF BSS IBUFL LID CONFIGURATION FILE BUFFER UBUF BSS UBUFL UNPACK BUFFER WBUF BSS WBUFL WORKING BUFFER LIDT VFD 12/0,30/0,8/0,1/0 * NOTE - THE FOLLOWING AREA WILL BE USED FOR THE LID TABLE. PRS TITLE PRESET. ** PRS - PRESET ROUTINE. * * ENTRY (JOPR) = JOB ORIGIN. * * EXIT VALIDATION COMPLETED. * TO *CLD1* IF LDT INTENTIONALLY NOT TO BE CREATED AT * DEADSTART TIME (SEE CRITERIA BELOW). * TO *CLD3* IF FATAL ERROR DETECTED. * * USES X - ALL. * A - 1, 2, 3, 4, 6, 7. * B - 1. * * CALLS ARG, SNM. * * MACROS ATTACH, EREXIT, GET, MACHID, MESSAGE, READ, REWIND, * STATUS, SYSTEM. * * NOTE *PRS* WILL BE OVERLAID BY THE LDT. PRS SUBR ENTRY/EXIT SB1 1 EREXIT CLD5 NORMAL EXIT FOR OPERATOR DROP SA1 JOPR CHECK FOR SYSTEM ORIGIN MX0 -12 LX1 36 BX1 -X0*X1 SX6 X1-SYOT (X6) = 0 IF SYSTEM ORIGIN SA6 JORG * GET *LDT* LENGTH. SYSTEM RSB,R,LDPT SA1 LDPT+1 LDT LENGTH MX0 -12 LX1 -24 BX6 -X0*X1 SA6 LIDL SAVE LDT LENGTH * GET SUBSYSTEM ID. GETSSID DSSQ SA1 DSSQ CP SUBSYSTEM ID MX0 -12 BX6 -X0*X1 SX6 X6-DSSI (X6) = 0 IF DEADSTART SEQUENCE SA6 A1+ SAVE DEADSTART SEQUENCE FLAG * CREATE HOST PID. ESTABLISH THE DEFAULT NAME OF THE LID * CONFIGURATION FILE. MACHID MACH SA1 MACH GET MACHINE ID MX0 -12 BX1 -X0*X1 BX6 X1 WORKING COPY OF MACHINE ID SA2 HOSTPID CREATE HOST PID LX6 42 BX6 X2+X6 MERGE *M* WITH MACHINE ID SA6 A2 SAVE HOST PID SA3 I PUT ID IN LID FILE NAME BX6 X1 LX6 18 BX6 X3+X6 SA6 A3 SAVE NEW (DEFAULT) FILE NAME SA6 RCRD SAVE IMAGE OF FIRST RECORD ON FILE SA4 I+1 SET ERROR PROCESSING BIT SX6 B1 LX6 44 BX6 X4+X6 SA6 A4 SX7 ERAD SET ERROR RETURN ADDRESS IN FET SA7 I+10 SA5 PRSA+3 PUT ID IN ERROR MESSAGE LX0 30 BX5 X0*X5 LX1 30 BX6 X1+X5 SA6 A5+ * PROCESS *CLDT* ARGUMENTS, IF ANY. SA1 ACTR GET ARGUMENT COUNT SB4 X1+ ZR B4,PRS1 IF NO ARGUMENTS SA4 ARGR GET FIRST ARGUMENT SB5 TARG FWA OF ARGUMENT TABLE RJ ARG PROCESS ARGUMENTS NZ X1,PRS4 IF ARGUMENT ERROR PRS1 SA1 I NZ X1,PRS2 IF FILE NAME PRESENT SA1 RCRD RESTORE FET NAME (*I=0* SPECIFIED) BX6 X1 SA6 I PRS2 MX0 42 BX1 X0*X1 FILE NAME SB2 1RX SET SEARCH CHARACTER SB5 PRSD FWA OF ERROR MESSAGE RJ SNM SET FILE NAME IN ERROR MESSAGE * CHECK IF FILE IS LOCAL. IF NOT, *GET* OR *ATTACH* THE FILE * UNDER THE JOB-S USER NAME. STATUS I SA1 I GET STATUS MX0 -11 AX1 1 BX2 -X0*X1 NZ X2,PRS3 IF FILE LOCAL TO JOB GET I,,,,,,DF GET FILE ON SYSTEM DEFAULT FAMILY SA4 I CHECK IF FILE EXISTS MX0 8 LX4 59-17 BX6 X0*X4 ZR X6,PRS3 IF FILE FOUND ATTACH I,,,,,,,DF SA4 I CHECK IF FILE EXISTS MX0 8 LX4 59-17 BX6 X0*X4 ZR X6,PRS3 IF FILE FOUND * THE LID FILE WAS NOT FOUND AND IS NOT LOCAL TO THE JOB. * DETERMINE IF *CLDT* WAS INTENDED TO CREATE AN LDT. NO LDT * WILL BE CREATED AND NORMAL EXIT PROCESSING (ENDRUN) WILL * OCCUR IF ALL OF THE FOLLOWING CRITERIA ARE MET. * 1) JOB HAS *DEADSTART SEQUENCE* SUBSYSTEM ID, * 2) NO LIDCMID FILE IS FOUND UNDER UN=SYSTEMX. SA1 DSSQ NZ X1,PRS6 IF NOT DEADSTART SEQUENCE EQ CLD1 * CLDT - NO LID TABLE CREATED.* PRS3 SA2 LIDL SB2 X2 LE B2,B1,PRS5 IF NO SPACE RESERVED FOR LDT REWIND I,R READ I,R INITIAL READ SA1 X2+1 GET *FIRST* SA3 RCRD SA1 X1 READ FIRST STATEMENT IN FILE MX0 42 BX4 X1-X3 BX6 X0*X4 ZR X6,PRSX IF FIRST STATEMENT IS LIDCMID SA1 JORG NZ X1,PRSX IF NON-SYSTEM ORIGIN USER MESSAGE PRSA * FIRST STATEMENT NOT LIDCMXX.* EQ CLD3 * CLDT ABORT.* PRS4 MESSAGE PRSB * CLDT - COMMAND ERROR.* EQ CLD3 * CLDT ABORT.* PRS5 SA1 JORG NZ X1,PRSX IF NON-SYSTEM ORIGIN USER MESSAGE CLDD * NO LID TABLE CREATED.* MESSAGE PRSC * BUFFER TOO SMALL.* EQ CLD3 * CLDT ABORT.* PRS6 MESSAGE CLDD * NO LID TABLE CREATED.* MESSAGE PRSD * FILE XXXXXXX NOT FOUND.* EQ CLD3 * CLDT ABORT.* * PRESET ERROR MESSAGES. PRSA DATA C* CLDT - FIRST STATEMENT NOT LIDCMXX.* PRSB DATA C* CLDT - COMMAND ERROR.* PRSC DATA C* CLDT - BUFFER TOO SMALL.* PRSD DATA C* CLDT - FILE XXXXXXX NOT FOUND.* SPACE 4,10 * PRESET STORAGE LOCATIONS. ERAD BSS 8 ERROR MESSAGE RETURN ADDRESS LDPT VFD 12/0,12/1,18/LIDP,18/LDPT+1 CON -1 MACH CON 0 MACHINE ID RCRD CON 0 FIRST RECORD ON FILE SPACE 4,10 * ARGUMENT TABLE. TARG BSS 0 I ARG I,I ARG CFS SPACE 4,30 ** CFS - CALCULATE FREE SPACE. * * *CFS* WILL CALCULATE THE FREE SPACE FOR THE LID TABLE. EACH * PID WILL HAVE AN EQUAL AMOUNT OF WORDS TO ALLOW NEW LID-S TO * BE ADDED. THE SPACE FOR EACH PID IS CALCULATED BASED ON * THE FOLLOWING FORMULA. * * FS = (LIDL-1 - NP*3 - SUM(I[NLID * 0.5]))/NP * * WHERE * LIDL = TOTAL LENGTH OF LID TABLE IN CM WORD *LIDP*. * NP = TOTAL NUMBER OF PID-S. * NLID = TOTAL NUMBER OF LID-S OF PID. * I[ ] = INTEGER OF THE ARGUMENT. * SUM( ) = SUMMATION OF( ). * * ENTRY = FILE LIDCM LOCAL. * * EXIT (FS) = FREE SPACE FOR EACH PID. * TO *CLD3* IF FATAL ERROR ENCOUNTERED. * * USES X - 0, 1, 2, 3, 4, 6, 7. * A - 1, 2, 3, 6, 7. * B - 2, 5. * * CALLS CDD, PTL, SNM. * * MACROS MESSAGE, READ, READC, REWIND. * * NOTE *CFS* WILL BE OVERLAID BY THE LDT. CFS SUBR ENTRY/EXIT SA1 JORG ZR X1,CFS0 IF SYSTEM ORIGIN JOB SX6 MXLDT+1 DEFAULT = MAXIMUM LDT SIZE FOR *VERIFY* SA6 LIDL CFS0 REWIND I READ X2 INITIATE READ READC X2,WBUF,WBUFL SKIP FIRST LINE CFS1 RJ PTL PROCESS TEXT LINE SA2 CFSK NZ X2,CFS8 IF AN UNRECOGNIZED DIRECTIVE ENCOUNTERED SA2 CFSL ZR X2,CFS2 IF NOT INCORRECT CHARACTER BX6 X6-X6 SA6 CFSL CLEAR ERROR FLAG EQ CFS1 READ NEXT STATEMENT CFS2 NZ X1,CFS4 IF EOR/EOF SA1 UBUF SA2 CLTH+1 CHECK IF *NPID* MX0 42 BX3 X1-X2 BX3 X0*X3 ZR X3,CFS3 IF *NPID* * INCREMENT NUMBER OF LID-S BY 1, AND PROCESS NEW LID. SA1 CFSA SA2 A1+B1 ERRNZ CFSB-CFSA-1 CFSA AND CFSB MUST BE CONTIGUOUS SX6 X1+B1 SX7 X2+B1 SA6 A1 SA7 A2+ EQ CFS1 READ NEXT STATEMENT * PROCESS NEW PID. CFS3 SA1 CFSC UPDATE NUMBER OF PID-S SA2 A1-B1 GET NUMBER OF LID OF PREVIOUS LID ERRNZ CFSC-CFSB-1 CFSC AND CFSB MUST BE CONTIGUOUS SX6 X1+B1 SA6 A1+ SX3 X6-MXPID-1 CHECK MAXIMUM NUMBER OF PID-S PL X3,CFS7 IF MAXIMUM NUMBER OF PID-S EXCEEDED SA3 CFSD IX7 X2+X3 SA7 A3+ UPDATE NUMBER OF WORDS NEEDED FOR LID BX6 X6-X6 SA6 CFSB CLEAR LID COUNT EQ CFS1 READ NEXT STATEMENT * END OF FILE. CFS4 SA2 HOST NZ X2,CFS5 IF HOST SPECIFIED SA2 CFSC SX2 X2+B1 ADD 1 FOR HOST PID BX6 X2 SA6 CFSC SA2 CFSA SX2 X2+B1 ADD 1 FOR HOST LID BX6 X2 SA6 CFSA CFS5 BX6 X6-X6 SA6 HOST CLEAR HOST PID SPECIFIED SA2 CFSB GET NUMBER OF LID-S OF LAST PID SA3 CFSD IX2 X2+X3 * CALCULATE FREE SPACE. SA1 CFSC NUMBER OF PID-S BX3 X1 MULTIPLIED BY 3 LX3 1 IX4 X3+X1 NUMBER OF WORDS FOR PID SA3 LIDL GET TOTAL LENGTH SX3 X3-1 SET LENGTH FOR CALCULATING FREE SPACE IX6 X2+X4 SA6 CFSE MINIMUM WORDS FOR LDT IX7 X3-X6 TOTAL FREE SPACE NG X7,CFS6 IF NOT ENOUGH SPACE BX3 X7 SAVE TOTAL FREE SPACE BX2 X1 SAVE NUMBER OF PID-S IX6 X7/X1 FREE SPACE PER PID IX7 X2*X6 CALCULATE REMAINDER IX7 X3-X7 SA6 FS SA7 FSR SAVE REMAINDER SX6 B1 SA6 PTLF *PTL* CALLED ONCE EQ CFSX RETURN CFS6 MESSAGE CFSF *UNABLE TO GENERATE LID TABLE * SA1 LIDL SX1 X1-1 RJ CDD CONVERT TO DISPLAY MX0 1 SB2 B2-B1 AX0 X0,B2 BX1 X0*X4 SB2 1RX REPLACE CHARACTER SB5 CFSG FWA OF MESSAGE RJ SNM SET NUMBER INTO CHARACTER MESSAGE CFSG *NUMBER OF WORDS AVAILABLE FOR LID - XXX.* SA1 CFSE NUMBER OF WORDS NEEDED RJ CDD CONVERT TO DISPLAY MX0 1 ZERO OUT BLANKS SB2 B2-B1 AX0 X0,B2 BX1 X0*X4 SB2 1RX SB5 CFSH FWA OF MESSAGE RJ SNM MESSAGE CFSH * NUMBER OF WORDS NEEDED FOR LID - XXX.* EQ CLD3 * CLDT ABORT.* * MAXIMUM NUMBER OF PID-S EXCEEDED. CFS7 SX1 MXPID RJ CDD CONVERT MAXIMUM NUMBER OF PID-S TO DISPLAY MX0 1 ZERO OUT BLANKS SB2 B2-B1 AX0 X0,B2 BX1 X0*X4 SB2 1R$ SB5 CFSI FWA OF MESSAGE RJ SNM MESSAGE CFSI * EXCEEDED MAXIMUM NUMBER OF PID-S - XXX.* EQ CLD3 * CLDT ABORT.* * UNRECOGNIZED DIRECTIVE. CFS8 BX6 X6-X6 SA6 CFSK CLEAR *CFS* FATAL ERROR FLAG ZR X1,CFS9 IF NOT EOR/EOF SX6 B1+ SA6 CFSK SET *CFS* FATAL ERROR FLAG TO SHOW EOR/EOF CFS9 MESSAGE CFSJ * CLDT - UNRECOGNIZABLE DIRECTIVE.* MESSAGE CPEG *ERROR IN THE FOLLOWING STATEMENT.* MESSAGE WBUF SA2 CFSK NZ X2,CFS4 IF EOR/EOF BX6 X6-X6 SA6 CFSK CLEAR *CFS* FATAL ERROR FLAG EQ CFS1 READ NEXT STATEMENT CFSA BSSZ 1 COUNTER FOR TOTAL NUMBER OF LID-S CFSB BSSZ 1 COUNTER FOR LID-S OF PID CFSC BSSZ 1 COUNTER FOR TOTAL NUMBER OF PID-S CFSD BSSZ 1 NUMBER OF WORDS FOR LID-S CFSE BSSZ 1 NUMBER OF WORDS NEEDED FOR LIDT CFSF DATA C* CLDT - UNABLE TO GENERATE LID TABLE.* CFSG DATA C* NUMBER OF WORDS AVAILABLE FOR LID - XXX.* CFSH DATA C* NUMBER OF WORDS NEEDED FOR LID - XXX.* CFSI DATA C* CLDT - EXCEEDED MAXIMUM NUMBER OF PID-S - $$$.* CFSJ DATA C* CLDT - UNRECOGNIZABLE DIRECTIVE.* CFSK CON 0 FATAL ERROR FLAG UNRECOGNIZED DIRECTIVE CFSL CON 0 FATAL ERROR FLAG INCORRECT CHARACTER SPACE 4 * PRESET COMMON DECKS. *CALL COMCARG *CALL COMCCDD *CALL COMCLFM *CALL COMCSNM SPACE 4,10 * RESERVE SUFFICIENT SPACE TO HOLD THE MAXIMUM SIZE OF THE LDT. ERRNZ PRS-LIDT-1 WORDS MUST BE CONTIGUOUS LENGTH EQU *-PRS LENGTH OF OVERLAYABLE ROUTINES MAXLTH EQU MXLDT-LENGTH MAX LDT SIZE - OVERLAYABLE LENGTH BSSZ MAXLTH ADDITIONAL CM WORDS REQUIRED TO HOLD LDT RFL= EQU * END CLDT