VSPBK | Back to Index page

| Prolog Control Block Contents VSPBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

VSPBK Prolog | Top of page

     NAME       : HCPVSPBK
     DESCRIPTION: VIRTUAL SPOOLING DEVICE BLOCK
     DSECT      : VSPBK
     FUNCTION   : CONTAIN THE INFORMATION NECESSARY FOR SIM-
                  ULATION OF A VIRTUAL SPOOLING DEVICE
                  (READER, PRINTER, PUNCH, OR CONSOLE).
     LOCATED BY : VDEVVSP  : ANCHOR IN HCPVDEV
     CREATED BY : HCPABNDS : MUST CREATE A DUMMY SPOOLING
                  PRINTER ON WHICH A PRINTABLE
                  DUMP MAY BE CREATED.
                  HCPVSPBV : BUILD A VSPBK FOR A SPOOLING
                  DEVICE.
     DELETED BY : HCPABNDS : ONCE A PRINTABLE DUMP ON THE
                  DUMMY PRINTER HAS BEEN CREATED.
                  HCPDTDEV : WHEN DELETING A VIRTUAL DEVICE.
     RELOCATION CONSIDERATIONS : This control block is relocated as part of a live
                  guest relocation (LGR).  The bits and fields that
                  need to be relocated are defined in the
                  corresponding LGRVSPBK COPY file.  Whenever changes
                  are made to this control block, consideration must
                  be given to any effects these changes will have on
                  a relocation.  If any new fields or bits are
                  defined, they may need to be relocated.  If
                  existing bits or fields are changed, corresponding
                  modifications may be required in the LGR version of
                  this control block.  Consider also the effects of
                  these changes on a relocation involving a back-level
                  release of CP.

VSPBK Control Block Content | Top of page

     VSPBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      VSPBK          VIRTUAL SPOOLING DEVICE BLOCK
    0000    0 Bitstring    1 VSPQFLG        SPOOL FILE QUEUE FLAG
              1... ....      VSPRDR         X'80' VSPRDR CHAIN ON RDR QUEUE
                                            AT CLOSE
              .1.. ....      VSPPUN         X'40' VSPPUN CHAIN ON PUN QUEUE
                                            AT CLOSE
              ..1. ....      VSPPRT         X'20' VSPPRT CHAIN ON PRT QUEUE
                                            AT CLOSE The above three defines
                                            (VSPRDR, VSPPUN and VSPPRT) must
                                            match the SPFORDQ, SPFOPUQ and
                                            SPFOPRQ defines in the SPFBK as
                                            they are sometimes used
                                            interchangeably when referencing
                                            a field or the field is moved
                                            from the VSPBK into the SPFBK.
              ...1 ....      VSPSRCID       X'10' VSPSRCID DIAGNOSE X'F8'
                                            ORIGINAL NODE AND USERID ARE
                                            ASSOCIATED WITH THIS VIRTUAL
                                            DEVICE
    0001    1 Bitstring    1 VSPCFLG        SPOOLING DEVICE CONTROL FLAG
              1... ....      VSPACTV        X'80' VSPACTV SPOOLING TASK
                                            ACTIVE ON THE DEVICE
              .1.. ....      VSPCPYZ        X'40' VSPCPYZ COPY COUNT ZERO -
                                            FILE TO BE PURGED
              ..1. ....      VSPDLOUT       X'20' VSPDLOUT Delete output flag
                                            - used to indicate the stack of
                                            output on VSPDSTK is much too
                                            large and attempts to stack any
                                            more result in the new one being
                                            thrown away
              ...1 ....      VSPOPMSG       X'10' VSPOPMSG Operator msg flag
                                            - used to remember that an
                                            informational msg has been sent
                                            to the operator indicating that
                                            console output for this user is
                                            being thrown away because more
                                            output is being generated than
                                            can be written out. Turned on
                                            when a threshold number of output
                                            lines is stacked on VSPDSTK and
                                            off again when the stack size is
                                            emptied
              .... ...1      VSPDFRST       X'01' VSPDFRST Deferred VSPSTRT
                                            value to be set at completion of
                                            Live Guest Relocation
    0002    2 Bitstring    1 VSPLPP         Lines-per-page value (00 or
                                            30-255)
    0003    3 Bitstring    1 *              Reserved for future IBM use
    0004    4 Address      4 VSPQSCH        SPFBK LAST 'FOUND' IN DIAG.
                                            SUPPORT
    0008    8 Address      4 VSPSPF         POINTER TO ACTIVE SPFBK
    000C   12 Address      4 VSPSPA         POINTER TO CURRENT SPABK
    0010   16 Address      4 VSPGSDT        POINTER TO GSDBK CONTAINING TAG
                                            DATA
    0014   20 Signed       4 VSPSDL         Address of the SDLBK - used by
                                            SPOOL
    0018   24 Address      4 VSPDSTK        LOCAL SPOOLING TASK STACK
                                            (CPEBK'S)
    001C   28 Address      4 VSPLSTK        Last CPEBK on task stack
                 THE FOLLOWING FIELDS CONTAIN SPOOLING OPTIONS FOR
                 THE VIRTUAL SPOOLING DEVICE.  SPOOL FILES CREATED
                 ON THIS DEVICE WILL INHERIT THESE OPTIONS.
    0020   32 Bitstring    1 VSPOFLG        VIRTUAL DEVICE SPOOL OPTIONS FLAG
              1... ....      VSPCONT        X'80' VSPCONT 'CONT' OPTION SET
              .1.. ....      VSPHOLD        X'40' VSPHOLD 'HOLD' OPTION SET
              ..1. ....      VSPKEEP        X'20' VSPKEEP 'KEEP' OPTION SET
              ...1 ....      VSPMSG         X'10' VSPMSG 'MSG' OPTION SET
              .... 1...      VSPSTRT        X'08' VSPSTRT 'START' OPTION SET
              .... .1..      VSPTERM        X'04' VSPTERM 'TERM' OPTION SET
              .... ..1.      VSPEOF         X'02' VSPEOF 'EOF' OPTION SET
              .... ...1      VSPFOR         X'01' VSPFOR 'FOR' TARGET
                                            SPECIFIED
    0021   33 Bitstring    1 VSP3800F       VIRTUAL 3800 PRINTER FLAGS
              1... ....      VSPFLALL       X'80' VSPFLALL FLASH ALL COPIES
                                            OF THE FILE
    0022   34 Bitstring    1 VSPCOPY        FILE COPY COUNT
    0023   35 Bitstring    1 VSPPGCPY       PAGE COPY COUNT (USED ONLY FOR
                                            3800)
    0024   36 Bitstring    1 VSPFLSHC       3800 FLASH COUNT FOR SPOOL FILES
    0025   37 Bitstring    1 VSPMODNO       3800 COPY MOD CHAR SET NUMBER
                                            (0-3)
    0026   38 Character    1 VSPCLASS       SPOOL CLASS (A-Z OR 0-9)
    0027   39 Bitstring    1 VSPGFLAG       General flags Serialized by
                                            Compare-and-Swap on VSPCSLCK.
              1... ....      VSPRDEFF       X'80' Need to count files read to
                                            EOF
              .1.. ....      VSPRSCN        X'40' 'RESCAN' option set
    0028   40 Character    1 VSPBEGCF (0)   Beginning of character data
    0028   40 Character    8 VSPUSER        USERID TO RECIEVE RESULTING SPOOL
                                            FILES
    0030   48 Character    8 VSPDIST        DISTRIBUTION CODE
    0038   56 Dbl-Word     8 VSPDEST        DESTination field
    0040   64 Character    8 VSPFINAM       FILENAME
    0048   72 Character    8 VSPFITYP       FILETYPE
    0050   80 Character    8 VSPFORM        FORM NAME
    0058   88 Character    4 VSPFLASH       3800 FORMS OVERLAY (FLASH) NAME
    005C   92 Character    4 VSPFCB         3800 FORMS CONTROL BUFFER (FCB)
                                            NAME
    0060   96 Character    4 VSPCMOD        3800 COPY MODIFICATION NAME
    0064  100 Character   16 VSPCHARS (0)   LENGTH ATTRIBUTE TO CLEAR CHAR0 -
                                            CHAR3
    0064  100 Character    4 VSPCHAR0       3800 CHARACTER SET NAME - FIRST
    0068  104 Character    4 VSPCHAR1       3800 CHARACTER SET NAME - SECOND
    006C  108 Character    4 VSPCHAR2       3800 CHARACTER SET NAME - THIRD
    0070  112 Character    4 VSPCHAR3       3800 CHARACTER SET NAME - FOURTH
              0000004B       VSPCLRCF       (*-VSPBEGCF)-1 Length to clear
                                            Cfields
    0074  116 Signed       4 VSPXLEN        Length of the XAB, if any
    0078  120 Signed       4 VSPXABS (8)    XAB pages
    0098  152 Signed       4 VSPRDEOF       Number of files read to EOF.
                                            Serialized by Compare-and-Swap on
                                            VSPCSLCK. Instantaneous access,
                                            for example thru ICM
                                            instructions, is permitted
                                            without holding the lock,
                                            provided that a change in value
                                            will NOT cause problems
    009C  156 Signed       4 VSPCSLCK       Compare-and-Swap lock word.
                                            Serializes access to VSPRDEOF and
                                            VSPGFLAG. Valid values are: 0 =
                                            not held 1 = held -1 = destroyed
                                            by DETACH DEVICE It is the
                                            caller's responsibility to check
                                            the value of the lockword when CS
                                            fails, and take appropriate
                                            action. NOTES : DO NOT LOSE
                                            CONTROL WHILE HOLDING IT !! It is
                                            also recommended that path
                                            lengths while holding the lock
                                            should be kept to a minimum.
    00A0  160 Character    8 VSPSRCND       Diagnose X'F8' original node
    00A8  168 Character    8 VSPSRCUS       Diagnose X'F8' original userid
    00B0  176 Signed       4 VSPDSTKC       Count of CPEBKs stacked on
                                            VSPDSTK
    00B4  180 Signed       4 *              Reserved for future IBM use
              00000004       VSPXABEL       4 Length of a single XAB entry
              00000008       VSPXABCT       8 Loop control for dealing with
                                            XAB slots
              00000017       VSPSIZE        (*-VSPBK+7)/8 VSPBK SIZE IN
                                            DOUBLE-WORDS

VSPBK Storage Layout | Top of page

    *** VSPBK - VIRTUAL SPOOLING DEVICE BLOCK
    *
    *     +------+------+------+------+---------------------------+
    *   0 |:QFLG |:CFLG |VSPLPP|//////|         VSPQSCH           |
    *     +------+------+------+------+---------------------------+
    *   8 |          VSPSPF           |          VSPSPA           |
    *     +---------------------------+---------------------------+
    *  10 |         VSPGSDT           |          VSPSDL           |
    *     +---------------------------+---------------------------+
    *  18 |         VSPDSTK           |         VSPLSTK           |
    *     +------+------+------+------+------+------+------+------+
    *  20 |:OFLG |:3800F|:COPY |:PGCPY|:FLSHC|:MODNO|:CLASS|:GFLAG|
    *     +------+------+------+------+------+------+------+------+
    *  28 |                       VSPUSER                         |
    *     +-------------------------------------------------------+
    *  30 |                       VSPDIST                         |
    *     +-------------------------------------------------------+
    *  38 |                       VSPDEST                         |
    *     +-------------------------------------------------------+
    *  40 |                       VSPFINAM                        |
    *     +-------------------------------------------------------+
    *  48 |                       VSPFITYP                        |
    *     +-------------------------------------------------------+
    *  50 |                       VSPFORM                         |
    *     +---------------------------+---------------------------+
    *  58 |         VSPFLASH          |          VSPFCB           |
    *     +---------------------------+---------------------------+
    *  60 |         VSPCMOD           |         VSPCHAR0          |
    *     +---------------------------+---------------------------+
    *  68 |         VSPCHAR1          |         VSPCHAR2          |
    *     +---------------------------+---------------------------+
    *  70 |         VSPCHAR3          |         VSPXLEN           |
    *     +---------------------------+---------------------------+
    *  78 |                                                       |
    *     =                       VSPXABS                         =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  98 |         VSPRDEOF          |         VSPCSLCK          |
    *     +---------------------------+---------------------------+
    *  A0 |                       VSPSRCND                        |
    *     +-------------------------------------------------------+
    *  A8 |                       VSPSRCUS                        |
    *     +---------------------------+---------------------------+
    *  B0 |         VSPDSTKC          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  B8
    *
    *** VSPBK - VIRTUAL SPOOLING DEVICE BLOCK

VSPBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    VSPACTV        0001 80
    VSPBEGCF       0028
    VSPCFLG        0001
    VSPCHARS       0064
    VSPCHAR0       0064
    VSPCHAR1       0068
    VSPCHAR2       006C
    VSPCHAR3       0070
    VSPCLASS       0026
    VSPCLRCF       0070 0000004B
    VSPCMOD        0060
    VSPCONT        0020 80
    VSPCOPY        0022
    VSPCPYZ        0001 40
    VSPCSLCK       009C
    VSPDEST        0038
    VSPDFRST       0001 01
    VSPDIST        0030
    VSPDLOUT       0001 20
    VSPDSTK        0018
    VSPDSTKC       00B0
    VSPEOF         0020 02
    VSPFCB         005C
    VSPFINAM       0040
    VSPFITYP       0048
    VSPFLALL       0021 80
    VSPFLASH       0058
    VSPFLSHC       0024
    VSPFOR         0020 01
    VSPFORM        0050
    VSPGFLAG       0027
    VSPGSDT        0010
    VSPHOLD        0020 40
    VSPKEEP        0020 20
    VSPLPP         0002
    VSPLSTK        001C
    VSPMODNO       0025
    VSPMSG         0020 10
    VSPOFLG        0020
    VSPOPMSG       0001 10
    VSPPGCPY       0023
    VSPPRT         0000 20
    VSPPUN         0000 40
    VSPQFLG        0000
    VSPQSCH        0004
    VSPRDEFF       0027 80
    VSPRDEOF       0098
    VSPRDR         0000 80
    VSPRSCN        0027 40
    VSPSDL         0014
    VSPSIZE        00B4 00000017
    VSPSPA         000C
    VSPSPF         0008
    VSPSRCID       0000 10
    VSPSRCND       00A0
    VSPSRCUS       00A8
    VSPSTRT        0020 08
    VSPTERM        0020 04
    VSPUSER        0028
    VSPXABCT       00B4 00000008
    VSPXABEL       00B4 00000004
    VSPXABS        0078
    VSPXLEN        0074
    VSP3800F       0021

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:31:45 EDT.
Copyright IBM Corporation, 1990, 2020