Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
VSPBK
Control Block Contents
VSPBK DSECT
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
Copyright IBM Corporation, 1990, 2011