| Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM. | 
SPMBK
Control Block Contents  
   SPMBK DSECT
Cross Reference (Contains links to field and bit definitions)
SPMBK Prolog
 NAME       : HCPSPMBK
 DESCRIPTION: SPOOL FILE MAP PAGE BLOCK
 DSECT      : SPMBK
 FUNCTION   : TO CONTAIN ASA'S FOR EVERY SPOOL FILE DATA
              PAGE (SPDBK) IN A SPOOL FILE.  THE SPMBK ALSO
              CONTAINS A COPY OF THE SPFBK, SO THAT IT CAN
              BE RECREATED WHEN THE SYSTEM IS WARM STARTED.
              SPMBK'S ARE FILLED WITH ASA'S WHILE IN SYSTEM
              VIRTUAL STORAGE, AND ARE PERIODICALLY CHECK-
              POINTED TO DASD.
 LOCATED BY :
              (1) LOCATED IN SYSTEM VIRTUAL STORAGE BY:
              SPAVSPM  - SPABK ANCHOR FOR THE CURRENT SPMBK
              IN A SYSTEM VIRTUAL PAGE.
              (2) LOCATED ON DASD BY:
              SPADSPM  - SPABK ASA FOR THE SPMBK CURRENTLY
              IN SYSTEM VIRTUAL STORAGE.
              SPFSTART - SPFBK ASA FOR THE FIRST SPMBK OF A
              SPOOL FILE.  SPMNEXT CHAINS THE
              ASA'S OF SUBSEQUENT SPMBK'S, IF
              NECESSARY.
              SFNASA   - SFNASA IS A TABLE OF ASA'S.  EACH
              ASA IS FOR THE FIRST SPMBK OF A
              SPOOL FILE.  THE TABLE IS USED BY
              HCPWRMST TO RECREATE THE FILES
              WHEN THE SYSTEM IS WARM STARTED.
 CREATED BY :
              (1) CREATED IN SYSTEM VIRTUAL STORAGE BY:
              HCPSFSON - ALLOCATES A PAGE OF SYSTEM VIRTUAL
              STORAGE FOR THE SPMBK WHEN A
              SPOOL FILE IS OPENED FOR CREATION.
              HCPSFSOP - ALLOCATES A PAGE OF SYSTEM VIRTUAL
              STORAGE FOR THE SPMBK WHEN A
              SPOOL FILE IS PROCESSED ON A REAL
              OUTPUT DEVICE.
              HCPSFVOP - ALLOCATES A PAGE OF SYSTEM VIRTUAL
              STORAGE FOR THE SPMBK WHEN A
              SPOOL FILE IS PROCESSED ON A
              VIRTUAL CARD READER.
              (2) CREATED ON DASD BY:
              HCPVSPPW - CHECKPOINTS THE SPMBK BY REWRITING
              IT TO DASD EACH TIME A NEW DATA
              PAGE (SPDBK) IS WRITTEN FOR CON-
              SOLE FILES.  FOR ALL OTHER SPOOL
              FILES, THE SPMBK IS REWRITTEN
              EACH TIME THE SPABK IS FULL.
              WHEN THE SPMBK IS FULL, HCPVSPPW
              WILL WRITE THE SPMBK TO DASD, AND
              ALLOCATE A DASD SLOT FOR ANOTHER
              SPMBK.
              HCPSFRCL - WRITES OUT THE LAST SPMBK WHEN A
              FILE CREATED BY A REAL READER IS
              CLOSED.  IT ALSO REWRITES THE
              FIRST SPMBK WITH THE SPFBK.
              HCPSFVCL - WRITES OUT THE LAST SPMBK WHEN
              VIRTUAL OUTPUT FILES ARE CLOSED.
              IT ALSO REWRITES THE FIRST SPMBK
              WITH THE SPFBK AS IT IS WHEN THE
              FILE IS CLOSED.
 DELETED BY :
              (1) DELETED IN SYSTEM VIRTUAL STORAGE BY:
              HCPSFRCL - RELEASES THE SYSTEM VIRTUAL PAGE
              ALLOCATED FOR THE SPMBK WHEN A
              SPOOL FILE CREATED ON A REAL
              READER IS CLOSED.
              HCPSFVCL - RELEASES THE SYSTEM VIRTUAL PAGE
              ALLOCATED FOR THE SPMBK WHEN A
              VIRTUAL OUTPUT FILE IS CLOSED.
              HCPSFROP - IF A PAGING ERROR OCCURS WHILE
              PROCESSING AN SPDBK, THE SYSTEM
              VIRTUAL PAGE FOR THE SPMBK IS
              RELEASED.
              HCPSFVOP - FOR THE SAME REASON AS HCPSFROP.
              HCPSFSON - FOR THE SAME REASON AS HCPSFROP.
              (2) DELETED ON DASD BY:
              HCPSFRDL - WHENEVER A SPOOL FILE IS DELETED
              FROM THE SYSTEM.
              HCPWRSST - WHENEVER THERE IS A PROBLEM
              RE-CREATING A SPOOL FILE DURING A
              "FORCE" START.  ALSO, IT WILL
              DELETE THE SPMBK IF IT DETECTS
              THAT THE FIRST ASA IS ZERO, WHICH
              MEANS THERE ARE NO DATA PAGES
              MAPPED BY THIS SPMBK.
SPMBK Control Block Content
SPMBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure SPMBK SPOOL FILE MAP PAGE BLOCK 0000 0 Dbl-Word 8 SPMOPNTM TOD (FULL) WHEN FILE WAS OPENED 0008 8 Signed 4 SPMSPID System spool id for this file 000C 12 Signed 4 SPMNEXT ASA OF NEXT SPMBK FOR THIS FILE 0010 16 Dbl-Word 8 SPMSPFBK (24) Copy of the SPFBK 00D0 208 Character 8 SPMSRCND Diagnose X'F8' original node 00D8 216 Character 8 SPMSRCUS Diagnose X'F8' original userid 00E0 224 Signed 4 SPMXABS (8) Slots for XAB ASA's (up to 32K-1) 00000020 SPMXABLN *-SPMXABS Length of XAB ASA area 00000004 SPMXABEL 4 Length of an entry 00000008 SPMXABCT 8 Number of entries 0100 256 Signed 4 SPMASA (960) ROOM FOR 60 SETS OF 16 ASA GROUPS 00000F00 SPMASALN *-SPMASA To locate end of SPMASA SPMCCNT MUST ALWAYS BE AN INTEGER MULTIPLE OF 16 000003C0 SPMCCNT (((*-SPMASA)/4)/16)*16 THE EMBEDDED SPFBK MAY NOT EXCEED 24 DOUBLE-WORDS. 00000200 SPMSIZE (*-SPMBK+7)/8 BLOCK SIZE IN DOUBLEWORDS SPXTAPE field for chaining SPM in system virtual storage 0010 16 Address 4 SPMNXTVA Virtual address of next SPM in SYSTEM address space. Uses SPFFPNT as chain field (which isn't used while on DASD).
SPMBK Storage Layout
          
*** SPMBK - SPOOL FILE MAP PAGE BLOCK
*
*     +-------------------------------------------------------+
*   0 |                       SPMOPNTM                        |
*     +---------------------------+---------------------------+
*   8 |         SPMSPID           |         SPMNEXT           |
*     +---------------------------+---------------------------+
*  10 |                                                       |
*     =                       SPMSPFBK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  D0 |                       SPMSRCND                        |
*     +-------------------------------------------------------+
*  D8 |                       SPMSRCUS                        |
*     +-------------------------------------------------------+
*  E0 |                                                       |
*     =                       SPMXABS                         =
*     |                                                       |
*     +-------------------------------------------------------+
* 100 |                                                       |
*     =                        SPMASA                         =
*     |                                                       |
*     +-------------------------------------------------------+
*1000
*
*** SPMBK - SPOOL FILE MAP PAGE BLOCK
          
*** Overlay for SPMSPFBK+SPFFPNT-SPFBK in SPMBK
*
*     +---------------------------+
*  10 |         SPMNXTVA          | 14
*     +---------------------------+
*
*** Overlay for SPMSPFBK+SPFFPNT-SPFBK in SPMBK
SPMBK Cross Reference
Symbol Dspl Value -------------- ---- ----- SPMASA 0100 SPMASALN 0100 00000F00 SPMCCNT 0100 000003C0 SPMNEXT 000C SPMNXTVA 0010 SPMOPNTM 0000 SPMSIZE 0100 00000200 SPMSPFBK 0010 SPMSPID 0008 SPMSRCND 00D0 SPMSRCUS 00D8 SPMXABCT 00E0 00000008 SPMXABEL 00E0 00000004 SPMXABLN 00E0 00000020 SPMXABS 00E0
Copyright IBM Corporation, 1990, 2001