ibm:vm370-lib:copy:spool.copy_src
Table of Contents
SPOOL Source
References
- Fixes Applied : 2
- This Source Date : Friday, December 8, 1978
- Last Fix ID : [R12613DK]
Source Listing
- SPOOL.COPY.txt
- *COPY SPOOL 00001000
- PUSH PRINT 00001200
- AIF ('&SYSPARM' NE 'SUP').SPO01 00001400
- PRINT OFF,NOGEN 00001600
- .SPO01 ANOP 00001800
- SFBLOK DSECT 00003000
- SPACE 1 00004000
- *** SFBLOK - SPOOL FILE CONTROL BLOCK 00005000
- * 00006000
- * 0 +-----------------------+-----------------------+ 00007000
- * | SFBPNT | SFBSTART | 00008000
- * 8 +-----------------------+-----------------------+ 00009000
- * | SFBUSER | 00010000
- * 10 +-----------------------------------------------+ 00011000
- * | SFBORIG | 00012000
- * 18 +-----------------------+-----------+-----------+ 00013000
- * | SFBRECNO | SFBRECSZ | SFBFILID | 00014000
- * 20 +-----+-----+-----------+-----------+-----------+ 00015000
- * | S*1 | S*2 | SFBMISC1 | SFBRECS | 00016000
- * 28 +-----+-----+-----------+-----------------------+ 00017000
- * | SFBFNAME | 00018000
- * 30 | +-----------------------+ 00019000
- * | | | 00020000
- * 38 +-----------------------+ | 00021000
- * | SFBFTYPE | 00022000
- * 40 +-----------------------------------------------+ 00023000
- * | SFBDATE | 00024000
- * 48 +-----------------------------------------------+ 00025000
- * | SFBTIME | 00026000
- * 50 +-----------------------+-----------+-----+-----+ 00027000
- * | SFBLAST | SFBCOPY | S*3 | S*4 | 00028000
- * 58 +-----------------------+-----------+-----+-----+ 00029000
- * | SFBDIST | 00030000
- * 60 +-----------------------------------------------+ 00031000
- * | SFBFLASH | S*5 | SFBRSVD | 00031100
- * 68 +-----------------------------------------------+ 00031200
- * 00032000
- *** SFBLOK - SPOOL FILE CONTROL BLOCK 00033000
- SPACE 1 00036000
- SFBPNT DS 1F POINTER TO NEXT SFBLOK 00037000
- SFBSTART DS 1F DASD LOC. (DCHR) OF FIRST PAGE BUFFER 00038000
- SFBUSER DS CL8 VMUSER IDENTIFICATION OF FILE OWNER 00039000
- SFBORIG DS CL8 VMUSER IDENTIFICATION OF FILE ORIGIN 00040000
- SFBRECNO DS 1F NUMBER OF DATA RECORDS IN FILE 00041000
- SFBRECSZ DS 1H LOGICAL RECORD SIZE - EXCLD. CCWS 00042000
- SFBFILID DS 1H BINARY SYSTEM FILE NUMBER 00043000
- SFBFLAG DS 1X S*1 SFBLOK CONTROL FLAGS 00044000
- SFBTYPE DS 1X S*2 DEVICE TYPE FOR SPOOL OUTPUT 00045000
- SFBMISC1 DS 1H USE VARIES ACCORDING TO CALLER 00046000
- SFBRECS DS 1F POINTER TO RECBLOKS FOR ACTIVE FILE 00047000
- SFBFNAME DS CL12 FILE NAME 00048000
- SFBFTYPE DS CL12 FILE TYPE 00049000
- SFBDATE DS CL8 CREATION DATE OF SPOOL FILE 00050000
- SFBTIME DS CL8 CREATION TIME OF SPOOL FILE 00051000
- SFBLAST DS 1F DASD LOC. (DCHR) OF LAST PAGE BUFFER 00052000
- SFBCOPY DS 1H NUMBER OF COPIES REQUESTED 00053000
- SFBCLAS DS 1X S*3 SPOOL FILE CLASS CHARACTER 00054000
- SFBFLAG2 DS 1X S*4 SFBLOK CONTROL FLAGS - BYTE TWO 00055000
- SFBDIST DS CL8 DISTRIBUTION CODE 00056000
- SFBFLASH DS CL4 OVERLAY NAME FOR 3800 FLASHING @V60B9BA 00056100
- SFBSTCPY DS 1X S*5 CURRENT STARTING COPY NUMBER @V60B9BA 00056200
- SFBRSVD DS XL3 RESERVED FOR FUTURE USE @V60B9BA 00056300
- SPACE 1 00057000
- SFBSIZE EQU (*-SFBLOK)/8 SIZE IN DOUBLE WORDS 00058000
- SPACE 1 00059000
- * BITS DEFINED IN SFBFLAG 00060000
- SFBINUSE EQU X'80' FILE BEING PROCESSED 00061000
- SFBRECOK EQU X'40' ALLOCATION RECORDS COMPLETE 00062000
- SFBUHOLD EQU X'20' FILE IN USER HOLD STATUS 00063000
- SFBDUMP EQU X'10' FILE IS A CP SYSTEM DUMP 00064000
- SFBOPEN EQU X'08' INPUT FILE HAS BEEN OPENED 00065000
- SFBSHOLD EQU X'04' FILE IN SYSTEM HOLD STATUS 00066000
- SFBEOF EQU X'02' INPUT FILE HAS REACHED EOF 00067000
- SFBRECER EQU X'01' SFBREC CHAIN INCOMPLETE 00068000
- SPACE 00069000
- * BITS DEFINED IN SFBFLAG2 00070000
- SFBHOLD EQU X'80' SAVE INPUT FILE 00071000
- * HOLD OUTPUT FILE 00072000
- SFBNOHLD EQU X'40' DELETE INPUT FILE 00073000
- * NOHOLD OUTPUT FILE 00074000
- SFBFLNMT EQU X'20' FILE NOT EMPTY IF ON @VA04920 00074500
- * SFBHOLD AND SFBNOHLD OVERRIDE OPTIONS IN VDEVBLOK 00076000
- SFBREQUE EQU X'20' REQUEUE SPOOL FILE 00077000
- SFBRSTRT EQU X'10' RESTART IN PROGRESS 00078000
- SFBTICER EQU X'08' BUFFER TIC ERROR 00079000
- SFBPURGE EQU X'04' PURGE OPEN SPOOL FILE 00080000
- SFBFIRST EQU X'02' INDICATE FIRST PAGE WRITTEN @VM03437 00080100
- SFBMON EQU X'01' MONITOR CLASS FILE @V50A2B5 00080125
- EJECT 00081000
- SPLINK DSECT 00082000
- SPACE 1 00083000
- *** SPLINK - SPOOL PAGE BUFFER LINKAGE 00084000
- * 00085000
- * 0 +-----------------------+-----------------------+ 00086000
- * | SPNXTPAG | SPPREPAG | 00087000
- * 8 +-----------------------+-----------------------+ 00088000
- * | SPRMISC | SPRECNUM | 00089000
- * 10 +-----------------------+-----------------------+ 00090000
- * | | 00091000
- * = SPOOL BUFFER DATA AREA = 00092000
- * FD0 +-----------------------+-----------------------+ 00093000
- * | SPCHAR | | 00093050
- * FD8 +-----------------------+ SPRSVD1 | 00093100
- * | | 00093150
- * FE0 +-----------------------+-----------------------+ 00093200
- * | SPFCB | SPCMOD | 00093250
- * FE8 +-----------------------+-----------------------+ 00093300
- * | | 00093350
- * FF0 + SPRSVD2 +-----------+-----------+ 00093400
- * | | S*1 | S*2 | SPRSVD3 | 00093450
- * FF8 +-----------+-----------+-----------+-----------+ 00093500
- * | SPFILID | SPTIME | 00093550
- * 1000 +-----------+-----------------------------------+ 00093600
- * 00095000
- *** SPLINK - SPOOL PAGE BUFFER LINKAGE 00096000
- SPACE 1 00099000
- SPNXTPAG DS 1F DASD LOC. (DCHR) OF NEXT PAGE BUFFER 00100000
- SPPREPAG DS 1F DASD LOC. (DCHR) OF PREV PAGE BUFFER 00101000
- SPRMISC DS 1F USE VARIES ACCORDING TO CALLER 00102000
- SPRECNUM DS 1F NUMBER OF DATA RECORDS IN BUFFER 00103000
- SPACE 1 00104000
- SPSIZE EQU (*-SPLINK) SIZE IN BYTES 00105000
- ORG SPLINK+4096-48 END OF FIRST DASD BUFFER @V60B9BA 00105010
- SPCHAR DS CL4 3800 CHAR ARR TABLE FOR FILE @V60B9BA 00105020
- SPRSVD1 DS CL12 RESERVED FOR FUTURE USE @V60B9BA 00105030
- SPFCB DS CL4 3800 FCB FOR FILE @V60B9BA 00105040
- SPCMOD DS CL4 3800 COPY MOD FOR FILE @V60B9BA 00105050
- SPRSVD2 DS CL12 RESERVED FOR FUTURE USE @V60B9BA 00105060
- SPFLSHC DS X S*1 3800 FLASH COUNT @V60B9BA 00105070
- SPFLAG1 DS X S*2 3800 FLAG BYTE @V60B9BA 00105080
- SPCOPYFG EQU X'80' IF SET, MULT COPIES DONE IN 1 XMISSION BA 00105090
- SPRSVD3 DS 2X RESERVED FOR FUTURE USE @V60B9BA 00105100
- SPFILID DS 1H FILID USED FOR VERIFICATION @V60B9BA 00105110
- SPTIME DS CL6 SFBTIME- USED FOR VERIFICATION @V60B9BA 00105120
- SPENDSIZ EQU *-SPCHAR SIZE IN BYTES OF END OF BUFFER @V60B9BA 00105130
- SPACE 4 00106000
- RSPLCTL DSECT 00107000
- SPACE 1 00108000
- *** RSPLCTL - REAL SPOOLING CONTROL BLOCK 00109000
- * 00110000
- * 0 +-----------------------+-----------------------+ 00111000
- * | RSPRSTRT | RSPDPAGE | 00112000
- * 8 +-----------------------+-----------------------+ 00113000
- * | RSPVPAGE | RSPRPAGE | 00114000
- * 10 +-----------------------+-----------------------+ 00115000
- * | RSPMISC | RSPSFBLK | 00116000
- * 18 +-----------------------+-----------------------+ 00116600
- * | RSPDPAG2 | RSPVPAG2 | 00116700
- * 20 +-----------------------+-----------------------+ 00116800
- * | RSPRPAG2 | R*1 | R*2 | RSPRSVD | 00116850
- * 28 +-----------------------------------------------+ 00116875
- * | RSPSWAP | 00116900
- * 30 +-----------------------+-----------------------+ 00116925
- * | RSPVPG2 | RSPRSVD1 | 00116950
- * 38 +-----------------------+-----------------------+ 00116975
- * 00118000
- *** RSPLCTL - REAL SPOOLING CONTROL BLOCK 00119000
- SPACE 1 00122000
- RSPRSTRT DS 1F RESTART CAW - CCW ADDRESS 00123000
- RSPDPAGE DS 1F DASD LOC. (DCHR) OF CURRENT PAGE BUFFER 00124000
- RSPVPAGE DS 1F VIRTUAL ADDRESS OF PAGE BUFFER 00125000
- RSPRPAGE DS 1F REAL ADDRESS OF PAGE BUFFER 00126000
- RSPMISC DS 1F USE VARIES ACCORDING TO CALLER 00127000
- RSPSFBLK DS 1F POINTER TO SFBLOK FOR FILE 00128000
- RSPDPAG2 DS 1F DAS LOC OF 2ND PAGE BFR IF ANY @V60B9BA 00128100
- RSPVPAG2 DS 1F VIRT ADDR OF 2ND PAGE BFR IF ANY @V60B9BA 00128200
- RSPRPAG2 DS 1F REAL ADDR OF 2ND PAGE BFR IF ANY @V60B9BA 00128300
- RSPFLAG1 DS 1X FLAG BYTE @V60B9BA 00128400
- RSPBF1IO EQU X'80' I/O PENDING ON BUFFER 1 @V60B9BA 00128500
- RSPBF2IO EQU X'40' I/O PENDING ON BUFFER 2 @V60B9BA 00128600
- RSPBF1VL EQU X'20' BFR 1 IS FULL OF DATA TO PRINT @V60B9BA 00128700
- RSPBF2VL EQU X'10' BFR 2 IS FULL OF DATA TO PRINT @V60B9BA 00128800
- RSPFLAG2 DS 1X FLAG BYTE @VA11232 00128925
- RSPERR EQU X'08' ERROR ENCOUNTERED ON PAGE WRITE @VA11232 00128935
- RSPRSVD DS 2X RESERVED FOR FUTURE USE @VA11232 00128945
- RSPSWAP DS 2F DUMMY SWAPTABLE ENTRY @VA11232 00128955
- RSPVPG2 DS 1F SEC. VIRTUAL BUFFER ADDRESS @VA11232 00128965
- RSPRSVD1 DS 1F RESERVED FOR FUTURE USE @VA11232 00128975
- SPACE 1 00129000
- RSPSIZE EQU (*-RSPLCTL)/8 SIZE IN DOUBLE WORDS 00130000
- EJECT 00131000
- VSPLCTL DSECT 00132000
- SPACE 1 00133000
- *** VSPLCTL - VIRTUAL SPOOLING CONTROL BLOCK 00134000
- * 00135000
- * 0 +-----------------------+-----------------------+ 00136000
- * | VSPCAW | VSPDPAGE | 00137000
- * 8 +-----------------------+-----------------------+ 00138000
- * | VSPVPAGE | VSPRECNO | 00139000
- * 10 +-----------+-----------+-----------------------+ 00140000
- * | VSPNEXT | VSPIDACT | VSPSFBLK | 00141000
- * 18 +-----------+-----------+-----------------------+ 00142000
- * | VSPCCW | 00143000
- * 20 +-----------------------+-----------------------+ 00144000
- * | VSPBUFBK | VSPMISC | 00145000
- * 28 +-----+-----------------+-----------------------+ 00146000
- * | V*1 | VSPIDAL | VSPIDAW2 | 00147000
- * 30 +-----+-----------------+-----------------------+ 00148000
- * | V*2 | VSPRSVD | VSPVPG2 | 00148100
- * 38 +-----+-----------------+-----------------------+ 00148200
- * 00149000
- *** VSPLCTL - VIRTUAL SPOOLING CONTROL BLOCK 00150000
- SPACE 1 00153000
- VSPCAW DS 1F VIRTUAL ADDRESS OF USER CCW 00154000
- VSPDPAGE DS 1F DASD LOC. (DCHR) OF CURRENT PAGE BUFFER 00155000
- VSPVPAGE DS 1F VIRTUAL ADDRESS OF PAGE BUFFER 00156000
- VSPRECNO DS 1F RECORDS REMAINING IN CURRENT BUFFER 00157000
- VSPNEXT DS 1H DISP. IN BUFFER OF NEXT RECORD START 00158000
- VSPIDACT DS 1H DATA BYTE COUNT OF IDA CCW 00159000
- VSPSFBLK DS 1F POINTER TO SFBLOK FOR FILE 00160000
- VSPCCW DS 1D CURRENT USER CCW 00161000
- VSPBUFBK DS 1F ADDRESS OF A BUFFER AREA 00162000
- VSPMISC DS 1F USE VARIES ACCORDING TO CALLER 00163000
- VSPIDASW DS 1X V*1 INDIRECT DATA ADDRESS WORK FLAG 00164000
- VSPIDAL DS 3X ADDRESS OF INDIRECT DATA LIST 00165000
- VSPIDAW2 DS 1F CONTAINS IDAW2 00166000
- VSPFLAG1 DS 1X V*2 VSPLCTL FLAG BYTE @VA11232 00166100
- SPACE 00166200
- VSPERR EQU X'08' ERROR ENCOUNTERED ON PAGE WRITE @VA11232 00166300
- VSPDCFOP EQU X'04' PROCESSING DATA-CHAINING CCW WITH 00166310
- * OP-CODE FORCED TO '03' @VA12613 00166320
- VSPRSVD DS 3X RESERVED FOR FUTURE USE @VA11232 00166400
- VSPVPG2 DS 1F SECOND VIRTUAL BUFFER ADDRESS @VA11232 00166500
- SPACE 1 00167000
- VSPSIZE EQU (*-VSPLCTL)/8 SIZE IN DOUBLE WORDS 00168000
- VSPBUFSZ EQU (200)/8 SIZE IN DOUBLE WORDS 00169000
- EJECT 00170000
- SHQBLOK DSECT 00171000
- SPACE 00172000
- *** SHQBLOK - SPOOL HOLD QUEUE CONTROL BLOCK 00173000
- * 00174000
- * 0 +-----------------------+-----+-----+-----------+ 00175000
- * | SHQPNT | S*1 | S*2 | SHQSPARE | 00176000
- * 8 +-----------------------+-----+-----+-----------+ 00177000
- * | SHQUSER | 00178000
- * 10 +-----------------------------------------------+ 00179000
- * 00180000
- *** SHQBLOK - SPOOL HOLD QUEUE CONTROL BLOCK 00181000
- SPACE 1 00184000
- SHQPNT DS 1F ADDRESS OF NEXT SHQBLOK 00185000
- SHQFLAGS DS 0CL4 LENGTH 00186000
- SHQUHOLD DS 1X S*1 USER 'USER HOLD' FLAG BYTE 00187000
- SHQSHOLD DS 1X S*2 USER 'SYSTEM HOLD' FLAG BYTE 00188000
- SHQSPARE DS 2X SPARE 00189000
- SHQUSER DS CL8 VMUSER IDENTIFICATION OF FILE OWNER 00190000
- SPACE 1 00191000
- SHQBSIZE EQU (*-SHQBLOK)/8 SIZE IN DOUBLE WORDS 00192000
- SPACE 1 00193000
- * BITS DEFINED IN SHQUHOLD AND SHQSHOLD 00194000
- * TYPPRT IS USED FOR PRINTER TYPE. (SEE COPY DEVTYPES) 00195000
- * TYPPUN IS USED FOR PUNCH TYPE. (SEE COPY DEVTYPES) 00196000
- * 00197000
- EJECT 00198000
- POP PRINT 00199000
- SPACE 00200000
ibm/vm370-lib/copy/spool.copy_src.txt ยท Last modified: 2023/08/06 13:36 by Site Administrator