IDENT LISTLID,FWA
TITLE LISTLID - LIST LID TABLE.
ABS
SST
ENTRY LISTLID
ENTRY RFL=
ENTRY SSJ=
SYSCOM B1
*COMMENT LISTLID - LIST LID TABLE.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
SPACE 4,10
*** LISTLID - LIST LID TABLE.
*
* K. A. KRIEG 83/10/04.
SPACE 4,10
*** *LISTLID* IS A UTILITY TO LIST THE CONFIGURATION OF
* THE LID TABLE (LDT).
SPACE 4,10
*** COMMAND FORMAT.
*
* LISTLID,P1,P2...PN.
*
* PARAMETERS ARE ORDER-INDEPENDENT. P1 THROUGH PN
* ARE THE PARAMETERS AS FOLLOWS:
*
* LID=XXX PRINT OUT THE ATTRIBUTES OF PIDS IN
* OR WHICH LID XXX EXISTS, IS ENABLED AND
* ST=XXX LISTABLE. IF THE LID OR ST KEYWORD IS
* OR SPECIFIED, A LID VALUE XXX MUST ALSO BE
* OMITTED SPECIFIED. IF THE LID OR ST KEYWORD IS
* OMITTED, THE DEFAULT IS TO PRINT OUT ALL
* LISTABLE LIDS. EITHER LID OR ST MAY BE
* SPECIFIED, BUT NOT BOTH.
*
* L=LFN OUTPUT IS TO BE WRITTEN TO FILE LFN.
* OR IF OMITTED, THE DEFAULT IS *OUTPUT*.
* OMITTED
*
* PID=YYY PRINT OUT THE ATTRIBUTES OF ALL LIDS
* OR UNDER THE SPECIFIED PID YYY. IF LID=XXX
* PID IS ALSO SPECIFIED, ONLY LID XXX UNDER YYY
* OR WILL BE PRINTED. IF YYY IS OMITTED,
* OMITTED THE DEFAULT IS TO PRINT ALL PIDS. IF
* PID IS OMITTED, THE LID KEYWORD VALUE
* DETERMINES WHAT IS PRINTED.
SPACE 4,10
*** DAYFILE MESSAGES.
*
*
* * LID TABLE EMPTY.*
* THE LID TABLE READ FROM CMR WAS EMPTY.
*
* * LID - XXX DOES NOT EXIST IN THE LID TABLE.*
* THE LID SPECIFIED COULD NOT BE FOUND
* IN THE LID TABLE OR THE NLIST BIT
* IS SET (LISTING OF THE SPECIFIED
* LID NOT ALLOWED) OR THE LID WAS A
* STORE AND FORWARD HOST LID (LISTING
* OF THIS TYPE OF LID NOT ALLOWED).
*
* * LID=XXX OR ST=XXX IS REQUIRED.*
* THE LID OR ST PARAMETER WAS SPECIFIED
* WITH NO VALUE.
*
* * LISTLID COMMAND ERROR.*
* AN INCORRECT ARGUMENT WAS DETECTED ON THE
* COMMAND.
*
* * NO LIDS FOUND.*
* EITHER THE LID SPECIFIED WAS NOT LISTABLE OR THERE
* WERE NO LISTABLE LIDS FOUND FOR A GIVEN PID.
*
* * PID - YYY DOES NOT EXIST IN THE LID TABLE.*
* THE PID SPECIFIED COULD NOT BE FOUND IN
* THE LID TABLE.
*
* * SPECIFY EXACTLY 3 CHARACTERS ON PID KEYWORD.*
* EXACTLY THREE CHARACTERS ARE ALLOWED ON
* THE PID KEYWORD.
*
* * SPECIFY EXACTLY 3 CHARACTERS ON LID KEYWORD.*
* EXACTLY THREE CHARACTERS ARE ALLOWED ON
* THE LID OR ST KEYWORD.
SPACE 4,10
* COMMON DECKS.
*CALL COMCCMD
*CALL COMCMAC
*CALL COMSSFM
*CALL COMSSSJ
TITLE DEFINITIONS.
SPACE 4,10
**** ASSEMBLY CONSTANTS.
HDLN EQU 2 NUMBER OF PRINTED LINES IN HEADER
OBUFL EQU 101B LENGTH OF OUTPUT BUFFER
WBUFL EQU 5 LENGTH OF WORKING BUFFER
TRLN EQU 6 NUMBER OF PRINTED LINES IN TRAILER
****
SPACE 4,10
ORG 110B
FWA BSS 0
SPACE 4,10
* SSJ= PARAMETER BLOCK.
SSJ= BSS 0
BSSZ SSJL
SPACE 4,10
* FET DEFINITIONS.
LIDF FILEB LIDTAB,MXLDT,FET=5 LID TABLE
O BSS 0
OUTPUT FILEB OBUF,OBUFL,FET=10 OUTPUT FILE
SPACE 4,10
* HEADERS AND TRAILERS FOR OUTPUT LISTINGS. IF EITHER THE
* HEADER OR TRAILER INFORMATION IS CHANGED IN THE FUTURE SO
* MORE OR FEWER LINES ARE REQUIRED, ENSURE THAT *HDLN* AND/OR
* *TRLN* ARE UPDATED APPROPRIATELY SO THE CORRECT PAGE LENGTH
* CAN BE CALCULATED.
HDR1 DATA 8L1
DATA 8L
HDR1L EQU *-HDR1
HDR2 DATA 47L LID MAINFRAME ATTRIBUTE NETWORK
DATA 8L
HDR2L EQU *-HDR2
HDR3 DATA 50H PID LID MAINFRAME TYPE ATTRIBUTE
DATA 25L RHF NAM SSF
DATA 8L
HDR3L EQU *-HDR3
HDR4 DATA 8L
DATA 8L
DATA 50H ATTRIBUTES: H - HOST, L - LINKED, V - VALIDA
DATA 14LTION REQUIRED,
DATA 50H S - STORE FORWARD, B - LOOPBA
DATA 8LCK.
DATA 50H IN - PATH IN SERVICE, OUT - PATH
DATA 16L OUT OF SERVICE,
DATA 35L NA - NOT AVAILABLE.
HDR4L EQU *-HDR4
SPACE 4,10
* CONSTANT DATA.
BLKS DATA 10H WORD OF BLANKS
DATA 8L WORD OF BLANKS WITH ZERO BYTE
SPACE 4,10
* STORAGE LOCATIONS.
CLLC CON 0 LINES AVAILABLE TO PRINT LIDS
JPRD CON 0 JOB PRINT DENSITY
LFST CON 0 LIST FILE STATUS OF OUTPUT
LIDV CON 0 LID VALUE
LLFD CON 0 INDICATES IF LISTABLE LID FOUND
NLIP CON 0 NUMBER OF LID SLOTS IN PID
PAGL CON 0 JOB PAGE LENGTH
PDFD CON 0 PID FOUND FLAG
PIDA CON 0 FIRST WORD OF PID DATA
PIDB CON 0 SECOND WORD OF PID DATA
PIDV CON 0 PID VALUE
PDPF CON 0 PID LINE PRINTED FLAG
STVL CON 0 ST VALUE
WBUF BSSZ 8 WORKING BUFFER
SPACE 4,10
* DAYFILE MESSAGES.
MSG2 DATA C* LID TABLE EMPTY.*
MSG3 DATA C* NO LIDS FOUND.*
MSG4 DATA C* PID - DOES NOT EXIST IN THE LID TABLE.*
MSG5 DATA C* LID - DOES NOT EXIST IN THE LID TABLE.*
TITLE MAIN PROGRAM.
LISTLID SPACE 4,10
** LISTLID - LIST LID TABLE.
*
* EXIT LID TABLE LISTED IF SUCCESSFUL.
*
* USES X - 0, 1, 7.
* A - 1.
*
* CALLS PLD, PPD, PRS.
*
* MACROS ENDRUN, GETLIDT, MESSAGE, WRITEC, WRITEW.
LISTLID RJ PRS PRESET
GETLIDT LIDF GET LID TABLE INTO FWA OF PRESET
SA1 LIDTAB GET NUMBER OF PIDS IN TABLE
MX0 -12
BX7 -X0*X1
NZ X7,LST1 IF TABLE NOT EMPTY
MESSAGE MSG2 * LID TABLE EMPTY.*
EQ LST4 EXIT
LST1 SA1 LFST
ZR X1,LST2 IF TERMINAL FILE
WRITEC O,JPRD WRITE PRINT DENSITY
WRITEW O,HDR1,HDR1L WRITE INITIAL PAGE EJECT
LST2 SA1 PIDV
ZR X1,LST3 IF *PID* KEYWORD NOT SPECIFIED
RJ PPD PRINT LID TABLE (FORMAT 2)
EQ LST4 EXIT
LST3 RJ PLD PRINT LID TABLE (FORMAT 1)
LST4 ENDRUN
TITLE SUBROUTINES.
FPL SPACE 4,15
** FPL - FORMAT AND PRINT LID LINE (FORMAT 2).
*
* ENTRY (X5) = LID WORD LEFT JUSTIFIED TO NLIST BIT.
* (X1) = LID.
*
* EXIT LID LINE WRITTEN TO OUTPUT FILE.
*
* USES X - 3, 6, 7.
* A - 3, 6, 7.
* B - 7.
*
* CALLS PLA, SFN.
*
* MACROS WRITEH, WRITEW.
FPL SUBR ENTRY/EXIT
RJ SFN SPACE FILL LID
LX6 -18
SA3 BLKS
LX5 59-34-59+31 POSITION LID ATTRIBUTES FOR *PLA*
BX7 X3
SA7 WBUF STORE BLANK WORD
SA6 A7+B1 STORE BLANK-FILLED LID
SA7 A6+B1 STORE BLANK WORD
SA7 A7+B1 STORE BLANK WORD
RJ PLA PROCESS LID ATTRIBUTES
SA3 LFST
ZR X3,FPL1 IF TERMINAL FILE
SA3 CLLC
SX7 X3-1
SB7 X3
LE B7,B0,FPL2 IF NO ROOM TO PRINT LID LINE
SA7 A3
FPL1 WRITEH O,WBUF,5
SX7 B1+ INDICATE AT LEAST ONE LID PROCESSED
SA7 LLFD
EQ FPLX RETURN
FPL2 WRITEW O,HDR4,HDR4L WRITE PID TRAILER
WRITEW O,HDR1,HDR1L
WRITEW O,HDR3,HDR3L
SA3 PAGL SAVE NUMBER OF LINES LEFT ON PAGE
SX7 X3-1
SA7 CLLC
EQ FPL1 PRINT LID LINE
LDP SPACE 4,15
** LDP - PROCESS LID(S) FOR PIDS (FORMAT 2).
*
* ENTRY (A5) = ADDRESS OF PID CURRENTLY BEING PROCESSED.
* (WBUF) = PID LINE TO BE PRINTED WHEN THE FIRST
* LISTABLE LID IS ENCOUNTERED.
*
* EXIT ALL APPROPRIATE LIDS PROCESSED FOR GIVEN PID.
*
* USES X - 0, 1, 2, 5, 6, 7.
* A - 0, 1, 2, 5, 6, 7.
* B - 7.
*
* CALLS FPL.
*
* MACROS WRITEH, WRITEW.
LDP SUBR ENTRY/EXIT
SA2 A5+2 OFFSET TO NUMBER OF LID SLOTS
MX0 -12
BX6 -X0*X2
SA6 NLIP
SA0 A5 SAVE ADDRESS OF CURRENT PID
SA5 A2 FWA-1 OF LID ENTRIES
BX6 X6-X6 CLEAR PID LINE PRINTED FLAG
SA6 PDPF
* PROCESS NEXT LID ENTRY.
LDP1 SA5 A5+B1 READ NEXT LID ENTRY
MX0 18
BX7 X0*X5
ZR X7,LDP6 IF EMPTY LID SLOT
SA2 LIDV
ZR X2,LDP2 IF NO LID SPECIFIED
BX7 X2-X7
NZ X7,LDP6 IF LID DOES NOT MATCH
LDP2 LX5 59-31
NG X5,LDP6 IF LID NOT LISTABLE
* PRINT THE PID LINE WHEN THE FIRST LISTABLE LID IS
* ENCOUNTERED.
SA1 PDPF
NZ X1,LDP5 IF PID LINE ALREADY PRINTED
SX7 B1 INDICATE PID LINE PRINTED
SA7 A1
SA1 LFST
ZR X1,LDP4 IF TERMINAL FILE
SA1 CLLC
SX7 X1-2
NG X7,LDP3 IF NO ROOM TO PRINT PID AND ONE LID
SX7 X1-1 DECREMENT NUMBER OF PAGE LINES REMAINING
SA7 A1+
EQ LDP4 WRITE PID LINE
LDP3 WRITEW O,HDR4,HDR4L WRITE ATTRIBUTE TRAILER
WRITEW O,HDR1,HDR1L
WRITEW O,HDR3,HDR3L WRITE HEADER
SA1 PAGL SAVE LINES REMAINING ON PAGE
SX7 X1-1
SA7 CLLC
LDP4 WRITEH O,WBUF,8 WRITE PID LINE
* FORMAT AND PRINT THE LID.
LDP5 SA1 A5 GET LID
MX0 18
BX1 X0*X1
RJ FPL FORMAT AND PRINT LID LINE
SA1 LIDV
NZ X1,LDP7 IF LID SPECIFIED
* DECREMENT LID SLOT COUNT AND PROCESS NEXT LID.
LDP6 SA1 NLIP DECREMENT LID SLOT COUNT
SX7 X1-1
SB7 X7
LE B7,B0,LDP7 IF ALL LID SLOTS PROCESSED
SA7 A1
EQ LDP1 PROCESS NEXT LID ENTRY
LDP7 SA5 A0+ RESTORE ADDRESS OF PID
EQ LDPX RETURN
PLA SPACE 4,10
** PLA - PROCESS LID ATTRIBUTES (FORMAT 2).
*
* ENTRY (X5) = LID ATTRIBUTES (LEFT JUSTIFIED).
* (A7) = WORKING BUFFER - 1 FOR LID ATTRIBUTES.
*
* EXIT (A6) = LID ATTRIBUTES STORED IN WORKING BUFFER.
*
* USES X - 0, 3, 6.
* A - 3, 6.
* B - 2, 7.
PLA SUBR ENTRY/EXIT
MX0 3
BX3 X0*X5 GET LID ATTRIBUTES
LX3 3
SB7 X3
SA3 BLKS+1
ZR B7,PLA1 IF NO ATTRIBUTES
SA3 PLAA
EQ B7,B1,PLA1 IF LOOPBACK BIT SET
SB2 4
SA3 PLAB
EQ B7,B2,PLA1 IF ONLY STORE AND FORWARD BIT SET
SA3 PLAC
PLA1 BX6 X3 STORE LID ATTRIBUTES
SA6 A7+B1
EQ PLAX RETURN
PLAA VFD 60/8L B
PLAB VFD 60/8L S
PLAC VFD 60/8L SV
PLD SPACE 4,15
** PLD - PRINT LID TABLE DESCRIPTION.
*
* ENTRY (LIDTAB) = LID TABLE.
*
* EXIT LID TABLE WRITTEN TO OUTPUT FILE.
*
* USES X - ALL.
* A - 1, 2, 3, 5, 6, 7.
* B - 6.
*
* CALLS PLL.
*
* MACROS MESSAGE, WRITER, WRITEW.
PLD SUBR ENTRY/EXIT
WRITEW O,HDR2,HDR2L
SA1 LIDTAB+1 READ FIRST PID ENTRY
* PROCESS NEXT PID.
PLD1 SA2 LIDV GET LID TO MATCH
BX7 X1 SAVE PID DATA
SA7 PIDA
SA1 A1+B1
BX7 X1
SA7 PIDB
SA5 A1+B1 GET NUMBER OF LID SLOTS
MX4 -12
BX7 -X4*X5
SB6 X7
* PROCESS NEXT LID.
PLD2 SA5 A5+B1 GET NEXT LID ENTRY
MX4 18
BX7 X4*X5
ZR X7,PLD5 IF HOLE IN LID TABLE
BX7 X7-X2
ZR X2,PLD3 IF LISTING ALL LIDS
NZ X7,PLD5 IF LID DOES NOT MATCH
* EITHER ALL LIDS ARE TO BE PROCESSED BY DEFAULT OR THE
* SPECIFIED LID MATCHED AN LDT ENTRY.
PLD3 BX3 X5
LX3 59-31
NG X3,PLD4 IF LID NOT LISTABLE
LX3 59-34-59+31
PL X3,PLD3.1 IF LID IS NOT STORE AND FORWARD
SA3 PIDA
LX3 59-41
NG X3,PLD4 IF LID IS HOST AND STORE AND FORWARD
PLD3.1 SX7 B6
SA7 NLIP
RJ PLL LIST LID LINE
SX7 B1+ INDICATE LID FOUND
SA7 LLFD
SA2 NLIP RESTORE NUMBER OF LID SLOTS
SB6 X2
SA2 LIDV
PLD4 NZ X2,PLD6 IF NOT PROCESSING ALL LIDS
PLD5 SB6 B6-B1
GT B6,PLD2 IF MORE LIDS FOR PID
SB6 B1 SET INDEX FOR NEXT PID ENTRY
PLD6 SA3 PIDB
MX4 -12
BX7 -X4*X3
ZR X7,PLD7 IF LAST PID
SA1 A5+B6
EQ PLD1 PROCESS NEXT PID ENTRY
PLD7 SA3 LLFD
ZR X3,PLD8 IF NO LISTABLE LIDS FOUND
WRITER O
EQ PLDX RETURN
PLD8 ZR X2,PLD9 IF PROCESSING ALL LIDS
SA3 MSG5 ADD NON-MATCHING LID TO MESSAGE
LX2 18
MX0 42
BX3 X0*X3
BX6 X3+X2
SA6 A3+
MESSAGE MSG5 * LID - XXX DOES NOT EXIST IN LID TABLE.*
EQ PLDX RETURN
PLD9 MESSAGE MSG3 * NO LIDS FOUND.*
EQ PLDX RETURN
PLL SPACE 4,15
** PLL - PROCESS LID LINE (FORMAT 1).
*
* ENTRY (X5) = LID WORD.
* (PIDA) = PID FIRST WORD (FROM LDT).
* (PIDB) = PID SECOND WORD (FROM LDT).
*
* EXIT LID LINE WRITTEN TO OUTPUT FILE.
*
* USES X - 0, 1, 3, 4, 6, 7.
* A - 1, 3, 4, 6, 7.
*
* CALLS PNS, SFN.
*
* MACROS WRITEH, WRITEW.
PLL SUBR ENTRY/EXIT
MX0 18 STORE LID IN WORKING BUFFER
BX1 X0*X5
RJ SFN
LX6 -18
SA6 WBUF
SA1 PIDB STORE MAINFRAME DESCRIPTOR
MX0 42
BX1 X0*X1
RJ SFN SPACE FILL NAME
LX6 -6
SA6 A6+B1
SA3 PLLB PRESET DISABLED
LX5 59-35
PL X5,PLL1 IF LID DISABLED
SA4 PIDA
LX4 59-40
PL X4,PLL1 IF PID DISABLED
SA3 PLLD PRESET STORE AND FORWARD
LX5 59-34-59+35
NG X5,PLL1 IF STORE AND FORWARD BIT SET
SA3 PLLE PRESET LOOPBACK
LX5 59-32-59+34
NG X5,PLL1 IF LOOPBACK BIT SET
SA3 PLLA PRESET HOST
SA1 PIDA
LX1 59-41
NG X1,PLL1 IF HOST PID
SA3 PLLC SET LINKED
PLL1 BX6 X3
SA6 A6+B1 STORE FIRST WORD
SA4 A3+B1
BX6 X4
SA6 A6+B1 STORE SECOND WORD
RJ PNS PROCESS NETWORK STATUS
SX7 WBUFL
ZR X4,PLL1.1 IF SECOND NETWORK STATUS WORD IS ZERO
SX7 WBUFL+1
PLL1.1 SA7 WBUF+7 SAVE BUFFER LENGTH
SA3 LFST
ZR X3,PLL3 IF TERMINAL FILE
SA3 CLLC
SX7 X3-1
NZ X7,PLL2 IF NO ROOM LEFT ON PAGE
WRITEW O,HDR1,HDR1L PRINT OUTPUT FILE HEADERS
WRITEW O,HDR2,HDR2L
SA3 PAGL SAVE LINES REMAINING ON PAGE
SX7 X3-1
PLL2 SA7 CLLC
PLL3 SA1 WBUF+7 RESTORE BUFFER LENGTH
WRITEH O,WBUF,X1 WRITE LID LINE
EQ PLLX RETURN
PLLA DATA 20H HOST
PLLB DATA 20H DISABLED
PLLC DATA 20H LINKED
PLLD DATA 20H STORE FORWARD
PLLE DATA 20H LOOPBACK
PNS SPACE 4,10
** PNS - PROCESS NETWORK STATUS (FORMATS 1 AND 2).
*
* ENTRY (A6+1) = ADDRESS TO STORE NETWORK STATUS.
* (PIDA) = PID WORD, IF FORMAT 1.
* (X5) = PID WORD, IF FORMAT 2.
*
* EXIT (X4) = SECOND NETWORK STATUS WORD, IF FORMAT 1.
*
* USES X - 0, 1, 3, 4, 6, 7.
* A - 1, 3, 4, 6.
* B - 2, 3, 5, 6, 7.
PNS SUBR ENTRY/EXIT
SA1 PIDV
MX0 -4
NZ X1,PNS4 IF PROCESSING FORMAT 2
SA3 PIDA GET PID WORD
* PROCESS NETWORK STATUS FOR FORMAT 1.
SB2 B0
BX7 -X0*X3
SB3 X7
NE B3,B1,PNS1 IF NAM NOT IN SERVICE
SB2 B2+1 SET NAM IN SERVICE
PNS1 LX3 -4
BX7 -X0*X3
SB3 X7
NE B3,B1,PNS2 IF RHF NOT IN SERVICE
SB2 B2+2 SET RHF IN SERVICE
PNS2 LX3 -4
BX7 -X0*X3
SB3 X7
NE B3,B1,PNS3 IF SSF NOT IN SERVICE
SB2 B2+4 SET SSF IN SERVICE
PNS3 SX3 B2
LX3 1
SA3 PNSA+X3 STORE NETWORK STATUS
BX6 X3
SA6 A6+B1
SA4 A3+B1
BX6 X4
SA6 A6+B1
EQ PNSX RETURN
* PROCESS NETWORK STATUS FOR FORMAT 2.
PNS4 BX2 X5
LX2 59-40
PL X2,PNS8 IF PID DISABLED
* PROCESS *NAM* STATUS.
BX2 -X0*X5 NAM STATUS
SB6 X2+
LX2 59-3
LE B6,B1,PNS5 IF NOT AVAILABLE OR IN SERVICE
ERRNZ /NTS/NAV ADJUST CODE IF VALUE CHANGES
ERRNZ /NTS/ISV-1 ADJUST CODE IF VALUE CHANGES
SB6 3
NG X2,PNS5 IF DISABLED
ERRNZ /NTS/DAB-10B ADJUST CODE IF VALUE CHANGES
SB6 2 SET OUT
* PROCESS *RHF* STATUS.
PNS5 LX5 -4
BX2 -X0*X5 RHF STATUS
SB5 X2
LX2 59-3
LE B5,B1,PNS6 IF NOT AVAILABLE OR IN SERVICE
SB5 3
NG X2,PNS6 IF DISABLED
SB5 2 SET OUT
* PROCESS *SSF* STATUS.
PNS6 LX5 -4
BX2 -X0*X5 SSF STATUS
SB7 X2
LX2 59-3
LE B7,B1,PNS7 IF NOT AVAILABLE OR IN SERVICE
SB7 3
NG X2,PNS7 IF DISABLED
SB7 2 SET OUT
* WRITE STATUS OF NETWORKS TO WORKING BUFFER.
PNS7 SA1 PNSB+B5 SET RHF STATUS
BX6 X1
SA6 A6+B1
SA1 PNSB+B6 SET NAM STATUS
BX6 X1
SA6 A6+B1
SA1 PNSB+B7 SET SSF STATUS
BX6 X1
SA6 A6+B1
EQ PNS9 SET END OF LINE
PNS8 SA1 PNSC SET --- FOR NETWORK STATUS
BX6 X1
SA6 A6+B1
SA6 A6+B1
SA6 A6+B1
PNS9 MX0 48
BX6 X0*X1
SA6 A6 INSURE END OF LINE
EQ PNSX RETURN
* THIS TABLE MUST REMAIN IN THIS ORDER.
* NETWORK STATUS FOR FORMAT 1.
PNSA BSS 0
DATA 14LNONE AVAILABLE
DATA 3LNAM
DATA 0
DATA 3LRHF
DATA 0
DATA 8LNAM, RHF
DATA 0
DATA 3LSSF
DATA 0
DATA 8LNAM, SSF
DATA 0
DATA 8LRHF, SSF
DATA 0
DATA 13LNAM, RHF, SSF
* NETWORK STATUS FOR FORMAT 2.
PNSB BSS 0
DATA 10H NA
DATA 10H IN
DATA 10H OUT
DATA 10HDISABLED
PNSC DATA 10H ---
PPD SPACE 4,15
** PPD - PRINT PID TABLE DESCRIPTION.
*
* ENTRY (LIDTAB) = LID TABLE.
* PID SPECIFIED ON COMMAND.
*
* EXIT LID TABLE WRITTEN TO OUTPUT FILE.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 5, 6, 7.
* B - 2.
*
* CALLS LDP, PPL.
*
* MACROS MESSAGE, WRITER, WRITEW.
PPD SUBR ENTRY/EXIT
WRITEW O,HDR3,HDR3L
SA5 LIDTAB+1
* PROCESS NEXT PID.
PPD1 SA2 PIDV USER-SPECIFIED PID VALUE
MX0 18
BX2 X0*X2
ZR X2,PPD2 IF ALL PIDS TO BE PROCESSED
BX1 X0*X5
BX7 X1-X2
SA7 PDFD SAVE PID FOUND FLAG
NZ X7,PPD3 IF PID DOES NOT MATCH
* EITHER ALL PIDS ARE TO BE PROCESSED BY DEFAULT OR
* THE SPECIFIED PID MATCHED AN LDT ENTRY.
PPD2 RJ PPL PROCESS PID LINE
RJ LDP PROCESS LID(S) FOR PID
SA1 PIDV
MX0 18
BX1 X0*X1
NZ X1,PPD5 IF PID WAS SPECIFIED
* DETERMINE IF THERE ARE MORE PIDS TO PROCESS.
PPD3 SA2 A5+B1 GET OFFSET TO NEXT PID
MX0 -12
BX2 -X0*X2
ZR X2,PPD4 IF NO MORE PIDS
SB2 X2
SA5 A5+B2 NEXT PID ADDRESS
EQ PPD1 PROCESS NEXT PID ENTRY
* ALL APPROPRIATE PID PROCESSING COMPLETE.
PPD4 SA1 PIDV
MX0 18
BX1 X0*X1
ZR X1,PPD5 IF PID WAS NOT SPECIFIED
SA2 PDFD
ZR X2,PPD5 IF SPECIFIED PID FOUND IN LDT
SA3 MSG4
LX1 18 POSITION PID
MX0 42
BX3 X0*X3
BX6 X1+X3 MERGE PID IN MESSAGE
SA6 A3+
MESSAGE MSG4 * PID - XXX DOES NOT EXIST IN LDT.*
EQ PPDX RETURN
PPD5 SA1 LLFD
NZ X1,PPD6 IF LISTABLE LID WAS FOUND
MESSAGE MSG3 * NO LIDS FOUND.*
EQ PPDX RETURN
PPD6 WRITEW O,HDR4,HDR4L WRITE PID TRAILER INFORMATION
WRITER O
EQ PPDX RETURN
PPL SPACE 4,15
** PPL - PROCESS PID LINE (FORMAT 2).
*
* ENTRY (A5) = ADDRESS OF PID WORD.
* (X5) = PID WORD.
*
* EXIT PID LINE WRITTEN TO *WBUF*.
*
* USES X - 0, 1, 2, 3, 5, 6.
* A - 1, 2, 3, 5, 6.
*
* CALLS PNS, SFN.
PPL SUBR ENTRY/EXIT
* PROCESS PID NAME AND MAINFRAME DESCRIPTOR.
MX0 18
BX1 X0*X5 PID NAME
RJ SFN SPACE FILL NAME
LX6 18
LX5 59-38
PL X5,PPL1 IF LISTABLE
SA1 PPLH
BX6 X1
PPL1 SA6 WBUF STORE PID IN WORKING BUFFER
SA3 BLKS STORE BLANK WORD
BX6 X3
SA6 A6+B1
SA2 A5+B1 GET MAINFRAME DESCRIPTOR
MX0 42
BX1 X0*X2
RJ SFN SPACE FILL NAME
LX6 -6
SA6 A6+B1 STORE MAINFRAME DESCRIPTOR
* PROCESS MAINFRAME TYPE AND PID ATTRIBUTES.
LX5 59-41-59+38
PL X5,PPL2 IF LINKED PID
SA3 PPLB
BX6 X3
SA6 A6+B1 STORE *HOST* MAINFRAME TYPE
SA3 A3+B1
ERRNZ PPLC-PPLB-1 ADJUST IF WORDS NOT CONTIGUOUS
LX5 59-39-59+41
NG X5,PPL3 IF PRE-VALIDATION REQUIRED
SA3 PPLD ATTRIBUTE IS *H*
EQ PPL3 STORE PID ATTRIBUTES
PPL2 SA3 PPLE
BX6 X3
SA6 A6+B1 STORE *LINK* MAINFRAME TYPE
SA3 PPLF
LX5 59-39-59+41
NG X5,PPL3 IF PRE-VALIDATION REQUIRED
SA3 PPLG ATTRIBUTE IS *L*
PPL3 BX6 X3
SA6 A6+B1 STORE PID ATTRIBUTE
SA5 A5+ RESTORE PID WORD
RJ PNS PROCESS NETWORK STATUS
EQ PPLX RETURN
PPLB VFD 60/10L HOST
PPLC VFD 60/10L HV
PPLD VFD 60/10L H
PPLE VFD 60/10L LINKED
PPLF VFD 60/10L LV
PPLG VFD 60/10L L
PPLH VFD 60/10L ---
SPACE 4,10
* COMMON DECKS.
*CALL COMCARG
*CALL COMCCIO
*CALL COMCCPM
*CALL COMCLFM
*CALL COMCSFM
*CALL COMCSFN
*CALL COMCSTF
*CALL COMCSYS
*CALL COMCWTC
*CALL COMCWTH
*CALL COMCWTW
*CALL COMCZTB
TITLE BUFFERS.
SPACE 4,10
* BUFFERS.
OBUF BSS OBUFL OUTPUT BUFFER
LIDTAB EQU * LID TABLE
TITLE PRESET.
PRS SPACE 4,15
** PRS - PRESET.
*
* EXIT ABORT IF ERROR ON COMMAND.
* (LFST) = 0, IF OUTPUT BEING SENT TO TERMINAL.
* .NE. 0, OTHERWISE.
* (PAGL) = (CLLC) = NUMBER OF LINES TO BE PRINTED
* ON EACH PAGE (EXCLUDING TRAILER FOR FORMAT 2).
*
* USES X - 0, 1, 2, 4, 5, 6, 7.
* A - 1, 2, 4, 5, 6, 7.
* B - 1, 4, 5.
*
* CALLS ARG, STF.
*
* MACROS ABORT, GETPP, MESSAGE, SETFS.
*
* NOTE PRESET WILL BE OVERLAYED BY THE LID TABLE.
PRS SUBR ENTRY/EXIT
SB1 1
SA1 ACTR GET NUMBER OF ARGUMENTS IN COMMAND
MX0 -18
BX1 -X0*X1
ZR X1,PRS3 IF NO ARGUMENTS
SB4 X1
SA4 ARGR GET FIRST ARGUMENT
SB5 TARG SET ARGUMENT TABLE ADDRESS
RJ ARG PROCESS ARGUMENTS
NZ X1,PRS5 IF ARGUMENT ERROR
SA1 LIDV
SA2 STVL
NZ X1,PRS1 IF LID SPECIFIED
ZR X2,PRS2 IF NEITHER LID NOT ST SPECIFIED
BX1 X2
BX2 X2-X2
PRS1 NZ X2,PRS5 IF BOTH LID AND ST SPECIFIED
MX0 42
BX6 X0*X1
ZR X6,PRS8 IF KEYWORD SPECIFIED BUT NOT EQUIVALENCED
SA6 A1
LX6 18
BX7 X0*X6
NZ X7,PRS7 IF MORE THAN 3 CHARACTERS
LX6 -6
BX7 X0*X6
ZR X7,PRS7 IF LESS THAN 3 CHARACTERS
PRS2 SA1 PIDV
ZR X1,PRS3 IF PID NOT SPECIFIED
BX6 X0*X1
ZR X6,PRS3 IF PID SPECIFIED, BUT NOT EQUIVALENCED
LX6 18
BX7 X0*X6
NZ X7,PRS6 IF MORE THAN 3 CHARACTERS
LX6 -6
BX7 X0*X6
ZR X7,PRS6 IF LESS THAN 3 CHARACTERS
PRS3 SX2 O DETERMINE OUTPUT FILE STATUS
RJ STF
SA6 LFST
ZR X6,PRSX IF OUTPUT ASSIGNED TO TERMINAL
GETPP PAGC,PAGL,JPRD GET LINE COUNT
SA5 PAGL
SX7 X5-HDLN ENSURE SPACE FOR HEADERS
SA1 PIDV
ZR X1,PRS4 IF PID NOT SPECIFIED
SX7 X7-TRLN ENSURE SPACE FOR TRAILERS
PRS4 SA7 PAGL
SA7 CLLC
SETFS O,0 PRESERVE OUTPUT FILE
EQ PRSX RETURN
PRS5 MESSAGE PRSA * LISTLID COMMAND ERROR.*
ABORT
PRS6 MESSAGE PRSD * SPECIFY EXACTLY 3 CHARACTERS ON PID.*
EQ PRS9 ABORT
PRS7 MESSAGE PRSE * SPECIFY EXACTLY 3 CHARACTERS ON LID.*
EQ PRS9 ABORT
PRS8 MESSAGE PRSF * LID=XXX OR ST=XXX IS REQUIRED.*
PRS9 ABORT
* PRESET ERROR MESSAGES.
PRSA DATA C* LISTLID COMMAND ERROR.*
PRSD DATA C* SPECIFY EXACTLY 3 CHARACTERS ON PID KEYWORD.*
PRSE DATA C* SPECIFY EXACTLY 3 CHARACTERS ON LID KEYWORD.*
PRSF DATA C* LID=XXX OR ST=XXX IS REQUIRED.*
SPACE 4,10
* PRESET STORAGE LOCATIONS.
LID1 CON 1 ASSUMED LID, ST, OR PID VALUE
PAGC BSS 2 PARAMETER BLOCK FOR *GETPAGE*
SPACE 4,10
* ARGUMENT TABLE.
TARG BSS 0
LID ARG LID1,LIDV,400B
ST ARG LID1,STVL,400B
L ARG O,O
PID ARG LID1,PIDV,400B
ARG
SPACE 4,10
* RESERVE SUFFICIENT SPACE TO HOLD THE MAXIMUM SIZE OF THE LDT.
LENGTH EQU *-PRS PRESET LENGTH
MAXLTH EQU MXLDT-LENGTH MAX LDT SIZE - PRESET LENGTH
BSSZ MAXLTH ADDITIONAL CM WORDS REQUIRED TO HOLD LDT
RFL= EQU *
SPACE 4,10
END