         PROC  &P,0,&SSCT=,&FSCT=,&DIRECT=,&SDCS=,&OWCT=                SPL00100
SPLEQU   NAME                                                           SPL00200
         LCL   &BLANK                                                   SPL00300
&BLANK   SET   ('&SSCT'='')**('&FSCT'='')**('&DIRECT'='')**('&SDCS'='')CSPL00400
               **('&OWCT'='')                                           SPL00500
         EJECT                                                          SPL00600
         DO    ('&SSCT'='YES')++&BLANK                                  SPL00700
         SPACE                                                          SPL00800
*        THE SYSTEM SPOOL CONTROL TABLE CONSISTS OF THE FOLLOWING       SPL00900
*              1. FIXED PORTION                                         SPL01000
*              2. DIRECTORIES                                           SPL01100
*              3. SPOOL PUB CONTROL TABLE                               SPL01200
*              4. SPOOLER WAIT LIST                                     SPL01300
*              5. SPOOL FILE EXTENT REQUEST BLOCK(ERB)                  SPL01400
         SPACE 3                                                        SPL01500
SP$DSECT DSECT                                                          SPL01600
*                                                                       SPL01700
**                                                                      SPL01800
***      SSCT  SYSTEM SPOOL CONTROL TABLE                               SPL01900
**                                                                      SPL02000
*                                                                       SPL02100
         DS    0F                                                       SPL02200
SP$SSCT  EQU   *                        BLOCK LABEL                     SPL02300
SP$STSAV DS    18F                      SAT SAVE AREA                   SPL02400
SP$CNLGL DS    H                        LENGTH OF CONSOLE LOG BUFFER    SPL02500
SP$MAPSZ DS    H                        SIZE OF BIT MAP                 SPL02600
SP$BTMAP DS    F                        ADDR OF BIT MAP                 SPL02700
SP$BTMND DS    F                   ADDRESS OF END OF BIT                SPL02800
SP$GETBT DS    F                        ADDR OF GET BIT SUBROUTINE      SPL02900
SP$LAST  DS    F                        ADDR OF LAST TRK ACQUIRED       SPL03000
SP$LKBIT DS    F                        LOCK BIT MAP SUBROUTINE         SPL03100
SP$ULBIT DS    F                        UNLOCK BIT MAP SUBROUTINE       SPL03200
SP$LOCK  DS    F                        LOCK RESOURCE SUBROUTINE        SPL03300
SP$ULOCK DS    F                        UNLOCK RESOURCE SUBROUTINE      SPL03400
SP$BPSZ  DS    C                        DEFAULT BUFF SIZE(256 INCRMNTS) SPL03500
         DS    C                                                        SPL03600
SP$PRPRE DS    H                        # OF PRINT SUBFILES(PREEMPTIVE) SPL03700
SP$PRHGH DS    H                        # OF PRINT SUBFILES(HIGH)       SPL03800
SP$PUPRE DS    H                        # OF PUCH SUBFILES(PREEMPTIVE)  SPL03900
SP$PUHGH DS    H                        # OF PUCH SUBFILES(HIGH)        SPL04000
SP$ICAM  DS    CL2                      ICAM SYMBIONT NAME              SPL04100
*                                                                       SPL04200
* *      RESOURCE HEADER FOR BIT MAP                                    SPL04300
*                                                                       SPL04400
SP$BITHD EQU   *                                                        SPL04500
SP$BHFST DS    A                   ADDRESS OF FIRST WAITING ECB         SPL04600
SP$BHLST DS    A                   ADDRESS OF LAST WAITING ECB          SPL04700
SP$BHLOC DS    H                   NUMBER WAITING (ALSO LOCK)           SPL04800
SP$BHRES DS    H                   NUMBER OF BITS NOT RESERVED          SPL04900
SP$BTAVL DS    H                   NUMBER OF BITS AVAILABLE             SPL05000
SP$THRS1 DS    H                   SECONDAY THRESHOLD                   SPL05100
*                                                                       SPL05200
SP$VOLMX DS    H                        MAXIMUM # OF SPOOL VOLUMES      SPL05300
SP$VOLS  DS    H                        NUMBER OF SPOOL VOLS IN USE     SPL05400
SP$CNLGA DS    A                        CONSOLE LOG BUFFER ADDR         SPL05500
*                                                                       SPL05600
**                                                                      SPL05700
***      OUTPUT WRITER INFORMATION                                      SPL05800
**                                                                      SPL05900
*                                                                       SPL06000
SP$LTAPE DS    CL3                      DEVICE ADDR OF TAPE FOR LOG     SPL06100
SP$CRID  DS    C                        ID OF SELECTION SUBCRITERIA     SPL06200
*                                       X'01' = JOB                     SPL06300
*                                       X'02' = FILE NAME               SPL06400
*                                       X'03' = CARTRIDGE NAME          SPL06500
*                                       X'04' = ACCOUNT NUMBER          SPL06600
*                                       X'00' = SCHEDULING PRIORITY     SPL06700
*                                       X'06' = DEVICE TYPE             SPL06800
*                                       X'07'=FORM NAME                 SPL06900
SP$OWCRI DS    CL8                      SUBCRITERIA FOR OUTPUT WRITERS  SPL07000
*                                                                       SPL07100
**                                                                      SPL07200
***      SYMBIONT INITIALIZATION INFORMATION                            SPL07300
**                                                                      SPL07400
*                                                                       SPL07500
         DS    0H                                                       SPL07600
         DS    C                        UNUSED                          SPL07700
SP$QCTPR DS    C                        COUNT OF PRINT REQUESTS QUEUED  SPL07800
*                                       MUST BE ON AN ODD BYTE BOUNDARY SPL07900
         DS    0H                                                       SPL08000
         DS    C                        UNUSED                          SPL08100
SP$QCTPU DS    C                        COUNT OF PUNCH REQUESTS QUEUED  SPL08200
*                                       MUST BE ON AN ODD BYTE BOUNDARY SPL08300
*                                                                       SPL08400
**                                                                      SPL08500
***      SPOOLER INFORMATION                                            SPL08600
**                                                                      SPL08700
*                                                                       SPL08800
SP$FLG   DS    CL4                      FLAG BYTES                      SPL08900
         SPACE 3                                                        SPL09000
*              FOLLOWING ARE THREE ECB WHICH MAY BE IN SPOOLERS WAIT    SPL09100
*              LIST                                                     SPL09200
*                                                                       SPL09300
SP$ECB   DS    2F                       SPOOLER CCB QUE EVENT CTL BK    SPL09400
         DS    F                                                        SPL09500
SP$Q     DS    F                        HEAD OF SPOOLER QUEUE           SPL09600
SP$QT    DS    F                   END OF SPOOLER QUEUE                 SPL09700
SP$CCBQN DS    H                        NUMBER OF CCB'S QUEUED          SPL09800
SP$CTLK  DS    H                        CRITICAL / TASK INTERLOCK       SPL09900
*                                                                       SPL10000
*                                                                       SPL10100
SP$ECBBT DS    2F        SPOOLER SCT QUEUE - EVENT CONTROL BLOCK        SPL10200
         DS    F                   LINK                                 SPL10300
SP$BTFST DS    A         A(FIRST SCT NEEDING BIT)                       SPL10400
SP$BTLST DS    A         A(LAST SCT NEEDING BIT)                        SPL10500
SP$BTNO  DS    H         NUMBER OF SCT REQUIRING BIT                    SPL10600
         DS    H                                                        SPL10700
*                                                                       SPL10800
*                                                                       SPL10900
SP$ECBDR DS    2F        SPOOLER SCT QUEUE - EVENT CONTROL BLOCK        SPL11000
         DS    F                   LINK                                 SPL11100
SP$DRFST DS    A         A(FIRST SCT NEEDING DIRECTORY)                 SPL11200
SP$DRLST DS    A         A(LAST SCT NEEDING DIRECTORY)                  SPL11300
SP$DRNO  DS    H         NUMBER OF SCT REQUIRING DIRECTORY              SPL11400
SP$KBRTK DS    H                        INITIAL VALUE OF SP$BRTRK       SPL11500
         SPACE 3                                                        SPL11600
SP$ECBER DS    2F             SPOOLER QUEUE - IN ERROR                  SPL11700
SP$SVDTF DS    F                   DTF IN ERROR RECOVERY                SPL11800
SP$ERFST DS    F                   FIRST                                SPL11900
SP$ERLST DS    F                   LAST                                 SPL12000
SP$ERNO  DS    H                   AND NUMBER                           SPL12100
         SPACE 3                                                        SPL12200
SP$BRTRK DS    H                        # RESERVE TRKS FOR BRKPT        SPL12300
         SPACE 3                                                        SPL12400
*                                                                       SPL12500
* *      RETURNS TO SPOOLER FROM ERROR RECOVERY                         SPL12600
*                                                                       SPL12700
SP$CONT1 DS    A    (SPTKISU4)          ANOTHER OPERATION               SPL12800
SP$CONT2 DS    A    (SPTKGNRQ)          REDO OPERATION                  SPL12900
SP$CONT3 DS    A    (SPTKUP30)          IGNORE DIRECTORY UPDATE         SPL13000
SP$CONT4 DS    A    (SPTKBKCP)          COMPLETION                      SPL13100
SP$CONT5 DS    A    (SPTKQBF0)          IGNORE DECODE ERRORS            SPL13200
         DS    F                                                        SPL13300
SP$DESUB DS    A    (SP$DECOD)                                          SPL13305
*                                                                       SPL13350
SP$CLGFT DS    A                        ADDR OF RES FSCT FOR CONS LOG   SPL13360
         SPACE 3                                                        SPL13400
SP$SPDTF DS    F                   ADDRESS OF FIRST SPOOLER DTF         SPL13500
SP$PUBTB EQU   SP$SPDTF                 ADDR OF SPOOL PUB CONTROL TABLE SPL13600
SP$LISTB DS    A                        ADDR OF SPOOLER WAIT LIST TABLE SPL13700
SP$EXTAD DS    A                        ADDR OF SPOOL FILE EXTENT AREA  SPL13800
         SPACE 3                                                        SPL13900
SP$PCA   DS    CL36                     SPOOLER PCA                     SPL14000
*                                                                       SPL14100
**                                                                      SPL14200
***      SPOOL DIRECTORY BEGINS HERE                                    SPL14300
**                                                                      SPL14400
*                                                                       SPL14500
SP$DIREC DS    0F                       DIRECTORY LABEL                 SPL14600
SP$LOGTK DS    F                        # SECTORS IN A LOGICAL TRK      SPL14700
SP$THRSH DS    H                        BIT MAP THRESHOLD               SPL14800
SP$SUBDI DS    H                        # SUBDIRECTORIES                SPL14900
SP$VOLUM DS    8CL6                     VSN 1-8 IN VOL SEQ # ORDER      SPL15000
*                                                                       SPL15005
         ORG   SP$VOLUM+36
*                                       WHEN SPOOL DEBUG BIT IN SIB
*                                       IS SET SPOOL FILE FILE MAY
*                                       ONLY BE 6 VOLUMES
SP$DB1ST DS    F                        FIRST DEBUG BLOCK
SP$DBLST DS    F                        LAST DEBUG BLOCK
SP$DBCUR DS    F                        CURRENT DEBUG BLOCK
         DS    F                                                        SPL15100
*                                                                       SPL15200
**                                                                      SPL15300
***      DIRECTORY ENTRIES BEGIN HERE                                   SPL15400
**                                                                      SPL15500
*                                                                       SPL15600
SP$DENTR EQU   *                        DIRECTORY ENTRIES               SPL15700
*                                                                       SPL15800
SP$LNGTH EQU   *-SP$SSCT                LENGTH OF SYSTEM SPOOL CONTROL  SPL15900
*                                       TABLE                           SPL16000
         EJECT                                                          SPL16100
*                                                                       SPL16200
**                                                                      SPL16300
***      SYSTEM SPOOL CONTROL TABLE BITS                                SPL16400
**                                                                      SPL16500
*                                                                       SPL16600
BL$FBITM EQU   (SP$FLG-SP$BITHD)*256+X'80'   AWAKE SPL TASK WHEN TRACK  SPL16700
*                                         BECOMES AVAILABLE             SPL16800
BL$FBITX EQU   (SP$FLG-SP$SSCT)*256+X'80' BL$FBITM RESTATED             SPL16900
BL$BURST EQU   (SP$FLG-SP$SSCT)*256+X'40' BURST MODE FOR OUTPUT WRITER  SPL17000
BL$NOSEP EQU   (SP$FLG-SP$SSCT)*256+X'20' DO NOT PRINT FORM SEPERATOR   SPL17100
*                                                                       SPL17200
**                                                                      SPL17300
***            SPOOL INITIALIZATION CONTROL                             SPL17400
**                                                                      SPL17500
*                                                                       SPL17600
BL$RCVA  EQU   (SP$FLG-SP$SSCT)*256+X'08' RECOVER ALL FILES             SPL17700
BL$RCVC  EQU   (SP$FLG-SP$SSCT)*256+X'04' RECOVER COMPLETED FILES       SPL17800
BL$RCVL  EQU   (SP$FLG-SP$SSCT)*256+X'02' RECOVER LOG FILE              SPL17900
BL$SI    EQU   (SP$FLG-SP$SSCT)*256+X'01' SI COMPLETE                   SPL17910
*                                                                       SPL18000
**                                                                      SPL18100
***            LOG FILE TO TAPE CONTROL                                 SPL18200
**                                                                      SPL18300
*                                                                       SPL18400
BL$LOGTP EQU   (SP$FLG+1-SP$SSCT)*256+X'80' LOG FILE TO TAPE            SPL18500
BL$LOGTC EQU   (SP$FLG+1-SP$SSCT)*256+X'40' CLS LOG TAPE AFTER PROCESNG SPL18600
BL$LOGPR EQU   (SP$FLG+1-SP$SSCT)*256+X'20' DUMP OF LOGS IN PROGRESS    SPL18700
BL$LOGOP EQU   (SP$FLG+1-SP$SSCT)*256+X'10' LOG TAPE OPEN               SPL18800
*                                                                       SPL18900
**                                                                      SPL19000
**             MISCELLANEOUS LOG FILE INDICATORS                        SPL19100
*                                                                       SPL19200
BL$NOACT EQU   (SP$FLG+1-SP$SSCT)*256+X'01' DO NOT PRINT ACCOUNTING     SPL19300
BL$NOLOG EQU   (SP$FLG+1-SP$SSCT)*256+X'02' DO NOT PRINT JOB LOGS       SPL19400
*                                                                       SPL19500
**                                                                      SPL19600
***      SPOOLER ERROR STATUS                                           SPL19700
**                                                                      SPL19800
*                                                                       SPL19900
BL$SPSCT EQU   (SP$FLG+2-SP$SSCT)*256+X'80'       SCT IN ERROR          SPL20000
BL$SPTRS EQU   (SP$FLG+2-SP$SSCT)*256+X'40'       THRESHOLD 1           SPL20100
BL$SPTR1 EQU   (SP$FLG+2-SP$SSCT)*256+X'20'       SECOND THRESHOLD      SPL20200
BL$SPEMP EQU   (SP$FLG+2-SP$SSCT)*256+X'10'       FILE FULL             SPL20300
BL$SPREB EQU   (SP$FLG+2-SP$SSCT)*256+X'08'  REBUILD ISSUED             SPL20400
BL$SPOPR EQU   (SP$FLG+2-SP$SSCT)*256+X'04'  OPR OUTSTANDING            SPL20500
*                                                                       SPL20600
*                                                                       SPL20700
*                                                                       SPL20800
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL20900
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL21000
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL21100
         SPACE 3                                                        SPL21200
*                                                                       SPL21300
**                                                                      SPL21400
***      RESIDENT ROUTINES LOCK, UNLOCK RESOURCE, & LOCK, UNLOCK        SPL21500
***      BITMAP, & GET BIT, REQUIRE THE FOLLOWING REGISTERS:            SPL21600
*R0                                     ECB ADDR                        SPL21700
*R1                                     RESOURCE HEADER                 SPL21800
R$UB1    EQU   3                   NUMBER OF BITS REQUIRED              SPL21900
R$UB2    EQU   4                        ALTERNATE RETURN                SPL22000
*                                       NOT AVAILABLE                   SPL22100
R$UBRET  EQU   9                        NORMAL RETURN ADDR              SPL22200
R$UBBASE EQU   10                       BASE ADDR OF RTN                SPL22300
* RS$SIB       11                       SIB ADDR                        SPL22400
**                                                                      SPL22500
*        SOME SPOOLER REGISTER EQUS                                     SPL22600
RSPFSCT  EQU   7              FILE SPOOL CONTROL TABLE                  SPL22700
RSPWKA   EQU   5              WORK                                      SPL22800
RSPBUF   EQU   6              BUFFER                                    SPL22900
RSPSSCT  EQU   13             SYSTEM                                    SPL23000
R$TSKBS  EQU   RS$SCOV                  TASK COVER                      SPL23100
*                                                                       SPL23200
         SPACE 3                                                        SPL23300
*                                                                       SPL23400
* *      ERROR INFORMATION                                              SPL23500
*                                                                       SPL23600
SP$SOACD EQU   9                   ID FOR OPR RESPONSE                  SPL23700
*                   ERRORS IN STATUS                                    SPL23800
ER$CHEND EQU   (IC$SB+6-IC$CCB)*256+X'08'         CHANNEL END           SPL23900
ER$DVEND EQU   (IC$SB+6-IC$CCB)*256+X'04'         DEVICE END            SPL24000
ER$UNCK  EQU   (IC$SB+6-IC$CCB)*256+X'02'         UNIT CHECK            SPL24100
*                   IN SENSE BYTES                                      SPL24200
ER$COM   EQU   (IC$SB-IC$CCB)*256+X'80'           COIMMAND REJECT       SPL24300
ER$VFB   EQU   (IC$SB+1-IC$CCB)*256+X'20'         VFB CHECK             SPL24400
ERDTA    EQU   (IC$SB+1-IC$CCB)*256+X'04'  DATA                         SPL24500
BC$SECOV EQU   (IC$SB+2-IC$CCB)*256+X'08'                               SPL24505
ER$SPL   EQU   (IC$SB+3-IC$CCB)*256+X'10'         SPOOLER ERROR         SPL24600
         EJECT                                                          SPL24700
DE$DSECT DSECT                                                          SPL24800
*                                                                       SPL24900
**                                                                      SPL25000
***      DIRECTORY ENTRY                                                SPL25100
**                                                                      SPL25200
*                                                                       SPL25300
         DS    0F                                                       SPL25400
DE$DIREN EQU   *                        BLOCK LABEL                     SPL25500
* *      RESOURCE HEADER FOR SUBDIRECTORY                               SPL25600
*                                                                       SPL25700
DE$RESHD EQU   *                                                        SPL25800
DE$DHFST DS    A              ADDRESS OF FIRST WAITING ECB              SPL25900
DE$DHLST DS    A              ADDRESS OF LAST WAITING ECB               SPL26000
DE$DHLOC DS    H              NUMBER WAITING (ALSO LOCK                 SPL26100
*                                                                       SPL26200
DE$ID    DS    C                        SUBDIRECTORY ID                 SPL26300
         DS    XL1                      UNUSED                          SPL26400
DE$SDCS  DS    CL4                      RELATIVE RECORD # OF FIRST      SPL26500
DE$HEAD  DS    CL4                      HEAD OF FIFO Q OF CREATED FILES SPL26600
DE$TAIL  DS    CL4                      TAIL OF FIFO Q OF CREATED FILES SPL26700
*                                       SUBDIRECTORY CONTROL SECTOR     SPL26800
DE$LNGTH EQU   *-DE$DSECT               LENGTH OF SDECT                 SPL26900
*                                                                       SPL27000
*                                                                       SPL27100
*                                                                       SPL27200
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL27300
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL27400
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL27500
         EJECT                                                          SPL27600
SP$PBTB  DSECT       ***********        SPOOL PUB CONTROL TABLE  ****** SPL27700
         CNOP  0,8                                                      SPL27800
SP$DTF1  DS    CL116               FIRST SPOOLER DTF                    SPL27900
SP$PUB   DS    H                        SPOOL PUB ADDR                  SPL28000
SP$CYL   DS    H                        # OF CYL TO ALLOCATE            SPL28100
         CNOP  0,8                                                      SPL28200
SP$DTF2  DS    CL116               SECOND SPOOLER DTF                   SPL28300
SP$VSN   DS    CL6                      SPOOL VSN                       SPL28400
         DS    CL14                                                     SPL28500
SP$PBTBL EQU   *-SP$PBTB                SPOOL PUB CONTROL ENTRY LENGTH  SPL28600
         EJECT                                                          SPL28700
SM$RESEC DSECT                     FOR ECB AND RESOURCE HDR             SPL28800
         DS    2F                  ECB                                  SPL28900
SM$RESDT DS    F                   DTF FROM ERROR                       SPL29000
SM$RESHD EQU   *                                                        SPL29100
SM$RHFST DS    A         ADDRESS OF FIRST WAITING ECB                   SPL29200
SM$RHLST DS    A         ADDRESS OF LAST WAITING ECB                    SPL29300
SM$RHLOC DS    H         NUMBER OF WAITING ECBS (ALSO LOCK)             SPL29400
SM$RHLEN EQU   *-SM$RESHD                                               SPL29500
*                        FOLLOWING FIELDS ARE FOR BIT MAP ONLY          SPL29600
SM$RHRES DS    H              NUMBER OF BITS NOT RESERVED               SPL29700
SM$RHALL DS    H              NUMBER OF BITS NOT ALLOCATED              SPL29800
SM$RHFLG DS    XL1            FLAGS                                     SPL29900
         DS    XL1            UNUSES                                    SPL30000
SM$RHBLN EQU   *-SM$RESHD                                               SPL30100
         SPACE 5                                                        SPL30200
SM$VDSEC DSECT                ECB USED TO WAIT ON LOCK                  SPL30300
         DS    32X                 TO GET NO ZERO ORIGION               SPL30400
SM$VDECB EQU   *              START OF ECB                              SPL30500
         DS    F              FIRST TWO WORDS ARE STANDARD              SPL30600
SM$VETCB DS    A                   ECB                                  SPL30700
SM$ECNXT DS    A              ADDRESS OF NEXT WAITING ECB               SPL30800
SM$ECLEN EQU   *-SM$VDECB                                               SPL30900
         SPACE 3                                                        SPL31000
FSBP$HDR DSECT                     DSECT OF BUFFER POOL HEADER          SPL31100
FSBP$CUR DS    F                   CURRENT BUFFER                       SPL31200
FSBP$FST DS    F                        FIRST SCT WAITING               SPL31300
FSBP$LST DS    F                        LAST SCT                        SPL31400
FSBP$CNT DS    H                        NUMBER OF SCT'S WAITING         SPL31500
FSBP$LOC DS    H                                                        SPL31600
FSBP$FLG EQU   FSBP$LOC+1                                               SPL31700
FS$BPHLN EQU   *-FSBP$HDR                                               SPL31800
*                                                                       SPL31900
* *            BITS IN HEADER FLAG                                      SPL32000
*                                                                       SPL32100
         SPACE 3                                                        SPL32200
FSB$HDR  DSECT                     BUFFER HEADER                        SPL32300
FSB$ECB  DS    F                   ECB (CCB) FOR INTERNAL REQUESTS      SPL32400
FSB$TCB  DS    F                   USER TCB ADDRESS                     SPL32500
         DS    F                   LINK IN CCB CHAIN                    SPL32600
FSB$FST  DS    F                   FIRST BLOCK IN BUFFER                SPL32700
FSB$LST  DS    F                   LAST BLOCK IN BUFFER                 SPL32800
FSB$PHDR DS    F                   HEADER DURING PREOPERATION           SPL32900
FSB$NXT  DS    F                   NEXT IN CHAIN                        SPL33000
FSB$SIZ  DS    H                   BUFFER SIZE (INC OF 256)             SPL33100
FSB$FLG  DS    XL1                 FLAGS                                SPL33200
FSB$MSK  DS    XL1                      AND MASK                        SPL33300
FS$BHDLN EQU   *-FSB$HDR           LENGTH OF HEADER                     SPL33400
*                                                                       SPL33500
* *      FLAGS IN BUFFER HEADER                                         SPL33600
*                                                                       SPL33700
FSB$BERR EQU   (FSB$FLG-FSB$HDR)*256+X'80'        IN ERROR              SPL33800
FSB$BIO  EQU   (FSB$FLG-FSB$HDR)*256+X'40'        I/O IN PROGRESS       SPL33900
FSB$BTRN EQU   (FSB$FLG-FSB$HDR)*256+X'20'        TRANSFER IN PROGRESS  SPL34000
FSB$BWRT EQU   (FSB$FLG-FSB$HDR)*256+X'10'        WRITE REQUIRED        SPL34100
FSB$BNUS EQU   (FSB$FLG-FSB$HDR)*256+X'08'        IN USE                SPL34200
FSB$BPRE EQU   (FSB$FLG-FSB$HDR)*256+X'04'        PRE OPERATION         SPL34300
FSB$BFUL EQU   (FSB$FLG-FSB$HDR)*256+X'02'             IS WRITE         SPL34400
FSB$BUF  EQU   *                   SECTOR 1 OF DATA                     SPL34500
FSB$NXSC DS    XL3                 NEXT SECTOR                          SPL34600
FSB$DTAL DS    XL1                      DATA LENGTH                     SPL34700
FSB$DTAD DS    XL1                 DATA DISPLACEMENT                    SPL34800
FSB$SHDL EQU   *-FSB$BUF                SECTOR HEADER LENGTH            SPL34900
FSB$TRKH EQU   *                   START OF TRACK HEADER                SPL35000
FSB$LINE DS    XL3                 LINE                                 SPL35100
FSB$PAGE DS    XL2                 AND PAGE OF FIRST RECORD             SPL35200
FSB$PRTK DS    XL3                 PREVIOUS TRACK                       SPL35300
FSB$NXTK DS    XL3                 NEXT TRACK                           SPL35400
FSB$REC  EQU   *                             FIRST RECORD               SPL35500
FSB$COM  DS    XL1                 ORIGIONAL COMMAND CODE               SPL35600
FSB$RLEN DS    XL1                 RECORD LENGTH                        SPL35700
FSB$RTYP DS    XL1                 RECORD TYPE AND FLAGS                SPL35800
*                                                                       SPL35900
* *      FLAGS IN TYPE                                                  SPL36000
*                                                                       SPL36100
FSB$RBNP EQU   (FSB$RTYP-FSB$REC)*256+X'80'  FIRST LINE OF PAGE         SPL36200
FSB$RBSU EQU   (FSB$RTYP-FSB$REC)*256+X'40'  SYSTEM USER                SPL36300
FSB$USBR EQU   *                                                        SPL36400
SP$FRCDS EQU   FSB$REC-FSB$TRKH                                         SPL36500
         ORG   FSB$BUF+256                                              SPL36600
FSB$NSEC EQU   *                   NEXT SECTOR                          SPL36700
         EJECT                                                          SPL36800
SM$VDCRT CSECT                                                          SPL36900
         VTOC  SAT=YES                                                  SPL37000
ST$DTF   DSECT                                                          SPL37100
         ORG   ST$DPCA2                                                 SPL37200
SP$DTBSV DS    F                   BUFFER IN USE                        SPL37300
SP$DTSCT DS    F                   SCT FOR OPERATION                    SPL37400
SP$DTCMP DS    F                   COMPLETION ADDRESS                   SPL37500
SP$DTNXT DS    F                   NEXT DTF                             SPL37600
SP$DTFLG DS    XL1                 FLAGS                                SPL37700
         DS    0F                                                       SPL37800
SP$DTFLN EQU   *-ST$DTF                                                 SPL37900
*                                                                       SPL38000
* *      FLAGS ASSOCIATED WITH DTF                                      SPL38100
*                                                                       SPL38200
SP$DTBBZ EQU   (SP$DTFLG-ST$DTF)*256+X'80'   DTF IS BUSY                SPL38300
SP$DTBER EQU   (SP$DTFLG-ST$DTF)*256+X'40'   DTF IN ERROR RECOVERY      SPL38400
SP$DTBBK EQU   (SP$DTFLG-ST$DTF)*256+X'20'        OP IS BLOCK IO        SPL38500
SP$DTBPR EQU   (SP$DTFLG-ST$DTF)*256+X'10'        OPERATION IS PRE      SPL38600
SP$DTBDR EQU   (SP$DTFLG-ST$DTF)*256+X'08'        OPERATION IS DIRECT   SPL38700
*                                                                       SPL38750
ST$FLOPN EQU   (ST$DMFLG-ST$DTF)*256+X'80'        FILE OPEN
         SPACE 5                                                        SPL38800
SM$VDCRT CSECT                                                          SPL38900
         VTOC  PCA=YES                                                  SPL39000
         SPACE 5                                                        SPL39100
         EJECT                                                          SPL39200
         ENDO                                                           SPL39300
         DO    ('&FSCT'='YES')++&BLANK                                  SPL39400
FS$DSECT DSECT                                                          SPL39500
*                                                                       SPL39600
**                                                                      SPL39700
***      FSCT  FILE SPOOL CONTROL TABLE                                 SPL39800
**                                                                      SPL39900
*                                                                       SPL40000
         DS    0F                                                       SPL40100
FS$FSCT  EQU   *                        BLOCK LABEL                     SPL40200
SD$ENTRY EQU   *                        BLOCK LABEL                     SPL40300
*                                                                       SPL40400
**                                                                      SPL40500
***      FIELDS COMMON TO FILE SPOOL CONTROL TABLE AND SUBDIRECTORY     SPL40600
***      ENTRY                                                          SPL40700
**                                                                      SPL40800
*                                                                       SPL40900
FS$STAT  DS    CL4                      FILE STATUS BYTES               SPL41000
FS$UDINF EQU   *                   START OF UPDATED INFO                SPL41100
FS$SOF   DS    CL3                      START OF FILE                   SPL41200
FS$SOD   DS    CL3                      START OF DATA                   SPL41300
FS$CURR  DS    CL3                      CURRENT DATA POINTER            SPL41400
FS$EOD   DS    CL3                      END OF DATA POINTER             SPL41500
FS$RCURR DS    H                        CURRENT RECORD                  SPL41600
FS$RFST  DS    H                        FIRST RECORD                    SPL41700
FS$RLAST DS    H                        LAST RECORD                     SPL41800
FS$CUWTK DS    CL3                      CURRENT WRITE                   SPL41900
FS$TCURR DS    CL3                                                      SPL42000
FS$REC#  DS    F                   CURRENT RECORD NUMBER                SPL42100
FS$PAGE  DS    H                   CURRENT PAGE                         SPL42200
FS$TPREV DS    CL3                      PREVIOUS TRACK                  SPL42300
FS$TNEXT DS    CL3                      NEXT TRACK                      SPL42400
FS$RECLS DS    F                   FILE SIZE - RECORDS                  SPL42500
FS$TLPAG DS    H                   TOTAL PAGES                          SPL42600
FS$PRWTK DS    XL3                 PREVIOUS WRITE TRACK                 SPL42700
FS$NXWTK DS    CL3                      NEXT WRITE TRACK                SPL42800
FS$TENDC DS    F                                                        SPL42900
FS$UDINL EQU   *-FS$UDINF          LENGTH OF UPDATED INFO               SPL43000
**                                                                      SPL43100
***      FILE INFORMATION                                               SPL43200
**                                                                      SPL43300
*                                                                       SPL43400
FS$SCTQ  DS    F                        JOB'S ACTIVE SCT QUEUE          SPL43500
FS$LCTLG DS    H                        LENGTH OF LINE CONTROL TABLE    SPL43600
FS$MAXLN DS    H                        MAX # LINES IN THIS FILE        SPL43700
FS$RECCK DS    H                        BREAKPOINT LOCATION             SPL43800
FS$ICAM  DS    CL2                      ICAM SYMBIONT NAME              SPL43900
FS$MASDS DS    F                   SUBDIRECTOR OF MASTER                SPL44000
FS$NODST EQU   FS$MASDS            1 BYTE NUMBER OF DESTINATIONS        SPL44100
FS$TRMID DS    CL4                 TERMINAL ID OF SUBMITTING            SPL44200
FS$RPEAT DS    C                        REPEAT COUNTER                  SPL44300
SD$VFBID DS    C                        VFB/LCB IND                     SPL44400
         DS    0H                                                       SPL44500
SD$VFB   DS    CL6                      VFB NAME OR ABSOLUTE ADDR       SPL44600
*                                       DEFAULT=ALL ZEROES              SPL44700
*                                       VFB NAME                        SPL44800
*                                       CCRH & PUB ADDRESS              SPL44900
SD$LCB   DS    CL6                      LCB NAME OR ABSOLUTE ADDR       SPL45000
*                                       DEFAULT VALUE=ALL ZEROES        SPL45100
*                                       LCB NAME                        SPL45200
*                                       CCRH & PUB ADDRESS              SPL45300
FS$FLG   DS    C                        ANOTHER FLAG BYTE               SPL45400
*
*                                                                       SPL45500
* *      LOG STATUS BYTE                                                SPL45600
*                                                                       SPL45700
SD$LOGST DS    XL1                                                      SPL45800
*                             AND BITS                                  SPL45900
SD$LGRUN EQU   (SD$LOGST-FS$FSCT)*256+X'80'  IN RUN PROCESSOR           SPL46000
SD$LGQUE EQU   (SD$LOGST-FS$FSCT)*256+X'40'  ON JOB QUEUE               SPL46100
SD$LGEXC EQU   (SD$LOGST-FS$FSCT)*256+X'20'  EXECUTING                  SPL46200
SD$LGTRM EQU   (SD$LOGST-FS$FSCT)*256+X'10'  JOB TERMINATED             SPL46300
SD$LGERR EQU   (SD$LOGST-FS$FSCT)*256+X'08'  ABNORMAL TERMINATION       SPL46400
SD$NOACT EQU   (SD$LOGST-FS$FSCT)*256+X'01' DO NOT PRINT ACCOUNTING     SPL46500
SD$NOLOG EQU   (SD$LOGST-FS$FSCT)*256+X'02' DO NOT PRINT JOB LOGS       SPL46600
*                                                                       SPL46700
* *                                                                     SPL46800
*                                                                       SPL46900
SD$BPLNK DS    F                        BREAKPOINT LINK                 SPL47000
SD$BRKPT DS    H                        BREAKPOINT ID                   SPL47100
         DS    H                                                        SPL47200
FS$MAXR  DS    H                        MAX RECORD LENGTH               SPL47300
FS$MAXRC EQU   FS$MAXR+1                FOR FILE                        SPL47400
FS$COMND DS    C                        SPOOL GENERAL ID                SPL47500
#INPUT   EQU   X'01'                    READER                          SPL47600
#OUTPUT  EQU   X'02'                    PRINTER/PUNCH/LOG               SPL47700
*                                                                       SPL47800
* *      SPOOLER FLAGS CROSSING EXCPS                                   SPL47900
*                                                                       SPL48000
FS$SPFG1 DS    XL1                                                      SPL48100
*                        AND BITS                                       SPL48200
FS$BSTTK EQU   (FS$SPFG1-FS$FSCT)*256+X'80'  UPDATE DIRECTORY           SPL48300
FS$BNEWB EQU   (FS$SPFG1-FS$FSCT)*256+X'40'  NEW BLOCK - NO READ REQ    SPL48400
FS$BNEWT EQU   (FS$SPFG1-FS$FSCT)*256+X'20'  NEW TRACK - GET IT         SPL48500
FS$BSTTR EQU   (FS$SPFG1-FS$FSCT)*256+X'10'  SET TRACK INFO ON READ     SPL48600
FS$BSTTW EQU   (FS$SPFG1-FS$FSCT)*256+X'08'  SET TRACK INFO ON WRITE    SPL48700
FS$BDFOV EQU   (FS$SPFG1-FS$FSCT)*256+X'04'  DEFERRED OVERFLOW          SPL48800
FS$BDEFR EQU   (FS$SPFG1-FS$FSCT)*256+X'02'  DEFER USER REQUESTS        SPL48900
*                                                                       SPL49000
* *                                                                     SPL49100
*                                                                       SPL49200
SD$BEGCR EQU   *                                                        SPL49300
SD$BIJN  DS    H                        BINARY JOB NUMBER               SPL49400
FS$RDST  DS    CL6                      REMOTE ID                       SPL49500
*                                                                       SPL49600
*                                                                       SPL49700
SD$OVLAY EQU   *                                                        SPL49800
*        FIELDS SD$LABEL THRU SD$JSN MUST NOT BE REARRANGED             SPL49900
*                                                                       SPL50000
SD$LABEL DS    CL17                     FILE LABEL                      SPL50100
SD$JBNAM DS    CL8                      JOB NAME                        SPL50200
SD$LFD   DS    CL8                      LOGICAL FILE NAME               SPL50300
SD$BAND  DS    CL8                      BAND NAME                       SPL50400
SD$ACCT  DS    CL4                      ACCOUNT NUMBER                  SPL50500
SD$SCPRI DS    C                        JOB SCHEDULING PRIORITY         SPL50600
SD$TYPE  DS    CL4                      DEVICE TYPE & FEATURES          SPL50700
SD$FORM  DS    CL8                      FORM NAME                       SPL50800
SD$PROG  DS    CL8                      PROGRAM NAME                    SPL50900
SD$JSN   DS    C                        JOB STEP NUMBER                 SPL51000
SD$ENDCR EQU   *                                                        SPL51100
SD$INFLG EQU   *-SD$OVLAY               LEN OF FILE FLDS OVERLAYED      SPL51200
         SPACE 2                                                        SPL51300
***      INITIALIZE/TERMINATE INFORMATION                               SPL51400
**                                                                      SPL51500
*                                                                       SPL51600
         DS    C                                                        SPL51700
SD$LNK   DS    F                        FORWARD LINK TO NEXT SUBD ENTRY SPL51800
SD$RLNK  DS    F                        REVERSE LINK TO PREV SUBD ENTRY SPL51900
*                                                                       SPL52000
SD$LNGTH EQU   *-SD$ENTRY               LENGTH OF SUBDIRECTORY ENTRY    SPL52100
*                                                                       SPL52200
         SPACE 2                                                        SPL52300
*                                                                       SPL52400
*        THIS SECTION OF SUB DIRECTORY IS OVERLAYED AFTER OPEN          SPL52500
*                                                                       SPL52600
*                                                                       SPL52700
         SPACE 2                                                        SPL52800
         ORG   SD$OVLAY                                                 SPL52900
*                                                                       SPL53000
*                                                                       SPL53100
**                                                                      SPL53200
***      SPOOLER INFORMATION                                            SPL53300
**                                                                      SPL53400
*                                                                       SPL53500
FS$SPL   EQU   *                        END OF COMMON                   SPL53600
FS$QHEAD DS    F                                                        SPL53700
FS$QTAIL DS    F                                                        SPL53800
FS$QCNT  DS    H                        COUNT OF ENTRIES QUEUED         SPL53900
FS$UDTLN DS    H                        USER'S DATA LENGTH              SPL54000
FS$SPCMP DS    F                   COMPLETION ADDRESS                   SPL54100
FS$BSAV  DS    F                             SAVE FULL BUFFER           SPL54200
FS$REQBK DS    F                        REQUIRED BLOCK                  SPL54300
FS$UDADR DS    F                        USER'S DATA ADDRESS-RELOCATED   SPL54400
FS$NXSCT DS    F                   SCT ACTIVE LINK - AWAITING RESOURCE  SPL54500
FS$UCOM  DS    XL1                      USER'S COMMAND                  SPL54600
FS$TRCOM DS    XL1                      TRANSLATED COMMAND              SPL54700
         DS    H                                                        SPL54800
FS$SVUTC DS    F                        SAVE USER TCB                   SPL54900
*                                                                       SPL55000
**             OUTPUT WRITER INFORMATION RETURNED FROM SPOOLER          SPL55100
*                                                                       SPL55200
*                                                                       SPL55300
         DS    0H                                                       SPL55400
FS$BCWCC DS    C                        BCW COMMAND CODE                SPL55500
         DS    XL1                                                      SPL55600
FS$BYTEC DS    H                        BYTE COUNT                      SPL55700
SD$LNPOS DS    H                                                        SPL55800
         DS    H                                                        SPL55900
FS$NXWBK DS    F                        NEXT WRITE BLOCK                SPL56000
FS$PREBF DS    F                   PRE QUEUE SAVE                       SPL56100
         ORG   SD$PROG                                                  SPL56200
FS$QDFNO DS    H                   COUNT ON DEFERRED QUE                SPL56300
FS$QDFFS DS    F                   FIRST                                SPL56400
FS$QDFLS DS    F                        AND LAST                        SPL56500
         SPACE 2                                                        SPL56600
         ORG   SD$ENTRY+SD$LNGTH-8                                      SPL56700
FS$SDADR DS    F                        ADDR OF SUBDIRECTORY ENTRY      SPL56800
FS$BUFAD DS    F                        ADDR OF BUFFER(REL TO JOB BASE) SPL56900
FS$BUFPT EQU   FS$BUFAD                 THIS FILE'S BUFFER              SPL57000
FS$BUF#  DS    C                        # OF BUFFERS                    SPL57100
FS$BUFSZ DS    C                        SIZE OF BUFFER                  SPL57200
FS$OVFCD DS    CL1                      PRINTER OVERFLOW CODE           SPL57300
*              768/9300 = 09                                            SPL57400
*              770/776 = 0C                                             SPL57500
*              773 = 01                                                 SPL57600
FS$SECOV EQU   X'09'               SECONDARY OVERFLOW FOR 0770          SPL57605
FS$TYPPR DS    C                        PRINTER SUBTYPE BEING SPOOLED   SPL57700
*                                                                       SPL57800
* *      DEVICE TYPES USED BY SPOOLER FOR COMMAND CODE VERIFICATION     SPL57900
*                                                                       SPL58000
SP$TP773 EQU   X'40'               INTEGRATED PRINTER                   SPL58100
SP$TP768 EQU   X'20'               0768                                 SPL58200
SP$TP770 EQU   X'80'               0770                                 SPL58300
SP$TP776 EQU   SP$TP773                 776 CODES ACCEPTED AS 773       SPL58400
SP$TPW93 EQU   SP$TP768            9300 REMOTE SUPPORTED AS 768         SPL58500
SP$TPAPR EQU   SP$TP773++SP$TP770++SP$TP768++SP$TP776++SP$TPW93  ALL PR SPL58600
SP$TP716 EQU   X'08'               HIGH SPEED READER                    SPL58700
SP$TP717 EQU   X'04'               INTEGRATED READER                    SPL58800
SP$TP711 EQU   SP$TP716            711 SUPPORTED ONLY AS 716            SPL58900
SP$TPR93 EQU   SP$TP716            9300 REMOTE SUPPORTED AS 716         SPL59000
SP$TPARD EQU   SP$TP711++SP$TP716++SP$TP717++SP$TPR93       ALL RDRS    SPL59100
SP$TP604 EQU   X'02'               ROW PUNCH                            SPL59200
SP$TP605 EQU   X'01'               INTEGRATED PUNCH                     SPL59300
SP$TP603 EQU   SP$TP604            603 SUPPORTED ONLY AS 604            SPL59400
SP$TPP93 EQU   SP$TP604            9300 REMOTE SUPPORTED AS 604         SPL59500
SP$TPAPU EQU   SP$TP603++SP$TP604++SP$TP605++SP$TPP93       ALL PUNCHES SPL59600
FS$CURB  DS    F                   CURRENT SPOOL BLOCK                  SPL59700
FS$PUB   DS    H                        PUB ADDR REFERENCING THIS SCT   SPL59800
FS$SYSU  DS    X                        CCB USAGE IND                   SPL59900
FS$BSYSU EQU   (FS$SYSU-FS$FSCT)*256+(BC$SYS**X'FF')                    SPL60000
*                                                                       SPL60100
FS$FCTN  DS    C                        SYMFCB FUNCTION CODE            SPL60200
**                                                                      SPL60300
***      SYMFCB FUNCTION CODES                                          SPL60400
**                                                                      SPL60500
*                                                                       SPL60600
#ENTER   EQU   X'04'                                                    SPL60700
#FIND    EQU   X'08'                                                    SPL60800
#OPEN    EQU   X'0C'                                                    SPL60900
#FINDOPN EQU   X'10'                                                    SPL61000
#CLSNQ   EQU   X'14'                                                    SPL61100
#SPCLS   EQU   X'18'                                                    SPL61200
#LOADPRT EQU   X'1C'                                                    SPL61300
#SPUPDTE EQU   X'20'                                                    SPL61400
*                                                                       SPL61500
*                                                                       SPL61600
FS$LCT#  DS    H                        CURRENT DISPLACEMENT INTO LCT   SPL61700
FS$REPCC DS    XL1                      FOR REPEAT                      SPL61800
FS$SPLDV DS    XL1                      SPOOLED DEVICE CLASS            SPL61900
FS$POVDV DS    F                        PASSED OVER DEVICE & FETURES    SPL62000
FS$POVER DS    F                        PASSED OVER SUBDIRECTORY        SPL62100
*                                                                       SPL62200
         ORG   FS$POVDV                                                 SPL62300
FS$UPADR DS    F                        ADDR OF UPDATE INFO             SPL62400
FS$UPLEN DS    H                        LENGTH OF AREA TO UPDATE        SPL62500
FS$UPDSP DS    H                        DISP INTO SUB DIR FOR UPDATE    SPL62600
*                                                                       SPL62700
*                                                                       SPL62800
* *      ERROR FLAG WHILE SPOOL ACTIVE                                  SPL62900
*                                                                       SPL63000
FS$SPEFG DS    H                                                        SPL63100
*        ERROR BITS                                                     SPL63200
FS$ERIO  EQU   (FS$SPEFG-FS$FSCT)*256+X'80'  I/O TRANSMISSION ERROR     SPL63300
FS$ERDTA EQU   (FS$SPEFG-FS$FSCT)*256+X'40'  DATA INVALID ON READ       SPL63400
FS$ERVFB EQU   (FS$SPEFG-FS$FSCT)*256+X'20'  VFB CHECK                  SPL63500
FS$ERCOM EQU   (FS$SPEFG-FS$FSCT)*256+X'10'  COMMAND REJECT             SPL63600
FS$ERMAX EQU   (FS$SPEFG-FS$FSCT)*256+X'08'       FILE MAX REACHED      SPL63700
FS$ERBRK EQU   (FS$SPEFG-FS$FSCT)*256+X'04'       FILE BREAKPT REACHED  SPL63800
FS$ERCKS EQU   (FS$SPEFG-FS$FSCT)*256+X'02'            CHECKSUM         SPL63900
FS$ERLOC EQU   (FS$SPEFG-FS$FSCT)*256+X'01'  LOCK IS TRANSIENT          SPL64000
FS$ERWB  EQU   (FS$SPEFG+1-FS$FSCT)*256+X'80'     WRITE DIFFERENT BLOC  SPL64100
FS$ERWT  EQU   (FS$SPEFG+1-FS$FSCT)*256+X'40'     WRITE NEW TRACK       SPL64200
FS$ERRD  EQU   (FS$SPEFG+1-FS$FSCT)*256+X'20'     READ LINKED TRACK     SPL64300
FS$ERDEF EQU   (FS$SPEFG+1-FS$FSCT)*256+X'10'          DEFERRED         SPL64400
FS$ERSUC EQU   (FS$SPEFG+1-FS$FSCT)*256+X'08'          SUCCESSFUL RETRY SPL64500
FS$ERBRP EQU  (FS$SPEFG+1-FS$FSCT)*256+X'04' BREAKPOINT AT PAGE         SPL64505
*                                                                       SPL64600
* *                                                                     SPL64700
*                                                                       SPL64800
FS$SUBID DS    C                        SUBDIRECTORY ID                 SPL64900
*                                                                       SPL65000
**                                                                      SPL65100
***      SUBDIRECTORY ID                                                SPL65200
**                                                                      SPL65300
*                                                                       SPL65400
#LOG     EQU   1                        LOG                             SPL65500
#PRT     EQU   2                        PRINTER                         SPL65600
#PCH     EQU   3                        PUNCH                           SPL65700
#RDR     EQU   4                        READER                          SPL65800
#JCS     EQU   5                        JOB CONTROL STREAM              SPL65900
#RPR     EQU   6                        REMOTE PRINTER                  SPL66000
#RPU     EQU   7                        REMOTE PUNCH                    SPL66100
*                                                                       SPL66200
FS$SYSTP DS    XL1                      SYSTEM CCB TYPE                 SPL66300
*                                                                       SPL66400
* *      AS SYSTEM USER - DEVICES ACCEPTED                              SPL66500
*                                                                       SPL66600
SP$TPSPR EQU   SP$TP773            PRINTER AS 0773                      SPL66700
SP$TPSPU EQU   SP$TP605            PUNCH AS 0605                        SPL66800
SP$TPSRD EQU   SP$TP717            READER AS 0716                       SPL66900
FS$BCTL  EQU   *                        BLOCK LEVEL I/O CONTROL         SPL67000
FS$BLKAD DS    F                        BLOCK I/O ADDRESS               SPL67100
*              TO SPOOLER (RELATIVE ADDR) HI ORDER BYTE = 0             SPL67200
*              FROM SPOOLER = ACTUAL ADDR (CCRH)                        SPL67300
FS$BKPUB DS    H                        PUB ADDR RETURNED FROM BLK I/O  SPL67400
#WRITE   EQU   X'01'                    BLOCK WRITE                     SPL67500
#READ    EQU   X'02'                    BLOCK READ                      SPL67600
#BLKUPDT EQU   X'11'                    FORCE BLOCK UPDATE              SPL67700
#PREVTRK EQU   X'12'                    READ PREVIOUS TRACK             SPL67800
#CURRTRK EQU   X'22'                    READ CURRENT TRACK              SPL67900
#NEXTTRK EQU   X'32'                    READ NEXT TRACK                 SPL68000
#LOCK    EQU   X'14'                    LOCK SCT                        SPL68100
#UNLOCK  EQU   X'24'                    UNLOCK SCT                      SPL68200
FS$STCOM DS    C                        SAT OPERATION                   SPL68300
         DS    C                                                        SPL68400
FS$SVUBS DS    F                        SAVE FOR USER BASE              SPL68500
*                                                                       SPL68600
*                                                                       SPL68700
*                                                                       SPL68800
**                                                                      SPL68900
***      FILE SPOOL CONTROL TABLE BITS                                  SPL69000
**                                                                      SPL69100
*                                                                       SPL69200
*        FILE STATUS                                                    SPL69300
*                                       SUBDIRECTORY CONTROL SECTOR     SPL69400
BF$CREAT EQU   (FS$STAT-FS$FSCT)*256+X'80'    IN PROCESS OF CREATING    SPL69500
BF$OPEN  EQU   (FS$STAT-FS$FSCT)*256+X'40'    OPENED FOR PROCESSING     SPL69600
BF$SHOLD EQU   (FS$STAT-FS$FSCT)*256+X'20'  SYSTEM HOLD                 SPL69700
BF$DLETE EQU   (FS$STAT-FS$FSCT)*256+X'10'    ENTRY DELETED             SPL69800
BF$LOCKD EQU   (FS$STAT-FS$FSCT)*256+X'08'    ENTRY LOCKED              SPL69900
BF$ACCUM EQU   (FS$STAT-FS$FSCT)*256+X'04'    HOLD FOR LOG TAPE         SPL70000
BF$LGHLD EQU   (FS$STAT-FS$FSCT)*256+X'02'   HOLD LOG _ NOT YET COMPLET SPL70100
BF$MAST  EQU   BF$LOCKD            MASTER FOR MULTIPLE DESTINATIONS     SPL70200
*                                                                       SPL70300
BF$HOLD  EQU   (FS$STAT+1-FS$FSCT)*256+X'08'  HOLD ENTRY AFTER CREATING SPL70400
BF$RTAIN EQU   (FS$STAT+1-FS$FSCT)*256+X'02'  RETAIN AFTER PROCESSING   SPL70500
BF$TAPE  EQU   (FS$STAT+1-FS$FSCT)*256+X'04'  OUTPUT FILE TO TAPE       SPL70600
BF$DISC  EQU   (FS$STAT+1-FS$FSCT)*256+X'01'  OUTPUT FILE TO DISC       SPL70700
BF$REOPN EQU   (FS$STAT+1-FS$FSCT)*256+X'40' OPEN/ENTER PENDING CLOSE   SPL70800
BF$NOSEP EQU   (FS$STAT+1-FS$FSCT)*256+X'20' DO NOT PRINT FORM SEP      SPL70900
BF$FIFOQ EQU   (FS$STAT+1-FS$FSCT)*256+X'10' WARM START ENTRY IN FIFO Q SPL71000
*                                                                       SPL71100
FS$SPFLG EQU   FS$STAT+2                SPOOLER FLAGS                   SPL71200
FS$BQUFL EQU   (FS$SPFLG-FS$FSCT)*256+X'80'  PRE QUEUE BUFFER           SPL71300
FS$BSTUP EQU   (FS$SPFLG-FS$FSCT)*256+X'40'  SCT SET UP                 SPL71400
FS$BBUSY EQU   (FS$SPFLG-FS$FSCT)*256+X'20' SCT BUSY                    SPL71500
FS$BERR  EQU   (FS$SPFLG-FS$FSCT)*256+X'10'  IN ERROR RECOVERY          SPL71600
FS$BOVDT EQU   (FS$SPFLG-FS$FSCT)*256+X'08'       OVERFLOW DETECTED     SPL71700
FS$ERDT1 EQU   (FS$SPFLG-FS$FSCT)*256+X'04'                             SPL71800
FS$B68OV EQU   (FS$SPFLG-FS$FSCT)*256+X'02'  768 FOR OVF CHECK          SPL71900
FS$BSOV  EQU   (FS$SPFLG-FS$FSCT)*256+X'01'  SECONDARY OVERFLOW (770)   SPL72005
*                                                                       SPL72100
*                                                                       SPL72200
FS$NOBMP EQU   (FS$STAT+3-FS$FSCT)*256+X'80' NO BUMP OF SCT FOR SPFIND  SPL72300
FS$GONO  EQU   (FS$STAT+3-FS$FSCT)*256+X'40' FIND SCT WITH GO NO-GO     SPL72400
FS$NOLCK EQU   (FS$STAT+3-FS$FSCT)*256+X'20' FIND ENTRY BUT NO LOCK     SPL72500
FS$POSDE EQU   (FS$STAT+3-FS$FSCT)*256+X'10'  SD ENTRY IS PASSED OVER   SPL72600
FS$NOLCT EQU   (FS$STAT+3-FS$FSCT)*256+X'08' DO NOT BUILD LCT FOR SYMB  SPL72700
FS$CALOW EQU   (FS$STAT+3-FS$FSCT)*256+X'04' CALL OUTPUT WRITER         SPL72800
FS$BPEND EQU   (FS$STAT+3-FS$FSCT)*256+X'02' BREAKPOINT PENDING         SPL72900
FS$BIP   EQU   (FS$STAT+3-FS$FSCT)*256+X'01' BREAKPOINT IN PROGRESS     SPL73000
*                                                                       SPL73100
*                                                                       SPL73105
FS$SPFER EQU   (FS$FLG-FS$FSCT)*256+X'80'    SPOOL FIND ERROR PROCESSNG
FS$BDFBR EQU   (FS$FLG-FS$FSCT)*256+X'40'    BREAKPOINT DEFERRED PAGE
FS$BCRTU EQU   (FS$FLG-FS$FSCT)*256+X'08'    CRITICAL USER
FS$BSPRQ EQU   (FS$FLG-FS$FSCT)*256+X'04'    SPECIAL OPERATION REQUEST
*
*
         DS    0F                                                       SPL73200
FS$LCT   EQU   *                        LINE CONTROL TABLE BEGINS HERE  SPL73300
*              *** TABLE ENTRIES CONSIST OF 2 BYTE ENTRIES              SPL73400
*                                       SKIP CODE                       SPL73500
*                                       RELATIVE POSITION ON PAGE       SPL73600
*                                                                       SPL73700
*                                                                       SPL73800
FS$LNGTH EQU   *-FS$FSCT                LENGTH OF FILE SPOOL CONTROL    SPL73900
*                                       TABLE                           SPL74000
         SPACE 3                                                        SPL74100
FS$LCENT DSECT                     OF LINE CONTROL TABLE                SPL74200
FS$LCCOD DS    XL1                      CODE                            SPL74300
FS$LCLIN DS    XL1                      AND LINE                        SPL74400
FS$LCNXT EQU   *                                                        SPL74500
         SPACE 3                                                        SPL74600
*                                                                       SPL74700
*                                                                       SPL74800
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL74900
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL75000
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL75100
         EJECT                                                          SPL75200
         ENDO                                                           SPL75300
         DO    ('&DIRECT'='YES')++&BLANK                                SPL75400
DI$DSECT DSECT                                                          SPL75500
*                                                                       SPL75600
**                                                                      SPL75700
***      DIRECT SPOOLFILE DIRECTORY                                     SPL75800
**                                                                      SPL75900
*                                                                       SPL76000
         DS    0F                                                       SPL76100
DI$DIREC EQU   *                        BLOCK LABEL                     SPL76200
DI$LOGTK DS    H                        # SECTORS IN LOGICAL TRACK      SPL76300
DI$THRSH DS    H                        BIT MAP THRESHOLD               SPL76400
DI$SUBDI DS    H                        # SUBDIRECTORIES                SPL76500
DI$VOLUM DS    8CL6                     VSN IN VSEQ # ORDER             SPL76600
*                                                                       SPL76700
**                                                                      SPL76800
***      DIRECTORY ENTRIES BEGIN HERE                                   SPL76900
**                                                                      SPL77000
*                                                                       SPL77100
DI$DENTR EQU   *                        DIRECTORY ENTRIES               SPL77200
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL77300
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL77400
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL77500
         ENDO                                                           SPL77600
         DO    ('&SDCS'='YES')++&BLANK                                  SPL77700
*                                                                       SPL77800
**                                                                      SPL77900
***      SDCS  SUBDIRECTORY CONTROL SECTOR                              SPL78000
**                                                                      SPL78100
*                                                                       SPL78200
SC$DSECT DSECT                                                          SPL78300
         DS    0F                                                       SPL78400
SC$SDCS  EQU   *                        BLOCK LABEL                     SPL78500
SC$LNK   DS    F                        LINK TO NEXT SUBDIRECTORY TRK   SPL78600
SC$RLNK  DS    F                        REVERSE LINK TO PREVIOUS SD TRK SPL78700
SC$SLOTS DS    H                        # SD ENTRY SLOTS ON THIS TRK    SPL78800
SC$SAVL  DS    H                        # OF UNUSED SLOTS               SPL78900
SC$BTMAP EQU   *                        START OF BIT MAP                SPL79000
*                                                                       SPL79100
*                                                                       SPL79200
*                                                                       SPL79300
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL79400
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL79500
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL79600
         EJECT                                                          SPL79700
         ENDO                                                           SPL79800
         DO    ('&OWCT'='YES')++&BLANK                                  SPL79900
*                                                                       SPL80000
*              OUTPUT WRITER CONTROL TABLE                              SPL80100
*                                                                       SPL80200
$OUTDSCT DSECT                                                          SPL80300
$INCCB   CCB   0,0,,72                  INPUT CCB                       SPL80400
$OUTCCB  CCB   0,0,,72                  OUTPUT CCB                      SPL80500
$INBCW   BCW   2,0,,160                 READ 1 LINE/CARD BCW            SPL80600
$OUTBCW  BCW   9,0,,160                 WRITE 1 LINE/CARD BCW           SPL80700
$OUTSTXT DS    18F                      WORK AREA FOR STXIT             SPL80800
$SCTADDR DS    F                        SPOOL CONTROL TABLE ADDR        SPL80900
$MAIN    DS    F                        ADDRESS OF MAIN LINE PROCESSING SPL81000
$ACTIVE  DS    F                        ADDRESS OF ACTIVE BUFFER        SPL81100
$OVERLAP DS    F                        ADDRESS OF OVERLAP BUFFER       SPL81200
$LOAD    DS    F                        ADDRESS OF LOAD SUBROUTINE      SPL81300
$OUTPUB  DS    CL2                      OUTPUT PUB ADDRESS              SPL81400
$TYPEOUT DS    CL2                      TYPE OF OUTPUT WRITER           SPL81500
$TEXT    DS    CL28                     OPERATOR COMMUNICATION TEXT     SPL81600
$COMMAND EQU   $TEXT                    OUTPUT WRITER OPERATOR COMMAND  SPL81700
$LOADNME DS    CL8                      OVERLAY LOAD NAME               SPL81800
$FORM    DS    CL8                      CURRENT FORM NAME               SPL81900
$CRITER  DS    CL1                      CRITERIA MODE                   SPL82000
$SUBFLD1 DS    CL1                      SUB CRITERIA FIELD # 1          SPL82100
$SUBVAL1 DS    CL8                      SUBCRITERIA FIELD VALUE # 1     SPL82200
$SUBFLD2 DS    CL1                      SUB CRITERIA FIELD # 2          SPL82300
$SUBVAL2 DS    CL8                      SUB CRITERIA FIELD VALUE # 2    SPL82400
$SUBFLD3 DS    CL1                      SUB CRITERIA FIELD # 3          SPL82500
$SUBVAL3 DS    CL8                      SUB CRITERIA FIELD VALUE # 3    SPL82600
$SPLBUFF DS    F                        SPOOL BUFFER ADDRESS            SPL82700
$OUTIND1 DS    X                        *** INDICATOR 1 ***             SPL82800
$CONQUT  EQU   ($OUTIND1-$INCCB)*256+X'01' CONSOLE QUIETING             SPL82900
$CONPROC EQU   ($OUTIND1-$INCCB)*256+X'02' CONSOLE PROCESSING           SPL83000
*                                      X'04' =                          SPL83100
$FORMCHG EQU   ($OUTIND1-$INCCB)*256+X'08' FORMS CHANGE NECESSARY       SPL83200
$TESTLIN EQU   ($OUTIND1-$INCCB)*256+X'10' TEST LINES PROCESSING        SPL83300
$PAGPOSN EQU   ($OUTIND1-$INCCB)*256+X'20' REPOSITION TO TOP OF PAGE    SPL83400
$CONVPRT EQU   ($OUTIND1-$INCCB)*256+X'40' COPY UNCONVERTED VFB & LCB   SPL83500
$SPLDUMP EQU   ($OUTIND1-$INCCB)*256+X'80' SPL DUMP FILE                SPL83600
*                                                                       SPL83700
$OUTIND2 DS    X                        *** INDICATOR 2 ***             SPL83800
$FILEOPN EQU   ($OUTIND2-$INCCB)*256+X'01' FILE IS OPEN                 SPL83900
$HALT    EQU   ($OUTIND2-$INCCB)*256+X'02' HALT AFTER FILE IS DONE      SPL84000
$SPLIDLE EQU   ($OUTIND2-$INCCB)*256+X'04' SPOOLER IDLE                 SPL84100
$BYPASS  EQU   ($OUTIND2-$INCCB)*256+X'08' BYPASS GET TO SPOOLER        SPL84200
$TOTAPE  EQU   ($OUTIND2-$INCCB)*256+X'10' SPOOLOUT TO TAPE             SPL84300
$FROMTPE EQU   ($OUTIND2-$INCCB)*256+X'20' INPUT FROM TAPE              SPL84400
$DUMPLOG EQU   ($OUTIND2-$INCCB)*256+X'40' DUMP LOGS TO TAPE            SPL84500
$DUMPACT EQU   ($OUTIND2-$INCCB)*256+X'80' DUMP JOB ACCT TO TAPE        SPL84600
*                                                                       SPL84700
$OUTIND3 DS    X                        *** INDICATOR 3 ***             SPL84800
$INPTEOV EQU   ($OUTIND3-$INCCB)*256+X'01' EOV ON INPUT TAPE            SPL84900
$LOGPR   EQU   ($OUTIND3-$INCCB)*256+X'02'  LOG PROCESSED(NON BURST)    SPL85000
$RBPMODE EQU   ($OUTIND3-$INCCB)*256+X'04' RBP MODE                     SPL85100
$DUMSD   EQU   ($OUTIND3-$INCCB)*256+X'08' SUB DIR FOR TAPE VFB/LCB     SPL85200
$LOGEOV  EQU   ($OUTIND3-$INCCB)*256+X'10' EOV ON LOG TAPE              SPL85300
*                                                                       SPL85400
$OUTIND4 DS    X                        *** INDICATOR 4 ***             SPL85500
$LABEL   DS    CL17                     FILE LABEL                      SPL85600
$JOBNAME DS    CL8                      JOB NAME OF FILE                SPL85700
$LFDNAME DS    CL8                      LFD NAME OF FILE                SPL85800
$BANDNME DS    CL8                      BAND NAME OF FILE               SPL85900
$ACCT    DS    CL4                      ACCOUNT # OF FILE               SPL86000
$SCHEDPR DS    CL1                      SCHEDULING PRIORITY OF FILE     SPL86100
$TYPDEVC DS    CL4                      DEVICE OF FILE                  SPL86200
$FORMNME DS    CL8                      FORM NAME OF FILE               SPL86300
$PROGNME DS    CL8                      PROGRAM NAME OF FILE            SPL86400
$JOBSTEP DS    CL1                      JOB STEP NUMBER OF FILE         SPL86500
$OUTADDR DS    CL3                      OUTPUT WRITER OUTPUT DEVICE ADR SPL86600
$NEWDEVC DS    H                        NEW OUTPUT DEVICE TO USE        SPL86700
$INTAPE  DS    H                        PUB ADDR OF INPUT TAPE          SPL86800
$BACKPGE DS    H                        # OF PAGES TO BACK UP           SPL86900
$STOPPGE DS    H                        PAGE TO STOP OUTPUT WRITER      SPL87000
$ABTRMCD DS    H                        ABTERM REASON CODE              SPL87100
         DS    CL4                                                      SPL87200
         DS    0F                                                       SPL87300
$OUTLNG  EQU   *-$OUTDSCT                                               SPL87400
*                                                                       SPL87500
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL87600
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL87700
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * SPL87800
         EJECT                                                          SPL87900
         ENDO                                                           SPL88000
&SYSECT  CSECT                                                          SPL88100
         END                                                            SPL88200
