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