cdc:nos2.source:opl871:dsp
Table of Contents
DSP
Table Of Contents
- [00009] DSP - DISPOSE FILE TO I/O QUEUE.
- [00011] DISPOSE FILE TO I/O QUEUE.
- [00628] MACRO DEFINITIONS.
- [00629] DRIN - DEFAULT ROUTING INFORMATION.
- [00648] ERROR - SET ERROR CODE.
- [00663] OVERLAY - GENERATE OVERLAY CONSTANTS.
- [00695] SCLASS - DEFINE SERVICE CLASS TABLE.
- [00726] SUBSYST - GENERATE SUBSYSTEM TABLE.
- [00760] DIRECT LOCATION ASSIGNMENTS
- [00815] MAIN PROGRAM.
- [00816] MAIN PROGRAM.
- [01012] RESIDENT ROUTINES.
- [01014] DPP - DROP PP.
- [01045] EER - EVALUATE MASS STORAGE ERROR RETURN.
- [01082] ERR - ERROR PROCESSOR.
- [01100] FNB - SET FILE NOT BUSY.
- [01168] FQI - FUNCTION QFT INTERLOCK.
- [01208] GEA - GET EJT ADDRESS.
- [01222] GFA - GET PARAMETER BLOCK ADDRESS.
- [01238] RFN - READ FAMILY NAME.
- [01259] RMS - READ MASS STORAGE.
- [01276] SQO - SET QFT OWNERSHIP.
- [01337] SSJ - CHECK FOR SSJ= BLOCK.
- [01361] VCA - VALIDATE CENTRAL ADDRESS.
- [01390] WMS - WRITE MASS STORAGE.
- [01430] FILE INITIALIZATION ROUTINES.
- [01432] AMS - ASSIGN MASS STORAGE.
- [01512] CSL - CHECK FOR SPECIAL LID.
- [01547] EDF - ENTER DEFERRED FILE.
- [01613] EFN - ENTER FILE NAME IN FNT TABLE.
- [01659] EQF - ENTER QUEUED FILE IN GLOBAL TABLE.
- [01738] GLI - GET LOGICAL IDENTIFIERS.
- [01828] ISS - INITIALIZE SYSTEM SECTORS.
- [01964] PDF - PROCESS DEVICE FULL.
- [02002] RCL - RECALL PP.
- [02014] SDC - SET DISPOSITION CODE.
- [02048] SPR - SET PRIORITY.
- [02121] SQS - SET QUEUED FILE SYSTEM SECTOR IN *BFMS*.
- [02159] SSR - SYSTEM SECTOR READ.
- [02208] USS - UPDATE SYSTEM SECTOR.
- [02289] VMS - VALIDATE MASS STORAGE.
- [02348] FILE INITIALIZATION ROUTINES (OVERLAYABLE).
- [02350] CFN - COMPARE FILE NAMES.
- [02378] DDC - DETERMINE DISPOSTION CODE.
- [02516] TODC - TABLE OF DEFAULT ROUTING INFORMATION.
- [02567] TSFN - TABLE OF SPECIAL FILE NAMES AND DISPOSITION CODES.
- [02598] FFQ - FIND FILE TO QUEUE.
- [02712] VJS - VALIDATE JSN SPECIFICATION.
- [02742] VUL - VALIDATE USER LIMITS.
- [02790] PRS - PRESET ROUTINE.
- [03169] TSCC - TABLE OF SERVICE CLASS CODES.
- [03185] VLD - VALIDATE LID.
- [03205] VTA - VALIDATE TEXT ADDRESS.
- [03252] TODD - TABLE OF LEGAL DATA DEFINITIONS.
- [03262] TOOT - TABLE OF ORIGIN TYPES.
- [03277] TOQD - TABLE OF QUEUE DESTINATIONS.
- [03304] CAA - CHECK ALTERNATE FAMILY/USER ACCESS.
- [03360] CPN - COMPARE NAMES.
- [03387] VIF - VERIFY INPUT FILE.
- [03805] CRF - CLEAR REMOTE FAMILY/USER NAME.
- [03817] CVS - CHECK FOR VALID SERVICE CLASS.
- [03866] OVERLAYABLE ROUTINES.
- [03868] DFO - DESTINATION FAMILY ORDINAL.
- [03896] GUD - GET USER DEFAULT SERVICE CLASS.
- [03944] TGUD - TABLE OF USER DEFAULT SERVICE CLASSES.
- [03952] NTS - NO TID SPECIFIED.
- [03999] PSI - PROCESS SUBSYSTEM INITIATION.
- [04086] SBI - SET BATCH ID.
- [04127] SDO - SET DESTINATION ORIGIN TYPE.
- [04194] SFD - SET FILE DESTINATION.
- [04495] SOD - SET OUTPUT FILE DATA.
- [04709] TDIC - TABLE OF DEFAULT INTERNAL CHARACTERISTICS.
- [04751] AEO - ATTACH EJT ORDINAL.
- [04769] BSE - CHECK FOR BINARY CARD SEQUENCE ERROR.
- [04804] CLE - COMPLETE LOCAL ENTRY.
- [04847] IAM - ISSUE ACCOUNTING MESSAGES.
- [04872] IES - INITIALIZE EOI SECTOR.
- [04932] PRT - PROCESS REMOTE TEXT.
- [05004] PUF - PROCESS USER/FAMILY NAMES.
- [05116] PUP - PROCESS UJN PRESENCE.
- [05139] SCP - SET SPECIFIED CHARGE AND PROJECT NUMBERS.
- [05156] SLI - SET LOGICAL IDENTIFIERS.
- [05202] UFS - UPDATE FILE STATE.
- [05279] WES - WRITE EOI SECTOR.
- [05307] WQS - WRITE QUEUED FILE SYSTEM SECTOR.
- [05435] CLF - CHANGE TO LOCAL FILE.
- [05552] ERP - ERROR PROCESSOR.
- [05624] TABT - TABLE OF ERROR CODES TO ABORT UNCONDITIONALLY.
- [05634] FEM - FORMAT ERROR MESSAGE.
- [05665] TDFM - TABLE OF DAYFILE MESSAGE ADDRESSES.
- [05711] IDM - ISSUE DAYFILE MESSAGES.
- [05744] PUE - PROCESS USER NAME ERROR.
- [05778] SEM - SET END OF MESSAGE.
- [05818] SQE - SET QFT ERROR.
Source Code
- DSP.txt
- IDENT DSP,DSP
- PERIPH
- BASE MIXED
- SST
- SSJ$ EQU 1 ALLOW *SSJ=* JOBS SYSTEM PRIVILEGES
- QUAL$ EQU 1 FORCE UNQUALIFIED COMMON DECKS
- *COMMENT DSP - DISPOSE FILE TO I/O QUEUE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE DSP - DISPOSE FILE TO I/O QUEUE.
- SPACE 4
- *** DSP - DISPOSE FILE TO I/O QUEUE.
- * R. A. JAPS. 76/01/12.
- * M. J. CARIDDI. 81/08/16.
- * P. C. SMITH. 82/04/01.
- SPACE 4
- *** *DSP* PLACES A FILE IN THE INPUT OR OUTPUT QUEUE.
- * THE SYSTEM SECTOR IS FORMATTED WITH INFORMATION SUPPLIED
- * BY THE CALLER.
- SPACE 4
- *** CALL.
- *
- *T 18/ *DSP*, 6/ 20B, 18/ 0, 18/ FET.
- *
- * FET = FWA OF PARAMETER BLOCK.
- *
- *
- * PARAMETER BLOCK FORMAT.
- *
- *T FET0 42/ LFN,6/ ERR,1/F,4/ ,6/ OT,1/C
- *T,FET1 6/ TF, 6/ 0, 12/ F1, 12/ DIS, 3/ EC, 1/S, 2/ IC, 18/ FLAGS
- *T,FET2 18/ SLID, 18/ DLID, 24/ TID
- *T,FET3 42/ UJN, 6/ RESERVE, 12/ PRIORITY
- *T,FET3 60/ ENTRY TIME (*QMOVE* ONLY)
- *T,FET4 2/ 0,4/ PI,6/ SC,12/ SVC,12/ FA,6/ RESERVE,6/ RC,12/ FNT
- *T,FET5 24/ BC, 36/ COUNT
- *T,FET6 42/ EQID, 18/ JSN
- *
- * EXTENDED PARAMETER BLOCK FORMAT.
- *
- *T,FET7 12/ DD,24/ RA,6/0,18/ EFLAGS
- *T,FET10 42/ OUN, 18/ IRTADDR
- *T,FET11 42/ OFN, 18/ ERTADDR
- *T,FET12 42/ CUN, 6/CP, 12/SSID
- *T,FET13 42/ CFN, 18/ RESERVED
- *T,FET14 42/ ENCRYPTED PASSWORD, 18/ RESERVED
- *T,FET15 60/ RESERVED
- *T,FET16 60/ RESERVED FOR INSTALLATIONS
- *T,FET17 60/ CHARGE NUMBER
- *T,FET20 60/ PROJECT NUMBER (FIRST 10 CHARACTERS)
- *T,FET21 60/ PROJECT NUMBER (LAST 10 CHARACTERS)
- *
- *
- * LFN = LOCAL FILE NAME.
- *
- * ERR = ERROR CODE RETURNED. (SEE DESCRIPTION OF DAYFILE
- * MESSAGES FOR ERROR CODES.)
- *
- * F = FORCED ORIGIN FLAG (*SYOT* ONLY).
- *
- * OT = FORCED ORIGIN CODE (*SYOT* ONLY).
- *
- * C = COMPLETION BIT. MUST BE 0 ON CALL. SET TO 1 ON
- * COMPLETION.
- *
- * TF = TERMINATION FLAGS.
- * IF AT JOB TERMINATION, FLAGS MEAN THE FOLLOWING -
- *
- * BIT 59 DISABLE DEFERRED BATCH VALIDATION.
- * BIT 57 EOI RANDOM ADDRESS SET IN FET+7.
- *
- * F1 = FORMS CODE OR INPUT FLAGS.
- * IF THE FILE IS TO BE QUEUED TO THE INPUT QUEUE,
- * THE FIELD IS DEFINED AS FOLLOWS-
- *
- * BIT 47-45 UNUSED
- * BIT 44 SEND FILE TO INPUT QUEUE IF FORCED ABORT
- * BIT 43 SEND FILE TO INPUT QUEUE IF JOB
- * COMMAND ERROR OR USER COMMAND ERROR
- * (SUBSYSTEM CALLER ONLY).
- * BIT 42 BINARY CARD SEQUENCE ERROR OR INCORRECT
- * HOLLERITH CODE DETECTED IN CARD DECK.
- * BIT 41-36 UNUSED
- *
- * DIS = DISPOSITION CODE IN DISPLAY CODE. (REFER TO *COMSJIO*
- * TO DETERMINE VALID DISPOSITION CODES.)
- *
- * PR ANY PRINTER
- * P1 ANY 501 PRINTER
- * P2 ANY 512 PRINTER
- * LR ANY 580-12 PRINTER
- * LS ANY 580-16 PRINTER
- * LT ANY 580-20 PRINTER
- * LX ANY 5870 NIP
- * LY ANY 5970 NIP
- * PU PUNCH CODED
- * PH PUNCH CODED
- * SB PUNCH SYSTEM BINARY
- * PB PUNCH SYSTEM BINARY (SAME AS SB)
- * P8 PUNCH TO 80 COLUMN BINARY
- * FR MICROFILM PRINTER (NOT SUPPORTED)
- * FL MICROFILM PLOTTER (NOT SUPPORTED)
- * HR HARD COPY PRINTER (NOT SUPPORTED)
- * HL HARD COPY PLOTTER (NOT SUPPORTED)
- * PL PLOTTER
- * IN ROUTE TO INPUT
- * NO ROUTE TO INPUT WITH NO OUTPUT OPTION SET
- * SC CHANGE TO LOCAL FILE (*LOFT*)
- * TO ROUTE TO INPUT WITH *TT* OPTION SET
- * TT ROUTE TO TERMINAL OUTPUT QUEUE
- * SO ROUTE TO INPUT WITH *SS* OPTION SET
- * SS ROUTE TO STATION OUTPUT QUEUE
- * WT ROUTE TO WAIT QUEUE
- *
- * EC = EXTERNAL CHARACTERISTICS.
- * THE EC FIELD IS INTERPRETED IN ONE OF THREE WAYS
- * ACCORDING TO QUEUE TYPE.
- *
- * PRINT (*PRQT*) FILES.
- *
- * MNEMONIC VALUE DESCRIPTION
- * --- 0 ANY PRINT TRAIN
- * --- 1 RESERVED
- * A4 2 ASCII 48 CHARACTER PRINT TRAIN
- * B4 3 BCD 48 CHARACTER PRINT TRAIN
- * B6 4 BCD 63/4 CHARACTER PRINT TRAIN
- * A6 5 ASCII 64 CHARACTER PRINT TRAIN
- * A9 6 ASCII 96 CHARACTER PRINT TRAIN
- * --- 7 RESERVED FOR INSTALLATIONS
- *
- *
- * PUNCH (*PHQT*) FILES.
- * MNEMONIC VALUE DESCRIPTION
- * PU OR --- 0 PUNCH CODED(O26/O29)
- * SB 1 PUNCH SYSTEM BINARY
- * 80COL 2 PUNCH 80-COLUMN BINARY
- * --- 3 RESERVED
- * O26 4 PUNCH O26 MODE
- * O29 5 PUNCH O29 MODE
- * ASCII 6 PUNCH ASCII
- * --- 7 RESERVED FOR INSTALLATIONS
- *
- *
- * PLOT (*PLQT*) FILES.
- * MNEMONIC VALUE DESCRIPTION
- * --- 0 RESERVED
- * T6 1 TRANSPARENT 6-BIT DATA
- * T8 2 TRANSPARENT 8-BIT DATA
- * --- 3 UNUSED
- * --- 4 UNUSED
- * --- 5 UNUSED
- * --- 6 UNUSED
- * --- 7 RESERVED
- *
- *
- * S = FORCED SERVICE CLASS FLAG.
- *
- * IC = INTERNAL CHARACTERISTICS.
- *
- * MNEMONIC VALUE DESCRIPTION
- * DIS 0 FILE IS IN DISPLAY CODE
- * ASCII 1 FILE IS IN ASCII
- * BIN 2 FILE IS IN BINARY
- * --- 3 RESERVED
- *
- * FLAGS FLAGS INDICATING WHICH PARAMETERS ARE SPECIFIED.
- *
- * BIT DESCRIPTION
- * 17 RETURN JOBNAME IN LFN
- * 16 ACCOUNTING
- * 15 SPACING CODE FLAG
- * 14 REPEAT COUNT
- * 13 USER JOB NAME (UJN)
- * 12 NO DAYFILE MESSAGES, RETURN ERROR
- * IN ERR FIELD.
- * 11 SUBSYSTEM INITIATION
- * 10 FORMS CODE
- * 9 PRIORITY
- * 8 INTERNAL CHARACTERISTICS
- * 7 EXTERNAL CHARACTERISTICS
- * 6 EXTENDED PARAMETER BLOCK
- * 5 RESERVED FOR INSTALLATIONS
- * 4 DISPOSITION CODE
- * 3 DLID/SLID
- * 2 TID
- * 1 ROUTE TO CENTRAL SITE
- * 0 FORCED JSN FLAG (INPUT FILES ONLY)
- * 0 DEFERRED ROUTE (OUTPUT FILES ONLY)
- *
- * IF THE CENTRAL SITE BIT IS SET, THE FILE IS ROUTED
- * WITH BATCH ORIGIN TYPE. IF IT IS CLEAR, AND THE TID
- * BIT IS SET, THE ORIGIN TYPE IS DETERMINED FROM THE
- * GIVEN TID. IF BOTH BITS ARE CLEAR, THE ORIGIN TYPE IS
- * THAT OF THE JOB (EXCEPT, IT IS THAT OF THE PREVIOUS
- * ROUTING IF THE FILE HAD BEEN DEFERRED ROUTED).
- *
- * SLID = SOURCE LID. A 3-CHARACTER ALPHANUMERIC IDENTIFIER
- * FOR THE MAINFRAME WHICH IS TO BE CONSIDERED THE SOURCE
- * MAINFRAME FOR THIS FILE. THE FOLLOWING SPECIAL OCTAL
- * VALUES MAY ALSO BE PLACED IN THIS FIELD.
- * 000000 = GET SLID FROM JOB INPUT FILE SYSTEM SECTOR.
- * 000001 = SET SLID TO ZERO.
- * 000002 = SET SLID TO PHYSICAL ID OF THIS MAINFRAME.
- *
- * DLID = DESTINATION LID. A 3-CHARACTER ALPHANUMERIC ID
- * FOR THE MAINFRAME WHICH IS THE DESTINATION FOR THIS
- * FILE. THE FOLLOWING SPECIAL OCTAL VALUES MAY ALSO
- * BE PLACED IN THIS FIELD.
- * 000000 = SET DLID TO ZERO.
- * 000001 = SET DLID TO ZERO.
- * 000002 = SET DLID TO PHYSICAL ID OF THIS MAINFRAME.
- *
- * NOTE - IF THE *SLID/DLID* FLAG BIT IS NOT SET IN THE
- * PARAMETER BLOCK, DLID IS SET FROM THE JOB INPUT FILE
- * SYSTEM SECTOR. FOR A ROUTE TO INPUT, THE JOB INPUT
- * FILE DLID VALUE IS USED. FOR A ROUTE TO OUTPUT, THE
- * JOB INPUT FILE SLID VALUE IS USED.
- *
- * TID = TERMINAL ID.
- * IF THE UPPER SIX BITS ARE EQUAL TO 77B, THE
- * LOWER EIGHTEEN BITS CONTAIN THE COMPLEMENT OF
- * THE CM ADDRESS OF A TWO WORD FAMILY NAME - USER
- * NUMBER AREA.
- * TAG+0 42/ FAMILY NAME , 18/ 0
- * TAG+1 42/ USER NAME , 18/ 0
- * IF THE CM ADDRESS IS ZERO, THE FILE WILL BE ROUTED TO
- * THE REMOTE BATCH QUEUE WITH THE DEFAULT DESTINATION
- * PARAMETERS OF THE JOB.
- * IF THE UPPER SIX BITS ARE NOT EQUAL TO 77B, THE
- * LOWER EIGHTEEN BITS CONTAINS A TID.
- * IF THE CENTRAL SITE AND TID BITS ARE SET, THE TID MUST
- * BE A BATCH ID CODE TO AVOID AN ERROR CONDITION.
- *
- * UJN = USER JOB NAME. (0 TO 7 ALPHANUMERIC CHARACTERS)
- *
- * PRIORITY = PRIORITY FOR FILE.
- * NOTE - IF BOTH THE PRIORITY FLAG (BIT 9 OF THE
- * FLAGS FIELD) AND THE REQUEUE FLAG (BIT 8 OF THE
- * EXTENDED FLAGS FIELD) ARE SET, THEN WORD 3 OF
- * THE PARAMETER BLOCK CONTAINS THE ENTRY TIME TO
- * SET IN THE FILE-S QFT ENTRY. THIS FIELD IS SET
- * TO -1 BY *QMOVE* WHEN ACTIVATING AN INACTIVE FILE
- * SO THAT A NEW ENTRY TIME WILL BE SET.
- *
- * PI = PRINT IMAGE CODE FOR PRINT FILES. WHEN THE UPPER BIT
- * IS SET, THE LOWER 3 BITS CONTAIN THE PRINT IMAGE CODE.
- * MEANINGFUL ONLY FOR 512 OR 580 PRINTERS.
- *
- * SC = SPACING CODE FOR PRINT FILES (580-PFC). THIS IS A
- * NUMERIC VALUE FROM 0 - 77B.
- *
- * SVC = FORCED SERVICE CLASS IN DISPLAY CODE.
- * *DF* MAY ALSO BE SELECTED FOR THE SERVICE CLASS.
- * *DF* WILL SELECT THE USER DEFAULT SERVICE CLASS FOR
- * THE ORIGIN TYPE OF THE FILE.
- *
- * FA = FORCED ABORT CODE (IF INPUT FILE)
- * ABORT CODES ARE AS DEFINED IN *COMSDSP*.
- *
- * FNT = NFL OFFSET OF FNT ENTRY.
- *
- * RC = REPEAT COUNT.
- *
- * BC = BINARY CARD SEQUENCE ERROR DATA.
- *
- * COUNT = NUMBER OF CARDS READ.
- *
- * EQID = LEFT JUSTIFIED, ZERO FILLED, DISPLAY CODE EQUIPMENT
- * IDENTIFICATION FOR CARD READER.
- * FOR *RBF*, EQID IS A TERMINAL NAME.
- * FOR *BATCHIO*, EQID IS THE MACHINE ID AND
- * EST ORDINAL OF THE CARD READER.
- *
- * JSN = JOB SEQUENCE NAME. (ALPHANUMERIC CHARACTERS ONLY.)
- * JSN OF SUBSYSTEM IF *FRSI* FLAG SET, OR JSN TO SET
- * IF *FRFJ* FLAG SET.
- *
- * RA = EOI RANDOM ADDRESS OF FILE.
- *
- * DD = DATA DECLARATION (DISPLAY CODE). DEFINES THE
- * DATATYPE OF THE FILE, WHEN THE FILE IS DESTINED FOR
- * A REMOTE MAINFRAME.
- *
- * C6 = 6-BIT CHARACTER DATA.
- * C8 = 8-BIT CHARACTER DATA.
- * US = UNDEFINED DATATYPE/STRUCTURED FILE.
- * UU = UNDEFINED DATATYPE/UNSTRUCTURED FILE.
- *
- * EFLAGS = FLAGS INDICATING WHICH PARAMETERS ARE SPECIFIED
- * IN THE EXTENDED PARAMETER BLOCK.
- *
- * BIT DESCRIPTION
- * 17 RESERVED
- * 16 RESERVED
- * 15 RESERVED
- * 14 RESERVED
- * 13 RESERVED
- * 12 RESERVED
- * 11 RESERVED
- * 10 CHARGE/PROJECT (*SSJ=*)
- * 9 DO NOT VALIDATE SERVICE CLASS (*SSJ=*)
- * 8 SPECIAL REQUEUE OPERATION (*SSJ=*)
- * 7 USE ENCRYPTED PASSWORD (*SSJ=*)
- * 6 USE ORIGIN DEFAULT SERVICE CLASS (*SSJ=*)
- * 5 CONTROL POINT AND SSID SPECIFIED
- * 4 DO NOT VALIDATE PASSWORD (*SSJ=* ONLY)
- * 3 SUBSYSTEM PROCESSING (*SSJ=* ONLY)
- * 2 CREATOR USER/FAMILY NAMES (*SSJ=* ONLY)
- * 1 OWNER USER/FAMILY NAMES (*SSJ=* ONLY)
- * 0 DATA DECLARATION
- *
- * IF THE *SUBSYSTEM PROCESSING* BIT IS SET, THE CALLER IS
- * TREATED AS IF IT WERE A SUBSYSTEM. IN PARTICULAR, THE
- * FOLLOWING IS TRUE -
- * - ERROR PROCESSING MAY BE DONE ON USER COMMAND ERRORS,
- * AND ON OTHER ERRORS WHICH DO NOT NORMALLY ALLOW
- * ERROR PROCESSING.
- * - THE OWNER USER/FAMILY (AND OTHER SYSTEM SECTOR FIELDS)
- * WILL BE SET FROM THE USER COMMAND, INSTEAD OF BEING
- * PROPAGATED FROM THE CALLER-S INPUT FILE SYSTEM SECTOR.
- * - THE USER INDEX MAY BE SPECIFIED IN THE TID BLOCK
- * ALONG WITH THE USER NAME.
- * - BINARY CARD SEQUENCE ERROR DATA MAY BE SPECIFIED.
- *
- * IF THE *SPECIAL REQUEUE* FLAG IS SET, MOST FIELDS SPECIFIED
- * IN THE PARAMETER BLOCK AND THE EXTENDED PARAMETER BLOCK WILL
- * BE IGNORED. THIS OPTION IS USED TO REQUEUE AN ATTACHED QUEUE
- * FILE WITHOUT CHANGING EXISTING SYSTEM SECTOR AND QFT VALUES.
- * THE ONLY PARAMETERS THAT WILL NOT BE IGNORED ON A *SPECIAL
- * REQUEUE* ARE THE PRIORITY AND THE REPEAT COUNT.
- *
- * THE *DO NOT VALIDATE SERVICE CLASS* FLAG IS USED ONLY IF THE
- * FORCED SERVICE CLASS FLAG IN FET+1 IS SET. THE BIT USED TO
- * SELECT THE ORIGIN DEFAULT SERVICE CLASS WILL OVERRIDE THE
- * SELECTION OF THE FLAG TO NOT VALIDATE THE SERVICE CLASS.
- *
- * OUN = OWNER USER NAME (*SSJ=* ONLY).
- *
- * IRTADDR = IMPLICIT REMOTE TEXT ADDRESS (*SSJ=* ONLY).
- * ADDRESS OF BLOCK CONTAINING IMPLICIT REMOTE TEXT.
- * THE FIRST WORD OF THE BLOCK CONTAINS THE LENGTH OF
- * THE TEXT (IN CHARACTERS). THE REST OF THE BLOCK
- * CONSISTS OF 1 - 32B WORDS OF DISPLAY-CODE TEXT.
- *
- * OFN = OWNER FAMILY NAME (*SSJ=* ONLY).
- *
- * ERTADDR = EXPLICIT REMOTE TEXT ADDRESS.
- * ADDRESS OF BLOCK CONTAINING EXPLICIT REMOTE TEXT.
- * THE FIRST WORD OF THE BLOCK CONTAINS THE LENGTH OF
- * THE TEXT (IN CHARACTERS). THE REST OF THE BLOCK
- * CONSISTS OF 1 - 32B WORDS OF DISPLAY-CODE TEXT.
- *
- * CUN = CREATOR USER NAME (*SSJ=* ONLY).
- *
- * CP = CONTROL POINT SELECTION (SUBSYSTEM INITIATION).
- *
- * SSID = SUBSYSTEM ID (SUBSYSTEM INITIATION).
- *
- * CFN = CREATOR FAMILY NAME (*SSJ=* ONLY).
- *
- * ENCRYPTED PASSWORD FOR INPUT FILES (*SSJ=* ONLY).
- SPACE 4,20
- *** ACCOUNT DAYFILE MESSAGES.
- *
- *
- * *ABLQ, C1, JSN, YYMMDD, HHMMSS, DC.*
- * *ABLQ, C2, XXXXXX.XXXKUNS.*
- * QUEUED FILE WITH JOB SEQUENCE NAME JSN AND
- * DISPOSITION CODE DC HAS BEEN ROUTED TO THE
- * QUEUE ON DATE YYMMDD AT TIME HHMMSS.
- * THE FILE HAS A DISPOSITION CODE OF DC AND IS
- * XXXXXX.XXX THOUSAND PRU-S IN LENGTH.
- *
- * *ARRQ, C1, JSN, YYMMDD, HHMMSS, DC.*
- * *ARRQ, C2, XXXXXX.XXXKUNS.*
- * QUEUED FILE CREATED ON DATE YYMMDD AT TIME
- * HHMMSS WITH ORIGINAL JOB SEQUENCE NAME JSN
- * HAS BEEN REENTERED INTO THE ACTIVE QUEUE.
- * THE FILE HAS A DISPOSITION CODE OF DC AND IS
- * XXXXXX.XXX THOUSAND PRUS IN LENGTH.
- *
- * *SIUN, USERNAME.*
- * THE INPUT FILE BEING ROUTED HAS AN INVALID USERNAME.
- SPACE 4
- *** DAYFILE MESSAGES.
- *
- * THE FOLLOWING ERROR DESCRIPTION WILL CAUSE *DSP* TO ABORT
- * UNCONDITIONALLY (UNLESS THE CALLER IS A SUBSYSTEM OR
- * HAS THE SUBSYSTEM PROCESSING BIT SET).
- *
- * * DSP - INCORRECT REQUEST.*
- * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
- * 1. DSP NOT CALLED WITH RECALL. (DOES NOT APPLY WHEN
- * CALLED BY A SUBSYSTEM.)
- * 2. PARAMETER LIST ADDRESS OUT OF RANGE.
- * 3. AN INCORRECT TEXT LENGTH WAS SPECIFIED IN AN
- * IMPLICIT OR EXPLICIT REMOTE TEXT BLOCK.
- * 4. A NON-*SSJ=* PROGRAM HAS SPECIFIED ONE OF THE
- * FOLLOWING - CUN, CFN, IRTADDR.
- * 5. A NON-*SSJ=* AND NON-*SYOT* PROGRAM HAS SPECIFIED
- * ONE OF THE FOLLOWING DISPOSITION CODES - SO, SS.
- * 6. A JOB WITHOUT SYSTEM ORIGIN PRIVILEGES ATTEMPTED
- * TO INITIATE A SUBSYSTEM.
- * 7. THE SPECIFIED SUBSYSTEM DID NOT EXIST.
- * 8. THE SPECIFIED SUBSYSTEM WAS ALREADY ACTIVE.
- * 9. THE SPECIFIED SUBSYSTEM NAME AND SUBSYSTEM ID
- * DID NOT MATCH.
- * 10. A ZERO SUBSYSTEM ID WAS SPECIFIED ON A SUBSYSTEM
- * INITIATION.
- * 11. A SUBSYSTEM ID AND/OR A CONTROL POINT WAS SPECIFIED
- * WITHOUT SPECIFYING SUBSYSTEM INITIATION.
- * 12. THE FORCED JSN SPECIFIED CONTAINED AT LEAST ONE
- * NON-ALPHANUMERIC CHARACTER.
- *
- * * DSP - USER ACCESS NOT VALID.*
- * THE CALLER WAS NOT VALIDATED TO SPECIFY ONE OF THE
- * FOLLOWING - DLID, SLID, DD.
- *
- * * DSP - COMPLETE BIT ALREADY SET.*
- * THE COMPLETE BIT HAS NOT BEEN CLEARED BEFORE
- * DSP WAS CALLED.
- *
- * * DSP - I/O SEQUENCE ERROR.*
- * A REQUEST WAS MADE ON A BUSY FILE.
- *
- *
- * THE FOLLOWING ERROR CONDITIONS WILL CAUSE *DSP* TO ABORT
- * IF CALLED BY A NON-SUBSYSTEM JOB.
- *
- * * DSP - INCORRECT USER COMMAND.* (ERR=34)
- * USER ATTEMPTED TO ROUTE AN INPUT FILE WITH AN
- * IMPROPER USER COMMAND.
- *
- * * DSP - USER SECURITY COUNT EXHAUSTED.* (ERR=47).
- * THE USER ATTEMPTED TO ROUTE AN INPUT FILE
- * TO A USER NAME WHICH HAS EXHAUSTED IT-S
- * SECURITY COUNT.
- *
- *
- * THE FOLLOWING MESSAGES WILL BE ISSUED IF BIT 12 OF WORD
- * ONE IS NOT SET.
- *
- * * ERROR IN ROUTE FUNCTION, LFN = FILENAM.*
- * INFORMATIVE MESSAGE TO SYSTEM DAYFILE STATING AN
- * ERROR OCCURED WHILE ROUTING *FILENAM*.
- *
- * * DSP - FILE NAME ERROR.* (ERR=1).
- * AN ATTEMPT WAS MADE TO CREATE A FILE WITH AN INCORRECT
- * FILE NAME.
- *
- * * DSP - FILE NOT ON MASS STORAGE.* (ERR=2).
- * AN ATTEMPT WAS MADE TO ROUTE A FILE NOT ON
- * MASS STORAGE.
- *
- * * DSP - INCORRECT FILE TYPE.* (ERR=3).
- * THE FILE BEING PROCESSED IS NOT A QFFT,
- * OR LOFT FILE TYPE.
- *
- * * DSP - IMMEDIATE ROUTING - NO FILE.* (ERR=6).
- * THE SPECIFIED FILE FOR THE IMMEDIATE ROUTE COULD
- * NOT BE FOUND.
- *
- * * DSP - INCORRECT DISPOSITION CODE.* (ERR=7).
- * SPECIFIED DISPOSITION CODE IS NOT RECOGNIZED.
- *
- * * DSP - UNDEFINED SERVICE CLASS.* (ERR=11).
- * THE SPECIFIED SERVICE CLASS IS NOT DEFINED.
- *
- * * DSP - DEFERRED ROUTING NOT ALLOWED.* (ERR=13).
- * A FILE CANNOT BE DEFERRED ROUTED IF ANY ONE OF THE
- * FOLLOWING IS SPECIFIED - DD, IRTADDR, ERTADDR.
- *
- * * DSP - INCORRECT DATA DECLARATION.* (ERR=14).
- * THE SPECIFIED DATA DECLARATION IS NOT RECOGNIZED.
- *
- * * DSP - INCORRECT LID.* (ERR=15).
- * THE SPECIFIED SLID OR DLID IS EITHER AN INCORRECT
- * NAME, OR WAS NOT FOUND IN THE LID TABLE.
- *
- * * DSP - CANNOT ROUTE JOB INPUT FILE.* (ERR=16).
- * THE JOB INPUT FILE CAN NOT BE ROUTED.
- *
- * * DSP - FILE ON REMOVABLE DEVICE.* (ERR=20).
- * A FILE ON A REMOVABLE DEVICE CAN NOT BE ROUTED.
- *
- * * DSP - INCORRECT TID.* (ERR=21).
- * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
- * 1. USER NAME, FAMILY NAME PARAMETERS NOT IN
- * CM FIELD LENGTH.
- * 2. TID IS GREATER THAN OR EQUAL TO *IDLM* FOR
- * BATCH JOBS.
- *
- * * DSP - FORMS CODE NOT ALPHANUMERIC.* (ERR=22).
- * FORMS CODE MUST CONSIST OF TWO ALPHANUMERIC
- * CHARACTERS.
- *
- * * DSP - INCORRECT INTERNAL CHARACTERISTICS.* (ERR=23).
- * THE SPECIFIED INTERNAL CHARACTERISTICS WERE NOT VALID.
- *
- * * DSP - QUEUED FILE READ ERROR.* (ERR=24).
- * A READ ERROR WAS ENCOUNTERED ON THE SYSTEM SECTOR
- * OF A PREVIOUSLY ROUTED FILE.
- *
- * * DSP - QFT FULL.* (ERR=25).
- * THERE IS NO ROOM IN THE QFT FOR CURRENT USE.
- *
- * * DSP - THIS ROUTING NOT ALLOWED.* (ERR = 26).
- * AN ATTEMPT TO CHANGE THE QUEUE TYPE OF A DEFERRED
- * ROUTED FILE WAS MADE. (TO CHANGE THE QUEUE TYPE OF A
- * DEFERRED ROUTED FILE, THE FILE MUST FIRST BE CHANGED
- * TO A LOCAL FILE.)
- *
- * * DSP - DEVICE FULL.* (ERR=27).
- * THERE IS NO ROOM ON THE DEVICE FOR CURRENT USE.
- *
- * * DSP - MASS STORAGE ERROR.* (ERR=30).
- * A MASS STORAGE ERROR WAS ENCOUNTERED ON THE FILE.
- *
- * * JOB COMMAND ERROR. (TWENTY CHARACTERS).* (ERR=32).
- * A FILE BEING ROUTED TO THE INPUT FILE HAS AN
- * ERROR IN ITS JOB COMMAND. THE FIRST TWENTY CHARACTERS
- * ARE DISPLAYED IN THE MESSAGE.
- *
- * * DSP - TOO MANY DEFERRED BATCH JOBS.* (ERR=33).
- * USER HAS MORE JOBS IN THE SYSTEM THAN ALLOWED.
- * THIS CHECK IS IGNORED FOR USERS WITH SYSTEM ORIGIN
- * PRIVILEGES.
- *
- * * DSP - DEVICE INACCESSIBLE.* (ERR=35).
- * DSP WAS PREVENTED FROM SUCCESSFUL COMPLETION BECAUSE
- * OF AN INACCESSIBLE DEVICE CONDITION.
- *
- * * DSP - INCORRECT FILE MODE.* (ERR=36).
- * USER ATTEMPTED TO ROUTE A FILE WHICH WAS IN
- * EXECUTE ONLY MODE.
- *
- * * DSP - INCORRECT EXTERNAL CHARACTERISTICS.* (ERR=37).
- * USER SPECIFIED AN EXTERNAL CHARACTERISITIC VALUE THAT
- * WAS NOT LEGAL FOR THE DISPOSITION CODE SPECIFIED.
- * THE USER SHOULD RETRY USING A DIFFERENT VALUE.
- *
- * * DSP - INCORRECT ORIGIN TYPE.* (ERR=40).
- * CAN INDICATE ONE OF THE FOLLOWING CONDITIONS.
- * 1. THE ORIGIN TYPE WAS SPECIFIED BY A NON-SYSTEM
- * ORIGIN JOB.
- * 2. INTERACTIVE ORIGIN (IAOT) WAS SPECIFIED FOR AN
- * INPUT FILE.
- * 3. A FORCED JSN WAS SPECIFIED BY A NON-SYSTEM ORIGIN
- * JOB.
- *
- * * DSP - INCORRECT SPACING CODE.* (ERR=41).
- * SPACING CODE VALUE IS GREATER THAN 77B.
- *
- * * DSP - INCORRECT JOB ABORT CODE.* (ERR=42).
- * JOB ABORT CODE IS NOT IN RANGE.
- *
- * * DSP - INCORRECT SERVICE CLASS.* (ERR=45).
- * THE USER IS NOT VALIDATED TO SELECT THE SPECIFIED
- * SERVICE CLASS.
- *
- * * DSP - ALTERNATE FAMILY NOT ALLOWED.* (ERR=46).
- * THE USER IS NOT VALIDATED TO ROUTE A JOB
- * TO A DIFFERENT FAMILY.
- *
- * * DSP - USER SECURITY COUNT EXHAUSTED.* (ERR=47).
- * THE SECURITY COUNT FOR THE USER NAME SPECIFIED HAS
- * BEEN DECREMENTED TO ZERO.
- *
- * * DSP - JSN ALREADY IN SYSTEM.* (ERR=50).
- * THE FORCED JSN SPECIFIED IS ALREADY IN USE BY ANOTHER
- * JOB IN THE SYSTEM OR IS THE SAME AS A SUBSYSTEM NAME.
- *
- * * DSP - ALTERNATE USER NOT ALLOWED.* (ERR=51).
- * THE USER IS NOT VALIDATED TO ROUTE A JOB TO
- * ANOTHER USER NAME.
- SPACE 4,10
- *** OPERATOR MESSAGES.
- *
- * THE FOLLOWING OPERATOR MESSAGES WILL BE DISPLAYED AT
- * THE USERS CONTROL POINT UPON OCCURANCE OF THE SPECIFIED
- * EVENT.
- *
- * * QFT FULL.*
- * INDICATES THAT THE SYSTEM HAS NO AVAILABLE QFTS
- * AT THIS TIME. *DSP* WILL WAIT FOR AN AVAILABLE
- * QFT UNLESS DROPPED BY THE OPERATOR.
- *
- * * TRACK LIMIT.*
- * INDICATES THAT THE SYSTEM HAS RUN OUT OF TRACK
- * SPACE. *DSP* WILL WAIT FOR AVAILABLE TRACK
- * SPACE UNLESS DROPPED BY THE OPERATOR.
- SPACE 4,10
- *** ZERO LEVEL OVERLAYS CALLED.
- *
- *
- * 0AV - VERIFY USER NAME.
- * 0BF - BEGIN FILE.
- * 0DF - DROP FILE.
- * 0DQ - DROP QUEUE FILE.
- * 0QM - ISSUE QUEUE FILE ACCOUNTING MESSAGE.
- * 0VJ - VERIFY JOB/USER STATMENTS.
- EJECT
- * COMMON DECKS.
- *CALL COMPMAC
- *CALL COMSACC
- *CALL COMSCPS
- LIST X
- *CALL COMSDSP
- LIST -X
- *CALL COMSEJT
- *CALL COMSEVT
- *CALL COMSJCE
- *CALL COMSJIO
- *CALL COMSLFD
- *CALL COMSMSP
- *CALL COMSPFM
- *CALL COMSPIM
- *CALL COMSSSD
- LIST X
- *CALL COMSSSE
- LIST -X
- *CALL COMSSSJ
- LIST X
- *CALL COMSWEI
- LIST -X
- *CALL COMSZOL
- TITLE MACRO DEFINITIONS.
- ** DRIN - DEFAULT ROUTING INFORMATION.
- *
- * DRIN DC,EX,IC,QT
- *
- * ENTRY *DC* = DISPOSITION CODE MNENONIC
- * *EX* = EXTERNAL CHARACTERISTICS CODE.
- * *IC* = INTERNAL CHARACTERISTICS CODE.
- * *QT* = QUEUE TYPE.
- PURGMAC DRIN
- DRIN MACRO DC,EX,IC,QT
- MACREF DRIN
- .A IF DEF,DC_$
- VFD 12/0L_DC,6/QT,3/EX,3/IC
- .A ENDIF
- DRIN ENDM
- ERROR SPACE 4
- ** ERROR - SET ERROR CODE.
- *
- * ERROR ER
- *
- * ENTRY *ER* = ERROR CODE.
- PURGMAC ERROR
- ERROR MACRO E
- MACREF ERROR
- LDN E
- RJM ERR
- ENDM
- OVERLAY SPACE 4
- ** OVERLAY - GENERATE OVERLAY CONSTANTS.
- *
- *
- * OVERLAY (TEXT),OVL
- *
- * ENTRY *TEXT* = TEXT OF SUBTITLE.
- * *OVL* = ORIGIN OF OVERLAY
- .N SET 0
- OVLB MICRO 1,, 3D BASE OVERLAY NAME
- PURGMAC OVERLAY
- OVERLAY MACRO TEXT,OVL
- MACREF OVERLAY
- QUAL
- .N SET .N+1
- .M MICRO .N,1, ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
- .O MICRO 1,3, "OVLB"".M"
- QUAL ".O"
- TTL DSP/".O" - TEXT
- TITLE
- IDENT ".O",OVL TEXT
- *COMMENT DSP - TEXT
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- ORG OVL
- LJM *
- UJN *-2
- ENDM
- SCLASS SPACE 4,15
- ** SCLASS - DEFINE SERVICE CLASS TABLE.
- *
- * SCLASS NM,MN,DF,ST,TX
- *
- * ENTRY *NM* = SERVICE CLASS NAME.
- * *MN* = TWO CHARACTER MNEMONIC.
- * *DF* = DAYFILE MESSAGE CHARACTER.
- * *ST* = SHORT TEXT FOR *QFTLIST*.
- * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
- *
- * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
- * THIS MACRO.
- PURGMAC SCLASS
- SCLASS MACRO NM,MN,DF,ST,TX
- .A IFC NE,$NM$SSSC$
- .SCL RMT
- INDEX NM,1R_DF TX
- .SCL RMT
- .SCLVSP RMT
- INDEX NM,MN_MK TX
- .SCLVSP RMT
- .A ENDIF
- SCLASS ENDM
- SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
- *CALL COMSSCD
- SUBSYST SPACE 4,10
- ** SUBSYST - GENERATE SUBSYSTEM TABLE.
- *
- * SUBSYST NAME,ID,PR,PP,AUTO,DEF,DCP,CP,PROC,ABT
- *
- * ENTRY *NAME*= 3 CHARACTER SUBSYSTEM NAME.
- * *ID* = SUBSYSTEM ID.
- * *PP* = PP NAME FOR PP-INITIATED SUBSYSTEM.
- *
- * GENERATE TABLE OF SUBSYSTEM NAMES AND ID-S FOR
- * NON-PP-INITIATED SUBSYSTEMS.
- *
- *T 24/ 4LNAME, 12/ SSID
- PURGMAC SUBSYST
- SUBSYST MACRO NM,ID,PT,PP,AU,DF,DC,CP,PR,AB
- .A IFC EQ,$PP$$
- .SUB RMT
- .NM EQU *
- VFD 24/4L_NM_ ,12/ID
- TSUBE EQU *-.NM
- .SUB RMT
- .A ENDIF
- .SSN RMT
- .NM_$ EQU *
- VFD 24/4L_NM
- TSSNE EQU *-.NM_$
- .SSN RMT
- SUBSYST ENDM
- SUB$ EQU 1 ASSEMBLE *SUBSYST* MACRO
- *CALL COMSSSD
- TITLE DIRECT LOCATION ASSIGNMENTS
- ** DIRECT LOCATION ASSIGNMENTS.
- T8 EQU 16 TEMPORARY STORAGE
- FS EQU 20 - 24 FST ENTRY (5 LOCATIONS)
- QA EQU 26 ORDINAL OF QFT ENTRY (*0DQ*)
- ST EQU 27 STATUS FLAGS
- CN EQU 30 - 34 ASSEMBLE BUFFER (5 LOCATIONS)
- RI EQU 35 - 36 RANDOM INDEX
- JF EQU 35 JOB FIELD LENGTH (USED BY 0VJ)
- UN EQU 40 - 44 USER NAME (5 LOCATIONS)
- OT EQU 46 ORIGIN TYPE
- ER EQU 47 ERROR STATUS
- FA EQU 57 FST ADDRESS
- FN EQU 60 - 64 FNT ENTRY (5 LOCATIONS)
- FB EQU 65 - 66 FLAG BITS FROM REQUEST BLOCK (2 LOCATIONS)
- QT EQU 67 QUEUE TYPE
- SPACE 4,20
- ** STATUS WORD (ST) BIT DEFINITIONS.
- *
- * BIT SETTING EXPLAINATION
- *
- * 0 1 NOT A SUBSYSTEM (SSFL)
- * 1 1 FILE PREVIOUSLY ROUTED (DSFL)
- * 2 1 ISSUE *UADM* FUNCTION (IUFL)
- * 3 1 FILE CREATION NEEDED (FCFL)
- * 4 1 SCHEDULER NEEDED (SCFL)
- * 5 1 CONTROL POINT IS *SYOT* (SYFL)
- * 6 1 DISPOSITION CODE SPECIFIED (DCFL)
- * 7 1 CALLING PROGRAM IS *SSJ=* (SJFL)
- * 10 1 DESTINATION LID SPECIFIED (DLFL)
- * 11 1 SOURCE LID SPECIFIED (SLFL)
- * 12 1 FILE LOCKED (LKFL)
- * 13 1 FILE IS BEING REQUEUED (RQFL)
- SSFL EQU 1 SUBSYSTEM FLAG
- DSFL EQU 2 PREVIOUSLY ROUTED FLAG
- IUFL EQU 4 ISSUE *UADM* FLAG
- FCFL EQU 10B FILE CREATION FLAG
- SCFL EQU 20B SCHEDULER NEEDED FLAG
- SYFL EQU 40B *SYOT* CONTROL POINT FLAG
- DCFL EQU 100B DISPOSITION CODE SPECIFIED FLAG
- SJFL EQU 200B *SSJ=* PROGRAM FLAG
- DLFL EQU 400B DESTINATION LID FLAG
- SLFL EQU 1000B SOURCE LID FLAG
- LKFL EQU 2000B FILE LOCKED FLAG
- RQFL EQU 4000B FILE BEING REQUEUED FLAG
- SPACE 4,10
- ** SYMBOL DEFINITIONS.
- LHLAT EQU 7000B LOCAL HOST LID ATTRIBUTES (H, E, V)
- SPACE 4,10
- TITLE MAIN PROGRAM.
- ** DSP - MAIN PROGRAM.
- ORG PPFW
- DSP RJM PRS PRESET ROUTINE
- RJM FFQ FIND FILE TO QUEUE
- RJM DDC DETERMINE DISPOSITION CODE
- NJN DSP1 IF NOT CHANGE TO LOCAL FILE
- EXECUTE 3DD LOAD *CHANGE TO LOCAL FILE* OVERLAY
- RJM CLF CHANGE TO LOCAL FILE
- LJM DSP8 RETURN INFORMATION TO PARAMETER BLOCK
- DSP1 RJM VUL VALIDATE USER LIMITS
- RJM SQS SET QUEUED FILE SYSTEM SECTOR
- DSPG PSN
- * UJN DSP4 (SPECIAL REQUEUE OPERATION)
- * PROCESS FILE DESTINATION.
- RJM SDC SET DISPOSITION CODE
- EXECUTE 3DA LOAD FILE DESTINATION ROUTINES
- RJM SFD SET FILE DESTINATION
- LDD FB+1
- SHN 21-13
- PJN DSP2 IF NOT SUBSYSTEM INITIATION
- RJM PSI PROCESS SUBSYSTEM INITIATION
- DSP2 LDD QT
- LMK INQT
- NJN DSP3 IF NOT ROUTE TO INPUT
- RJM VIF VERIFY INPUT FILE
- UJN DSP4 UPDATE SYSTEM SECTOR AND EOI
- DSP3 EXECUTE 3DB LOAD FILE ATTRIBUTE ROUTINES
- RJM SOD SET OUTPUT DATA
- * UPDATE SYSTEM SECTOR AND EOI.
- DSP4 EXECUTE 3DC LOAD SYSTEM SECTOR/EOI UPDATE ROUTINES
- DSPH PSN
- * UJN DSP5 (SPECIAL REQUEUE OPERATION)
- RJM BSE CHECK FOR BINARY CARD SEQUENCE ERRORS
- RJM PUF PROCESS USER/FAMILY NAMES
- RJM SCP SET CHARGE/PROJECT DATA
- RJM SLI SET LOGICAL IDENTIFIERS
- RJM PUP PROCESS UJN PRESENCE
- LDD MA SET FN IN SYSTEM SECTOR
- CWD FN
- CRM FNSS,ON
- DSP5 LDD FB+1 CHECK FOR DEFERRED ROUTE
- SHN 21-0
- PJN DSP5.1 IF IMMEDIATE ROUTE
- * PROCESS DEFERRED ROUTE.
- AOD FS+4 SET FILE NOT BUSY
- AOM WQSA DO NOT PRESERVE FILE
- RJM AEO ATTACH QFT TO EJT
- DSP5.1 LDN IUFL SET FLAG TO ISSUE *UADM* FUNCTION
- RAD ST
- * WRITE QUEUED FILE SYSTEM SECTOR.
- RJM WQS WRITE QUEUED FILE SYSTEM SECTOR
- * SAVE SYSTEM SECTOR FIELDS.
- LDN QFTE*5-1 SAVE QFT ENTRY
- STD T1
- DSP6.1 LDM IOSS,T1
- STM QBUF,T1
- SOD T1
- PJN DSP6.1 IF MORE TO MOVE
- LDM IOSS+5*JSNQ+0 SAVE JSN
- STM DSPD
- LDM IOSS+5*JSNQ+1
- STM DSPE
- LDD FB+1
- SHN 21-0
- MJN DSP7 IF DEFERRED ROUTE
- DSPI PSN
- * UJN DSP6.2 (SPECIAL REQUEUE OPERATION)
- * WRITE QUEUED FILE EOI SECTOR (IMMEDIATE ROUTE ONLY).
- RJM IES INITIALIZE EOI SECTOR
- RJM PRT PROCESS REMOTE TEXT
- RJM WES WRITE EOI SECTOR
- * ISSUE ACCOUNTING MESSAGE FOR IMMEDIATE ROUTE.
- DSP6.2 RJM IAM ISSUE ACCOUNTING MESSAGE
- * UPDATE AND RELEASE QFT.
- DSP7 RJM CLE COMPLETE LOCAL ENTRY
- LDN 0
- * LDN 1 (IF ABORTED INPUT FILE)
- DSPF EQU *-1
- ZJN DSP7.1 IF NOT ABORTED INPUT FILE
- STM QBUF+ENTQ*5+4 SET ABORTED FLAG IN QFT
- LDN 0
- STM QBUF+ENTQ*5+3
- DSP7.1 LDN QFTE-1
- STD T5
- SFA QFT,QA GET ADDRESS OF QFT ENTRY
- ADN 1 WRITE QFT DATA
- CWM QBUF+5,T5
- SBN QFTE WRITE INTERLOCK WORD
- CWM QBUF,ON
- * REQUEST SCHEDULER IF THIS IS FOR AN INPUT FILE.
- LDD ST CHECK IF SCHEDULER NEEDED
- LPN SCFL
- ZJN DSP8 IF SCHEDULER NOT NEEDED
- LDN ZERL CLEAR PARAMETERS FOR CALL
- CRD CM
- AOD CM+2 SET SCHEDULER FLAG
- MONITOR RSJM REQUEST SCHEDULER
- * RETURN REQUIRED INFORMATION TO PARAMETER BLOCK.
- DSP8 LDD FB
- SHN 21-5
- PJN DSPX IF FILE NAME NOT TO BE RETURNED
- LDN ZERL RETURN INFORMATION TO CALLER
- CRD FN
- LDC ** (SET BY PRESET)
- DSPC EQU *-1
- STD FN+4
- LDC * (FIRST PART OF JSN)
- DSPD EQU *-1
- STD FN
- LDC * (SECOND HALF OF JSN)
- DSPE EQU *-1
- STD FN+1
- UJN DSP9 RETURN JSN TO CALLER
- * RETURN HERE FROM ERROR PROCESSOR.
- DSPX RJM GFA READ FIRST WORD OF PARAMETER BLOCK
- CRD FN
- DSP9 LDD FN+3 SET ERROR FLAG
- SCN 77
- LMC **
- DSPB EQU *-1 (ERROR CODE SET BY *ERP*)
- STD FN+3
- LDD FN+4 SET FUNCTION COMPLETE
- SCN 1
- LMN 1
- STD FN+4
- RJM GFA REWRITE FIRST WORD OF PARAMETER BLOCK
- CWD FN
- LJM DPP DROP PP
- SPACE 4,10
- ** MEMORY LOCATIONS.
- CUAV CON 0 *COMPCUA* USER ACCESS PRIVILEGES
- DDEC CON 0 DATA DECLARATION
- DLAT CON LHLAT ATTRIBUTES OF DLID
- DLID CON 0,0 DESTINATION LOGICAL ID
- EBIT CON 0,0 EXTENDED PARAMETER BLOCK FLAG BITS
- EJTO CON 0 EJT ORDINAL
- ERTL CON 0 EXPLICIT REMOTE TEXT LENGTH
- FJSN BSS 2 FORCED JSN OR SUBSYSTEM NAME
- FSJS CON 0 FORCED JSN FLAG
- FSOT CON 4000 FORCED ORIGIN TYPE
- FSSC CON 0 FORCED SERVICE CLASS
- INFL CON 0 INPUT FLAGS
- IRTL CON 0 IMPLICIT REMOTE TEXT LENGTH
- JBOT CON 0 JOB ORIGIN TYPE
- LFAL CON 0 LOCAL FILE ACCESS LEVEL
- LFST CON 0 LOCAL FILE STATUS
- SBCP CON 0 CP NUMBER FOR SUSBYSTEM INITIATION
- SBID CON 0 SUBSYSTEM ID
- SLAT CON LHLAT ATTRIBUTES OF SLID
- SLID CON 0,0 SOURCE LOGICAL ID
- SPACE 4,10
- * BUFFER DEFINITIONS AND LOAD ADDRESSES.
- .OVL0 MAX ZBFL,ZDQL LENGTH OF *OVL0* BUFFER
- OVL0 EQU EPFW-.OVL0 LOAD ADDRESS FOR *0BF* AND *0DQ*
- OVL1 EQU BFMS-ZAVL LOAD ADDRESS FOR *0AV*
- OVL2 EQU EPFW-ZDFL LOAD ADDRESS FOR *0DF*
- OVL3 EQU BFMS-ZVJL LOAD ADDRESS FOR *0VJ*
- OVL6 EQU BFMS-ZDQL LOAD ADDRESS FOR *0DQ*
- OVL7 EQU BFMS-QFTE*5-ZQML LOAD ADDRESS FOR *0QM*
- QBUF EQU BFMS-QFTE*5 QFT ENTRY BUFFER
- EBUF EQU QBUF-502 EOI SECTOR BUFFER
- SBUF EQU OVL3-5-502 SECTOR BUFFER FOR INPUT FILE
- STMT EQU SBUF+2 JOB/USER COMMAND
- TITLE RESIDENT ROUTINES.
- DPP SPACE 4,10
- ** DPP - DROP PP.
- DPP BSS 0 ENTRY
- DPPA LDN 0
- * LDN 1 (SET FILE NOT BUSY)
- ZJN DPP1 IF *FNB* CALL NOT NEEDED
- RJM FNB SET FILE NONBUSY
- DPP1 LDD ST CHECK IF *UADM* TO BE ISSUED
- LPN IUFL
- NJN DPP2 IF UADM REQUEST PRESENT
- MONITOR DPPM DROP PPU
- UJN DPP3 ENTER PP RESIDENT
- DPP2 LDN 1 SET WORD COUNT OF OPTIONS
- STD CM+1
- LDN 0 SPECIFY DROP OF PPU
- STD CM+2
- LDD MA UPDATE PRU LIMIT
- CWM DPPB,CM+1
- MONITOR UADM
- DPP3 LJM PPR ENTER PP RESIDENT
- DPPB CON CICS
- * CON CDCS (DEFERRED ROUTE)
- CON ACLW
- CON 0D*100+18D
- DPPC CON 0
- CON 0
- EER SPACE 4,15
- ** EER - EVALUATE MASS STORAGE ERROR RETURN.
- *
- * ENTRY (T5) = EST ORDINAL.
- * (ST) = STATUS FLAGS.
- *
- * EXIT JOB IS ROLLED OUT TO WAIT FOR A DEVICE TO BECOME
- * ACCESSIBLE IF A NON-SUBSYSTEM JOB ENCOUNTERED A
- * RECOVERABLE READ/WRITE ERROR ON THE DEVICE.
- *
- * USES FA, IR+4.
- *
- * CALLS FNB, *1RJ*.
- *
- * MACROS ERROR, EXECUTE, PAUSE.
- EER BSS 0 ENTRY
- LDC 0 CHECK FILE STATUS
- EERA EQU *-1
- ZJN EER1 IF NO HIDDEN FNT ENTRY
- STD FA
- EER1 LDM RDCT CHECK ERROR STATUS
- SHN 21-12
- MJN EER2 IF UNRECOVERABLE ERROR
- LDD ST
- LPN SSFL
- NJN EER3 IF NOT SUBSYSTEM
- EER2 ERROR /ERR/EC30 * MASS STORAGE ERROR.*
- EER3 LDD T5
- STD IR+4 SET EST ORDINAL
- RJM FNB CLEAN UP WORKING FILES
- PAUSE
- LDD CM+1
- NJP DSPX IF ERROR FLAG SET
- EXECUTE 1RJ ROLLOUT JOB
- ERR SPACE 4,10
- ** ERR - ERROR PROCESSOR.
- *
- * ENTRY (A) = ERROR CODE.
- * (FA) = NFL FNT ENTRY OFFSET.
- *
- * EXIT TO *DSPX* AFTER PROCESSING ERROR.
- * TO *PPR* IF JOB IS TO BE ABORTED.
- *
- * USES ER.
- ERR SUBR ENTRY
- STD ER SAVE ERROR CODE
- EXECUTE 3DE LOAD ERROR PROCESSING OVERLAY
- RJM ERP
- * LJM DSPX COMPLETE PROCESSING
- * LJM PPR COMPLETE PROCESSING
- FNB SPACE 4,10
- ** FNB - SET FILE NOT BUSY.
- *
- * ENTRY (FS - FS+4) = FST ENTRY.
- * (FA) = NFL FNT ENTRY OFFSET.
- * (QA) = ORDINAL OF QFT TABLE ENTRY.
- * (FNBA) .NE. 0 IF QFT ENTRY CREATION MODE.
- *
- * EXIT FILE SET NOT BUSY OR RETURNED IF CREATED BY *DSP*.
- * QFT ENTRY CLEARED IF CREATION MODE.
- * (FA) = 0.
- * (QA) = 0.
- *
- * USES FA, QA, FS - FS+4.
- *
- * CALLS FQI, *0DF*, *0DQ*.
- *
- * MACROS EXECUTE, NFA.
- *
- * NOTE (QA) .NE. 0, ONLY IF THE QFT ENTRY IS INTERLOCKED.
- FNB SUBR ENTRY/EXIT
- * PROCESS QFT ENTRY.
- LDD QA
- ZJN FNB3 IF NO GLOBAL ENTRY
- LDN 0
- * LDN 1 (CREATION MODE)
- FNBA EQU *-1
- ZJN FNB1 IF NOT CREATION MODE QFT ENTRY
- * LDN 1 DROP QFT ENTRY ONLY
- STM OVL0-1
- EXECUTE 0DQ,OVL0 DROP QFT ENTRY
- UJN FNB2 CONTINUE
- FNB1 LDN 40 CLEAR QFT INTERLOCK
- RJM FQI FUNCTION INTERLOCK
- FNB2 LDN 0 CLEAR GLOBAL ENTRY
- STD QA
- * PROCESS LOCAL FNT ENTRY.
- FNB3 LDD FA
- ZJN FNBX IF NO FILE
- LDN 0
- * LDN 1 (IF FILE CREATED BY *DSP*)
- FNBB EQU *-1
- ZJN FNB4 IF FILE NOT CREATED BY *DSP*
- LDN 0 RETURN FILE
- STM OVL2-1
- EXECUTE 0DF,OVL2 DROP FILE
- UJN FNB5 CONTINUE
- FNB4 NFA FA,R SET FILE NOT BUSY
- ADN FSTL
- CRD FS
- LDD FS+4 SET FILE NOT BUSY
- SCN 1
- LMN 1
- STD FS+4
- NFA FA,R
- ADN FSTL
- CWD FS
- LDN 0 CLEAR FNT POINTER
- STD FA
- FNB5 LJM FNBX RETURN
- FQI SPACE 4,10
- ** FQI - FUNCTION QFT INTERLOCK.
- *
- * ENTRY (A) = 0, SET QFT INTERLOCK.
- * (A) = 40, CLEAR QFT INTERLOCK.
- * (QA) = QFT ORDINAL.
- *
- * EXIT QFT INTERLOCK CLEARED.
- * (A) = 0, IF OPERATION COMPLETE.
- *
- * USES CM - CM+4.
- *
- * MACROS DELAY, MONITOR, PAUSE, SFA.
- *
- * NOTE IF QFT INTERLOCK CANNOT BE SET OR CLEARED, AND
- * THE OPERATOR OVERRIDES THE JOB, SOME INTERLOCKS
- * MAY NOT BE CLEARED.
- FQI SUBR ENTRY/EXIT
- STM FQIA PRESERVE FUNCTION
- FQI1 LDC **
- FQIA EQU *-1
- STD CM+1
- LDN 0
- STD CM+2
- SFA QFT,QA GET QFT ADDRESS
- STD CM+4
- SHN -14
- STD CM+3
- MONITOR UTEM UPDATE TABLE ENTRY
- LDD CM+1 CHECK FOR FUNCTION COMPLETE
- ZJN FQIX IF FUNCTION COMPLETE
- DELAY
- PAUSE
- LDD CM+1 CHECK FOR OPERATOR OVERRIDE
- LMN ORET
- NJN FQI1 IF NO OVERRIDE
- LDN 1 SET ERROR STATUS
- LJM FQIX RETURN
- GEA SPACE 4,10
- ** GEA - GET EJT ADDRESS.
- *
- * ENTRY (AEOA) = EJT ORDINAL.
- *
- * EXIT (A) = ADDRESS OF EJT.
- *
- * MACROS SFA.
- GEA SUBR ENTRY/EXIT
- LDM EJTO LOAD EJT ORDINAL
- SFA EJT
- UJN GEAX RETURN
- GFA SPACE 4,10
- ** GFA - GET PARAMETER BLOCK ADDRESS.
- *
- * ENTRY (IR+3 - IR+4) = PARAMETER BLOCK ADDRESS.
- *
- * EXIT (A) = ABSOLUTE ADDRESS.
- GFA SUBR ENTRY/EXIT
- LDD IR+3
- LPN 37
- SHN 6
- ADD RA
- SHN 6
- ADD IR+4
- UJN GFAX RETURN
- RFN SPACE 4,10
- ** RFN - READ FAMILY NAME.
- *
- * EXIT (A) = CM ADDRESS OF FAMILY NAME.
- *
- * USES CM - CM+4.
- *
- * MACROS SFA.
- RFN SUBR ENTRY/EXIT
- LDD CP READ FAMILY POINTER
- ADN PFCW
- CRD CM
- SFA EST,CM+3 READ EST
- ADK EQDE
- CRD CM
- LDD CM+4 SET FAMILY ADDRESS
- SHN 3
- ADN PFGL
- UJN RFNX RETURN
- RMS SPACE 4,10
- ** RMS - READ MASS STORAGE.
- *
- * ENTRY (A) = BUFFER ADDRESS.
- * (T5 - T7) = MASS STORAGE PARAMETERS.
- *
- * EXIT (A) .GE. 0.
- *
- * ERROR TO *EER*.
- *
- * CALLS RDS.
- RMS SUBR ENTRY/EXIT
- RJM RDS
- PJN RMSX IF SUCCESSFUL READ
- LJM EER EVALUATE ERROR RETURN
- SQO SPACE 4,10
- ** SQO - SET QFT OWNERSHIP.
- *
- * EXIT QFT UPDATED.
- *
- * USES CN - CN+4, FN - FN+4, UN - UN+4.
- *
- * CALLS GEA, GFO, SSJ.
- *
- * MACROS SFA.
- SQO3 LDD CN+2 SET FO,UI IN SYSTEM SECTOR
- STM IOSS+JSNQ*5+2
- LDD CN+3
- STM IOSS+JSNQ*5+3
- SQO SUBR ENTRY
- RJM GEA GET EJT ADDRESS
- ADK JSNE GET *FO,UI* FROM EJT
- CRD CN
- LDD CN+2 SET *FO,UI* IN SYSTEM SECTOR
- ADD CN+3
- NJN SQO3 IF FAMILY ORDINAL AND UI .NE. 0
- LDD MA SAVE FILE NAME
- CWD FN
- CRD UN
- LDD CP DETERMINE FAMILY ORDINAL FROM CPA
- ADK PFCW
- CRD CN
- SFA EST,CN+3 GET FAMILY EST ORDINAL
- ADK EQDE
- CRD CN
- LDD CN+4 LOAD MST ADDRESS
- SHN 3
- ADK PFGL
- CRD FN
- CRM FOSS,ON
- * LDN (NONZERO)
- RJM GFO GET FAMILY ORDINAL
- RJM SSJ CHECK FOR SSJ= BLOCK
- ZJN SQO1 IF NO SSJ= BLOCK PRESENT
- ADK UIDS GET USER INDEX
- UJN SQO2 CONTINUE
- SQO1 LDD CP GET UI FROM CPA
- ADK UIDW
- SQO2 CRD CN
- CRM OASS,ON
- LDD FN+4 SET FO,UI IN QFT
- SHN 6
- LMD CN+3
- SCN 37 CLEAR CHARGE REQUIRED BIT
- LMD CN+3
- STD CN+2
- LDD CN+4
- STD CN+3
- LDD MA RESTORE FILE NAME
- CWD UN
- CRD FN
- LJM SQO3 CONTINUE
- SSJ SPACE 4,10
- ** SSJ - CHECK FOR SSJ= BLOCK.
- *
- * EXIT (A) = 0 IF NO SSJ= BLOCK PRESENT.
- * (A) = SSJ= BLOCK ADDRESS IF PRESENT.
- *
- * USES CM - CM+4.
- *
- * MACROS NFA.
- SSJ SUBR ENTRY/EXIT
- LDD CP CHECK FOR SSJ=
- ADC SEPW
- CRD CM
- LDD CM
- LPN 4
- ZJN SSJX IF NOT SSJ=
- LDD CM+3 CHECK IF SSJ= BLOCK PRESENT
- LPN 37
- ADD CM+4
- ZJN SSJX IF NO SSJ= BLOCK
- NFA SSJN SET SSJ= BLOCK ADDRESS
- UJN SSJX RETURN
- VCA SPACE 4,14
- ** VCA - VALIDATE CENTRAL ADDRESS.
- *
- * ENTRY (A) = CENTRAL ADDRESS TO VALIDATE.
- *
- * EXIT (A) = 0, IF ADDRESS .LE. 1, OR .GE. FL.
- * (A) = CENTRAL ADDRESS IF VALID.
- * (T1 - T2) = CENTRAL ADDRESS.
- *
- * USES T1, T2.
- VCA1 STD T1 CLEAR UPPER PART OF ADDRESS
- VCA2 LDN 0 SET BAD ADDRESS FLAG
- VCA SUBR ENTRY/EXIT
- STD T2
- SCN 1
- ZJN VCA1 IF ADDRESS .LE. 1
- SCN 77
- SHN 6
- STD T1
- SHN 6
- SBD FL
- PJN VCA2 IF ADDRESS .GE. FL
- LDD T1
- SHN 14
- LMD T2
- UJN VCAX RETURN
- WMS SPACE 4,10
- ** WMS - WRITE MASS STORAGE.
- *
- * ENTRY (A) = BUFFER ADDRESS.
- * (T5 - T7) = MASS STORAGE PARAMETERS.
- *
- * EXIT (A) .GE. 0.
- *
- * ERROR TO *EER*.
- *
- * CALLS WDS.
- WMS SUBR ENTRY/EXIT
- RJM WDS
- PJN WMSX IF SUCCESSFUL WRITE
- LJM EER EVALUATE ERROR RETURN
- SPACE 4,10
- ** COMMON DECKS.
- EJT$ SET 1 CALCULATE EJT ADDRESS
- IFP$ EQU 1 ASSEMBLE REMOTE INITIALIZATION CODE
- QFT$ SET 1 CALCULATE QFT ADDRESS
- *CALL COMPGFP
- GFO$ SET 1 CONVERT FAMILY NAME TO FAMILY ORDINAL
- GFM$ SET 1 CONVERT FAMILY ORDINAL TO FAMILY NAME
- *CALL COMPUFT
- QUAL MIO
- WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
- WEI$ SET 1 ALLOW *DSP* TO SPECIFY EOI BUFFER
- *CALL COMPWEI
- QUAL *
- WEI EQU /MIO/WEI
- SPACE 4,10
- * THE FOLLOWING SUBROUTINES MAY BE OVERLAID BY *DSP* OVERLAYS.
- SPACE 4,10
- OVL4 EQU *+5 LOAD ADDRESS FOR *DSP* OVERLAYS
- ERRNG OVL2-5-* OVERFLOW INTO *0DF*
- ERRNG OVL0-5-* OVERFLOW INTO *0DQ*
- TITLE FILE INITIALIZATION ROUTINES.
- AMS SPACE 4,20
- ** AMS - ASSIGN MASS STORAGE.
- *
- * ENTRY (FS - FS+4) = FST ENTRY.
- * (FA) = NFL FNT OFFSET.
- *
- * EXIT (FS - FS+4) = FST ENTRY.
- * MASS STORAGE ASSIGNED.
- * SYSTEM SECTOR AND EOI WRITTEN.
- * (T5) = EQUIPMENT.
- *
- * USES T5, T6, CM - CM+4, FS - FS+4.
- *
- * CALLS PDF, WEI, WSS.
- *
- * MACROS ENDMS, MONITOR, NFA, SETMS.
- AMS SUBR ENTRY/EXIT
- LDD FS+2
- NJN AMSX IF FILE USED
- LDD FS+1
- NJN AMS2 IF FILE ASSIGNED
- * ASSIGN MASS STORAGE.
- AMS1 LDN ZERL CLEAR PARAMETERS
- CRD CM
- LDN OUTS SET *RTCM* PARAMETER FOR OUTPUT FILE
- STD CM+2
- LDM LFAL SET ACCESS LEVEL SELECTION
- ADN 40
- SHN 6
- STD CM+3
- MONITOR RTCM REQUEST TRACK CHAIN
- LDD CM+1 SET EQUIPMENT
- STD FS
- LDD CM+4
- NJN AMS2 IF TRACK ASSIGNED
- RJM PDF PROCESS DEVICE FULL
- UJN AMS1 RETRY MASS STORAGE ALLOCATION
- * UPDATE FNT/FST.
- AMS2 STD FS+1 SET FIRST TRACK
- STD FS+2
- STD T6
- LDD FS SET *EST* ORDINAL
- STD T5
- LDN FSMS SET FIRST SECTOR
- STD FS+3
- LDN 14 SET FILE BUSY
- STD FS+4
- NFA FA,R WRITE FST
- ADN FSTL
- CWD FS
- * WRITE SYSTEM SECTOR AND EOI.
- SETMS IO
- RJM WSS WRITE SYSTEM SECTOR
- LDC BFMS ADDRESS OF EOI BUFFER
- RJM WEI WRITE EOI
- ENDMS
- * UPDATE TRT.
- LDD T5 SET EQUIPMENT
- STD CM+1
- LDD T6 SET TRACK
- LPC 3777
- STD CM+2
- LDD T7 SET SECTOR
- STD CM+3
- MONITOR DTKM DROP TRACKS AND UPDATE TRT
- LDM SLM SET SECTOR COUNT
- STM DPPC+1
- LDN CDCS SET DECREMENT FUNCTION
- STM DPPB
- LJM AMSX RETURN
- CSL SPACE 4,10
- ** CSL - CHECK FOR SPECIAL LID.
- *
- * ENTRY (A) = LID (MAY BE SPECIAL CODE).
- *
- * EXIT (A) = LID, IF NO SPECIAL CODE.
- * (A) = 0 IF SPECIAL CODE = *LCZR*.
- * (A) = PID IF SPECIAL CODE = *LCPD*.
- *
- * USES T1, CM - CM+4.
- CSL1 SHN 14 RESTORE LID AND EXIT
- LMD T1
- CSL SUBR ENTRY/EXIT
- STD T1
- SHN -14
- NJN CSL1 IF NOT SPECIAL CODE
- LDD T1
- ZJN CSLX IF ZERO LID
- SBN LCZR
- ZJN CSLX IF *ZERO LID* CODE SPECIFIED
- ERRNZ LCPD-2 CODE DEPENDS ON VALUE
- ERRNZ MXLC-3 CODE DEPENDS ON VALUE
- * CREATE HOST PID USING THE MACHINE ID.
- LDK MMFL GET MACHINE ID
- CRD CM
- LDN 1RM
- SHN 14
- LMD CM MERGE *M* WITH MACHINE ID
- UJN CSLX RETURN
- EDF SPACE 4,25
- ** EDF - ENTER DEFERRED FILE.
- *
- * ENTRY (QT) = QUEUE TYPE.
- * (ST) = STATUS WORD.
- * (FA) = NFL FNT ENTRY OFFSET.
- *
- * EXIT *BFMS* CONTAINS UPDATED SYSTEM SECTOR FOR QUEUED FILE.
- * (FS - FS+4) = QUEUED FILE FST ENTRY.
- * (ST) = STATUS WORD.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * THIS ROUTING NOT ALLOWED.
- *
- * USES QA, ST, FN - FN+4, FS - FS+4.
- *
- * CALLS FNB, FQI.
- *
- * MACROS ERROR, NFA.
- EDF4 AOM DPPA SET FILE NOT BUSY
- LJM DPP DROP PPU
- EDF SUBR ENTRY/EXIT
- * USE QUEUE TYPE FROM SYSTEM SECTOR, IF NOT SPECIFIED IN CALL.
- LDD ST CHECK IF DISPOSITION CODE SPECIFIED
- LPC DCFL
- NJN EDF1 IF DISPOSITION CODE SPECIFIED
- LDM IOSS+JSNQ*5+4 USE QUEUE TYPE FROM SYSTEM SECTOR
- SHN -11
- STD QT
- * DETERMINE IF QUEUE TYPE HAS CHANGED.
- EDF1 LDM IOSS+JSNQ*5+4
- SHN -11
- LMD QT
- ZJN EDF2 IF NO CHANGE IN QUEUE TYPE
- ERROR /ERR/EC26 * DSP - THIS ROUTING NOT ALLOWED.*
- EDF2 LDN DSFL FLAG DATA IN SYSTEM SECTOR
- RAD ST
- LDM GQSS GET ORDINAL NUMBER
- STD QA
- LDN 0 SET *INTERLOCK* FUNCTION
- RJM FQI FUNCTION QFT INTERLOCK
- NJN EDF4 IF ENTRY NOT INTERLOCKED
- NFA FA,R READ FNT ENTRY OF FILE
- CRD FN
- ADN FSTL
- CRD FS
- LDM IOSS+JSNQ*5+4 CLEAR ATTACHED TO EJT BIT
- SCN 77
- STM IOSS+JSNQ*5+4
- * DETERMINE IF FILE IS BEING REQUEUED.
- LDM FGSS CHECK IF FILE BEING REQUEUED
- LPN 2
- ZJN EDF3 IF FILE NOT BEING REQUEUED
- LDC RQFL SAVE *FILE BEING REQUEUED* STATUS
- RAD ST
- EDF3 LJM EDFX RETURN
- EFN SPACE 4,15
- ** EFN - ENTER FILE NAME IN FNT TABLE.
- *
- * ENTRY (FN - FN+4) = FILE NAME.
- *
- * EXIT (FS - FS+4) = FST ENTRY.
- * (FA) = NFL FNT OFFSET.
- * (FNBB) INCREMENTED.
- * (LFAL) = ACCESS LEVEL OF NEW FILE.
- *
- * ERROR TO *DPP*, IF DUPLICATE FILE ROUND.
- *
- * USES FS, CM - CM+4, UN - UN+4.
- *
- * CALLS *0BF*.
- *
- * MACROS EXECUTE, MONITOR, NFA.
- EFN1 AOM FNBB SET FILE CREATED BY *DSP*
- NFA FA,R
- ADK FUTL
- CRD CM
- LDD CM+2
- LPN 7
- STM LFAL
- EFN SUBR ENTRY/EXIT
- LDD MA GET FILE NAME
- CWD FN
- CRD UN
- LDN NEEQ SET NO MASS STORAGE ASSIGNMENT
- STD FS
- LDN 0 SELECT NO RETURN WITHOUT FILE CREATED
- STM OVL0-1
- EXECUTE 0BF,OVL0 BEGIN FILE
- UJN EFN1 NO DUPLICATE ENTRY
- * PROCESS ADVANCE EXIT FROM *0BF* (FILE ALREADY EXISTS).
- LDN SWET SET SYSTEM SOFTWARE ERROR
- STD CM+2
- LDC * SET ADDRESS WHERE ERROR DETECTED
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- LJM DPP DROP PP
- EQF SPACE 4,10
- ** EQF - ENTER QUEUED FILE IN GLOBAL TABLE.
- *
- * EXIT (QA) = ORDINAL OF ENTRY.
- * (FNBA) = 1 (CREATION MODE).
- * QFT BUFFER INITIALIZED.
- * *QFT FULL.* MESSAGE ISSUED TO OPERATOR, IF
- * CANNOT MAKE AN ENTRY IN THE QFT.
- *
- * USES QA, CM - CM+7.
- * TO *RCL* IF QFT FULL.
- *
- * CALLS CTE, FNB, GEA.
- *
- * MACROS ERROR, PAUSE, SFA.
- EQF SUBR ENTRY/EXIT
- LDM FJSN SET FORCED JSN OR SUBSYSTEM NAME
- STD CM+3
- LDM FJSN+1
- STD CM+4
- LDD FB CHECK FOR JOB TERMINATION
- SHN 21-11
- PJN EQF2 IF NOT FINAL ROUTE FOR TERMINATING JOB
- RJM GEA GET EJT-S JSN
- ADK JSNE
- CRD CM+3
- EQF1 LDN 0 ZERO FILL JSN
- STD CM+5
- STD CM+6
- AOM EQFA PREVENT ALLOCATION OF NEW JSN
- UJN EQF4 CONTINUE
- EQF2 LDM FSJS
- NJN EQF1 IF FORCED JSN
- LDD FB+1
- SHN 21-13
- PJN EQF3 IF NOT SUBSYSTEM INITIATION
- LDM SBID
- ZJN EQF1 IF SUBSYSTEM ID NOT SPECIFIED
- SBK LSSI+1
- PJN EQF1 IF SPECIFIED SUBSYSTEM IS IN *SSCT* TABLE
- EQF3 LDN ZERL SET UP FOR *CTE* CALL (ASSIGN NEW JSN)
- CRD CM+3
- EQF4 LDN 7 SET CREATION + ATTACH + INTERLOCK
- STD CM+7
- LDC PQFT REQUEST QFT ENTRY
- * LDC PQFT+10000 (IF NEW JSN NOT NEEDED)
- EQFA EQU *-2
- RJM CTE CREATE TABLE ENTRY
- NJN EQF6 IF ENTRY MADE
- LDD CP CONSOLE MESSAGE = * QFT FULL.*
- ADK MS2W
- CWM EQFB,TR
- PAUSE
- LDD FB CHECK IF ERROR PROCESSING NEEDED
- LPN 1
- ADD CM+1 CHECK FOR ERROR FLAG AT CONTROL POINT
- ZJN EQF5 IF NO ERROR PROCESSING NEEDED
- ERROR /ERR/EC25 * DSP - QFT FULL.*
- EQF5 LJM RCL RECALL PP
- EQF6 LDD CM+1 SAVE QFT ORDINAL
- STD QA
- AOM FNBA SET CREATION MODE QFT ENTRY
- SFA QFT,QA GET ASSIGNED JSN
- ADK JSNQ
- CRM IOSS,ON
- LDN 0 CLEAR INTERLOCK AND CREATION BITS
- STM IOSS+JSNQ*5+4
- LDD FS SET EQUIPMENT
- STM IOSS+ENTQ*5+0
- LDD FS+1 SET TRACK
- STM IOSS+ENTQ*5+1
- LJM EQFX RETURN
- EQFB DATA C* QFT FULL.*
- GLI SPACE 4,10
- ** GLI - GET LOGICAL IDENTIFIERS.
- *
- * ENTRY (QT) = DESTINATION QUEUE TYPE.
- *
- * EXIT DLID/SLID SAVED FOR SYSTEM SECTOR AND QFT.
- *
- * USES T1, CN - CN+4.
- *
- * CALLS CSL, GFA.
- GLI SUBR ENTRY/EXIT
- LDM SLSS PROPAGATE OLD VALUES OF DLID/SLID
- LPN 77
- STM SLID
- LDM SLSS+1
- STM SLID+1
- LDM IOSS+INSQ*5+2
- SCN 77
- SHN 6
- LMM IOSS+INSQ*5+1
- SHN 6
- STM DLID+1
- SHN -14
- STM DLID
- LDD QT
- LMK INQT
- ZJN GLI1 IF ROUTE TO INPUT
- LDM SLID SET DLID = SLID FOR OUTPUT FILES
- STM DLID
- LDM SLID+1
- STM DLID+1
- GLI1 LDD FB+1
- LPN FRLD
- ZJN GLI4 IF DLID/SLID NOT SPECIFIED
- * GET DLID FROM PARAMETER BLOCK.
- RJM GFA GET SLID/DLID
- ADN 2
- CRD CN
- LDD CN+1 CHECK DLID
- LPN 77
- SHN 14
- LMD CN+2
- RJM CSL CHECK FOR SPECIAL LID
- STM DLID+1 SAVE DLID
- SHN -14
- STM DLID
- * GET SLID FROM PARAMETER BLOCK.
- LDD CN+1 CHECK SLID
- SCN 77
- SHN 6
- LMD CN
- ZJN GLI4 IF NO CHANGE IN SLID
- SHN 6
- GLI2 RJM CSL CHECK FOR SPECIAL LID
- STM SLID+1 SAVE SLID
- SHN -14
- STM SLID
- GLI3 UJN GLI5 SET ATTRIBUTES
- * CHECK IF DEFAULT SLID NEEDED.
- GLI4 LDM SLID
- ADM SLID+1
- NJN GLI5 IF SLID NONZERO
- LDN LCPD
- UJN GLI2 SET SLID TO PID
- * GET ATTRIBUTES OF DLID/SLID.
- GLI5 LDM DLID GET DLID ATTRIBUTES
- SHN 14
- LMM DLID+1
- ZJN GLI6 IF NO DLID
- RJM VID GET ATTRIBUTES FROM LID TABLE
- ZJN GLI6 IF LID TABLE NOT FOUND
- STM DLAT SAVE ATTRIBUTES
- GLI6 LDM SLID GET SLID ATTRIBUTES
- SHN 14
- LMM SLID+1
- ZJN GLI7 IF NO SLID
- RJM VID GET ATTRIBUTES FROM LID TABLE
- ZJN GLI7 IF LID TABLE NOT FOUND
- STM SLAT SAVE ATTRIBUTES
- GLI7 LJM GLIX RETURN
- ISS SPACE 4,25
- ** ISS - INITIALIZE SYSTEM SECTORS.
- *
- * ENTRY (FN - FN+4) = QUEUED FILE FNT ENTRY.
- * (FS - FS+4) = FST ENTRY
- * (FA) = NFL FNT ENTRY OFFSET.
- * (ST) = STATUS WORD.
- * (QT) = DESTINATION QUEUE TYPE.
- *
- * EXIT *BFMS* CONTAINS SYSTEM SECTOR FOR QUEUED FILE.
- * (FS - FS+4) = QUEUED FILE FST ENTRY
- *
- * USES CM - CM+4, T1 - T7.
- *
- * CALLS EQF, GEA, GLI, RFN, SSJ, SSR.
- *
- * MACROS NFA.
- ISS SUBR ENTRY
- LDC FNTN READ INPUT FILE FNT
- STM SSRB
- NFA FNTN
- CRD CM
- ADN FSTL
- CRD T5
- LDN INFT SET DESIRED FILE TYPE
- STM SSRA
- LDD ST CHECK IF CALLED BY SUBSYSTEM
- LPN SSFL
- NJN ISS1 IF NOT CALLED BY A SUBSYSTEM
- LDD QT CHECK IF SUBSYSTEM OUTPUT FILE
- LMK INQT
- NJN ISS1 IF OUTPUT FROM A SUBSYSTEM
- AOM ISSA SET INPUT FILE NOT READ
- UJN ISS2 CONTINUE
- ISS1 LDD T5
- RJM SSR READ INPUT FILE SYSTEM SECTOR
- ZJN ISS4 IF INPUT FILE SYSTEM SECTOR READ
- ISS2 LDC 501 CLEAR SYSTEM SECTOR BUFFER
- STD T1
- ISS3 LDN 0
- STM BFMS,T1
- SOD T1
- PJN ISS3 IF MORE TO CLEAR
- RJM GLI GET SLID/DLID
- LDD ST CHECK ORIGIN TYPE OF CALLING CP
- LPN SYFL
- ZJN ISS7 IF CP NOT *SYOT*
- LCN 0
- STM VASS+5*AAWC+3
- STM VASS+5*AAWC+4
- UJN ISS7 SET DEFAULT TID
- * SET DEFAULT DESTINATION TERMINAL ID (TID).
- ISS4 RJM GLI GET SLID/DLID
- LDN QFTE*5-1 CLEAR QFT IN SYSTEM SECTOR
- STD T1
- ISS5 LDN 0 CLEAR QFT
- STM IOSS,T1
- SOD T1
- PJN ISS5 IF NOT FINISHED
- LDN DDSSL CLEAR FILE DEPENDENT INFORMATION
- STD T1
- ISS6 LDN 0
- STM JISS,T1
- SOD T1
- PJN ISS6 IF MORE TO CLEAR
- * SET ROUTING INFORMATION FROM EJT.
- ISS7 LDC **
- ISSA EQU *-1 (INPUT FILE NOT READ FLAG)
- NJN ISS8 IF INPUT FILE NOT READ
- RJM GEA GET EJT ADDRESS
- ADK SCLE
- CRD CM
- LDD CM SET ORIGIN TYPE OF EJT
- SCN 60
- STM IOSS+SCLQ*5+0
- LDD CM+1 SET DEFAULT ROUTING INFORMATION
- STM IOSS+SCLQ*5+1
- LDD CM+2
- STM IOSS+SCLQ*5+2
- * SET CREATION DATE AND MACHINE ID.
- * SET CREATION FAMILY AND USER NAME.
- ISS8 LDC MMFL SET MACHINE ID
- CRD CM
- LDD CM
- STM CMSS
- STM RMSS
- RJM RFN READ CREATION FAMILY NAME
- CRM FMSS,ON
- RJM SSJ CHECK FOR SSJ= BLOCK
- ZJN ISS9 IF NO SSJ= ADDRESS
- ADK UIDS USER NAME
- UJN ISS10 READ USER NAME
- ISS9 LDD CP READ USER NAME
- ADK UIDW
- ISS10 CRM ACSS,ON
- LDM FMSS+3 ZERO FILL FAMILY NAME
- SCN 77
- STM FMSS+3
- LDN 0
- STM FMSS+4
- * SET CHARGE AND PROJECT NUMBERS.
- NFA CHGN
- CRM CHSS,TR
- ERRNZ PJSS-CHSS-5 CHARGE AND PROJECT NUMBER NOT CONTIGUOUS
- ERRNZ CHGN-PJ1N-1 CHARGE AND PROJECT NUMBER NOT CONTIGUOUS
- * ENTER FILE INTO QFT.
- RJM EQF ENTER QUEUED FILE
- * SET ORIGINAL AND CREATION JSN-S IN SYSTEM SECTOR.
- LDM IOSS+JSNQ*5+0
- STM OJSS
- LDM IOSS+JSNQ*5+1
- STM OJSS+1
- RJM GEA SET CREATION JSN
- ADK JSNE
- CRD CM
- LDD CM
- STM CJSS
- LDD CM+1
- STM CJSS+1
- LJM ISSX RETURN
- PDF SPACE 4,15
- ** PDF - PROCESS DEVICE FULL.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * DEVICE FULL.
- *
- * USES CM - CM+4.
- *
- * EXIT *DEVICE FULL* MESSAGE ISSUED TO OPERATOR.
- *
- * MACROS ERROR, MONITOR, PAUSE.
- PDF SUBR ENTRY/EXIT
- PDFA LDN 0 CHECK IF ROUTINE PREVIOUSLY CALLED
- * LDN 1
- NJN PDF1 IF ROUTINE PREVIOUSLY CALLED
- AOM PDFA SET ROUTINE PREVIOUSLY CALLED
- LDD CP CONSOLE MESSAGE = *TRACK LIMIT.*
- ADK MS2W
- CWM PDFB,TR
- LDN ZERL CLEAR PARAMETERS
- CRD CM
- LDK TKLE SET TRACK LIMIT EVENT
- STD CM+4
- * LDN 0 SET SYSTEM EVENT
- * STD CM+3
- MONITOR EATM
- PDF1 PAUSE
- LDD FB
- LPN 1
- ADD CM+1
- ZJN PDFX IF NO ERROR PROCESSING NEEDED
- PDF2 ERROR /ERR/EC27 * DSP - DEVICE FULL.*
- PDFB DATA C*TRACK LIMIT.*
- RCL SPACE 4,10
- ** RCL - RECALL PP.
- RCL BSS 0 ENTRY
- RJM FNB SET FILE NOT BUSY
- LDN ZERL DEFAULT TO TIMED RECALL
- CRD CM
- LDD MA
- CWD IR
- MONITOR RECM RECALL PP
- LJM PPR ENTER PP RESIDENT
- SDC SPACE 4,10
- ** SDC - SET DISPOSITION CODE.
- *
- * ENTRY (SDCA) = TABLE INDEX SET BY *DDC*.
- * = 0, IF NO DISPOSITION CODE SPECIFIED.
- *
- * EXIT QFT AND SYSTEM SECTOR UPDATED.
- *
- * USES T0, T1.
- *
- SDC SUBR ENTRY EXIT
- LDD ST CHECK IF DISPOSITION CODE SPECIFIED
- LPC DCFL
- ZJN SDCX IF DISPOSITION CODE NOT SPECIFIED
- LDC **
- SDCA EQU *-1 (*TODC* TABLE ENTRY SET BY *DDC*)
- STD T1
- LPN 77
- STD T0
- LDC ** SET DISPOSITION CODE IN SYSTEM SECTOR
- SDCB EQU *-1
- STM DCSS
- LDM IOSS+SCLQ*5+3
- SCN 77
- LMD T0
- STM IOSS+SCLQ*5+3
- LDM IOSS+JSNQ*5+4 SET DISPOSITION CODE IN QFT
- LMD T1
- LPN 77
- LMD T1
- STM IOSS+JSNQ*5+4
- UJN SDCX RETURN
- SPR SPACE 4,10
- ** SPR - SET PRIORITY.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (QT) = QUEUE TYPE.
- * (T3) .NE. 0, IF SPECIAL REQUEUE OPERATION.
- *
- * EXIT QFT UPDATED.
- * (FGSS) = FLAG SET IF PRIORITY PRESENT.
- *
- * USES CN - CN+4, T1 - T5.
- *
- * CALLS CET, GFA.
- SPR SUBR ENTRY/EXIT
- LDD FB+1 CHECK PRIORITY
- SHN 21-11
- MJN SPR2 IF PRIORITY SPECIFIED
- LDD T3
- NJN SPRX IF SPECIAL REQUEUE OPERATION
- LDD FB+1 CHECK IF DEFERRED ROUTE
- SHN 21-0
- MJN SPRX IF DEFERRED ROUTE
- LDM FGSS CHECK IF PRIORITY PREVIOUSLY SPECIFIED
- LPN 4
- NJN SPR3 IF PRIORITY PREVIOUSLY SPECIFIED
- SPR0 LDC RTCL USE REAL TIME CLOCK
- CRD T1
- SPR1 LJM SPR5 SET ENTRY TIME IN QFT
- SPR2 RJM GFA READ PRIORITY
- ADN 3
- CRD CN
- LDD T3
- ZJN SPR2.1 IF NOT SPECIAL REQUEUE OPERATION
- LDD CN+2
- NJN SPR0 IF NEW ENTRY TIME NEEDED
- LDD CN+3 GET ENTRY TIME
- STD T1
- LDD CN+4
- STD T2
- UJN SPR1 SET ENTRY TIME IN QFT ENTRY
- SPR2.1 LDD CN+4
- STM PRSS
- LDM FGSS SET PRIORITY FLAG
- SCN 4
- LMN 4
- STM FGSS
- LDD FB+1 CHECK IF DEFERRED ROUTE
- SHN 21-0
- MJN SPR6 IF DEFERRED ROUTE
- SPR3 LDM FGSS CLEAR PRIORITY SPECIFIED FLAG
- SCN 4
- STM FGSS
- LDM PRSS CONVERT PRIORITY INTO ENTRY TIME
- STD T1
- LDD QT GET QUEUE TYPE
- LMK INQT
- ZJN SPR4 IF INPUT FILE
- LDN OTQT SET OUTPUT QUEUE TYPE
- SPR4 STD T2
- LDM IOSS+SCLQ*5+0
- SCN 77
- SHN 6
- LMD T2
- RJM CET CALCULATE ENTRY TIME
- SPR5 LDD T2 SET ENTRY TIME IN QFT ENTRY
- STM IOSS+ENTQ*5+4
- LDD T1
- STM IOSS+ENTQ*5+3
- SPR6 LJM SPRX RETURN
- SQS SPACE 4,15
- ** SQS - SET QUEUED FILE SYSTEM SECTOR IN *BFMS*.
- *
- * ENTRY (FS - FS+4) = FST ENTRY.
- * (ST) = STATUS WORD.
- * (FA) = NFL FNT OFFSET.
- * (QT) = QUEUE TYPE.
- * (FN - FN+4) = FILE NAME.
- *
- * EXIT (FN - FN+4) = NFL FNT/FST ENTRY.
- * (FS - FS+4) = NFL FNT/FST ENTRY.
- * (QT) = QUEUE TYPE.
- * (QA) = ORDINAL OF GLOBAL *QFT* TABLE ENTRY.
- *
- * USES FN - FN+4.
- *
- * USES AMS, EFN, SPR, USS, VMS.
- *
- * MACROS NFA.
- SQS SUBR ENTRY/EXIT
- LDD ST CHECK IF FILE CREATION NEEDED
- LPN FCFL
- ZJN SQS1 IF FILE EXISTS
- RJM EFN ENTER FILE NAME
- SQS1 RJM AMS ASSIGN MASS STORAGE
- LDD FS SET EQUIPMENT
- RJM VMS VALIDATE MASS STORAGE
- NFA FA,R READ FNT OF EXISTING FILE
- CRD FN
- LDD FN+4 SET FILE TYPE
- LPN 77
- LMC QFFT*100
- STD FN+4
- RJM USS SET SYSTEM SECTOR
- RJM SPR SET PRIORITY
- UJN SQSX RETURN
- SSR SPACE 4,20
- ** SSR - SYSTEM SECTOR READ.
- *
- * ENTRY (A) = EST ORDINAL.
- * (T6) = FIRST TRACK.
- * (CM - CM+4) = FNT ENTRY.
- * (SSRB) = NFL FNT ENTRY OFFSET.
- *
- * EXIT (A) = 0 IF NO ERRORS AND DATA IN SYSTEM SECTOR.
- * .GT. 0 IF NO DATA IN SYSTEM SECTOR.
- * .LT. 0 IF ERRORS IN SYSTEM SECTOR DATA.
- * DRIVER PRESET.
- *
- * USES T1, T3, T5.
- *
- * CALLS RSS, SSE.
- *
- * MACROS ENDMS, NFA, SETMS.
- SSR2 ENDMS
- * LDN 0 RETURN (NO ERRORS)
- SSR SUBR ENTRY/EXIT
- STD T5
- LMN NEEQ
- ZJN SSR1 IF NO FILE
- LDD CM+4
- SHN -6
- SSR1 LMC QFFT
- * LMC INFT (READ JOB INPUT FILE)
- SSRA EQU *-1 (SET BY *ISS*)
- NJN SSRX IF NOT ALREADY QUEUE FILE
- SETMS IO
- LDN 0
- RJM RSS READ SYSTEM SECTOR
- ZJN SSR2 IF NO ERRORS
- * PROCESS SYSTEM SECTOR ERROR.
- LDN 0 SET FNT TYPE
- STD T3
- LDC *
- SSRB EQU *-1 (FNT OFFSET OF FILE READ)
- STD T1
- NFA T1,R
- RJM SSE REPORT SYSTEM SECTOR ERROR
- LCN 1 FLAG SYSTEM SECTOR ERROR
- UJN SSRX RETURN WITH ERROR
- USS SPACE 4,20
- ** USS - UPDATE SYSTEM SECTOR.
- *
- * ENTRY (FN - FN+4) = QUEUED FILE FNT ENTRY.
- * (FS - FS+4) = FST ENTRY.
- * (FA) = NFL FNT ENTRY OFFSET.
- *
- * EXIT *BFMS* CONTAINS SYSTEM SECTOR FOR QUEUED FILE.
- * (QT) = QUEUE TYPE.
- * (T3) .NE. 0, IF VALID SPECIAL REQUEUE FLAG SET.
- * REPEAT COUNT SET, IF VALID SPECIAL REQUEUE FLAG SET.
- *
- * ERROR TO *ERR* IF ERROR READING *QFFT* FILE SYSTEM SECTOR.
- *
- * USES QT, T3, T6, CM - CM+4.
- *
- * CALLS EDF, GFA, GLI, ISS, SQO, SSR.
- *
- * MACROS ERROR, ISTORE, NFA.
- USS2 RJM ISS INITIALIZE SYSTEM SECTOR
- RJM SQO SET QFT OWNERSHIP
- USS3 LDN 0 SET NORMAL EXIT
- STD T3
- USS SUBR ENTRY/EXIT
- * SET QUEUE FILE TYPE.
- LDM SDCA GET ENTRY FROM *TODC* TABLE
- SHN -11
- STD QT
- * READ SYSTEM SECTOR INFORMATION IF IT EXISTS.
- LDD FS+1 SET FIRST TRACK
- STD T6
- LDD FA READ CURRENT FNT ENTRY
- STM SSRB SAVE FNT OFFSET
- NFA FA,R
- CRD CM
- LDD FS
- RJM SSR READ SYSTEM SECTOR
- MJP USS1 IF ERROR ON *QFFT* FILE
- NJN USS2 IF SYSTEM SECTOR NOT READ
- * SET FNT/FST FOR DEFERRED ROUTED OR ATTACHED QUEUE FILE
- * (SYSTEM SECTOR INFORMATION IS ALREADY PRESENT).
- RJM GLI GET LID INFORMATION
- RJM EDF ENTER DEFERRED FILE
- * CHECK FOR SPECIAL REQUEUE FLAG.
- LDD ST
- LPN DSFL
- ZJN USS3 IF FILE NOT PREVIOUSLY ROUTED
- LDM EBIT+1
- LPC EFRQ
- STD T3
- ZJN USS0 IF SPECIAL REQUEUE FLAG NOT SPECIFIED
- ISTORE DSPG,(UJN DSP4)
- ISTORE DSPH,(UJN DSP5)
- ISTORE DSPI,(UJN DSP6.2)
- * SET REPEAT COUNT FOR SPECIAL REQUEUE OPERATION.
- LDD FB
- SHN 21-2
- PJN USS0 IF REPEAT COUNT NOT SPECIFIED
- RJM GFA READ REPEAT COUNT
- ADN 4
- CRD CM
- LDD CM+3 SET REPEAT COUNT
- LPN 77
- STM IOSS+INSQ*5+4
- STM RCSS
- USS0 LJM USSX RETURN
- USS1 ERROR /ERR/EC24 * DSP - QUEUED FILE READ ERROR.*
- VMS SPACE 4,10
- ** VMS - VALIDATE MASS STORAGE.
- *
- * ENTRY (A) = EQUIPMENT.
- *
- * EXIT (CM - CM+4) = EST ENTRY.
- * (T5) = EQUIPMENT.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * FILE NOT ON REMOVABLE DEVICE.
- * FILE NOT ON MASS STORAGE.
- *
- * USES T5, CM - CM+4.
- *
- * MACROS ERROR, SFA.
- VMS1 SHN 21-10-21+13
- PJN VMSX IF NOT REMOVABLE DEVICE
- ERROR /ERR/EC20 * DSP - FILE ON REMOVABLE DEVICE.*
- VMS SUBR ENTRY/EXIT
- STD T5 SET EQUIPMENT
- SFA EST READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD CM CHECK FOR MASS STORAGE
- SHN 21-13
- MJN VMS1 IF MASS STORAGE
- ERROR /ERR/EC02 * DSP - FILE NOT ON MASS STORAGE.*
- SPACE 4,10
- ** COMMON DECKS.
- CET$ SET 1 CALCULATE ENTRY TIME
- *CALL COMPCPE
- *CALL COMPCTE
- *CALL COMPC2D
- *CALL COMPRJC
- QUAL MIO
- RDS EQU RMS USE *RMS* IN PLACE OF *RDS*
- *CALL COMPRSS
- QUAL *
- RSS EQU /MIO/RSS
- *CALL COMPSSE
- *CALL COMPVID
- QUAL MIO3
- WCS$ SET 1 WRITE CONSECUTIVE SECTORS
- WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
- *CALL COMPWSS
- QUAL *
- WSS EQU /MIO3/WSS
- SPACE 4,10
- * THE FOLLOWING SUBROUTINES MAY BE OVERLAID BY ZERO-LEVEL
- * OVERLAYS.
- SPACE 4,10
- OVL5 EQU *+5 LOAD ADDRESS FOR OVERLAY *3DC*
- SPACE 4,10
- ERRNG OVL0-5-* OVERFLOW INTO *0BF*
- ERRNG OVL1-5-* OVERFLOW INTO *0AV*
- TITLE FILE INITIALIZATION ROUTINES (OVERLAYABLE).
- CFN SPACE 4,10
- ** CFN - COMPARE FILE NAMES.
- *
- * ENTRY (T1) = FWA OF FNT ENTRY
- * (FN - FN+4) = FILE NAME.
- *
- * EXIT (A) = 0, IF FILE FOUND.
- * (A) .GT. 0, FILE ASSIGNED TO CP, BUT NOT DESIRED FILE.
- * (A) .LT. 0, NO ENTRY.
- CFN1 LCN 1 NO FILE FOUND
- CFN SUBR ENTRY/EXIT
- LDI T1
- ZJN CFN1 IF NO ENTRY
- LMD FN
- NJN CFNX IF NO COMPARE
- LDM 1,T1
- LMD FN+1
- NJN CFNX IF NO COMPARE
- LDM 2,T1
- LMD FN+2
- NJN CFNX IF NO COMPARE
- LDM 3,T1
- LMD FN+3
- SCN 77
- UJN CFNX RETURN
- DDC SPACE 4,25
- ** DDC - DETERMINE DISPOSTION CODE.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FN - FN+4) = FNT ENTRY.
- * (ST) = STATUS WORD.
- *
- * EXIT (A) = 0, IF *DC=SC*.
- * (ST) = SET, IF DISPOSITION CODE SPECIFIED.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * INCORRECT DISPOSITION CODE.
- * *DC=SO* OR *DC=SS* AND CALLER NOT *SYOT* OR *SSJ=*.
- *
- * USES ST, T1, CM+2.
- *
- * CALLS CFN.
- *
- * MACROS ERROR.
- DDC SUBR ENTRY/EXIT
- DDC1 LDC * SET DISPOSITION CODE
- DDCB EQU *-1 (DISPOSITION CODE SET BY PRESET)
- STD CM+2
- LDD FB+1
- SHN 21-4
- MJN DDC2 IF DISPOSITION CODE SPECIFIED
- LDD FN+4 GET FILE TYPE
- SHN -6
- LMN LOFT
- ZJN DDC4 IF NOT QUEUED FILE
- UJN DDCX RETURN
- * IF *DC=SO* OR *DC=SS*, VALIDATE CALLER.
- DDC2 LDD CM+2
- LMC 2RSO
- ZJN DDC3 IF *DC=SO*
- LMC 2RSO&2RSS
- NJN DDC7 IF NOT *DC=SS*
- DDC3 LDD ST VALIDATE CALLER
- LPC SJFL+SYFL
- NJN DDC7 IF *SYOT* OR *SSJ=*
- ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
- * SET DEFAULT DISPOSITION CODE.
- DDC4 LDC TSFN-TSFNL PRESET TABLE INDEX
- STD T1
- DDC5 LDN TSFNL ADVANCE INDEX
- RAD T1
- RJM CFN COMPARE FILE NAMES
- ZJN DDC6 IF FILE FOUND
- PJN DDC5 IF NO FILE NAME MATCH
- ERROR /ERR/EC07 * DSP - INCORRECT DISPOSITION CODE.*
- DDC6 LDM 4,T1 SET DEFAULT DISPOSITION
- STD CM+2
- * VALIDATE DISPOSITION CODE.
- DDC7 LDC TODC-TODCL SET TABLE INDEX
- STD T1
- DDC8 LDN TODCL ADVANCE INDEX
- RAD T1
- LDI T1
- NJN DDC9 IF NOT END OF TABLE
- LDD CM+2
- LMC 2RSC
- ZJP DDCX IF *DC=SC*
- ERROR /ERR/EC07 * DSP - INCORRECT DISPOSITION CODE.*
- DDC9 LMD CM+2
- NJN DDC8 IF NO MATCH
- AOD T1 SET NEW QUEUE TYPE
- LDI T1 SAVE TABLE ENTRY FOR ROUTINE *SDC*
- STM SDCA
- SHN -11
- LMK INQT
- NJP DDC17 IF NOT INPUT FILE
- * VALIDATE FORCED JSN, IF ANY.
- LDD FB+1
- LPN FRFJ
- ZJP DDC15 IF FORCED JSN FLAG NOT SPECIFIED
- STM FSJS SET FORCED JSN
- LMD FB+1 FORCE IMMEDIATE ROUTE FOR INPUT FILE
- ERRNZ FRFJ-FRDR (CODE ASSUMES FRFJ AND FRDR ARE SAME FLAG)
- STD FB+1
- LDD OT
- LMK SYOT
- NJP DDC16 IF NOT SYSTEM ORIGIN
- LDK EJTP READ EJT POINTER WORD
- CRD CM
- LDN 0 START SEARCH AT ORDINAL 0
- STD CM
- DDC10 LDD CM
- SBD CM+2
- PJN DDC12 IF END OF EJT
- SFA EJT,CM GET EJT ENTRY
- ADK JSNE
- CRD CN
- AOD CM INCREMENT EJT ORDINAL
- LDD CN
- ZJN DDC10 IF BLANK ENTRY
- LMM FJSN
- NJN DDC10 IF NO MATCH ON FIRST 2 CHARACTERS
- LDD CN+1 COMPARE REMAINDER OF JSN
- LMM FJSN+1
- NJN DDC10 IF NOT SAME JSN
- DDC11 ERROR /ERR/EC50 * DSP - JSN ALREADY IN SYSTEM.*
- DDC12 LDC TSSN CHECK IF JSN MATCHES A SUBSYSTEM NAME
- STD T1
- DDC13 LDI T1 SEARCH TABLE FOR SUBSYSTEM
- LMM FJSN
- NJN DDC14 IF NO MATCH
- LDM 1,T1
- LMM FJSN+1
- ZJN DDC11 IF MATCH
- DDC14 LDN TSSNE GET NEXT TABLE ENTRY
- RAD T1
- LMC TSSNL
- NJN DDC13 IF NOT END OF TABLE
- RJM VJS VALIDATE JSN SPECIFICATION
- DDC15 LDM FSOT CHECK FOR FORCED ORIGIN TYPE
- LMK IAOT
- LPN 17
- NJN DDC17 IF NOT INTERACTIVE ORIGIN TYPE
- DDC16 ERROR /ERR/EC40 * DSP - INCORRECT ORIGIN TYPE.*
- DDC17 LDC DCFL SET DISPOSITION CODE SPECIFIED FLAG
- RAD ST
- LDD CM+2 SAVE FOR ACCOUNTING MESSAGE
- STM SDCB
- LJM DDCX RETURN
- TODC SPACE 4,10
- ** TODC - TABLE OF DEFAULT ROUTING INFORMATION.
- *
- *T 12/ DC, 6/ QT, 3/ EC, 3/ IC.
- *
- * DC = DISPOSITION CODE. (DISPLAY CODE)
- * EC = EXTERNAL CHARACTERISTICS FOR QFT.
- * IC = INTERNAL CHARACTERISTICS FOR QFT.
- * QT = QUEUE TYPE FOR SPECIFIED DISPOSITION CODE.
- IN$ EQU 1 ALLOW *DC=IN*
- NO$ EQU 1 ALLOW *DC=NO*
- TO$ EQU 1 ALLOW *DC=TO*
- TT$ EQU 1 ALLOW *DC=TT*
- SO$ EQU 1 ALLOW *DC=SO*
- SS$ EQU 1 ALLOW *DC=SS*
- TODC BSS 0
- DRIN PR,DFEX,DCIC,LPQF ANY PRINTER
- TODCL EQU *-TODC LENGTH OF TABLE ENTRY
- DRIN LP,DFEX,DCIC,LPQF ANY PRINTER
- DRIN P1,DFEX,DCIC,0 505 PRINTER
- DRIN P2,DFEX,DCIC,P2QF 512 PRINTER
- DRIN LQ,DFEX,DCIC,0 512 PRINTER
- DRIN LR,DFEX,DCIC,LRQF 580-12 PRINTER
- DRIN LS,DFEX,DCIC,LSQF 580-16 PRINTER
- DRIN LT,DFEX,DCIC,LTQF 580-20 PRINTER
- DRIN LX,DFEX,DCIC,LXQF 5870 NIP
- DRIN LY,DFEX,DCIC,LYQF 5970 NIP
- DRIN SB,PBFR,BNIC,PUQF PUNCH BINARY
- DRIN P8,P8FR,BNIC,PUQF PUNCH 80 COLUMN
- DRIN PB,PBFR,BNIC,PUQF PUNCH BINARY
- DRIN TT,DFEX,DFEX,TQQF TERMINAL OUTPUT
- DRIN SS,DFEX,DFEX,SQQF STATION OUTPUT
- DRIN WT,DFEX,DFEX,TQQF WAIT QUEUE
- TODCA EQU *
- DRIN PU,PHFR,DCIC,PUQF PUNCH CODED
- TODCB EQU *
- DRIN PH,PHFR,DCIC,PUQF PUNCH CODED
- DRIN FR,T6EX,0,FRQF MICROFILM PRINT
- DRIN FL,T6EX,0,FLQF MICROFILM PLOT
- DRIN PL,T6EX,0,PLQF PLOTTER
- DRIN HR,T6EX,0,HRQF HARD COPY PRINT
- DRIN HL,T6EX,0,HLQF HARD COPY PLOT
- DRIN IN,0,0,INQF INPUT
- DRIN NO,0,0,NOQF INPUT NO OUTPUT
- * DRIN SC,0,0,LOFT SCRATCH
- DRIN TO,0,0,TOQF INPUT, TERMINAL OUTPUT
- DRIN SO,0,0,SOQF INPUT, STATION OUTPUT
- CON 0 END OF TABLE
- TSFN SPACE 4,10
- ** TSFN - TABLE OF SPECIAL FILE NAMES AND DISPOSITION CODES.
- *
- *T 48/ FILE NAME ,12/ DC
- *
- * DC = DISPOSITION CODE.
- TSFN BSS 0
- VFD 48/0LOUTPUT,12/2LLP
- TSFNL EQU *-TSFN LENGTH OF ENTRY
- SPACE 4,10
- VFD 48/0LPUNCH,12/2LPU
- VFD 48/0LPUNCHB,12/2LSB
- VFD 48/0LP8,12/2LP8
- VFD 48/0,12/2LSC
- TSSN SPACE 4,10
- ** TABLE OF SUBSYSTEM NAMES.
- *
- * ENTRY FORMAT.
- *
- *T 24/ NAME
- *
- * NAME = 3-CHARACTER SUBSYSTEM NAME + BLANK.
- TSSN BSS 0
- LIST G
- .SSN HERE
- LIST *
- TSSNL BSS 0 END OF TABLE
- FFQ SPACE 4,20
- ** FFQ - FIND FILE TO QUEUE.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FN - FN+4) = (UN - UN+4) = FILE NAME.
- * (ST) = STATUS WORD.
- *
- * EXIT (FN - FN+4) = FNT ENTRY.
- * (FS - FS+4) = FST ENTRY.
- * (FA) = NFL FNT ENTRY OFFSET.
- * (ST) = SET, IF FILE CREATION NEEDED.
- * (LFAL) = LOCAL FILE ACCESS LEVEL.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * FILE NAME ERROR.
- * IMMEDIATE ROUTE - NO FILE.
- * CANNOT ROUTE JOB INPUT FILE.
- * I/O SEQUENCE ERROR.
- * INCORRECT FILE MODE.
- * INVALID FILE TYPE.
- *
- * USES ST, T1, CM - CM+4, FN - FN+4.
- *
- * CALLS SAF, SFB, VFN, VMS.
- *
- * MACROS ERROR, NFA.
- FFQ SUBR ENTRY/EXIT
- LDC ** FNT ADDRESS
- FFQA EQU *-1 (SET BY PRESET)
- RJM SAF SEARCH FOR ASSIGNED FILE
- NJN FFQ3 IF FILE FOUND
- RJM VFN VERIFY FILE NAME
- NJN FFQ1 IF VALID FILE NAME
- ERROR /ERR/EC01 * DSP - FILE NAME ERROR.*
- FFQ1 LDC LOFT*100 SET LOCAL FILE FOR *DDC*
- STD FN+4
- LDN FCFL SET FILE CREATION NEEDED
- RAD ST
- LJM FFQ10 CHECK FOR DEFERRED ROUTE
- FFQ3 LDD FA
- LMC FNTN
- NJN FFQ4 IF NOT JOB INPUT FILE
- ERROR /ERR/EC16 * DSP - CANNOT ROUTE JOB INPUT FILE.*
- FFQ4 RJM SFB SET FILE BUSY
- ZJN FFQ5 IF FILE SET BUSY
- LDN 0 CLEAR NFL FNT OFFSET
- STD FA
- ERROR /ERR/EC31 * DSP - I/O SEQUENCE ERROR.*
- * CHECK IF FILE CAN BE ROUTED.
- FFQ5 NFA FA,R READ FNT FROM NFL
- ADK FNTL
- CRD FN
- ADN FSTL-FNTL
- CRD FS
- ADN FUTL-FSTL
- CRD CM
- LDD CM+2 SAVE LOCAL FILE ACCESS LEVEL
- LPN 7
- STM LFAL
- LDD FN+3 CHECK FILE MODE
- SHN 21-2
- PJN FFQ7 IF NOT EXECUTE ONLY MODE
- ERROR /ERR/EC36 * DSP - INCORRECT FILE MODE.*
- FFQ7 SHN 21-0-21+2
- PJN FFQ7.1 IF FILE NOT LOCKED
- LDC LKFL SET *FILE LOCKED* FLAG
- RAD ST
- * VALIDATE FILE TYPE.
- FFQ7.1 LDD FN+4 SET CURRENT FILE TYPE
- SHN -6
- STD T1
- LDC SHNI+21
- SBD T1
- STM FFQB
- LDC QMSK
- SHN 21-0
- FFQB EQU *-1 (MODIFIED *SHN* INSTRUCTION)
- MJN FFQ8 IF VALID FILE TYPE
- ERROR /ERR/EC03 * DSP - INCORRECT FILE TYPE.*
- * VALIDATE FILE-S CURRENT MASS STORAGE ASSIGNMENT.
- FFQ8 LDD FS CHECK FST ENTRY
- ZJN FFQ10 IF NULL ENTRY
- RJM VMS VALIDATE MASS STORAGE FILE
- LDD FS+1
- ZJN FFQ10 IF NULL FILE
- LDD FS+2
- ZJN FFQ10 IF NULL FILE
- FFQ9 LJM FFQX RETURN
- * FOR A NULL OR NONEXISTENT FILE, ONLY ALLOW A DEFERRED ROUTE.
- FFQ10 LDD FB+1
- LPN FRDR
- NJN FFQ9 IF DEFERRED ROUTE
- ERROR /ERR/EC06 * DSP - IMMEDIATE ROUTING - NO FILE.*
- INFT DECMIC INFT
- QFFT DECMIC QFFT
- LOFT DECMIC LOFT
- QMSK EQU 1S"INFT"+1S"QFFT"+1S"LOFT"
- VJS SPACE 4,10
- ** VJS - VALIDATE JSN SPECIFICATION.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FJSN - FJSN+1) = FORCED JSN TO VALIDATE.
- *
- * EXIT JSN VALIDATED.
- *
- * ERROR TO *ERR* IF AN INVALID JSN WAS SPECIFIED.
- *
- * MACROS ERROR.
- VJS SUBR ENTRY/EXIT
- LDM FJSN VALIDATE SPECIFIED JSN
- SHN -6
- ZJN VJS1 IF CHARACTER .LT. *A*
- SBN 1R9+1
- PJN VJS1 IF CHARACTER .GT. *9*
- LDM FJSN
- LPN 77
- ZJN VJS1 IF CHARACTER .LT. *A*
- SBN 1R9+1
- PJN VJS1 IF CHARACTER .GT. *9*
- LDM FJSN+1
- SHN -6
- ZJN VJS1 IF CHARACTER .LT. *A*
- SBN 1R9+1
- MJN VJSX IF CHARACTER .LE. *9*
- VJS1 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
- VUL SPACE 4,10
- ** VUL - VALIDATE USER LIMITS.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * TOO MANY DEFERRED BATCH JOBS.
- *
- * USES T0 - T4, CM - CM+4.
- *
- * CALLS CDB, DBI, GEA.
- *
- * MACROS ERROR.
- VUL SUBR ENTRY/EXIT
- LDD FB
- SHN 21-13
- MJN VULX IF JOB TERMINATION AND VALIDATION DISABLED
- LDD FB+1
- SHN 21-0
- MJN VULX IF DEFERRED ROUTE
- LDM CUAV CHECK USER ACCESS
- ZJN VULX IF USER SYSTEM PRIVILEGES
- RJM GEA GET EJT ADDRESS
- CRD T0
- RJM CDB COUNT DEFERRED BATCH JOBS
- LDD CP GET *DB* FIELD FROM CONTROL POINT
- ADN ALMW
- CRD CM
- LDD CM+1
- RJM DBI GET DEFERRED BATCH LIMITS
- MJN VULX IF UNLIMITED
- SBD T4
- SBN 1
- PJN VULX IF LIMIT NOT REACHED
- ERROR /ERR/EC33 * DSP - TOO MANY DEFERRED BATCH JOBS.*
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPCDB
- DBI$ SET 1 DEFINE DEFERRED BATCH CONVERSION
- *CALL COMPCVI
- SAF$ SET 1 SELECT *COMPSAF* SEARCH FOR ASSIGNED FILE
- *CALL COMPSAF
- *CALL COMPSFB
- *CALL COMPVFN
- PRS TITLE PRESET.
- ** PRS - PRESET ROUTINE.
- *
- * EXIT (FB - FB+1) = FLAG BITS.
- * (FN - FN+4) = (UN - UN+4) = FILE NAME.
- * (DDCB) = DISPOSITION CODE.
- * (EBIT - EBIT+1) = EXTENDED PARAMETER BLOCK FLAG BITS.
- * (SFDA) = FORCED ORIGIN TYPE INSTRUCTION.
- * (VULA) = SYSTEM ORIGIN PRIVILEGES FLAG.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * INCORRECT *DSP* REQUEST.
- * COMPLETE BIT ALREADY SET.
- * INCORRECT ORIGIN TYPE.
- *
- * USES ER, FA, QA, ST, T7, CM - CM+4, CN - CN+4,
- * FB - FB+1, FN - FN+4.
- *
- * CALLS CRS, CUA, GFA, IFP, VCA, VLD, VTA.
- *
- * MACROS ERROR, SFA.
- PRS SUBR ENTRY/EXIT
- LDN 0 CLEAR ERROR STATUS AND FNT POINTERS
- STD ER
- STD ST
- STD FA
- STD QA
- STD FB
- STD FB+1
- RJM IFP INITIALIZE *SFA* CALL
- RJM CUA CHECK USER ACCESS
- STM CUAV
- * CHECK AUTO RECALL STATUS.
- LDD CP READ SUBSYSTEM ID
- ADN JCIW
- CRD CM
- ADN AACW-JCIW
- CRD FS
- ADN SEPW-AACW GET SPECIAL ENTRY POINT WORD
- CRD CN
- LDC LSSI
- SBD CM+2
- MJN PRS1 IF SUBSYSTEM
- LDN SSFL FLAG NO SUBSYSTEM
- RAD ST
- RJM CRS CHECK RECALL STATUS
- ZJN PRS3 IF NOT CALLED WITH RECALL
- PRS1 LDD CN CHECK ENTRY POINTS
- SHN 21-2
- PJN PRS2 IF NOT *SSJ=*
- LDC SJFL FLAG *SSJ=* PROGRAM
- RAD ST
- * CHECK ADDRESS OF ARGUMENT TABLE.
- PRS2 LDD IR+3 CHECK PARAMETER ADDRESS
- LPN 37
- SHN 14
- LMD IR+4
- RJM VCA VALIDATE ADDRESS
- ZJN PRS3 IF NOT VALID ADDRESS
- ADN DPBL-1 CHECK IF PARAMETER BLOCK IS WITHIN FL
- RJM VCA VALIDATE ADDRESS
- NJN PRS4 IF VALID ADDRESS
- PRS3 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
- PRS4 ADN EPBL-DPBL CHECK IF EXTENDED BLOCK IS WITHIN FL
- RJM VCA
- NJN PRS5 IF ENOUGH SPACE FOR EXTENDED BLOCK
- AOM PRSA SET *NOT ENOUGH SPACE* FLAG
- * READ FILE NAME AND FLAG BITS FROM ARGUMENT TABLE.
- PRS5 RJM GFA READ FIRST WORD OF PARAMETER BLOCK
- CRD FN
- ADN 1 READ FLAG BITS
- CRD CM
- ADN 3 GET FNT ADDRESS
- CRD CN
- LDD CN+4
- STM FFQA
- LDD CM+1 SAVE INPUT FLAGS
- STM INFL
- LDD CM+3 SAVE FLAG BITS
- LPN 77
- STD FB
- LDD CM+4
- STD FB+1
- SHN 21-6
- MJN PRS6 IF EXTENDED BLOCK SPECIFIED
- LJM PRS15 BYPASS EXTENDED BLOCK PROCESSING
- * SAVE FLAG BITS FOR EXTENDED PARAMETER BLOCK.
- PRS6 LDN 0
- * LDN 1 (NOT ENOUGH SPACE FOR EXTENDED BLOCK)
- PRSA EQU *-1
- NJN PRS7 IF NOT ENOUGH SPACE
- RJM GFA GET EXTENDED FLAG BITS
- ADN 7
- CRD CN
- LDD CN+3
- LPN 77
- STM EBIT
- LDD CN+4
- STM EBIT+1
- LPK EFOU+EFCU+EFSP+EFNV+EFSC+EFEP+EFRQ+EFDS+EFCH
- ZJN PRS8 IF NO PRIVILEGED FLAG BITS SET
- LDD ST
- SHN 21-7
- MJN PRS7.1 IF CALLER IS *SSJ=*
- SHN 21-0-21+7
- PJN PRS7.1 IF CALLER IS SUBSYSTEM
- PRS7 LJM PRS3 * DSP - INCORRECT REQUEST.*
- PRS7.1 LDM EBIT+1 CHECK FOR SUBSYSTEM PROCESSING
- LPN EFSP
- ZJN PRS8 IF SUBSYSTEM PROCESSING BIT NOT SET
- LDD ST FLAG SUBSYSTEM
- SCN SSFL
- STD ST
- * VALIDATE REMOTE TEXT ADDRESSES.
- PRS8 RJM GFA CHECK IMPLICIT TEXT ADDRESS
- ADN 10
- CRD CM
- RJM VTA VALIDATE TEXT ADDRESS
- STM IRTL SAVE LENGTH OF IMPLICIT TEXT
- ZJN PRS10 IF NO IMPLICIT TEXT SPECIFIED
- LDD ST CHECK FOR *SSJ=*
- SHN 21-7
- PJN PRS7 IF NOT *SSJ=*
- LDD FB+1
- SHN 21-0
- PJN PRS10 IF NOT DEFERRED ROUTE
- PRS9 ERROR /ERR/EC13 * DSP - DEFERRED ROUTING NOT ALLOWED.*
- PRS10 RJM GFA CHECK EXPLICIT TEXT ADDRESS
- ADN 11
- CRD CM
- RJM VTA VALIDATE TEXT ADDRESS
- STM ERTL SAVE LENGTH OF EXPLICIT TEXT
- ZJN PRS11 IF NO EXPLICIT TEXT SPECIFIED
- LDD FS+3
- SHN 21-5
- PJN PRS12 IF NOT VALIDATED TO SPECIFY LID
- LDD FB+1
- SHN 21-0
- MJN PRS9 IF DEFERRED ROUTE
- * PROCESS DATA DECLARATION.
- PRS11 LDM EBIT+1
- SHN 21-0
- PJN PRS15 IF DATA DECLARATION NOT SPECIFIED
- LDD FS+3
- SHN 21-5
- MJN PRS13 IF VALIDATED TO SPECIFY LID
- PRS12 LJM PRS18 * DSP - USER ACCESS NOT VALID.*
- PRS13 LDD FB+1
- SHN 21-0
- MJN PRS9 IF DEFERRED ROUTE
- RJM GFA GET DATA DECLARATION VALUE
- ADN 7
- CRD CM
- LDD CM SAVE DATA DECLARATION
- STM DDEC
- LDN TODDL
- STD T1
- PRS14 LDD CM
- LMM TODD-1,T1
- ZJN PRS15 IF LEGAL DATA DECLARATION
- SOD T1
- NJN PRS14 IF MORE LEGAL VALUES TO CHECK
- ERROR /ERR/EC14 * DSP - INCORRECT DATA DECLARATION.*
- * CLEAR ERROR CODE IN PARAMETER BLOCK.
- PRS15 LDD FN+3 CLEAR ERROR CODE
- SCN 77
- STD FN+3
- LDD FN+4 CHECK COMPLETE BIT
- STM DSPC
- LPN 1
- ZJN PRS16 IF COMPLETE BIT CLEARED
- ERROR /ERR/EC17 * DSP COMPLETE BIT ALREADY SET.*
- * PROCESS *SLID*/*DLID* PARAMETERS.
- PRS16 LDD FB+1
- SHN 21-3
- MJN PRS17 IF SLID/DLID SPECIFIED
- LJM PRS21 SET OUTPUT FILE DESTINATION
- PRS17 LDD FS+3
- SHN 21-5
- MJN PRS19 IF VALIDATED TO SPECIFY SLID/DLID
- PRS18 ERROR /ERR/EC10 * DSP - USER ACCESS NOT VALID.*
- PRS19 RJM GFA GET SLID/DLID
- ADN 2
- CRD CN
- LDD CN+1
- SCN 77
- SHN 6
- LMD CN
- SHN 6
- ZJN PRS20 IF SLID NOT SPECIFIED
- RJM VLD VALIDATE SLID
- LDC SLFL SET *SLID SPECIFIED* FLAG
- RAD ST
- PRS20 LDD CN+1
- LPN 77
- SHN 14
- LMD CN+2
- ZJN PRS21 IF DLID NOT SPECIFIED
- RJM VLD VALIDATE DLID
- LDC DLFL SET *DLID SPECIFIED* FLAG
- RAD ST
- * SET OUTPUT FILE DESTINATION, IF END OF JOB.
- PRS21 LDD CP DETERMINE IF END OF JOB
- ADK TFSW
- CRD CM
- LDD CM
- STM EJTO SAVE EJT ORDINAL
- SFA EJT
- ADK SCHE
- CRD T3
- LDD CP GET END OF JOB DESTINATION
- ADN EOJW
- CRD CN
- RJM GFA
- ADN 1
- CRD CM
- LDD T3+2
- LPC 3000
- LMK NOTM*1000
- ZJN PRS22 IF NOT END OF JOB
- LDD CN SET END OF JOB DESTINATION
- SHN -6
- LPN 7
- STD T7
- LDM TOQD,T7 GET CORRESPONDING DISPOSITION CODE
- STD T7
- LDI T7
- STM TSFN+TSFNL-1
- LDD CM SET TERMINATION FLAG BITS
- SCN 77
- RAD FB
- PRS22 LDD CM+2 SET DISPOSITION CODE
- STM DDCB
- * SET DEFAULT PUNCH MODE IN DISPOSITION TABLE.
- LDD CP CHECK KEYPUNCH MODE OF JOB
- ADN SNSW
- CRD CM
- LDD CM
- SHN 21-12
- PJN PRS23 IF O26
- .A IF DEF,PU$
- LDM TODCA+1
- SCN 70
- LMN P9FR*10
- STM TODCA+1
- .A ENDIF
- .B IF DEF,PH$
- LDM TODCB+1
- SCN 70
- LMN P9FR*10
- STM TODCB+1
- .B ENDIF
- * CHECK FOR FORCED ORIGIN TYPE.
- PRS23 LDM EJTO GET ORIGIN TYPE FROM EJT
- SFA EJT
- ADK SCLE
- CRD CM
- LDD CM SAVE ORIGIN TYPE OF CALLING JOB
- SCN 60
- STM JBOT
- LPN 17
- STD OT
- LMK SYOT
- NJN PRS26 IF NOT SYSTEM ORIGIN
- LDN SYFL SET *SYOT* CP STATUS
- RAD ST
- LDD FN+4
- SHN 21-13
- PJN PRS26 IF NOT FORCED ORIGIN FLAG
- SHN -21+13-1
- LPN 77
- STD T7 SAVE FORCED ORIGIN CODE
- SBN MXOT
- PJN PRS24 IF OUT OF RANGE
- LDM TOOT,T7
- NJN PRS25 IF LEGAL ORIGIN TYPE
- PRS24 ERROR /ERR/EC40 * DSP - INCORRECT ORIGIN TYPE.*
- PRS25 LDD T7
- STM FSOT SAVE FORCED ORIGIN TYPE
- * CHECK FOR FORCED SERVICE CLASS.
- PRS26 RJM GFA GET FORCED SERVICE CLASS FLAG
- ADN 1
- CRD CM
- ADN 3 GET FORCED SERVICE CLASS
- CRD CN
- LDD CM+3
- SHN 21-10
- PJN PRS29 IF NOT FORCED SERVICE CLASS FLAG
- LCN 0 PRESET USER DEFAULT SELECTED
- STD T7
- LDD CN+1
- LMC 2RDF
- ZJN PRS28 IF USER DEFAULT SELECTED
- LDN MXSC-1 SET TABLE INDEX
- STD T7
- PRS27 LDM TSCC,T7
- LMD CN+1
- ZJN PRS28 IF MATCH
- SOD T7 DECREMENT INDEX
- NJN PRS27 IF NOT END OF TABLE
- ERROR /ERR/EC11 * DSP - UNDEFINED SERVICE CLASS.*
- PRS28 LDD T7 SAVE FORCED SERVICE CLASS
- STM FSSC
- * PROCESS SUBSYSTEM INITIATION PARAMETERS.
- PRS29 RJM GFA GET POSSIBLE SUBSYSTEM NAME / FORCED JSN
- ADN 6
- CRD CN
- LDD CN+3 SAVE JSN
- LPN 77
- SHN 14
- LMD CN+4
- SHN -6+22
- STM FJSN
- SHN -6
- SCN 77
- LMN 1R SPACE FILL JSN
- STM FJSN+1
- LDM EBIT+1 CHECK SUBSYSTEM/CONTROL POINT SELECTION
- LPN EFCP
- ZJN PRS30 IF NO SUBSYSTEM/CONTROL POINT SELECTED
- LDN NCPL GET NUMBER OF CONTROL POINTS IN SYSTEM
- CRD CM
- RJM GFA GET PARAMETER BLOCK ADDRESS
- ADN 12
- CRD CN READ PARAMETERS
- LDD CN+3 CHECK CONTROL POINT NUMBER
- LPN 77
- SBD CM+1
- ZJN PRS29.1 IF LAST CONTROL POINT NUMBER
- PJN PRS31 IF INCORRECT CONTROL POINT NUMBER
- PRS29.1 ADD CM+1
- NJN PRS29.2 IF CONTROL POINT SELECTED
- LDN 77 SELECT ANY AVAILABLE CONTROL POINT
- PRS29.2 STM SBCP PRESET CONTROL POINT SELECTION
- LDD CN+4 CHECK SSID
- ZJN PRS31 IF NOT SPECIFIED
- STM SBID PRESET SSID
- LDD FB+1
- SHN 21-13
- PJN PRS31 IF SUBSYSTEM INITIATION NOT SET
- PRS30 LJM PRSX RETURN
- PRS31 LJM PRS3 * DSP - INCORRECT REQUEST *
- TSCC SPACE 4,10
- ** TSCC - TABLE OF SERVICE CLASS CODES.
- *
- * INDEXED BY SERVICE CLASS.
- *
- *T 12/ SVC
- *
- * SVC = SERVICE CLASS IN DISPLAY CODE.
- TSCC BSS 0
- LOC 0
- DATA H+"NMSC"+
- LOC *O
- VLD SPACE 4,15
- ** VLD - VALIDATE LID.
- *
- * ENTRY (A) = LID.
- *
- * EXIT TO *ERR* IF INCORRECT LID SPECIFIED.
- *
- * CALLS VID.
- *
- * MACROS ERROR.
- VLD SUBR ENTRY/EXIT
- MJN VLD1 IF NOT SPECIAL CODE
- SBN MXLC
- MJN VLDX IF VALID SPECIAL CODE
- ADN MXLC
- VLD1 RJM VID VALIDATE LOGICAL ID
- NJN VLDX IF VALID LID FOUND
- ERROR /ERR/EC15 * DSP - INCORRECT LID.*
- VTA SPACE 4,15
- ** VTA - VALIDATE TEXT ADDRESS.
- *
- * ENTRY (CM+3 - CM+4) = ADDRESS OF REMOTE TEXT.
- *
- * EXIT (A) = LENGTH OF REMOTE TEXT (IN CM WORDS).
- * (A) = 0 IF NO TEXT.
- * TO *ERR* IF TEXT OUTSIDE FL, OR IF BAD TEXT LENGTH.
- *
- * USES T3, CN - CN+4.
- *
- * CALLS DV5, VCA.
- *
- * MACROS ERROR.
- VTA SUBR ENTRY/EXIT
- LDD CM+3
- LPN 77
- SHN 14
- LMD CM+4
- ZJN VTAX IF NO TEXT
- RJM VCA VALIDATE CENTRAL ADDRESS
- ZJN VTA1 IF TEXT NOT WITHIN FL
- SHN -6+22 READ LENGTH OF TEXT
- ADD RA
- SHN 6
- CRD CN
- LDD CN+4 CHECK TEXT LENGTH
- ZJN VTA1 IF INCORRECT LENGTH
- ADC -257D
- PJN VTA1 IF INCORRECT LENGTH
- ADC 257D+1 ROUND UP
- SHN -1 CONVERT CHARACTER LENGTH TO CM WORDS
- RJM DV5
- STD T3
- LDD CM+3 ENSURE ENTIRE TEXT IS WITHIN FL
- LPN 77
- SHN 14
- LMD CM+4
- ADD T3
- RJM VCA VALIDATE ADDRESS
- ZJN VTA1 IF TEXT NOT WITHIN FL
- LDD T3 RETURN LENGTH OF TEXT
- LJM VTAX RETURN
- VTA1 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
- TODD SPACE 4,10
- ** TODD - TABLE OF LEGAL DATA DEFINITIONS.
- TODD BSS 0
- CON 2LC6
- CON 2LC8
- CON 2LUS
- CON 2LUU
- TODDL EQU *-TODD
- TOOT SPACE 4,10
- ** TOOT - TABLE OF ORIGIN TYPES.
- *
- *T 12/FO
- *
- * FO = IF NONZERO, THIS ORIGIN TYPE IS VALID AS A
- * ORIGIN TYPE FOR *SYOT* CALLERS.
- TOOT INDEX
- INDEX SYOT,2
- INDEX BCOT,2
- INDEX EIOT,2
- INDEX IAOT,2
- INDEX MXOT
- TOQD SPACE 4,10
- ** TOQD - TABLE OF QUEUE DESTINATIONS.
- *
- *T 12/DC
- *
- * DC= DESTINATION CODE FOR SPECIFIED QUEUE
- TOQD INDEX
- INDEX QOJT,(=C*LP*) QUEUE ALL OUTPUT
- INDEX NOJT,(=C*SC*) DROP ALL OUTPUT
- INDEX TTJT,(=C*TT*) OUTPUT TO INTERACTIVE QUEUE
- INDEX SSJT,(=C*SS*) OUTPUT TO STATION OUTPUT QUEUE
- INDEX MXJT
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPCRS
- *CALL COMPCUA
- RND$ EQU 1 FORCE ROUNDING ON *DV5* CONVERSION
- *CALL COMPDV5
- SPACE 4,10
- IFP HERE REMOTE INITIALIZATION CODE
- SPACE 4,10
- OVERFLOW PPFW,EPFW
- OVERLAY (FILE DESTINATION ROUTINES.),OVL4
- CAA SPACE 4,10
- ** CAA - CHECK ALTERNATE FAMILY/USER ACCESS.
- *
- * ENTRY (ST) = STATUS WORD.
- *
- * EXIT TO *ERR* IF ACCESS NOT ALLOWED.
- *
- * USES T1, T4 - T7, CM - CM+4, UN - UN+4.
- *
- * CALLS CPN, RFN, SSJ.
- *
- * MACROS ERROR.
- CAA SUBR ENTRY/EXIT
- LDD ST
- LPN SYFL
- NJN CAAX IF SYSTEM ORIGIN
- LDD ST
- LPN SSFL
- ZJN CAAX IF SUBSYSTEM PROCESSING
- RJM SSJ CHECK FOR *SSJ=* BLOCK
- ZJN CAA1 IF NO *SSJ=* BLOCK
- ADK AACS READ ACCESS WORD
- CRD T4
- ADK UIDS-AACS
- UJN CAA2 READ USER NAME
- CAA1 LDD CP READ ACCESS WORD
- ADK AACW
- CRD T4
- ADK UIDW-AACW READ USER NAME
- CAA2 CRD UN READ USER NAME
- LDD T4+2
- SHN 21-6
- MJN CAA3 IF ROUTE TO ALTERNATE FAMILY ALLOWED
- RJM RFN READ FAMILY NAME
- CRD CM
- LDN CM
- STD T1 SET CURRENT FAMILY NAME ADDRESS
- LDC FMSS SET NEW FAMILY NAME ADDRESS
- RJM CPN COMPARE FAMILY NAMES
- ZJN CAA3 IF SAME FAMILY
- ERROR /ERR/EC46 * DSP - ALTERNATE FAMILY NOT ALLOWED.*
- CAA3 LDD T4+2
- SHN 21-5
- MJN CAA4 IF ROUTE TO ALTERNATE USER NAME ALLOWED
- LDN UN SET CURRENT USER NAME ADDRESS
- STD T1
- LDC ACSS SET NEW USER NAME ADDRESS
- RJM CPN COMPARE USER NAMES
- NJN CAA5 IF NOT SAME USER NAME
- CAA4 LJM CAAX RETURN
- CAA5 ERROR /ERR/EC51 * DSP - ALTERNATE USER NOT ALLOWED.*
- CPN SPACE 4,10
- ** CPN - COMPARE NAMES.
- *
- * ENTRY (A) = ADDRESS OF SECOND NAME TO COMPARE.
- * (T1) = ADDRESS OF FIRST NAME TO COMPARE.
- *
- * EXIT (A) = 0 IF NAMES MATCH.
- * (A) .NE. 0 IF NAMES DO NOT MATCH.
- *
- * USES T1, T2.
- CPN SUBR ENTRY/EXIT
- STD T2 SET SECOND NAME ADDRESS
- ADN 3 SET ADDRESS OF LAST BYTE
- STD T0
- CPN1 LDI T1
- LMI T2
- NJN CPNX IF NO MATCH
- AOD T1
- AOD T2
- LMD T0
- NJN CPN1 IF MORE FULL BYTES TO CHECK
- LDI T1
- LMI T2
- SCN 77
- UJN CPNX RETURN WITH (A) = 0 IF MATCH
- VIF SPACE 4,25
- ** VIF - VERIFY INPUT FILE.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FS - FS+4) = FST ENTRY.
- * (OT) = ORIGIN TYPE.
- *
- * EXIT (FN - FN+4) = FNT ENTRY FOR INPUT FILE.
- * (FS - FS+4) = FST ENTRY.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * ROUTE TO INPUT NOT IMMEDIATE.
- * IMMEDIATE ROUTE - NO FILE.
- * INCORRECT USER COMMAND.
- * JOB COMMAND ERROR.
- * INCORRECT JOB ABORT CODE.
- * INCORRECT SERVICE CLASS.
- * ALTERNATE FAMILY NOT ALLOWED.
- * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0VJ*.
- *
- * USES ST, T1, T3, T5 - T7, FN - FN+4, CM - CM+4, CN - CN+4,
- * UN - UN+4.
- *
- * CALLS CAA, CPN, CVS, GFA, GFM, GFO, RFN, RNS, SQO, SSJ, WMS,
- * *0VJ*.
- *
- * MACROS ENDMS, ERROR, EXECUTE, SETMS.
- VIF SUBR ENTRY/EXIT
- LDM INFL CHECK INPUT FLAGS
- SHN 21-10
- MJP VIF15 IF FORCED ABORT FLAG SET
- * READ FIRST SECTOR OF INPUT FILE.
- AOM VIFA INDICATE FIRST SECTOR OF FILE WAS READ
- LDD FS SET EQUIPMENT
- STD T5
- LDD FS+1 SET FIRST TRACK
- STD T6
- LDN FSMS SET FIRST SECTOR
- STD T7
- SETMS IO
- LDC SBUF READ NEXT SECTOR
- RJM RNS
- ENDMS
- LDD T1
- NJN VIF2 IF FILE NOT EMPTY
- ERROR /ERR/EC06 * DSP - IMMEDIATE ROUTING - NO FILE.*
- * VALIDATE JOB COMMAND AND USER COMMAND.
- VIF2 LDC STMT SET COMMAND BUFFER ADDRESS
- STD CN
- LDM DLAT SET DLID ATTRIBUTES
- STD CN+1
- LDM LFAL SET LOCAL FILE ACCESS LEVEL
- STD CN+2
- LDM EBIT+1 PASS *DO NOT VALIDATE PASSWORD* FLAG
- LPN EFNV
- STM VIFE+1
- SHN 13-4
- ERRNZ EFNV-20 CODE DEPENDS ON VALUE
- RAD CN+2
- LDD ST
- LPN DSFL IF FILE ROUTED BEFORE, CHECK ENCRYPTED PW
- SHN 12-1
- ERRNZ DSFL-2 CODE DEPENDS ON VALUE
- RAD CN+2
- LDM EBIT+1
- LPK EFEP
- ZJN VIF3 IF ENCRYPTED PASSWORD NOT SPECIFIED
- LDD CN+2 SET ENCRYPTED PW VALIDATION BIT
- LPC 5777
- LMC 2000
- STD CN+2
- RJM GFA GET PARAMETER BLOCK ADDRESS
- ADN 14
- CRD CM
- LDD MA MOVE PASSWORD TO SYSTEM SECTOR
- CWD CM
- CRM EPSS,ON
- VIF3 LDD OT
- LMK SYOT
- NJN VIF3.1 IF NOT ROUTE TO *SYOT*
- LDC 1000 SET SYSTEM ORIGIN JOB BIT
- RAD CN+2
- VIF3.1 LDD ST
- LPK DLFL
- NJN VIF4 IF DLID SPECIFIED IN PARAMETER BLOCK
- LDD ST
- LPK DSFL
- ZJN VIF3.2 IF NOT PREVIOUSLY ROUTED FILE
- LDM DLID
- ADM DLID+1
- NJN VIF4 IF DLID NONZERO
- VIF3.2 STD CN+1 CLEAR DLID ATTRIBUTES
- VIF4 EXECUTE 0VJ,OVL3 VERIFY JOB/USER COMMANDS
- MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
- LDD ST
- LPN SSFL
- ZJN VIF4.1 IF SUBSYSTEM CALLER
- LDD CP USE DEFERRED BATCH LIMIT OF OWNER USER
- ADK ALMW
- CRD CM
- LDD CM+1
- LMM VASS+AHMT*5+1
- SCN 70
- LMD CM+1
- STM VASS+AHMT*5+1
- VIF4.1 LDD FN+4
- LPN 77
- LMC INFT*100
- STD FN+4
- LDD CN
- ZJN VIF5 IF DLID NOT SPECIFIED
- STM DLAT SET DLID ATTRIBUTES
- LJM VIF6.3 ALLOW ALTERNATE FAMILY/USER WITH DLID
- VIF5 RJM CAA CHECK ALTERNATE FAMILY/USER ACCESS ALLOWED
- * VERIFY THAT THE FAMILY AND THE USER INDEX HAVE NOT BEEN
- * CHANGED IF THE *DO NOT VALIDATE PASSWORD* FLAG IS SET.
- VIFE LDC ** (*DO NOT VALIDATE PASSWORD* FLAG)
- ZJN VIF6.3 IF PASSWORD VALIDATION REQUIRED
- RJM RFN READ FAMILY NAME
- CRD CM
- LDN CM SET CURRENT FAMILY NAME ADDRESS
- STD T1
- LDC FMSS ADDRESS OF FAMILY IN SYSTEM SECTOR
- RJM CPN COMPARE FAMILY NAMES
- NJN VIF6.2 IF DIFFERENT FAMILIES
- RJM SSJ CHECK FOR *SSJ=* BLOCK
- ZJN VIF6 IF NO *SSJ=* BLOCK
- ADK UIDS
- UJN VIF6.1 CHECK USER INDEX
- VIF6 LDD CP GET CP USER INDEX
- ADK UIDW
- VIF6.1 CRD CM
- LDD CM+3
- LMM ACSS+3
- LPN 37
- SHN 14
- ADD CM+4
- LMM ACSS+4
- VIF6.2 NJP VIF7 IF DIFFERENT USER INDEX
- * CHECK FOR USER COMMAND ERROR.
- VIF6.3 LDD ER CHECK ERROR STATUS
- LMN 3
- NJP VIF9 IF NOT USER COMMAND ERROR
- LDM DLAT
- SHN 21-13
- MJN VIF6.4 IF HOST LID
- SHN 21-11-21+13
- PJN VIF9 IF VALIDATION NOT REQUIRED FOR DLID
- VIF6.4 LDN 0 CLEAR DLID
- STM IOSS+INSQ*5+1
- LDM IOSS+INSQ*5+2
- LPN 77
- STM IOSS+INSQ*5+2
- LDD OT
- LMK SYOT
- ZJN VIF10 IF ROUTE TO *SYOT* - IGNORE USER COMMAND
- LDD ST
- LPN SSFL
- NJN VIF6.5 IF NOT SUBSYSTEM CALL
- LDM INFL
- SHN 21-7
- MJN VIF9 IF FILE TO BE QUEUED
- VIF6.5 LDM JASS CHECK ERROR CODE
- LMN UCIE
- ZJN VIF8 IF USER SECURITY COUNT EXHAUSTED
- VIF7 ERROR /ERR/EC34 * DSP - INCORRECT USER COMMAND.*
- VIF8 ERROR /ERR/EC47 * DSP - USER SECURITY COUNT EXHAUSTED.*
- VIF9 LJM VIF11 CHECK SERVICE CLASS
- * SET *SYSTEMX* LIMITS FOR SYSTEM JOBS WITH NO
- * OR INCORRECT USER COMMANDS.
- VIF10 LDD MA SAVE THE FNT ENTRY
- CWD FN
- CRM VIFB,ON
- LDN 1 GET DEFAULT FAMILY NAME
- RJM GFM
- LDD MA SET UN/UI IN VALIDATION BLOCK
- CWM VIFC,ON
- CWD FN
- ADN 1
- CWM VIFD,ON
- LDD MA
- CRM VASS+ACCN*5,ON
- SBN 1
- CRM ACSS,ON SET USER NAME
- CRM FMSS,ON SET FAMILY NAME
- CRM VASS+AHMT*5,ON SET UNLIMITED USER VALIDATION INDICES
- SBN 1
- CRM VASS+AHDS*5,ON
- SBN 1
- CRM VASS+AAWC*5,ON
- LDD MA RESTORE FNT ENTRY
- CWM VIFB,ON
- SBN 1
- CRD FN
- * CHECK FOR SERVICE CLASS SPECIFIED IN PARAMETER BLOCK.
- VIF11 LDD FB+1
- SHN 21-13
- MJP VIF15 IF SUBSYSTEM INITIATION
- LDM EBIT+1
- LPK EFSC
- ZJN VIF12 IF ORIGIN DEFAULT NOT SELECTED
- LDM VIFT,OT
- LJM VIF14 SET ORIGIN DEFAULT
- VIF12 LDM FSSC
- SHN 6
- STD T1
- ZJP VIF15 IF NO SERVICE CLASS SPECIFIED
- PJN VIF13 IF NOT USER DEFAULT
- LDD CN+1 USE DEFAULT RETURNED BY *0VJ*
- STM FSSC
- SHN 6
- STD T1
- ZJP VIF23 IF INCORRECT USER DEFAULT
- VIF13 RJM CVS CHECK FOR VALID SERVICE CLASS
- NJP VIF23 IF ERROR
- LDM IOSS+SCLQ*5 UPDATE SERVICE CLASS IN QFT ENTRY
- LPN 77
- LMD T1
- VIF14 STM IOSS+SCLQ*5
- LDM JASS
- LMN SCIE
- ZJN VIF14.1 IF INCORRECT SERVICE CLASS
- LMN USIE&SCIE
- NJN VIF15 IF NOT UNDEFINED SERVICE CLASS ERROR
- VIF14.1 STM JASS CLEAR ERROR IF SKIPPING VALIDATION
- * CHECK FOR JOB COMMAND ERRORS.
- VIF15 LDM JASS
- ZJP VIF25 IF NO ERROR
- LMN SCIE
- ZJN VIF17 IF INCORRECT SERVICE CLASS
- LMN USIE&SCIE
- NJN VIF18 IF DEFINED SERVICE CLASS
- VIF17 LDM VIFT,OT RESET SERVICE CLASS
- STM IOSS+SCLQ*5
- VIF18 LDM INFL GET INPUT FLAGS
- SHN 21-7
- PJN VIF18.1 IF FILE NOT TO BE QUEUED
- AOM DSPF FLAG ABORTED INPUT FILE
- LJM VIF27 QUEUE THE FILE
- VIF18.1 LDM JASS CHECK ERROR FLAG
- LMN JCIE
- NJN VIF19 IF NOT JOB COMMAND ERROR
- ERROR /ERR/EC32 (JOB COMMAND ERROR.)
- VIF19 LMN IDIE&JCIE
- NJN VIF20 IF NOT INCORRECT LID
- ERROR /ERR/EC15 * DSP - INCORRECT LID.*
- VIF20 LMN STIE&IDIE
- NJN VIF22 IF NOT INCORRECT ATTEMPT TO SPECIFY *ST*
- VIF21 ERROR /ERR/EC10 * DSP - USER ACCESS NOT VALID.*
- VIF22 LMN SCIE&STIE
- NJN VIF24 IF NOT INCORRECT SERVICE CLASS
- VIF23 ERROR /ERR/EC45 * DSP - INCORRECT SERVICE CLASS.*
- VIF24 LMN USIE&SCIE
- NJN VIF25 IF NOT UNDEFINED SERVICE CLASS ERROR
- ERROR /ERR/EC11 * DSP - UNDEFINED SERVICE CLASS.*
- VIF25 LDM IOSS+INSQ*5+1
- NJN VIF26 IF DLID SPECIFIED ON JOB COMMAND
- LDD ST
- LPC DLFL
- ZJN VIF27 IF DLID NOT SPECIFIED IN PARAMETER BLOCK
- VIF26 LDD CP
- ADK AACW CHECK FOR *CUST* VALIDATION
- CRD CM
- LDD CM+3
- SHN 21-5
- PJN VIF21 IF CALLING USER NOT VALIDATED TO USE *ST*
- SHN 21-4-21+5 CHECK FOR *CQLK* VALIDATION
- MJN VIF27 IF CALLING USER VALIDATED TO USE LCN
- LDM DLAT
- SHN 21-13
- PJP VIF21 IF DLID DOES NOT HAVE *HOST* ATTRIBUTE
- * SET QUEUE FILE OWNERSHIP.
- VIF27 LDD ST CHECK IF SUBSYSTEM CALL
- LPN SSFL
- ZJN VIF28 IF SUBSYSTEM
- RJM SQO SET QFT OWNER
- LJM VIF29 CONTINUE
- VIF28 LDD MA SAVE FILE NAME
- CWD FN
- CRD UN
- CWM ACSS,ON SET ACCOUNT OF OWNER
- CWM FMSS,ON SET FAMILY OF OWNER
- LDD MA
- CRM OASS,ON
- CRM FOSS,ON
- SBN 1
- CRD FN GET FAMILY ORDINAL
- * LDN (NONZERO)
- RJM GFO GET FAMILY ORDINAL
- LDD FN+4
- SHN 6
- LMM OASS+3 SET *FO,UI* OF OWNER
- SCN 77
- LMM OASS+3
- STM IOSS+JSNQ*5+2
- LDM OASS+4
- STM IOSS+JSNQ*5+3
- LDD MA
- CWD UN
- CRD FN
- * SET ACCOUNTING INFORMATION INTO SYSTEM SECTOR.
- VIF29 LDD FB CHECK IF NO ACCOUNTING SET
- SHN 21-4
- PJN VIF30 IF NO ACCOUNTING INFORMATION
- RJM GFA SET ACCOUNTING INFORMATION
- ADN 5
- CRD CM
- ADN 1
- CRM TNSS,ON READ TERMINAL NAME OR EST ORDINAL
- LDD CM+3 SET COMMAND COUNT
- STM CRSS
- LDD CM+4
- STM CRSS+1
- * SET ABORT CODE IN SYSTEM SECTOR.
- VIF30 LDM INFL CHECK INPUT FLAGS
- SHN 21-10
- PJN VIF31 IF FORCED ABORT FLAG NOT SET
- LDM JASS
- NJN VIF31 IF ERROR STATUS ALREADY SET
- RJM GFA GET JOB ABORT CODE
- ADN 4
- CRD CM
- LDD CM+2 SAVE JOB ABORT CODE
- STM JASS
- SBN MXIE
- MJN VIF31 IF VALID JOB ABORT CODE
- ERROR /ERR/EC42 * DSP - INCORRECT JOB ABORT CODE.*
- VIF31 LDD FB+1 CHECK FOR SUBSYSTEM INITIATION
- SHN 21-13
- PJN VIF32 IF NOT SUBSYSTEM INITIATION
- LDM SBID SET SUBSYSTEM ID
- STM SISS
- LDM SBCP SET CONTROL POINT NUMBER SPECIFICATION
- STM CPSS
- VIF32 LDN SCFL SET REQUEST SCHEDULER FLAG
- RAD ST
- * *0VJ* CALLS *0AV* TO VALIDATE THE USER NAME EVEN IF THE
- * *PRE-VALIDATE* BIT IS NOT SET IN THE LID CONFIGURATION
- * TABLE. ALSO, *0VJ* ALWAYS DELETES THE PASSWORD FROM THE
- * BUFFER CONTAINING THE FIRST SECTOR OF THE INPUT FILE.
- * THEREFORE, THE BUFFER CONTAINING THE FIRST SECTOR OF THE
- * INPUT FILE SHOULD NOT BE REWRITTEN TO THE FILE IF BOTH OF
- * THE FOLLOWING CONDITIONS ARE PRESENT -
- * 1) THE PASSWORD WAS NOT VALID, AND
- * 2) THE FILE WAS DESTINED FOR ANOTHER MAINFRAME.
- VIFA LDN 0 CHECK IF FIRST SECTOR HAS BEEN READ
- * LDN 1 (FIRST SECTOR HAS BEEN READ)
- ZJN VIF35 IF FIRST SECTOR HAS NOT BEEN READ
- LDM JASS
- LMN UNIE
- NJN VIF33 IF USER NAME/PASSWORD VALID
- LDM DLAT
- SHN 21-13
- PJN VIF35 IF NOT HOST LID
- VIF33 LDD FS SET DISK ADDRESS
- STD T5
- LDD FS+1
- STD T6
- LDN FSMS
- STD T7
- SETMS IO,RW
- LDC SBUF+WLSF
- RJM WMS WRITE SECTOR
- VIF34 ENDMS
- VIF35 LJM VIFX RETURN
- VIFB BSS 5 BUFFER FOR FNT ENTRY
- VIFC VFD 42/0,18/SYUI
- VIFD VFD 60/-0
- * TABLE OF DEFAULT ORIGIN TYPE AND SERVICE CLASS DESCRIPTORS
- * FOR INPUT FILES.
- VIFT BSS 0
- LOC 0
- VFD 6/SYSC,6/SYOT SYSTEM SERVICE CLASS
- VFD 6/BCSC,6/BCOT BATCH SERVICE CLASS
- VFD 6/RBSC,6/RBOT REMOTE BATCH SERVICE CLASS
- VFD 6/BCSC,6/BCOT INTERACTIVE SERVICE CLASS
- LOC *O
- CRF SPACE 4,10
- ** CRF - CLEAR REMOTE FAMILY/USER NAME.
- *
- * EXIT (RFSS - RFSS+4) AND (RUSS - RUSS+4) ARE CLEARED.
- CRF SUBR ENTRY/EXIT
- LDK ZERL CLEAR REMOTE FAMILY
- CRM RFSS,ON
- SBN 1 CLEAR REMOTE USER NAME
- CRM RUSS,ON
- UJN CRFX RETURN
- CVS SPACE 4,10
- ** CVS - CHECK FOR VALID SERVICE CLASS.
- *
- * ENTRY (FSSC) = SERVICE CLASS TO BE VALIDATED.
- * (CN+2 - CN+4) = SERVICE CLASS VALIDATION MASK.
- *
- * EXIT (A) = ERROR CODE. ZERO IF NO ERROR.
- *
- * USES T3.
- *
- * CALLS VSP.
- CVS3 LDN 0 INDICATE NO ERROR
- CVS SUBR ENTRY/EXIT
- LDM EBIT+1
- LPK EFDS
- NJN CVS3 IF NOT TO VALIDATE SERVICE CLASS
- LDN 0 PRESET NON-SUBSYSTEM AND NON-SSJ= JOB
- STD T3
- LDM EBIT+1
- LPN EFCU
- NJN CVS2 IF CREATION FAMILY/USER SPECIFIED
- LDD QT
- LMK INQT
- ZJN CVS2 IF INPUT FILE
- LDD ST
- LPN SSFL
- ZJN CVS1 IF SUBSYSTEM
- LDD ST
- LPK SYFL
- ZJN CVS2 IF CALLING JOB IS NOT *SYOT*
- LDD ST
- LPK SJFL
- ZJN CVS2 IF CALLING PROGRAM IS NOT *SSJ=*
- CVS1 LDN 1 SET SUBSYSTEM OR *SYOT*/*SSJ=* CALLER
- STD T3
- CVS2 LDM FSSC
- RJM VSP VALIDATE SERVICE CLASS
- UJN CVSX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- CUV$ EQU 1 CHECK SERVICE CLASS VALID FOR USER
- *CALL COMPVSP
- SPACE 4,10
- USE OVL
- ERRNG SBUF-* OVERFLOW INTO *0VJ* COMMAND BUFFER
- TITLE OVERLAYABLE ROUTINES.
- DFO SPACE 4,10
- ** DFO - DESTINATION FAMILY ORDINAL.
- *
- * ENTRY (FDSS) = DESTINATION FAMILY NAME.
- *
- * EXIT ROUTING INFORMATION UPDATED.
- *
- * USES FN - FN+4, UN - UN+4.
- *
- * CALLS GFO.
- DFO SUBR ENTRY/EXIT
- LDD MA PRESERVE FILE NAME
- CWD FN
- CRD UN
- CWM FDSS,ON
- SBN 1
- CRD FN
- * LDN (NONZERO) DO NOT ADD FAMILY
- RJM GFO GENERATE FAMILY ORDINAL
- LDD FN+4
- SHN 6
- RAM IOSS+SCLQ*5+1
- LDD MA RESTORE FILE NAME
- CWD UN
- CRD FN
- UJN DFOX RETURN
- GUD SPACE 4,10
- ** GUD - GET USER DEFAULT SERVICE CLASS.
- *
- * ENTRY (T3) = ADDRESS OF ACCOUNT BLOCK.
- *
- * EXIT (FSSC) = USER DEFAULT SERVICE CLASS.
- * (A) .EQ. SERVICE CLASS VALUE.
- * (A) .EQ. ZERO IF ERROR.
- *
- * USES T1, T2.
- GUD SUBR ENTRY/EXIT
- LDN SYSC PRESET SYSTEM ORIGIN DEFAULT
- STD T2
- LDD OT
- LMK SYOT
- ZJP GUD4 IF SYSTEM ORIGIN
- LDN 0
- STD T2
- LDD T3 GET ADDRESS OF USER DEFAULT
- ADK ASC1*5
- STD T1
- LDD OT SET BYTE NUMBER WITH USER DEFAULT
- SHN 21
- STM GUDA
- PJN GUD1 IF UPPER SIX BITS ARE USER DEFAULT
- LDN 0
- STM GUDB
- GUD1 LDM 0,T1 GET USER DEFAULT SERVICE CLASS
- GUDA EQU *-1 (BYTE NUMBER OF USER DEFAULT)
- SHN -6
- * SHN 0 (LOWER SIX BITS ARE USER DEFAULT)
- GUDB EQU *-1
- LPN 77
- STD T1
- GUD2 LDM TGUD,T2 GET SERVICE CLASS VALUE
- LMD T1
- ZJN GUD4 IF MATCH
- AOD T2
- SBN MXSC
- NJN GUD2 IF NOT END OF SERVICE CLASSES
- GUD3 LJM GUDX RETURN
- GUD4 LDD T2 SET SERVICE CLASS
- STM FSSC
- UJN GUD3 RETURN
- ** TGUD - TABLE OF USER DEFAULT SERVICE CLASSES.
- TGUD INDEX
- LIST D
- .SCL HERE
- LIST *
- INDEX MXJC
- NTS SPACE 4,15
- ** NTS - NO TID SPECIFIED.
- *
- * EXIT FAMILY NAME DETERMINED FROM *FO*.
- * DESTINATION USER INDEX TAKEN FROM EJT.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * INCORRECT TID.
- *
- * USES CN - CN+4, FN - FN+4, UN - UN+4.
- *
- * CALLS CRF, GEA, GFM.
- *
- * MACROS ERROR.
- NTS1 LDD MA SAVE FAMILY NAME
- CWD FN
- CRM FDSS,ON
- NTS2 LDD MA RESTORE (FN - FN+4)
- CWD UN
- CRD FN
- LDD CN+1 SET DESTINATION UI
- LMM DASS+3
- SCN 37
- LMD CN+1
- STM DASS+3
- LDD CN+2
- STM DASS+4
- RJM CRF CLEAR REMOTE FAMILY/USER NAME
- NTS SUBR ENTRY/EXIT
- LDD ST
- LPN DSFL
- NJN NTSX IF FILE PREVIOUSLY ROUTED
- RJM GEA GET *FO,UI* FROM EJT
- ADK SCLE
- CRD CN
- LDD MA PRESERVE (FN - FN+4)
- CWD FN
- CRD UN
- LDD CN+1
- SHN -6
- ZJN NTS2 IF NO DESTINATION FAMILY SPECIFIED
- RJM GFM GET FAMILY NAME
- NJP NTS1 IF FAMILY NAME FOUND
- ERROR /ERR/EC21 * DSP - INCORRECT TID.*
- PSI SPACE 4,15
- ** PSI - PROCESS SUBSYSTEM INITIATION.
- *
- * ENTRY (FJSN - FJSN+1) = SUBSYSTEM NAME.
- * (SBID) = SUBSYSTEM ID (IF SPECIFIED IN CALL).
- *
- * EXIT (SBID) = SUBSYSTEM ID.
- * TO ERR, IF INCORRECT REQUEST.
- *
- * USES RI.
- *
- * CALLS AST.
- *
- * MACROS ERROR.
- PSI SUBR ENTRY/EXIT
- LDM CUAV CHECK USER ACCESS
- ZJN PSI2 IF VALID USER
- PSI1 ERROR /ERR/EC12 * DSP - INCORRECT REQUEST.*
- PSI2 LDD QT
- LMK INQT
- NJN PSI1 IF NOT INPUT FILE
- LDD OT
- LMK SYOT
- NJN PSI1 IF NOT ROUTE TO SYSTEM ORIGIN
- LDC TSUB
- STD RI
- LDM SBID
- ZJN PSI3 IF SUBSYSTEM ID NOT SPECIFIED IN CALL
- SBK LSSI+1
- MJN PSIX IF SUBSYSTEM NOT IN *SSCT* SPECIFIED
- PSI3 LDI RI SEARCH TABLE FOR SUBSYSTEM
- LMM FJSN
- NJN PSI4 IF NO MATCH
- LDM 1,RI
- LMM FJSN+1
- ZJN PSI6 IF MATCH
- PSI4 LDN TSUBE GET NEXT TABLE ENTRY
- RAD RI
- LMC TSUBL
- NJN PSI3 IF NOT END OF TABLE
- PSI5 LJM PSI1 * DSP - INCORRECT REQUEST.*
- PSI5.1 LDM SBID CHECK FOR CYBIS
- LMC PLSI
- ZJP PSIX IF ALREADY ACTIVE
- UJN PSI5 SET ERROR
- PSI6 LDM SBID
- ZJN PSI6.1 IF SUBSYSTEM ID NOT SPECIFIED IN CALL
- LMM 2,RI
- NJN PSI5 IF SUBSYSTEM ID DID NOT MATCH NAME
- PSI6.1 LDM 2,RI SAVE SUBSYSTEM ID
- STM SBID
- LMC FEAF*10000 CHECK FOR SUBSYSTEM ALREADY ACTIVE
- RJM AST
- PSI6.2 NJN PSI5.1 IF SUBSYSTEM ALREADY ACTIVE
- LDM SBID
- LMC RDSI
- NJN PSI9 IF NOT *RDF*
- LDC IFSI+FEAF*10000 CHECK IF *IAF* ACTIVE
- PSI7 RJM AST
- NJN PSI6.2 IF SUBSYSTEM ACTIVE
- PSI8 LJM PSIX RETURN
- PSI9 LMC IFSI&RDSI
- NJN PSI8 IF NOT *IAF*
- LDC RDSI+FEAF*10000
- UJN PSI7 CHECK IF *RDF* ACTIVE
- TSUB SPACE 4,10
- ** TABLE OF NON-PP-INITIATED SUBSYSTEMS.
- *
- * ENTRY FORMAT.
- *
- *T 24/NAME, 12/SSID
- *
- * NAME = 3-CHARACTER SUBSYSTEM NAME + BLANK.
- * SSID = SUBSYSTEM ID.
- TSUB BSS 0
- LIST G
- .SUB HERE
- LIST *
- TSUBL BSS 0 END OF TABLE
- SBI SPACE 4,10
- ** SBI - SET BATCH ID.
- *
- * ENTRY (CM - CM+4) = SECOND WORD OF ARGUMENT TABLE.
- * (CM - CM+4) = 0 IF NO BATCH ID IS SPECIFIED.
- * (FB+1) = FLAG BITS.
- * (OT) = DESTINATION ORIGIN TYPE.
- *
- * EXIT QFT UPDATED.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * INCORRECT TID.
- *
- * USES T1, T2.
- *
- * CALLS CRF.
- *
- * MACROS ERROR.
- SBI SUBR ENTRY
- LDD FB+1
- LPN 4
- NJN SBI0 IF BATCH ID SPECIFIED
- LDM IOSS+SCLQ*5+1
- ZJN SBIX IF BATCH ID IS ALREADY SET
- SBI0 LDD CM+3
- STM IOSS+SCLQ*5+1
- ZJN SBI2 IF VALID TID
- SBI1 ERROR /ERR/EC21 * DSP - INCORRECT TID.*
- SBI2 LDD CM+4
- STM IOSS+SCLQ*5+2
- SBN IDLM
- PJN SBI1 IF ID .GT. MAXIMUM ALLOWED
- LDN ZERL CLEAR DESTINATION FAMILY
- CRM FDSS,ON
- SBN 1 CLEAR DESTINATION USER NAME
- CRM DASS,ON
- RJM CRF CLEAR REMOTE FAMILY/USER NAME
- UJN SBIX RETURN
- SDO SPACE 4,10
- ** SDO - SET DESTINATION ORIGIN TYPE.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (OT) = ORIGIN TYPE OF CONTROL POINT AREA.
- * (QT) = DESTINATION QUEUE TYPE.
- *
- * EXIT (OT) = ORIGIN TYPE.
- * (A) = ORIGIN TYPE OF QUEUED FILE.
- *
- * USES OT, CM - CM+4.
- *
- * CALLS GFA.
- SDO SUBR ENTRY/EXIT
- * SET ORIGIN TYPE FOR FILE.
- LDD ST CHECK IF FILE PREVIOUSLY ROUTED
- LPN DSFL
- ZJN SDO1 IF NOT PREVIOUSLY ROUTED
- LDM IOSS+SCLQ*5
- UJN SDO3 SET FROM QFT ENTRY
- SDO1 LDD QT
- LMK INQT
- NJN SDO2 IF NOT INPUT FILE
- LDM JBOT
- LPN 17
- LMK SYOT
- NJN SDO1.1 IF NOT SYSTEM ORIGIN JOB
- LDN BCOT SET BATCH ORIGIN TYPE
- STD OT
- SDO1.1 LDM VIFT,OT INITIALIZE ORIGIN TYPE AND SERVICE CLASS
- STM JBOT
- SDO2 LDM JBOT SET FROM EJT ENTRY OF CALLER
- STM IOSS+SCLQ*5
- SDO3 LPN 17
- STD OT
- LDM FSOT
- SHN 21-13
- MJN SDO4 IF NOT FORCED ORIGIN REQUEST
- SHN 13-21
- STD OT
- LDM SCDT,OT RESET ORIGIN TYPE AND SERVICE CLASS
- STM IOSS+SCLQ*5
- SDO4 LDD FB+1
- SHN 21-13
- PJN SDO5 IF NOT SUBSYSTEM INITIATION
- LDM IOSS+SCLQ*5 RESET SERVICE CLASS
- LPN 17
- LMC SSSC*100
- STM IOSS+SCLQ*5
- SDO5 UJP SDOX RETURN
- * TABLE OF DEFAULT ORIGIN TYPE AND SERVICE CLASS DESCRIPTORS
- * FOR OUTPUT FILES.
- SCDT BSS 0
- LOC 0
- VFD 6/SYSC,6/SYOT SYSTEM SERVICE CLASS
- VFD 6/BCSC,6/BCOT BATCH SERVICE CLASS
- VFD 6/RBSC,6/EIOT REMOTE BATCH SERVICE CLASS
- VFD 6/TSSC,6/IAOT INTERACTIVE SERVICE CLASS
- LOC *O
- SFD SPACE 4,30
- ** SFD - SET FILE DESTINATION.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FN - FN+4) = FNT ENTRY.
- * (FS - FS+4) = FST ENTRY.
- * (OT) = DEFAULT ORIGIN TYPE.
- * (QT) = QUEUE TYPE.
- *
- * EXIT (FN - FN+4) = UPDATED FNT.
- * (FS - FS+4) = FST ENTRY.
- * (OT) = ORIGIN TYPE.
- * (QT) = QUEUE TYPE.
- * (DASS - DASS+4) = DESTINATION USER NAME.
- * QFT ROUTE INFO UPDATED.
- * (FDSS - FDSS+4) = DESTINATION FAMILY NAME.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * INCORRECT TID.
- * INCORRECT SERVICE CLASS.
- * ALTERNATE FAMILY NOT ALLOWED.
- * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0AV*.
- *
- * USES FN+3, FS+2, FS+3, OT, T1, T2, CM - CM+4,
- * CN - CN+4, UN - UN+4.
- *
- * CALLS CRF, CVS, DFO, GUD, GFA, NTS, RFN, SBI, SDO, SSJ, VCA.
- * *0AV*.
- *
- * MACROS ERROR, EXECUTE.
- SFD SUBR ENTRY/EXIT
- RJM SDO SET DESTINATION ORIGIN TYPE
- LDD FB+1
- LPN 6
- NJN SFD1 IF CENTRAL SITE OR TID SPECIFIED
- RJM NTS NO TID SPECIFIED
- UJN SFD4 CHECK FOR FORCED SERVICE CLASS
- SFD1 LPN 4
- NJN SFD2 IF TID SPECIFIED
- LDN ZERL
- UJN SFD3 CLEAR ROUTING INFORMATION
- SFD2 RJM GFA GET TID FROM PARAMETER BLOCK
- ADN 2
- SFD3 CRD CM
- LDD CM+3
- NJN SFD6 IF ADDRESS SPECIFIED
- RJM SBI SET BATCH ID
- SFD4 LJM SFD19 CHECK FOR FORCED SERVICE CLASS
- SFD5 ERROR /ERR/EC21 * DSP - INCORRECT TID.*
- * PROCESS TID PARAMETER BLOCK.
- SFD6 LDD QT
- LMK INQT
- NJN SFD7 IF NOT ROUTE TO INPUT
- LDM SLAT
- UJN SFD8 CHECK SLID ATTRIBUTES (INPUT FILE)
- SFD7 LDM DLAT CHECK DLID ATTRIBUTES (OUTPUT FILE)
- SFD8 SHN 21-13
- MJN SFD9 IF LOCAL HOST
- LDN PSNI SET RUSS/RFSS RATHER THAN DASS/FDSS
- STM SFDA
- STM SFDA+1
- STM SFDC
- LDN ZERL PRESET SELECTION OF DEFAULT FAMILY
- CRM RFSS,ON
- SFD9 LDD CM+3 VALIDATE ADDRESS OF PARAMETER BLOCK
- SHN 14
- SCN 77
- LMD CM+4
- LMC 777777
- NJN SFD10 IF NONZERO ADDRESS SPECIFIED
- LJM SFD12 SET DEFAULT FAMILY AND USER NAME
- SFD10 RJM VCA VALIDATE ADDRESS
- SFD11 ZJP SFD5 IF INCORRECT ADDRESS
- ADN 1
- RJM VCA VALIDATE CENTRAL ADDRESS
- ZJN SFD11 IF INCORRECT ADDRESS
- SBN 1
- SFDA LJM SFD15 PROCESS TID
- * PSN (SET RUSS/RFSS FROM TID)
- * SET REMOTE FAMILY AND USER NAME FROM TID BLOCK.
- SHN 14 READ REMOTE USER/FAMILY
- ADD RA
- SHN 6
- CRM RFSS,ON
- CRM RUSS,ON
- SFD11.1 LDN 0 ZERO FILL REMOTE USER/FAMILY
- STM RUSS+4
- STM RFSS+4
- LDM RUSS+3
- SCN 77
- STM RUSS+3
- LDM RFSS+3
- SCN 77
- STM RFSS+3
- LDK ZERL CLEAR DESTINATION FAMILY
- CRM FDSS,ON
- SBN 1 CLEAR DESTINATION USER NAME
- CRM DASS,ON
- LJM SFD19 CHECK FOR FORCED SERVICE CLASS
- * READ DEFAULT FAMILY AND USER NAME FROM CPA.
- SFD12 RJM SSJ CHECK IF SSJ= JOB
- ZJN SFD13 IF NO SSJ= BLOCK
- ADK UIDS
- UJN SFD14 CONTINUE PROCESSING
- SFD13 LDD CP READ UI FROM CONTROL POINT AREA
- ADK UIDW
- SFD14 CRD CM
- SFDC UJN SFD14.1 SET DASS/FDSS
- * PSN (SET RUSS/RFSS)
- CRM RUSS,ON READ REMOTE USER NAME
- RJM RFN DETERMINE FAMILY NAME
- CRM RFSS,ON
- LJM SFD11.1 ZERO FILL REMOTE USER/FAMILY
- SFD14.1 CRM DASS,ON READ DESTINATION USER NAME
- LDD CM+3 PRESET UI FOR ROUTING FIELD
- LPN 37
- STD T1
- LDD CM+4
- STD T2
- RJM RFN READ DESTINATION FAMILY NAME
- CRM FDSS,ON
- LJM SFD18 DETERMINE FAMILY ORDINAL
- * SET DESTINATION FAMILY AND USER NAME FROM TID BLOCK.
- SFD15 SHN 14
- ADD RA
- SHN 6
- CRD CN READ FAMILY NAME
- CRM FDSS,ON
- CRD UN READ USER NAME
- CRM DASS,ON
- LDD CN
- NJN SFD16 IF FAMILY NAME PRESENT
- RJM RFN READ FAMILY NAME
- CRD CN
- CRM FDSS,ON
- SFD16 LDD ST
- LPN SSFL
- NJN SFD17 IF NOT SUBSYSTEM CALL
- LDD UN+3 CHECK IF UI IS SPECIFIED
- LPN 37
- STD T1
- SHN 14
- LMD UN+4
- STD T2
- NJN SFD18 IF USER INDEX SPECIFIED
- * VALIDATE USER NAME.
- SFD17 LDN 0 SET VALIDATE USER NAME FUNCTION
- STD UN+4
- EXECUTE 0AV,OVL1
- MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
- LDD T1
- SHN 14
- LMD T2
- NJN SFD18 IF UI PRESENT
- LJM SFD5 * DSP - INCORRECT TID.*
- * STORE ROUTING INFORMATION IN QFT.
- SFD18 LDD T1 PRESERVE UI IN QFT
- STM IOSS+SCLQ*5+1
- LDM DASS+3
- SCN 77
- LMD T1
- STM DASS+3
- LDD T2
- STM IOSS+SCLQ*5+2
- STM DASS+4
- RJM DFO DETERMINE FAMILY ORDINAL
- RJM CRF CLEAR REMOTE FAMILY/USER NAME
- * VALIDATE SERVICE CLASS.
- SFD19 LDD QT
- LMK INQT
- ZJP SFDX IF INPUT FILE
- LDM EBIT+1
- SHN 21-6
- ERRNZ EFSC-100 SHIFT COUNT INCORRECT
- PJN SFD21 IF ORIGIN DEFAULT NOT SELECTED
- SFD20 LDM SCDT,OT
- UJP SFD30 SET ORIGIN DEFAULT SERVICE CLASS
- * IF CREATION USER NAME IS SPECIFIED, GET SERVICE
- * CLASS VALIDATION MASK FOR THAT USER.
- SFD21 LDM EBIT+1
- LPN EFCU
- ZJN SFD22 IF CREATION USER NAME NOT SPECIFIED
- RJM GFA GET PARAMETER BLOCK ADDRESS
- ADN 13
- CRD CN GET CREATION FAMILY NAME
- SBN 1
- UJN SFD25 GET CREATION USER NAME
- SFD22 LDM FSSC
- ZJN SFD23 IF NO SERVICE CLASS SELECTED
- SHN 6
- MJN SFD24 IF USER DEFAULT REQUIRED
- NFA SCVN
- UJP SFD29 GET VALIDATION MASK
- * PROCESS USER DEFAULT SERVICE CLASS SPECIFICATION.
- SFD23 LDM FSOT
- SHN 21-13
- MJP SFDX IF NO FORCED ORIGIN TYPE
- SHN 13-21
- LMK SYOT
- ZJN SFD20 IF SYSTEM ORIGIN DEFAULT REQUIRED
- LCN 0 FORCE USER DEFAULT
- STM FSSC
- SFD24 LDN ZERL SET NO FAMILY NAME
- CRD CN
- RJM SSJ CHECK FOR SSJ= BLOCK
- ZJN SFD24.1 IF NO SSJ= BLOCK PRESENT
- ADK UIDS
- UJN SFD25 GET USER NAME
- SFD24.1 LDD CP GET USER NAME
- ADK UIDW
- SFD25 CRD UN
- LDD UN
- ZJP SFD20 IF NO USER NAME FOR *DIS* JOB
- LDD UN+3
- SCN 77
- STD UN+3
- LDN 0 SET VALIDATE USER NAME FUNCTION
- STD UN+4
- EXECUTE 0AV,OVL1
- MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
- LDD T1
- ADD T2
- ZJP SFD20 IF CREATION USER NOT VALID
- LDM FSSC
- SHN 21-13
- PJN SFD28 IF USER DEFAULT SERVICE CLASS NOT NEEDED
- RJM GUD GET USER DEFAULT SERVICE CLASS
- NJN SFD28 IF FOUND
- SFD27 ERROR /ERR/EC45 * DSP - INCORRECT SERVICE CLASS.*
- SFD28 LDD T3 GET VALIDATION MASK
- ADK ASCV*5
- STM SFDB
- LDD MA
- CWM **,ON
- SFDB EQU *-1 (ADDRESS OF VALIDATION MASK)
- SBN 1
- SFD29 CRD CN
- RJM CVS CHECK FOR VALID SERVICE CLASS
- NJN SFD27 IF INCORRECT
- LDM IOSS+SCLQ*5 SET SERVICE CLASS
- SHN 21-5
- SCN 77
- LMM FSSC
- SHN 6
- SFD30 STM IOSS+SCLQ*5
- LJM SFDX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPAST
- *CALL COMPCUA
- QUAL MIO
- RDS EQU RMS USE *RMS* IN PLACE OF *RDS*
- *CALL COMPRNS
- QUAL *
- RNS EQU /MIO/RNS
- SPACE 4,10
- ** DEFINE UNQUALIFIED ENTRY POINTS.
- QUAL
- PSI EQU /3DA/PSI
- SFD EQU /3DA/SFD
- VIF EQU /3DA/VIF
- QUAL *
- SPACE 4,10
- OVERFLOW OVL4,BFMS
- SPACE 4,10
- USE OVERFLOW
- ERRNG OVL1-5-* OVERFLOW INTO *0AV*
- OVERLAY (FILE ATTRIBUTE ROUTINES.),OVL4
- SOD SPACE 4,20
- ** SOD - SET OUTPUT FILE DATA.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FS - FS+4) = FST ENTRY.
- * (QT) = QUEUE TYPE.
- *
- * EXIT (RCSS) = REPEAT COUNT.
- * QFT FIELDS UPDATED.
- *
- * ERROR TO *ERR*, IF ONE OF THE FOLLOWING OCCURS,
- * INCORRECT EXTERNAL CHARACTERISTICS.
- * INCORRECT INTERNAL CHARACTERISTICS.
- * FORMS CODE NOT ALPHANUMERIC.
- * INCORRECT SPACING CODE.
- *
- * USES CM - CM+4, T0 - T5.
- *
- * CALLS GEA, GFA, VFC.
- *
- * MACROS ERROR.
- SOD SUBR ENTRY/EXIT
- * SET REPEAT COUNT.
- LDD FB
- SHN 21-2
- PJN SOD1 IF REPEAT COUNT NOT SPECIFIED
- RJM GFA READ REPEAT COUNT
- ADN 4
- CRD CM
- LDD CM+3 SET REPEAT COUNT
- LPN 77
- STM IOSS+INSQ*5+4
- STM RCSS
- * SET RANDOM ADDRESS.
- SOD1 RJM GFA
- ADN 1 READ INTERNAL AND EXTERNAL CHARACTERISTICS
- CRD CM
- ADN 6 READ RANDOM ADDRESS
- CRD T1
- LDD FB
- SHN 21-11
- PJN SOD2 IF RANDOM ADDRESS NOT SET
- LDD T1+1 SET RANDOM ADDRESS IN SYSTEM SECTOR
- STM RASS
- LDD T1+2
- STM RASS+1
- * SET EXTERNAL CHARACTERISTICS.
- SOD2 LDD CM+3 SET EXTERNAL CHARACTERISTICS
- SHN -11
- STD T1
- LDM TDIC,T1 SET DEFAULT INTERNAL CHARACTERISTICS
- STD T2
- LDD FB+1
- SHN 21-7
- MJN SOD3 IF EXTERNAL CHARACTERISTICS SPECIFIED
- LJM SOD7 SET INTERNAL CHARACTERISTICS
- SOD3 LDD T1 SAVE EXTERNAL CHARACTERISTICS
- SHN 3
- STD T0
- * SET DEFAULT INTERNAL CHARACTERISTICS BASED ON
- * EXTERNAL CHARACTERISTICS.
- LDD QT DETERMINE QUEUE TYPE
- LMN PHQT
- ZJN SOD5 IF PUNCH FILE
- LMN PLQT&PHQT
- ZJN SOD4 IF PLOT FILE
- LDD T2 SET IC FOR PRINT FILES
- SHN -10
- UJN SOD6 SET IC
- SOD4 LDD T2 SET IC FOR PLOT FILES
- UJN SOD6 SET IC
- SOD5 LDD T2 SET IC FOR PUNCH FILES
- SHN -4
- SOD6 LPN 17
- STD T2
- RAD T0
- * SET INTERNAL AND EXTERNAL CHARACTERISTICS.
- LDM IOSS+SCLQ*5+3
- SCN 77
- LMD T0
- STM IOSS+SCLQ*5+3
- LDD T2 VALIDATE EXTERNAL CHARACTERISTICS
- LMN 17
- NJN SOD7 IF VALID EXTERNAL CHARACTERISTICS
- ERROR /ERR/EC37 *DSP - INCORRECT EXTERNAL CHARACTERISTICS.*
- * SET INTERNAL CHARACTERISTICS.
- SOD7 LDD FB+1
- SHN 21-10
- PJN SOD8 IF INTERNAL CHARACTERISTICS NOT SPECIFIED
- LDD CM+3 SET INTERNAL CHARACTERISTICS
- SHN -6
- LPN 3
- STD T0
- LDM IOSS+SCLQ*5+3
- SCN 7
- LMD T0
- STM IOSS+SCLQ*5+3
- LPN 7
- SBN MXIC
- MJN SOD8 IF VALID INTERNAL CHARACTERISTICS
- ERROR /ERR/EC23 *DSP - INCORRECT INTERNAL CHARACTERISTICS.*
- * CHECK IF FILE NEEDS *SOST* STATUS.
- SOD8 LDD T1
- LMN A9EX
- NJN SOD9 IF EC .NE. A9
- LDM IOSS+SCLQ*5+3
- LPN 7
- LMK DCIC
- ZJN SOD9 IF IC .EQ. DIS
- LMK A6IC&DCIC
- ZJN SOD9 IF IC .EQ. ASCII6
- LDD QT DETERMINE IF PRINT FILE
- LMN PRQT
- NJN SOD9 IF NOT PRINT FILE
- LDD FB+1
- SHN 21-0
- PJN SOD9 IF NOT DEFERRED ROUTE
- LDN SOST SET *SOST* STATUS
- STM LFST
- * SET FORMS CODE.
- SOD9 LDD FB+1
- SHN 21-12
- PJN SOD10 IF FORMS CODE NOT SELECTED
- LDD CM+1
- STM IOSS+SCLQ*5+4
- RJM VFC VALIDATE FORMS CODE
- PJN SOD10 IF VALID FORMS CODE
- ERROR /ERR/EC22 * DSP - FORMS CODE NOT ALPHANUMERIC.*
- * SET PRINT IMAGE CODE FOR PRINT FILES.
- SOD10 RJM GFA GET PARAMETER BLOCK ADDRESS
- ADN 4
- CRD CM
- LDD CM
- SHN 21-11
- PJN SOD10.1 IF NO PRINT IMAGE SPECIFIED
- LDM SCSS CLEAR PRINT IMAGE PRESERVING SPACING CODE
- LPN 77
- STM SCSS
- LDD CM
- LPC 1700 PRINT IMAGE FLAG AND CODE
- RAM SCSS
- * SET SPACING CODE FOR PRINT FILES.
- SOD10.1 LDD FB
- SHN 21-3
- PJN SOD11 IF SPACING CODE NOT SPECIFIED
- LDM SCSS CLEAR SPACING CODE PRESERVING PRINT IMAGE
- SCN 77
- STM SCSS
- LDD CM SET SPACING CODE
- LPN 77
- RAM SCSS
- LDD CM
- SHN -6
- ZJN SOD11 IF VALID SPACING CODE
- LPN 10 CHECK PRINT IMAGE FLAG
- NJN SOD11 IF PRINT IMAGE SPECIFIED
- ERROR /ERR/EC41 * DSP - INCORRECT SPACING CODE.*
- * SET ACCESS LEVEL INTO QFT ENTRY.
- SOD11 LDM LFAL GET LOCAL FILE ACCESS LEVEL
- SHN 3
- LMM IOSS+INSQ*5+3
- LPN 70
- LMM IOSS+INSQ*5+3
- STM IOSS+INSQ*5+3
- * SET UP ACCOUNTING LIMITS FOR PRINT, PUNCH AND PLOT FILES.
- LDD CP READ FILE SIZE LIMITS
- ADK ALMW
- CRD CM
- LDD QT DETERMINE QUEUE TYPE
- LMN PHQT
- ZJN SOD13 IF PUNCH FILE
- LMN PLQT&PHQT
- ZJN SOD12 IF PLOT FILE
- LDD CM+4 SET PRINT FILE LIMIT
- SHN -6
- UJN SOD14 SET LIMIT
- SOD12 LDD CM SET PLOT FILE LIMIT
- UJN SOD14 SET LIMIT
- SOD13 LDD CM+4 SET PUNCH FILE LIMIT
- SOD14 LPN 77
- STM LCSS
- UJP SODX RETURN
- SPACE 4,10
- ** TDIC - TABLE OF DEFAULT INTERNAL CHARACTERISTICS.
- *
- * INDEXED BY EXTERNAL CHARACTERISTICS CODE.
- *
- *T 4/ PRIC, 4/PHIC, 4/ PLIC
- * PHIC = PUNCH INTERNAL CHARACTERISTICS.
- * PRIC = PRINT INTERNAL CHARACTERISTICS.
- * PLIC = PLOT INTERNAL CHARACTERISTICS.
- * 17B = INCORRECT INTERNAL CHARACTERISTICS.
- TDIC BSS 0
- LOC 0
- * PRINT PUNCH PLOT
- VFD 4/DCIC,4/DCIC,4/17B DISPLAY DISPLAY INVALID
- VFD 4/17B,4/BNIC,4/BNIC INVALID BINARY BINARY
- VFD 4/ASIC,4/BNIC,4/ASIC ASCII BINARY ASCII
- VFD 4/DCIC,4/17B,4/17B DISPLAY INVALID INVALID
- VFD 4/DCIC,4/DCIC,4/17B DISPLAY DISPLAY INVALID
- VFD 4/DCIC,4/DCIC,4/17B DISPLAY DISPLAY INVALID
- VFD 4/ASIC,4/ASIC,4/17B ASCII ASCII INVALID
- VFD 4/17B,4/17B,4/17B INVALID INVALID INVALID
- LOC *O
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPVFC
- SPACE 4,10
- ** DEFINE UNQUALIFIED ENTRY POINTS.
- QUAL
- SOD EQU /3DB/SOD
- QUAL *
- SPACE 4,10
- OVERFLOW OVL4,BFMS
- SPACE 4,10
- USE OVERFLOW
- ERRNG OVL1-5-* OVERFLOW INTO *0AV*
- OVERLAY (SYSTEM SECTOR/EOI UPDATE ROUTINES.),OVL4
- AEO SPACE 4,10
- ** AEO - ATTACH EJT ORDINAL.
- *
- * *AEO* DETERMINES THE EJT ORDINAL OF THE CONTROL
- * POINT AND THEN INSERTS THE ORDINAL INTO THE QFT.
- *
- * EXIT APPROPRIATE FLAGS SET IN QFT SAYING QFT
- * IS ATTACHED TO AN EJT.
- AEO SUBR ENTRY/EXIT
- LDM EJTO GET EJT ORDINAL
- STM IOSS+ENTQ*5+4
- LDM IOSS+JSNQ*5+4 FLAG FILE ASSIGNED TO EJT
- SCN 37
- LMN 2 FLAG FILE ASSIGNED TO EJT
- STM IOSS+JSNQ*5+4
- UJN AEOX RETURN
- BSE SPACE 4,15
- ** BSE - CHECK FOR BINARY CARD SEQUENCE ERROR.
- *
- * ENTRY (ST) = STATUS WORD.
- * (QT) = QUEUE TYPE.
- *
- * EXIT SYSTEM SECTOR UPDATED.
- *
- * USES CM - CM+6.
- *
- * CALLS GFA.
- BSE SUBR ENTRY/EXIT
- LDD QT
- LMK INQT
- NJN BSEX IF NOT ROUTE TO INPUT
- LDD ST DETERMINE IF SUBSYSTEM
- LPN SSFL
- NJN BSEX IF NOT SUBSYSTEM
- LDM INFL GET INPUT FLAGS
- SHN 21-6
- PJN BSEX IF NOT ERRORS
- RJM GFA READ BINARY CARD DATA
- ADN 5
- CRD CM
- SBN 1 READ ABORT CODE
- CRD CM+2
- LDD CM+2+2 SET ABORT CODE
- STM JASS
- LDD CM SET RECORD NUMBER
- STM RNSS
- LDD CM+1 SET CARD NUMBER
- STM CNSS
- UJN BSEX RETURN
- CLE SPACE 4,10
- ** CLE - COMPLETE LOCAL ENTRY.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FN - FN+4) = NFL FNT ENTRY.
- * (FS - FS+4) = NFL FST ENTRY.
- *
- * EXIT (FS - FS+4) = WRITTEN TO NFL.
- * (FN - FN+4) = WRITTEN TO NFL.
- *
- * USES FN+4, FS+4, CM - CM+4.
- *
- * MACROS MONITOR, NFA.
- CLE2 LDN ZERL CLEAR PARAMETERS
- CRD CM
- LDN DLFS DROP LOCAL ENTRY
- STD CM+1
- LDC * (LOCAL FNT ORDINAL)
- CLEB EQU *-1
- STD CM+4
- MONITOR PLFM
- CLE SUBR ENTRY/EXIT
- LDD FB+1
- SHN 21-0
- PJN CLE2 IF IMMEDIATE ROUTE
- LDD FS+4 SET FILE NOT BUSY
- SCN 1
- LMN 1
- STD FS+4
- LDM LFST SET FILE STATUS
- NJN CLE1 IF FILE STATUS CHANGED
- LDD FN+4 GET CURRENT FILE STATUS
- LPN 77
- CLE1 LMC QFFT*100
- STD FN+4
- NFA CLEB,R REWRITE NFL FNT/FST ENTRY
- CWD FN
- ADN FSTL
- CWD FS
- UJN CLEX RETURN
- IAM SPACE 4,10
- ** IAM - ISSUE ACCOUNTING MESSAGES.
- *
- * EXIT *ABLQ* OR *ARRQ* MESSAGES ISSUED TO ACCOUNT FILE.
- *
- * CALLS *0QM*.
- *
- * MACROS EXECUTE.
- IAM SUBR ENTRY/EXIT
- LDD ST
- LPC RQFL
- NJN IAM1 IF FILE BEING REQUEUED
- LDC 2RAB SET *ABLQ* MESSAGE
- STM OVL7-2
- LDC 2RLQ
- UJN IAM2 SET MESSAGE IDENTIFIER
- IAM1 LDC 2RAR SET *ARRQ* MESSAGE
- STM OVL7-2
- LDC 2RRQ
- IAM2 STM OVL7-1
- EXECUTE 0QM,OVL7 ISSUE MESSAGES
- UJN IAMX RETURN
- IES SPACE 4,15
- ** IES - INITIALIZE EOI SECTOR.
- *
- * ENTRY (FS - FS+4) = FST ENTRY.
- * (QT) = DESTINATION QUEUE TYPE.
- *
- * EXIT *EBUF* INITIALIZED AS EOI SECTOR.
- *
- * USES T1, T5 - T5+4.
- *
- * CALLS RMS, SEI.
- *
- * MACROS ENDMS, ERROR, NFA, SETMS.
- IES SUBR ENTRY/EXIT
- LDD ST
- LPN DSFL
- ZJN IES1 IF FILE NOT ALREADY A QUEUE FILE
- LDD ST
- LPC LKFL
- NJN IES5 IF FILE IS LOCKED
- IES1 LDD ST
- LPN SSFL
- NJN IES4 IF NOT CALLED BY SUBSYSTEM
- LDD QT
- LMK INQT
- NJN IES4 IF NOT ROUTE TO INPUT QUEUE
- * INITIALIZE EOI FOR ROUTE TO INPUT QUEUE FROM SUBSYSTEM.
- LDC 501 CLEAR EOI BUFFER
- STD T1
- IES2 LDN 0
- STM EBUF,T1
- SOD T1
- PJN IES2 IF MORE TO CLEAR
- IES3 UJN IESX RETURN
- * READ EOI FROM JOB INPUT FILE.
- IES4 NFA FNTN READ JOB INPUT FILE FST
- ADN FSTL
- CRD T5
- UJN IES6 READ EOI SECTOR
- * IF FILE IS *QFFT* AND LOCKED, IT IS A QUEUED FILE ATTACHED
- * BY *QAC*/*GET*. READ EXISTING EOI SECTOR FROM FILE.
- IES5 LDD FS
- STD T5
- LDD FS+1
- STD T6
- IES6 LDN 0 FIND EOI SECTOR
- RJM SEI
- SETMS IO READ EOI SECTOR
- LDC EBUF
- RJM RMS
- ENDMS
- UJN IES3 RETURN
- PRT SPACE 4,10
- ** PRT - PROCESS REMOTE TEXT.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (EBUF) = EOI SECTOR.
- *
- * EXIT IMPLICIT/EXPLICIT TEXTS SET IN EOI.
- * DATA DECLARATION SET IN EOI.
- *
- * USES T1, CM - CM+4, CN - CN+4.
- *
- * CALLS GFA.
- PRT SUBR ENTRY/EXIT
- LDD ST CHECK IF SLID SPECIFIED
- SHN 21-11
- PJN PRT2 IF SLID NOT SPECIFIED
- LDN 0 CLEAR IMPLICIT TEXT IN EOI
- STM EBUF+ILEI
- LDC TXLEI-1
- STD T1
- PRT1 LDN 0
- STM EBUF+ITEI,T1
- SOD T1
- PJN PRT1 IF MORE TEXT TO CLEAR
- * SET IMPLICIT AND EXPLICIT TEXT IN EOI.
- PRT2 LDD FB+1
- SHN 21-6
- PJN PRTX IF NO EXTENDED BLOCK
- RJM GFA GET TEXT ADDRESSES
- ADN 10
- CRD CM
- ADN 1
- CRD CN
- LDM IRTL LENGTH OF IMPLICIT TEXT
- ZJN PRT3 IF IMPLICIT TEXT NOT SPECIFIED
- STD T1
- LDD CM+3
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD CM+4
- CRD CM
- ADN 1
- CRM EBUF+ITEI,T1 READ TEXT
- LDD CM+4
- STM EBUF+ILEI SET CHARACTER LENGTH OF TEXT
- PRT3 LDM ERTL LENGTH OF EXPLICIT TEXT
- ZJN PRT4 IF EXPLICIT TEXT NOT SPECIFIED
- STD T1
- LDD CN+3
- LPN 77
- SHN 6
- ADD RA
- SHN 6
- ADD CN+4
- CRD CN
- ADN 1
- CRM EBUF+EXEI,T1 READ TEXT
- LDD CN+4
- STM EBUF+ELEI SET CHARACTER LENGTH OF TEXT
- * SET DATA DECLARATION IN EOI.
- PRT4 LDM DDEC DATA DECLARATION VALUE
- ZJN PRT5 IF DATA DECLARATION NOT SPECIFIED
- STM EBUF+DDEI
- PRT5 LJM PRTX RETURN
- PUF SPACE 4,15
- ** PUF - PROCESS USER/FAMILY NAMES.
- *
- * EXIT (FN - FN+4) PRESERVED.
- * SYSTEM SECTOR UPDATED.
- * QFT ENTRY UPDATED.
- *
- * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0AV*.
- *
- * USES CN - CN+4, FN - FN+4, UN - UN+4.
- *
- * CALLS GFA, GFO, *0AV*.
- *
- * MACROS EXECUTE.
- PUF SUBR ENTRY/EXIT
- * SET AND VALIDATE SPECIFIED CREATOR USER/FAMILY
- * (SKIP FOR INPUT FILES).
- LDM EBIT+1
- LPN EFCU
- ZJN PUF1 IF CREATOR USER/FAMILY NOT SPECIFIED
- LDD QT
- LMK INQT
- PUF1 ZJP PUF2 IF INPUT QUEUE TYPE
- RJM GFA SET SPECIFIED USER/FAMILY IN SYSTEM SECTOR
- ADN 12
- CRD UN
- CRM ACSS,ON
- CRD CN
- CRM FMSS,ON
- LDD UN+3 CLEAR LOWER 18 BITS OF USER NAME
- SCN 77
- STD UN+3
- LDN 0 VALIDATE CREATOR USER/FAMILY
- STD UN+4
- EXECUTE 0AV,OVL1
- MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
- LDD T2 SET CREATOR USER INDEX IN SYSTEM SECTOR
- STM ACSS+4
- LDM ACSS+3
- SCN 77
- LMD T1
- STM ACSS+3
- * SET AND VALIDATE SPECIFIED OWNER USER/FAMILY.
- PUF2 LDM EBIT+1
- LPN EFOU
- ZJP PUFX IF OWNER USER/FAMILY NOT SPECIFIED
- RJM GFA SET SPECIFIED USER/FAMILY IN SYSTEM SECTOR
- ADN 10
- CRD UN
- CRM OASS,ON
- CRD CN
- CRM FOSS,ON
- LDD UN+3
- SCN 77
- STD UN+3
- LDN 0 VALIDATE OWNER USER/FAMILY
- STD UN+4
- EXECUTE 0AV,OVL1
- MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
- LDD T2 SET OWNER USER INDEX IN SYSTEM SECTOR
- STM OASS+4
- STM PUFB+1 SAVE OWNER USER INDEX FOR QFT
- LDM OASS+3
- SCN 77
- LMD T1
- STM OASS+3
- STM PUFA+1
- * SET OWNER FO/UI IN QFT. IF SPECIFIED OWNER USER/FAMILY
- * WAS NOT VALID, USE FO/UI OF CREATOR USER/FAMILY.
- LDD T1
- ADD T2
- NJN PUF3 IF SPECIFIED OWNER USER/FAMILY VALID
- LDD MA SET FAMILY = CREATOR FAMILY
- CWM FMSS,ON
- SBN 1
- CRD CN
- LDM ACSS+3 SET USER INDEX = CREATOR USER INDEX
- STM PUFA+1
- LDM ACSS+4
- STM PUFB+1
- PUF3 LDD MA SAVE (FN - FN+4)
- CWD FN
- CRD UN
- CWD CN SET FAMILY NAME
- CRD FN
- * LDN (NONZERO)
- RJM GFO GET FAMILY ORDINAL
- LDD FN+4 SET OWNER FAMILY ORDINAL IN QFT ENTRY
- SHN 6
- STM IOSS+JSNQ*5+2
- PUFA LDC * SET OWNER USER INDEX IN QFT ENTRY
- LPN 77
- RAM IOSS+JSNQ*5+2
- PUFB LDC *
- STM IOSS+JSNQ*5+3
- LDN 0 CLEAR BOTTOM OF FAMILY NAME
- STM FOSS+4
- LDM FOSS+3
- SCN 77
- STM FOSS+3
- LDD MA RESTORE (FN - FN+4)
- CWD UN
- CRD FN
- LJM PUFX RETURN
- PUP SPACE 4,10
- ** PUP - PROCESS UJN PRESENCE.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- *
- * EXIT (JNSS - JNSS+4) = UJN IF PRESENT.
- *
- * CALLS GFA.
- PUP SUBR ENTRY/EXIT
- LDD FB CHECK FOR UJN SPECIFIED
- SHN 21-1
- PJN PUPX IF NO UJN SPECIFIED
- RJM GFA MOVE UJN TO SYSTEM SECTOR
- ADN 3
- CRM JNSS,ON
- LDN 0 ZERO FILL UJN FIELD
- STM JNSS+4
- LDM JNSS+3
- SCN 77
- STM JNSS+3
- UJN PUPX RETURN
- SCP SPACE 4,10
- ** SCP - SET SPECIFIED CHARGE AND PROJECT NUMBERS.
- *
- * EXIT CHARGE/PROJECT NUMBERS SET IF SPECIFIED.
- *
- * CALLS GFA.
- SCP SUBR ENTRY/EXIT
- LDM EBIT+1
- LPK EFCH
- ZJN SCPX IF CHARGE/PROJECT NUMBERS NOT SPECIFIED
- RJM GFA
- ADN 17
- CRM CHSS,TR
- ERRNZ PJSS-CHSS-5 CHARGE AND PROJECT NUMBER NOT CONTIGUOUS
- UJN SCPX RETURN
- SLI SPACE 4,10
- ** SLI - SET LOGICAL IDENTIFIERS.
- *
- * ENTRY (QT) = QUEUE TYPE.
- * (SLID) = SOURCE LID.
- * (DLID) = DESTINATION LID.
- *
- * EXIT SLID/DLID SET IN SYSTEM SECTOR AND QFT.
- SLI SUBR ENTRY/EXIT
- * SET DLID IN QFT / SYSTEM SECTOR.
- LDD ST
- LPC DLFL
- NJN SLI1 IF DLID SPECIFIED IN PARAMETER BLOCK
- LDD QT
- LMK INQT
- NJN SLI1 IF NOT ROUTE TO INPUT
- LDM IOSS+INSQ*5+1
- NJN SLI2 IF DLID SET IN SYSTEM SECTOR BY *0VJ*
- SLI1 LDM DLID
- SHN 14
- LMM DLID+1
- SHN -6+22
- STM IOSS+INSQ*5+1
- SHN -6
- LMM IOSS+INSQ*5+2
- SCN 77
- LMM IOSS+INSQ*5+2
- STM IOSS+INSQ*5+2
- * SET SLID IN SYSTEM SECTOR.
- SLI2 LDM IOSS+INSQ*5+1
- NJN SLI3 IF DLID PRESENT
- STM SLID CLEAR SLID
- STM SLID+1
- SLI3 LDM SLID+1 SET SLID
- STM SLSS+1
- LDM SLSS
- SCN 77
- LMM SLID
- STM SLSS
- LJM SLIX RETURN
- UFS SPACE 4,15
- ** UFS - UPDATE FILE STATE.
- *
- * ENTRY (FB - FB+1) = FLAG BITS.
- * (FS - FS+4) = FST STATUS.
- * (ST) = STATUS BITS.
- *
- * EXIT (T5) = EQUIPMENT.
- * FILE LENGTH DETERMINED.
- * IF IMMEDIATE ROUTE, GET DATA FOR *UADM* MESSAGE.
- * IF FILE BEING REQUEUED BY SUBSYSTEM, RANDOM INDEX SET.
- *
- * USES T5, T6, T7.
- *
- * CALLS SEI, SRA.
- UFS SUBR ENTRY/EXIT
- LDD FS SET EQUIPMENT
- STD T5
- LDD ST
- SHN 21-13
- ERRNZ RQFL-4000 CODE DEPENDS ON VALUE
- PJN UFS2 IF NOT REQUEUEING FILE
- SHN 21-0-21+13
- ERRNZ SSFL-1 CODE DEPENDS ON VALUE
- MJN UFS2 IF NOT SUBSYSTEM CALLER
- LDD QT
- LMK INQT
- ZJN UFS2 IF INPUT FILE
- LDD FS+2 SET RANDOM ADDRESS
- STD T6 SET CURRENT TRACK
- LDD FS+3 SET CURRENT SECTOR
- STD T7
- LDD FS+1 SET FIRST TRACK
- RJM SRA SET RANDOM ADDRESS
- ZJN UFS1 IF TRACK AND SECTOR IN TRACK CHAIN
- LDN SWET SET SYSTEM SOFTWARE ERROR
- STD CM+2
- LDC * SET ADDRESS WHERE ERROR DETECTED
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- LJM DPP DROP PP
- * SET INTERRUPT RANDOM ADDRESS IN SYSTEM SECTOR.
- UFS1 LDD RI SET RANDOM ADDRESS IN SYSTEM SECTOR
- STM RTSS
- LDD RI+1
- STM RTSS+1
- UFS2 LDD FS+1 SET FIRST TRACK
- STD T6
- * LDN (NONZERO) (DO NOT REQUIRE CURRENT TRT)
- RJM SEI SEARCH FOR END OF INFORMATION
- * SET DATA FOR *UADM* FUNCTION.
- LDD T2 SET FILE LENGTH
- STM FLSS
- LDD T3
- SBN 1
- STM FLSS+1
- PJN UFS2.1 IF NO UNDERFLOW
- AOM FLSS+1
- SOM FLSS
- UFS2.1 LDD FB+1
- SHN 21-0
- MJN UFS3 IF DEFERRED ROUTE
- LDD T2 ROUND UP SECTOR COUNT
- SHN 14
- LMD T3
- SBD T7
- ADM SLM (*COMPWEI* LOADED CORRECT DRIVER)
- STM DPPC+1
- SHN -14
- STM DPPC
- UFS3 LJM UFSX RETURN
- WES SPACE 4,15
- ** WES - WRITE EOI SECTOR.
- *
- * ENTRY (FS - FS+4) = FST ENTRY.
- * (EBUF) = EOI SECTOR.
- *
- * EXIT EOI SECTOR WRITTEN.
- *
- * USES T5, T6.
- *
- * CALLS SEI, WEI.
- *
- * MACROS ENDMS, ERROR, SETMS.
- WES SUBR ENTRY/EXIT
- LDD FS SET EQUIPMENT AND FIRST TRACK
- STD T5
- LDD FS+1
- STD T6
- STM EBUF+FTEI
- LDN 0 FIND EOI
- RJM SEI
- SETMS IO
- LDC EBUF WRITE EOI SECTOR
- RJM WEI
- ENDMS
- UJN WESX RETURN
- WQS SPACE 4,20
- ** WQS - WRITE QUEUED FILE SYSTEM SECTOR.
- *
- * ENTRY (WQSA) .NE. 0, DO NOT PRESERVE FILE.
- * (FA) = NFL FNT ENTRY OFFSET.
- * (QA) = ORDINAL OF QFT ENTRY.
- * (FS - FS+4) = FST ENTRY.
- *
- * EXIT SYSTEM SECTOR WRITTEN.
- * FILE PRESERVED, IF REQUESTED.
- * (FASS) = LOCAL FNT ENTRY OFFSET.
- * (GQSS) = ORDINAL OF QFT ENTRY.
- *
- * USES FA, T6, CM - CM+4.
- *
- * CALLS RFI, UFS, WSS.
- *
- * MACROS ENDMS, MONITOR, SETMS.
- WQS SUBR ENTRY/EXIT
- * IF *DC=SO* OR *DC=SS*, DO NOT PRESERVE FILE.
- LDM DCSS CHECK DISPOSITION CODE
- LMC 2RSO
- ZJN WQS1 IF *DC=SO*
- LMN 2RSS&2RSO
- NJN WQS2 IF NOT *DC=SS*
- WQS1 AOM WQSA DO NOT PRESERVE FILE
- WQS2 LDM WQSA
- NJN WQS3 IF FILE NOT TO BE REQUEUED
- LDM FGSS CHECK FOR FILE BEING REQUEUED
- LPN 2
- STM WQSB
- LDM FGSS SET FILE IN QUEUE AND ACTIVE STATUS
- SCN 3
- LMN 3
- STM FGSS
- LDC 0
- * LDC 2 (FILE BEING REQUEUED)
- WQSB EQU *-1
- NJN WQS3 IF FILE BEING REQUEUED
- LDN PDTL SET QUEUED FILE CREATION DATE AND TIME
- CRD CM
- LDD CM+2
- STM CDSS+2
- LDD CM+3
- STM CDSS+3
- LDD CM+4
- STM CDSS+4
- WQS3 RJM UFS UPDATE FILE STATE
- LDC FLSS ADDRESS OF SYSTEM SECTOR FILE LENGTH
- RJM RFI SET FILE SIZE INDEX IN QFT ENTRY
- * COMPLETE SYSTEM SECTOR.
- LDD FA SET FNT POINTERS
- STM FASS
- STM EERA
- STM CLEB
- LDD QA
- STM GQSS
- LDN 0 INDICATE PRESET SYSTEM SECTOR FNT
- STD FA
- LDD FS+1 SET FIRST TRACK
- STD T6
- SETMS IO,RW
- RJM WSS WRITE SYSTEM SECTOR
- ENDMS
- * PRESERVE QUEUED FILE.
- LDC 0
- * LDC 1 (IF FILE NOT TO BE PRESERVED)
- WQSA EQU *-1
- NJN WQS4 IF FILE NOT TO BE PRESERVED
- LDD T5 CONDITIONALLY SET PROTECT BIT, CHECKPOINT
- LMC 6000
- STD CM+1
- LDD T6
- STD CM+2
- LDN SPFS SET PRESERVED FILE BIT
- STD CM+3
- MONITOR STBM
- WQS4 LJM WQSX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMPRFI
- SEI$ SET 1 GUARANTEE CURRENT TRT FOR *COMPSEI*
- *CALL COMPSEI
- *CALL COMPSFE
- *CALL COMPSRA
- QUAL MIO
- WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
- *CALL COMPWSS
- QUAL *
- WSS EQU /MIO/WSS
- SPACE 4,10
- ** DEFINE UNQUALIFIED ENTRY POINTS.
- QUAL
- AEO EQU /3DC/AEO
- BSE EQU /3DC/BSE
- CLE EQU /3DC/CLE
- IAM EQU /3DC/IAM
- IES EQU /3DC/IES
- PRT EQU /3DC/PRT
- PUF EQU /3DC/PUF
- PUP EQU /3DC/PUP
- RFI EQU /3DC/RFI
- SCP EQU /3DC/SCP
- SLI EQU /3DC/SLI
- WES EQU /3DC/WES
- WQS EQU /3DC/WQS
- WQSA EQU /3DC/WQSA
- QUAL *
- SPACE 4,10
- OVERFLOW OVL4,EBUF
- SPACE 4,10
- USE OVERFLOW
- ERRNG OVL1-5-* OVERFLOW INTO *0AV*
- ERRNG OVL7-5-* OVERFLOW INTO *0QM*
- ERRNG QBUF-* OVERFLOW INTO QFT ENTRY BUFFER
- OVERLAY (CHANGE TO LOCAL FILE.),OVL5
- CLF SPACE 4,15
- ** CLF - CHANGE TO LOCAL FILE.
- *
- * ENTRY (FN - FN+4) = LOCAL FNT ENTRY.
- * (FS - FS+4) = LOCAL FST ENTRY.
- * (UN - UN+4) = FILE NAME, IF *FCFL* IS SET IN (ST).
- * (FA) = NFL FNT OFFSET.
- *
- * EXIT QFT ENTRY DROPPED.
- * FILE UNPRESERVED.
- * LOCAL FILE CREATED IF NONE EXISTS.
- *
- * ERROR TO *EER3* IF INACCESSIBLE DEVICE RETURN BY *0DQ*.
- *
- * USES FN+4, FS+4, QA, T5, T6, CM - CM+4.
- *
- * CALLS AMS, EFN, WSS, *0DQ*.
- *
- * MACROS ENDMS, EXECUTE, MONITOR, NFA, SETMS, SFA.
- CLF SUBR ENTRY/EXIT
- LDD ST CHECK IF FILE EXISTS
- LPN FCFL
- ZJN CLF1 IF FILE EXISTS
- RJM EFN ENTER FILE NAME
- RJM AMS ASSIGN MASS STORAGE
- UJN CLF3 CHANGE FILE TYPE
- CLF1 STD QA SET TO SEARCH FOR QFT ENTRY
- LDD FS
- ZJN CLF3 IF NO EQUIPMENT
- LDD FS+1
- ZJN CLF3 IF NO TRACK
- LDN 1 DROP QFT ENTRY ONLY
- STM OVL6-1
- EXECUTE 0DQ,OVL6 CLEAR QFT ENTRY
- MJP EER3 IF MASS STORAGE DEVICE INACCESSIBLE
- CLF3 AOD FS+4 SET FILE NOT BUSY
- LDD FN+4 SET LOCAL FILE TYPE
- LPN 77
- LMC LOFT*100
- STD FN+4
- LDD FN+3 CLEAR LOCK (READ-ONLY) BIT
- SCN 1
- STD FN+3
- * DETERMINE IF FILE WAS A PRESERVED FILE.
- LDD FS CHECK FOR EQUIPMENT ASSIGNMENT
- ZJP CLF4 IF NO EQUIPMENT ASSIGNED
- SFA EST,FS READ EST ENTRY
- ADK EQDE
- CRD CM
- LDD FS+1 GET TRACK
- LPC 3777 SET TRT WORD NUMBER
- SHN 21-1
- STD T2
- SHN 1-21
- ADC SHNI+21-13
- STM CLFA
- LDD CM+4 GET FWA OF TRT
- SHN 3
- ADN TRLL
- CRD CM
- LDD CM+3
- LPN 77
- SHN 14
- LMD CM+4
- ADD T2 READ TRT WORD
- CRD CM
- LDD CM+4 SET TRACK BITS
- CLFA SHN 0
- PJN CLF4 IF FILE NOT PRESERVED
- LDD FS SET EQUIPMENT
- STD T5
- STD CM+1
- LDD FS+1 SET TRACK
- STD T6
- STD CM+2
- LDN CPFS SET CLEAR PRESERVED FILE BIT FUNCTION
- STD CM+3
- MONITOR STBM
- SETMS IO,RW
- RJM WSS REWRITE SYSTEM SECTOR
- ENDMS
- CLF4 NFA FA,R REWRITE LOCAL FNT/FST
- CWD FN
- ADN FSTL
- CWD FS
- LDN 0 CLEAR JSN IN PARAMETER BLOCK
- STM DSPD
- STM DSPE
- LJM CLFX RETURN
- SPACE 4,10
- ** DEFINE UNQUALIFIED ENTRY POINTS.
- QUAL
- CLF EQU /3DD/CLF
- QUAL *
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMPSFI
- QUAL MIO2
- WDS EQU WMS USE *WMS* IN PLACE OF *WDS*
- *CALL COMPWSS
- QUAL *
- WSS EQU /MIO2/WSS
- SPACE 4,10
- OVERFLOW OVL5,BFMS
- SPACE 4,10
- USE OVERFLOW
- ERRNG OVL0-5-* OVERFLOW INTO *0BF*
- ERRNG OVL6-5-* OVERFLOW INTO *0DQ*
- OVERLAY (ERROR PROCESSOR.),OVL3
- ERP SPACE 4,15
- ** ERP - ERROR PROCESSOR.
- *
- * ENTRY (ER) = ERROR CODE.
- * (FA) = FST ADDRESS.
- * (DSPB) = ERROR CODE.
- *
- * EXIT TO *PPR* IF JOB IS TO BE ABORTED.
- * TO *DSPX* IF ERROR CODE IS TO BE RETURNED.
- *
- * USES T2, FN - FN+4.
- *
- * CALLS FEM, FNB, GFA, IDM, PUE, SQE.
- *
- * MACROS MONITOR.
- ERP SUBR ENTRY/EXIT
- LDD ER
- LMN /ERR/EC24
- NJN ERP1 IF NOT * QUEUED FILE READ ERROR*
- RJM SQE SET QFT ERROR
- UJN ERP2 CONTINUE
- ERP1 RJM FNB SET FILE NOT BUSY
- ERP2 LDD ER
- LMN /ERR/EC34
- ZJN ERP3 IF USER NAME ERROR
- LMN /ERR/EC47&/ERR/EC34
- NJN ERP4 IF NOT USER SECURITY COUNT EXHAUSTED ERROR
- ERP3 RJM PUE PROCESS USER NAME ERROR
- ERP4 LDD ST
- LPN SSFL
- ZJN ERP6 IF SUBSYSTEM CALL
- * CHECK IF ERROR PROCESSING ALLOWED.
- LDN 0
- STD T2
- ERP5 LDM TABT,T2
- ZJN ERP6 IF END OF TABLE
- LMD ER
- ZJN ERP7 IF JOB SHOULD BE ABORTED
- AOD T2 INCREMENT INDEX
- UJN ERP5 CHECK NEXT TABLE ENTRY
- ERP6 LDD FB
- SHN 21-0
- PJN ERP7 IF ERROR PROCESSING NOT SELECTED
- LDD ER
- STM DSPB
- LJM DSPX RETURN
- ERP7 LDD ER CHECK FOR JOB COMMAND ERROR
- SBN /ERR/EC32
- NJN ERP8 IF NOT JOB COMMAND ERROR
- RJM FEM FORMAT ERROR MESSAGE
- ERP8 LDM TDFM,ER
- RJM IDM ISSUE DAYFILE MESSAGES
- LDD ER CHECK ERROR STATUS
- LMN /ERR/EC12
- ZJN ERP9 IF INCORRECT REQUEST
- RJM GFA GET PARAMETER BLOCK ADDRESS
- CRD FN
- LDD FN+4 SET FUNCTION COMPLETE
- SCN 1
- LMN 1
- STD FN+4
- RJM GFA WRITE COMPLETE BIT
- CWD FN
- ERP9 MONITOR ABTM ABORT CONTROL POINT
- LJM PPR
- SPACE 4
- ** TABT - TABLE OF ERROR CODES TO ABORT UNCONDITIONALLY.
- TABT BSS 0
- CON /ERR/EC12 * DSP - INCORRECT REQUEST.*
- CON /ERR/EC10 * DSP - USER ACCESS NOT VALID.*
- CON /ERR/EC17 * DSP - COMPLETE BIT ALREADY SET.*
- CON /ERR/EC31 * DSP - I/O SEQUENCE ERROR.*
- CON 0 END OF TABLE
- FEM SPACE 4,10
- ** FEM - FORMAT ERROR MESSAGE.
- *
- * EXIT ERROR MESSAGE FORMATTED AND PLACED IN *FEMA*.
- *
- * USES T1.
- FEM SUBR ENTRY
- LDD MA SET-UP ERROR MESSAGE
- CWM STMT,TR
- SBD TR
- CRM FEMB,TR
- LDC FEMB-1
- STD T1
- FEM1 AOD T1 SET END OF JOB COMMAND ERROR MESSAGE
- LMC FEMC
- ZJN FEM2 IF END OF MESSAGE BUFFER
- LDI T1
- ZJN FEM2 IF END OF JOB COMMAND
- LPN 77
- NJN FEM1 IF NOT END OF JOB COMMAND
- LDN 1R)
- RAI T1
- UJN FEM3 SET END OF MESSAGE
- FEM2 LDC 2R)
- STI T1
- FEM3 LDN 0
- STM 1,T1
- UJN FEMX RETURN
- TDFM SPACE 4
- ** TDFM - TABLE OF DAYFILE MESSAGE ADDRESSES.
- TDFM INDEX
- INDEX /ERR/EC01,(=C* DSP - FILE NAME ERROR.*)
- INDEX /ERR/EC02,(=C* DSP - FILE NOT ON MASS STORAGE.*)
- INDEX /ERR/EC03,(=C* DSP - INCORRECT FILE TYPE.*)
- INDEX /ERR/EC05,(=C* DSP - ROUTE TO INPUT NOT IMMEDIATE.*)
- INDEX /ERR/EC06,(=C* DSP - IMMEDIATE ROUTING - NO FILE.*)
- INDEX /ERR/EC07,(=C* DSP - INCORRECT DISPOSITION CODE.*)
- INDEX /ERR/EC10,(=C* DSP - USER ACCESS NOT VALID.*)
- INDEX /ERR/EC11,(=C* DSP - UNDEFINED SERVICE CLASS.*)
- INDEX /ERR/EC12,(=C* DSP - INCORRECT REQUEST.*)
- INDEX /ERR/EC13,(=C* DSP - DEFERRED ROUTING NOT ALLOWED.*)
- INDEX /ERR/EC14,(=C* DSP - INCORRECT DATA DECLARATION.*)
- INDEX /ERR/EC15,(=C* DSP - INCORRECT LID.*)
- INDEX /ERR/EC16,(=C* DSP - CANNOT ROUTE JOB INPUT FILE.*)
- INDEX /ERR/EC17,(=C* DSP - COMPLETE BIT ALREADY SET.*)
- INDEX /ERR/EC20,(=C* DSP - FILE ON REMOVABLE DEVICE.*)
- INDEX /ERR/EC21,(=C* DSP - INCORRECT TID.*)
- INDEX /ERR/EC22,(=C* DSP - FORMS CODE NOT ALPHANUMERIC.*)
- INDEX /ERR/EC23,(=C* DSP - INCORRECT INTERNAL CHARACTERISTICS
- ,.*)
- INDEX /ERR/EC24,(=C* DSP - QUEUED FILE READ ERROR.*)
- INDEX /ERR/EC25,(=C* DSP - QFT FULL.*)
- INDEX /ERR/EC26,(=C* DSP - THIS ROUTING NOT ALLOWED.*)
- INDEX /ERR/EC27,(=C* DSP - DEVICE FULL.*)
- INDEX /ERR/EC30,(=C* DSP - MASS STORAGE ERROR.*)
- INDEX /ERR/EC31,(=C* DSP - I/O SEQUENCE ERROR.*)
- INDEX /ERR/EC32,FEMA JOB COMMAND ERROR
- INDEX /ERR/EC33,(=C* DSP - TOO MANY DEFERRED BATCH JOBS.*)
- INDEX /ERR/EC34,(=C* DSP - INCORRECT USER COMMAND.*)
- INDEX /ERR/EC35,(=C* DSP - DEVICE INACCESSIBLE.*)
- INDEX /ERR/EC36,(=C* DSP - INCORRECT FILE MODE.*)
- INDEX /ERR/EC37,(=C* DSP - INCORRECT EXTERNAL CHARACTERISTICS
- ,.*)
- INDEX /ERR/EC40,(=C* DSP - INCORRECT ORIGIN TYPE.*)
- INDEX /ERR/EC41,(=C* DSP - INCORRECT SPACING CODE.*)
- INDEX /ERR/EC42,(=C* DSP - INCORRECT JOB ABORT CODE.*)
- INDEX /ERR/EC45,(=C* DSP - INCORRECT SERVICE CLASS.*)
- INDEX /ERR/EC46,(=C* DSP - ALTERNATE FAMILY NOT ALLOWED.*)
- INDEX /ERR/EC47,(=C* DSP - USER SECURITY COUNT EXHAUSTED.*)
- INDEX /ERR/EC50,(=C* DSP - JSN ALREADY IN SYSTEM.*)
- INDEX /ERR/EC51,(=C* DSP - ALTERNATE USER NOT ALLOWED.*)
- INDEX /ERR/ECMX
- IDM SPACE 4,10
- ** IDM - ISSUE DAYFILE MESSAGES.
- *
- * ENTRY (A) = FWA OF MESSAGE.
- *
- * EXIT MESSAGE ISSUED.
- *
- * USES ER.
- *
- * CALLS DFM, GFA, SEM.
- IDM SUBR ENTRY/EXIT
- STM IDMA
- RJM GFA SET FILE NAME IN MESSAGE
- CRM IDMB,ON
- LDC IDMB
- RJM SEM SET END OF MESSAGE
- LDC MSGA * ERROR IN ROUTE FUNCTION, LFN = XXXXXXX.*
- RJM DFM
- LDC ** ISSUE DAYFILE MESSAGE
- IDMA EQU *-1 (FWA OF MESSAGE)
- ZJN IDMX IF NO ADDRESS
- ADC CPON
- RJM DFM
- UJN IDMX RETURN
- MSGA DATA H* ERROR IN ROUTE FUNCTION, LFN =*
- IDMB VFD 60/0
- MSGB DATA H*SIUN,*
- IDMC EQU *
- PUE SPACE 4,13
- ** PUE - PROCESS USER NAME ERROR.
- *
- * ENTRY (UN - UN+4) = USER NAME.
- *
- * EXIT TO *DPP*, IF NOT A SUBSYSTEM CALL.
- *
- * USES CM+1.
- *
- * CALLS DFM, IDM, SEM.
- *
- * MACROS MONITOR.
- PUE SUBR ENTRY/EXIT
- LDD ST
- LPN SSFL
- ZJN PUEX IF SUBSYSTEM CALL
- LDM TDFM,ER ISSUE ERROR MESSAGE
- RJM IDM
- LDD ER
- LMN /ERR/EC47
- ZJN PUE1 IF *SECURITY COUNT EXHAUSTED* ERROR
- LDD MA SET USER NAME IN ACCOUNT FILE MESSAGE
- CWD UN
- CRM IDMC,ON
- LDC IDMC
- RJM SEM SET END OF MESSAGE
- LDC MSGB+ACFN * SIUN, USERNAM.*
- RJM DFM
- PUE1 LDN SVET SET SECURITY CONFLICT ERROR FLAG
- STD CM+1
- MONITOR CEFM
- LJM DPP DROP PPU
- SEM SPACE 4,10
- ** SEM - SET END OF MESSAGE.
- *
- * ENTRY (A) = ADDRESS OF MESSAGE INSERT.
- *
- * EXIT PERIOD SET AT END OF MESSAGE.
- *
- * USES T1, T2.
- SEM SUBR ENTRY/EXIT
- STD T1
- ADN 3
- STD T2
- SEM1 LDI T1
- ZJN SEM2 IF END OF FILE NAME
- LPN 77
- ZJN SEM3 IF END OF FILE NAME
- AOD T1
- LMD T2
- NJN SEM1 IF NOT 7TH CHARACTER
- LDI T1 CHECK 7TH CHARACTER
- SCN 77
- NJN SEM3 IF NOT END OF FILE NAME
- SEM2 LDC 1R.*100
- UJN SEM4
- SEM3 LDI T1
- SCN 77
- LMN 1R.
- SEM4 STI T1 SET PERIOD
- LDN 0 SET END OF MESSAGE
- STM 1,T1
- UJN SEMX RETURN
- FEMA SPACE 4,10
- * ERROR MESSAGE FORMATTING BUFFER.
- FEMA DATA H* JOB COMMAND ERROR. (*
- FEMB EQU *
- FEMC EQU FEMB+10D
- SQE SPACE 4,15
- ** SQE - SET QFT ERROR.
- *
- * *SQE* CHANGES THE QUEUE TYPE OF THE QFT ENTRY TO
- * *ERQF* AND RETURNS THE LOCAL COPY OF THE FILE.
- *
- * ENTRY (FA) = NFL OFFSET OF FILE.
- *
- * EXIT FILE RETURNED.
- * QFT UPDATED BEFORE RELEASED.
- *
- * USES T7, CM - CM+4, CN - CN+4, FN - FN+4, FS - FS+4,
- * UN - UN+4.
- *
- * MACROS MONITOR, NFA, SFA.
- SQE SUBR ENTRY/EXIT
- LDN QFTP SET LIMIT FOR QFT SEARCH
- CRD UN
- LDN 0 INITIALIZE ORDINAL POINTER
- STD T7
- NFA FA,R RETRIEVE NFL FNT/FST ENTRY
- CRD FN
- ADN FSTL
- CRD FS
- * FIND MATCHING QFT ENTRY.
- SQE1 AOD T7 ADVANCE ORDINAL
- LMD UN+2
- ZJN SQE3 IF QFT NOT FOUND
- SQE2 SFA QFT,T7 READ TRACK AND EQUIPMENT OF QFT ENTRY
- ADK ENTQ
- CRD CN
- SBN ENTQ
- STD CM+4
- SHN -14
- STD CM+3
- * COMPARE TRACK AND EQUIPMENT IN FST FOR MATCH.
- LDD CN+1 CHECK FIRST TRACK
- LMD FS+1
- NJN SQE1 IF NO MATCH
- LDD CN CHECK EQUIPMENT
- LMD FS
- NJN SQE1 IF NO MATCH
- LDN 2 SET NUMBER OF REQUESTS FOR *UTEM*
- STD CM+1
- LDD MA WRITE *UTEM* PARAMETER WORDS
- CWM SQEA,CM+1
- LDN 0
- STD CM+2
- MONITOR UTEM UPDATE QFT ENTRY
- LDD CM+1 CHECK STATUS OF UPDATE
- NJN SQE2 IF UPDATE FAILED
- UJN SQE4 RETURN LOCAL FILE ENTRY
- SQE3 LDN 0 SET NO ERROR FLAG
- STD CM+2
- LDC * SET ADDRESS WHERE ERROR DETECTED
- STD CM+1
- MONITOR CHGM CONDITIONALLY HANG PP
- * RETURN LOCAL FILE ENTRY.
- SQE4 LDD FA SET NFL OFFSET FOR *PLFM*
- STD CM+4
- LDN 0
- STD CM+2
- STD CM+3
- LDN DLFS SET DELETE LOCAL FILE OPTION
- STD CM+1
- MONITOR PLFM RETURN LOCAL FILE
- LJM SQEX RETURN
- SQEA VFD 1/0,5/JSNQ,6/6,6/6,42/ERQF
- VFD 1/0,5/JSNQ,6/5,6/1,42/0
- SPACE 4,10
- ** DEFINE UNQUALIFIED ENTRY POINTS.
- QUAL
- ERP EQU /3DE/ERP
- QUAL *
- SPACE 4,10
- OVERFLOW OVL3,BFMS
- SPACE 4
- TTL DSP - DISPOSE FILE TO I/O QUEUE.
- USE OVERFLOW
- ERRNG OVL0-5-* OVERFLOW INTO *0DQ*
- ERRNG OVL2-5-* OVERFLOW INTO *0DF*
- SPACE 4
- TTL DSP - DISPOSE FILE TO I/O QUEUE.
- END
cdc/nos2.source/opl871/dsp.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator