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

VSPBK

Prolog  

Control Block Contents  
   VSPBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


VSPBK Prolog

 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


VSPBK DSECT

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

          
*** 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

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 V6R2.0. Last updated on 21 Nov 2011 at 11:31:51 EDT.
Copyright IBM Corporation, 1990, 2011