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