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