Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

#### SPABK

Prolog

Control Block Contents
SPABK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### SPABK Prolog

     NAME       : HCPSPABK
     DESCRIPTION: SPOOL FILE ALLOCATION BLOCK
     DSECT      : SPABK
     FUNCTION   : TO CONTAIN A RECORD OF SYSTEM RESOURCES
                  ALLOCATED TO A SPOOL FILE WHILE IT IS ACTIVE,
                  EITHER BEING CREATED OR PROCESSED ON THE
                  DESTINATION DEVICE.  THESE RESOUCES INCLUDE
                  ASA ALLOCATION AND RESERVED CP VIRTUAL PAGES.
     LOCATED BY : RSPSPA   - FOR A SPOOL FILE ACTIVE ON A REAL
                  SPOOLING DEVICE
                  VSPSPA   - FOR A SPOOL FILE ACTIVE ON A VIR-
                  TUAL SPOOLING DEVICE
                  ASPSPABK - FOR A SPOOL FILE ACTIVE FOR *SPL
     CREATED BY : HCPSFSON - WHEN OPENING A NEW SPOOL FILE FOR
                  CREATION
                  HCPSFSOR - WHEN OPENING A NEW SPOOL FILE FOR
                  READING
                  HCPSFSOW - WHEN OPENING A NEW SPOOL FILE FOR
                  WRITING
     DELETED BY : HCPSFRCL - WHEN PROCESSING IS COMPLETE FOR A
                  SPOOL FILE ACTIVE ON A REAL SPOOL
                  DEVICE, AND THE FILE IS TO BE
                  PURGED
                  HCPSFPCN - WHEN A NEW OR UPDATED SPOOL FILE
                  IS CLOSED
                  HCPSFPCR - WHEN A SPOOL FILE OPEN FOR READING
                  IS CLOSED
                  HCPSFPON - WHEN AN ERROR OPENING A NEW SPOOL
                  FILE IS ENCOUNTERED
                  HCPSFPOR - WHEN AN ERROR OPENING A SPOOL FILE
                  FOR READING IS ENCOUNTERED
                  HCPSFPOW - WHEN AN ERROR OPENING A SPOOL FILE
                  FOR WRITING IS ENCOUNTERED

#### SPABK Control Block Content

#### SPABK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      SPABK          SPOOL FILE ALLOCATION BLOCK
    0000    0 Signed       2 SPALCCW        DISPLACEMENT TO WHERE LAST CCW
                                            WAS PUT
    0002    2 Signed       2 SPANCCW        DISPLACEMENT OF WHERE TO PUT NEXT
                                            CCW
    0004    4 Signed       4 SPADNUM        RELATIVE SPDBK NUMBER BEING
                                            PROCESSED
    0008    8 Signed       2 *              RESERVED FOR FUTURE IBM USE
    000A   10 Signed       2 SPAPNUM        RELATIVE PAGE NUMBER OF CURRENT
                                            SPMBK
    000C   12 Signed       4 SPARCNT        NUMBER OF LOGICAL RECS PROCESSED
                                            SO FAR
    0010   16 Signed       2 SPAPDSP        WHERE TO GET(PUT) NEXT 16 ASA'S
    0012   18 Signed       2 SPALCNT        NO. LOGICAL RECS. LEFT THIS PAGE
    0014   20 Address      4 SPAVSPM        VIRTUAL ADDRESS OF THE SPMBK
    0018   24 Signed       4 SPADSPM        DASD ADDRESS OF THE SPMBK
    001C   28 Address      4 SPAVSPD        VIRTUAL ADDRESS OF THE SPDBK
    0020   32 Signed       4 SPADSPD        DASD ADDRESS OF THE SPDBK
    0024   36 Signed       4 SPAASA (16)    16 ASA'S OF SPDBK'S (SPOOL FILE
                                            DATA)
              00000040       SPAMAPSZ       *-SPAASA SIZE OF ASA MAP AREA
    0064  100 Bitstring    1 SPAIOFLG       IO PENDING FLAG
              1... ....      SPAIOACT       X'80' IO ACTIVE - CANNOT START
                                            ANOTHER BUF
              .1.. ....      SPAREADY       X'40' NEXT BUFFER READY TO GO
    0065  101 Bitstring    1 SPAFLAG        General flags
              1... ....      SPACPXAB       X'80' Checkpoint XAB's at close
              .1.. ....      SPAVLSID       X'40' Validate sysid in SFNDX
              ..1. ....      SPAFULL        X'20' Buffer to hold ASA's is
                                            full
    0066  102 Bitstring    1 * (2)          RESERVED FOR FUTURE IBM USE
    0068  104 Dbl-Word     8 SPAEXP (4)     3800 EXPANSION BUFFERS FOR LONG
                                            DATA
    0088  136 Signed       4 SPAXABS (8)    Slots for XAB ASAs
              00000020       SPAXABLN       *-SPAXABS Length of the XAB ASA
                                            area
              00000015       SPASIZE        (*-SPABK+7)/8 BLOCK SIZE IN
                                            DOUBLEWORDS
    0004    4 Bitstring    1 *              Zeros: SPADNUM can't be this big
    0005    5 Bitstring    1 SPADNUMO       One zero bit and 3 overflow bits
              .... .1..      SPADNUM3       X'04' Overflow bit 3
              .... ..1.      SPADNUM2       X'02' Overflow bit 2
              .... ...1      SPADNUM1       X'01' Overflow bit 1
    0006    6 Signed       2 SPADNUMH       Halfword DNUM value for RSPBK
    0068  104 Dbl-Word     8 SPAEXPA (2)    TWO EXPANSION SLOTS FOR BUFFER A
    0078  120 Dbl-Word     8 SPAEXPB (2)    TWO EXPANSION SLOTS FOR BUFFER B
              ...1 ....      SPAXBOFF       SPAEXPB-SPAEXP OFFSET TO B
                                            SECTION OF SPAEXP
    0068  104 Dbl-Word     8 SPAEXPVF (0)   VIRTUAL PAGE / REAL FRAME PAIR
    0068  104 Signed       4 SPAEXPV        VIRTUAL PAGE ADDRESS, MUST BE
                                            FIRST
    006C  108 Signed       4 SPAEXPF        REAL FRAME ADDRESS, MUST FOLLOW
                                            VPAGE
              .... 1...      SPALSLOT       L'SPAEXPVF LENGTH OF A SLOT FOR
                                            CLEAR
    0068  104 Signed       4 SPALSPD        Host Logical address of SPDBK
                                            page
    006C  108 Signed       4 *
    0070  112 Dbl-Word     8 * (3)

#### SPABK Storage Layout

    *** SPABK - SPOOL FILE ALLOCATION BLOCK
    *
    *     +-------------+-------------+---------------------------+
    *   0 |  SPALCCW    |  SPANCCW    |         SPADNUM           |
    *     +-------------+-------------+---------------------------+
    *   8 |/////////////|  SPAPNUM    |         SPARCNT           |
    *     +-------------+-------------+---------------------------+
    *  10 |  SPAPDSP    |  SPALCNT    |         SPAVSPM           |
    *     +-------------+-------------+---------------------------+
    *  18 |         SPADSPM           |         SPAVSPD           |
    *     +---------------------------+---------------------------+
    *  20 |         SPADSPD           |                           |
    *     +---------------------------+                           |
    *  28 |                                                       |
    *     =                        SPAASA                         =
    *     |                           +------+------+-------------+
    *  60 |                           |:IOFLG|:FLAG |/////////////|
    *     +---------------------------+------+------+-------------+
    *  68 |                                                       |
    *     =                        SPAEXP                         =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  88 |                                                       |
    *     =                       SPAXABS                         =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  A8
    *
    *** SPABK - SPOOL FILE ALLOCATION BLOCK

    *** Overlay for SPADNUM in SPABK
    *
    *                                 +------+------+-------------+
    *   0 ...                       4 |//////|:DNUMO|  SPADNUMH   |
    *                                 +------+------+-------------+
    *   8
    *
    *** Overlay for SPADNUM in SPABK

    *** Overlay for SPAEXP in SPABK
    *
    *     +-------------------------------------------------------+
    *  68 |                       SPAEXPA                         |
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  78 |                       SPAEXPB                         |
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  88
    *
    *** Overlay for SPAEXP in SPABK

    *** Overlay for SPAEXP in SPABK
    *
    *     +---------------------------+---------------------------+
    *  68 |         SPAEXPV           |         SPAEXPF           |
    *     +---------------------------+---------------------------+
    *  70
    *
    *** Overlay for SPAEXP in SPABK

    *** Overlay for SPAEXP in SPABK
    *
    *     +---------------------------+---------------------------+
    *  68 |         SPALSPD           |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  70 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  88
    *
    *** Overlay for SPAEXP in SPABK

#### SPABK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    SPAASA         0024
    SPACPXAB       0065 80
    SPADNUM        0004
    SPADNUMH       0006
    SPADNUMO       0005
    SPADNUM1       0005 01
    SPADNUM2       0005 02
    SPADNUM3       0005 04
    SPADSPD        0020
    SPADSPM        0018
    SPAEXP         0068
    SPAEXPA        0068
    SPAEXPB        0078
    SPAEXPF        006C
    SPAEXPV        0068
    SPAEXPVF       0068
    SPAFLAG        0065
    SPAFULL        0065 20
    SPAIOACT       0064 80
    SPAIOFLG       0064
    SPALCCW        0000
    SPALCNT        0012
    SPALSLOT       006C 08
    SPALSPD        0068
    SPAMAPSZ       0024 00000040
    SPANCCW        0002
    SPAPDSP        0010
    SPAPNUM        000A
    SPARCNT        000C
    SPAREADY       0064 40
    SPASIZE        0088 00000015
    SPAVLSID       0065 40
    SPAVSPD        001C
    SPAVSPM        0014
    SPAXABLN       0088 00000020
    SPAXABS        0088
    SPAXBOFF       0078 10

This information is based on z/VM V5R2.0. Last updated on 12 Apr 2006 at 17:25:16 EDT.
Copyright IBM Corporation, 1990, 2005