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

#### NSUBK

Prolog

Control Block Contents
NSUBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### NSUBK Prolog

     NAME       : HCPNSUBK
     DESCRIPTION: Auxillary Storage Management utility data
     DSECT      : NSUBK
     FUNCTION   : This block will map the ASM data module HCPNSUDA.
     LOCATED BY : This block is located in HCPNSUDA.
     NOTES      :
                      Data Queue Definitions
                      ----------------------
      Saved Segment SNTBK queue: The Saved Segment SNTBK queue is
      a list of SNTBKs that represents each DCSS and Segment Space
      that is currently loaded by at least one user. Its header
      is NSUSGQAN.
      Named Saved System SNTBK queue: The Named Saved System SNTBK
      queue is a list of SNTBKs that represents each Named Saved
      System that is IPL'd by at least one user. Its header is
      NSUSYQAN.
      *NSS SDF queue: The *NSS SDF queue is a list of all Saved
      Segment and Named Saved System SDF files. Whenever a Saved
      Segment or Named Saved System is defined a spool file is
      created and put onto this queue. When the first DIAG X'64'
      Load or CP IPL command is processed for the Saved Segment
      or Named Saved System, the SDF file is opened, the SNTBK
      description page is read into storage and put onto the
      Saved Segment SNTBK or Named Saved System SNTBK queue
      respectively. If the Saved Segment is a member segment then
      the Segment Space SNTBK will be put onto the Saved Segment
      SNTBK queue. The SDF file remains open for read as long as
      at least one user has the Saved Segment loaded or the Named
      Saved System IPLed. The header of the *NSS SDF queue is
      located in the FILID table (reserved entry *NSS).
      VMDBK/SHRBK queue: The VMDBK/SHRBK is a queue of SHRBKs
      that represents a DIAG X'64' Load or CP IPL command for
      the owner of the VMDBK. Each time a Saved Segment or Named
      Saved System is loaded a SHRBK is added to this queue. It
      is removed by a DIAG X'64' Purge request or a system reset.
      The header of the VMDBK/SHRBK is VMDSHRPT.
      SNTBK/SHRBK queue: The SNTBK/SHRBK is a queue of SHRBKs that
      represents a DIAG X'64' Load or CP IPL command for this
      Saved Segment or Named Saved System. Each time a Saved
      Segment or Named Saved System is loaded a SHRBK is added to
      this queue. It is removed by a DIAG X'64' Purge request or
      a system reset. The header of the SNTBK/SHRBK is SNTSHRPT.
      SAVESEG SNTBK queue: The SAVESEG SNTBK queue is a list of
      SNTBKs that represents each Saved Segment that is currently
      being saved. This queue should be referenced by any CP
      function (such as Query or Purge NSS) that needs to obtain
      information about a Saved Segment that is currently being
      saved. The header of the SAVESEG queue is NSUSSGAN.
      SAVESYS SNTBK queue: The SAVESYS SNTBK queue is a list of
      SNTBKs that represents each Named Saved System that is
      currently being saved. This queue should be referenced by
      any CP function (such as Query or Purge NSS) that needs to
      obtain information about a Named Saved System that is
      currently being saved. The header of the SAVESYS queue is
      NSUSSYAN.
      Lock Hierarchy for Saved Segment or Named Saved System
      ------------------------------------------------------
      Level 1 Locks: VMDBK/SHRBK queue lock (VMDSHRLK)
                     DEFSEG/SAVESEG exclusive command lock
                       (NSUDSGLK)
                     DEFSYS/SAVESYS symbolic command lock
                       (NSUDSYAN)
      Level 2 Lock:  *NSS SDF queue lock (NSUSDFLK)
      Level 3 Lock:  Named Saved System SNTBK queue lock
                     (NSUSYQLK)
      Level 4 Lock:  Saved Segment SNTBK queue lock (NSUSGQLK)
      Level 5 Lock:  SNTBK/SHRBK queue lock (SNTSHRLK) for one of
                       Member Saved Segment, DCSS, or Named Saved
                       System
      Level 6 Lock:  SNTBK/SHRBK queue lock (SNTSHRLK) for Segment
                       Space
      Note: 1) The level 1 locks are the hightest level locks and
               the level 6 locks are the lowest level locks.
            2) If locks need to be obtained from different levels,
               then the higher level lock needs to be obtained
               first.
            See the definition and description of each individual
            lock for more detailed information.
      Saved Segment or Named Saved System serialization matrix
      --------------------------------------------------------
              +-----------------+-----+-----+-----+-----+-----+
              |      LVL1       | LVL2| LVL3| LVL4| LVL5| LVL6|
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      | Func- | VMD | Def | Def | *NSS| NSS | Sseg| SNT | SNT |
      | tion  | SHR | Save| Save| SDF |  Q  |  Q  | SHR | SHR |
      |       |  Q  | seg | SYS |  Q  | lock| lock|  Q  |  Q  |
      |       | lock| cmd | cmd | lock|     |     | Lock| Lock|
      |       |     | lock| lock|     |     |     |     |(SSP)|
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DEFSEG |     | exc |     | exc |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |SAVESEG|     | exc |     | exc |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DIAG 64|     |     |     |     |     | shr |     |     |
      |Find-1 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DIAG 64|     |     |     | exc |     |     |     |     |
      |Find-2 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DIAG 64| exc |     |     |     |     | shr | exc | exc |
      |Load-1 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DIAG 64| exc |     |     | exc |     | exc |     |     |
      |Load-2 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DIAG 64| exc |     |     |     |     | shr | exc | exc |
      |Purge1 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DIAG 64| exc |     |     | exc |     | exc |     |     |
      |Purge2 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |Q NSS  |     |     |     | exc |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |Q NSS  |     |     |     |     | shr | shr | shr | shr |
      |USERS  |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |Inter  | exc |     |     |     | shr | shr | exc | exc |
      |Purge-1|     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |Inter  | exc |     |     | exc | exc | exc |     |     |
      |Purge-2|     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |DEFSYS |     |     | exc | exc |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |SAVESYS|     |     | exc | exc |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      | IPL   | exc |     |     | shr | shr |     | exc |     |
      | NSS-1 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      | IPL   | exc |     |     | exc | exc |     |     |     |
      | NSS-2 |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |Monitor|     |     |     |     | shr | shr |     |     |
      |Sample |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |Monitor| shr |     |     |     |     |     |     |     |
      | IUCV  |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      | Purge |     |     |     | exc | exc | exc |     |     |
      | Cmd   |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      | Indi- |     |     |     |     | shr | shr |     |     |
      | cate  |     |     |     |     |     |     |     |     |
      | NSS   |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |VMdump | exc |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      |Mig-   |     |     |     |     | shr | shr |     |     |
      |rator  |     |     |     |     |     |     |     |     |
      +-------+-----+-----+-----+-----+-----+-----+-----+-----+
      Notes:
      DIAG 64 Find-1 : Find a Saved Segment from the Saved Segment
                       SNTBK queue
      DIAG 64 Find-2 : Find a Saved Segment from the *NSS SDF
                       queue
      DIAG 64 Load-1 : Load a Saved Segment from the Saved Segment
                       SNTBK queue.
      DIAG 64 Load-2 : Load a Saved Segment from the *NSS SDF
                       queue
      DIAG 64 Purge1 : 'use-count' > 1, not the last user.
      DIAG 64 Purge2 : 'use-count' = 1, last user of the Saved
                       Segment.
      Inter Purge-1  : 'Internal' Purge, 'use-count' > 1, not the
                       last user.
      Inter Purge-2  : 'Internal' Purge, 'use-count' = 1, last
                       user of the Saved Segment.
      IPL NSS-1      : IPLing a Named Saved System from the Named
                       Saved System SNTBK queue
      IPL NSS-2      : IPLing a Named Saved System from the *NSS
                       SDF queue

#### NSUBK Control Block Content

#### NSUBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      NSUBK          Auxillary Storage Management utility data
                  Saved Segment SNTBK Queue lock (NSUSGQLK)
               Lock type: This is a formal shared or exclusive lock
               Resource serialized: This lock will serialize the
               Saved Segment SNTBK queue. The lock will be obtained
               shared when scanning the Saved Segment SNTBK queue
               and exclusive when adding to, or deleting from, the
               queue.
               Notes      : If the *NSS SDF queue lock is held exclusively
               then the Saved Segment SNTBK queue can be scanned
               without holding the queue lock. This is because the
               *NSS SDF queue lock must be held exclusively to add
               or remove a SNTBK from the Saved Segment SNTBK queue.
    0000    0 Dbl-Word     8 NSUSGQLK (3)   Shared/exclusive defer lock to
                                            serialize the queue of Saved
                                            Segment SNTBKs anchored at
                                            NSUNSGAN
               Saved Segment SNTBK Queue anchors
    0018   24 Dbl-Word     8 NSUNSGAN (0)   Anchors to queue of Saved Segment
                                            SNTBKs
    0018   24 Address      4 NSUNSGFW       Foward pointer of Saved Segment
                                            SNTBKs
    001C   28 Address      4 NSUNSGBK       Backward pointer of Saved Segment
                                            SNTBKs
                 Named Saved System SNTBK Queue lock (NSUSYQLK)
               Lock type: This is a formal shared or exclusive lock
               Resource serialized: This lock will serialize the
               Named Saved System SNTBK queue. The lock will be
               obtained shared when scanning the Named Saved System
               SNTBK queue and exclusive when adding to, or deleting
               from, the queue.
               Notes      : If the *NSS SDF queue lock is held exclusively
               then the Named Saved System SNTBK queue can be scanned
               without holding the queue lock. This is because the
               *NSS SDF queue lock must be held exclusively to add
               or remove a SNTBK from the Named Saved System SNTBK
               queue.
    0020   32 Dbl-Word     8 NSUSYQLK (3)   Shared/exclusive defer lock to
                                            serialize the queue of NSS SNTBKs
                                            anchored at NSUNSYAN
                NSS SNTBK Queue anchors
    0038   56 Dbl-Word     8 NSUNSYAN (0)   Anchors to queue of NSS SNTBKs.
    0038   56 Address      4 NSUNSYFW       Foward pointer of NSS SNTBKs.
    003C   60 Address      4 NSUNSYBK       Backward pointer of NSS SNTBKs.
                IMG SNTBK Queue anchors and queue lock
    0040   64 Dbl-Word     8 NSUIMGLK (6)   Lockword for image SNTBK queue
                                            lock.
    0070  112 Dbl-Word     8 NSUIMGAN (0)   Anchors to image HCPSNTBK queue.
    0070  112 Address      4 NSUIMGFW       Foward pointer of HCPSNTBK image
                                            queue.
    0074  116 Address      4 NSUIMGBK       Backward pointer of HCPSNTBK
                                            image queue.
                NLS SNTBK Queue anchors and queue lock
    0078  120 Dbl-Word     8 NSUNLSLK (6)   Lockword for NLS SNTBK queue
                                            lock.
    00A8  168 Dbl-Word     8 NSUNLSAN (0)   Anchors to queue of NLS SNTBKs.
    00A8  168 Address      4 NSUNLSFW       Foward pointer of NLS SNTBKs.
    00AC  172 Address      4 NSUNLSBK       Backward pointer of NLS SNTBKs.
               Saveseg SNTBK Queue anchors
               Notes      : This queue is serialized by *NSS SDF queue lock
                     NSUSDFLK.
    00B0  176 Dbl-Word     8 NSUSSGAN (0)   Anchors to queue of SAVESEG
                                            SNTBKs
    00B0  176 Address      4 NSUSSGFW       Foward pointer of SAVESEG SNTBKs
    00B4  180 Address      4 NSUSSGBK       Backward pointer of SAVESEG
                                            SNTBKs
               Savesys SNTBK Queue anchors
               Notes      : This queue is serialized by *NSS SDF queue lock
                     NSUSDFLK.
    00B8  184 Dbl-Word     8 NSUSSYAN (0)   Anchors to queue of SAVESYS
                                            SNTBKs
    00B8  184 Address      4 NSUSSYFW       Foward pointer of SAVESYS SNTBKs
    00BC  188 Address      4 NSUSSYBK       Backward pointer of SAVESYS
                                            SNTBKs
    00C0  192 Signed       4 * (2)          Reserved for future IBM use
               DEFSEG/SAVESEG exclusive command lock (NSUDSGLK)
               Lock type: This is a formal exclusive lock
               Resource serialized: This lock serializes the DEFSEG
               and SAVESEG commands. Only one DEFSEG or SAVESEG
               command can be processed at one time.
    00C8  200 Dbl-Word     8 NSUDSGLK (3)   Exclusive defer lock to serialize
                                            the DEFSEG/SAVESEG command
               DEFSYS/SAVESYS symbolic command lock (NSUDSYAN)
               Lock type: This is a formal exclusive symbolic name
                          lock.
               Resource serialized: This lock serializes the DEFSYS
               and SAVESYS commands for the Named Saved System that
               is being defined or saved. Only one DEFSYS or SAVESYS
               can be processed for a particular Named Saved System
               at any given time.
    00E0  224 Dbl-Word     8 NSUDSYAN       Symbolic queue lock anchor to
                                            serialize the DEFSYS/SAVESYS
                                            command
                        *NSS SDF queue lock (NSUSDFLK)
               Lock type: This is a formal shared or exclusive lock
               Resource serialized: This lock will serialize the
               *NSS SDF queue, the SAVESEG SNTBK queue, and the
               SAVESYS SNTBK queue.
               Functions serialized: This lock must be obtained
               exclusive to open any "*NSS" spool file for read or
               write. It is also used to add or remove SNTBKs from
               the SAVESEG SNTBK queue and the SAVESYS SNTBK queue.
               Notes      : If the *NSS SDF queue lock is held exclusively
               then the Named Saved System SNTBK queue or Saved
               Segment SNTBK queue can be scanned without holding
               the queue lock. This is because the *NSS SDF queue
               lock must be held exclusively to add or remove a
               SNTBK from the Named Saved System SNTBK queue or the
               Saved Segment SNTBK queue.
    00E8  232 Dbl-Word     8 NSUSDFLK (3)   Exclusive defer lock to serialize
                                            the queue of SDFs owned by user
                                            *NSS
                 SDF multiple symbolic lock manager (NSUMSLKM)
               Lock type: This is a formal exclusive lock
               Functions serialized: This lock will be obtained by
               any CP function (such as "Purge IMG/NLS ALL") that
               needs to obtain multiple symbolic name locks for
               NLS/IMG files.
    0100  256 Dbl-Word     8 NSUMSLKM (3)   Exclusive defer lock to serialize
                                            entry points that obtain multiple
                                            symbolic locks
               IMG/NLS SDF symbolic queue lock anchor
    0118  280 Dbl-Word     8 NSUSYMAN       Symbolic queue lock anchor for
                                            IMG and NLS system data files.

#### NSUBK Storage Layout

    *** NSUBK - Auxillary Storage Management utility data
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                       NSUSGQLK                        =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  18 |         NSUNSGFW          |         NSUNSGBK          |
    *     +---------------------------+---------------------------+
    *  20 |                                                       |
    *     =                       NSUSYQLK                        =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  38 |         NSUNSYFW          |         NSUNSYBK          |
    *     +---------------------------+---------------------------+
    *  40 |                                                       |
    *     =                       NSUIMGLK                        =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  70 |         NSUIMGFW          |         NSUIMGBK          |
    *     +---------------------------+---------------------------+
    *  78 |                                                       |
    *     =                       NSUNLSLK                        =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  A8 |         NSUNLSFW          |         NSUNLSBK          |
    *     +---------------------------+---------------------------+
    *  B0 |         NSUSSGFW          |         NSUSSGBK          |
    *     +---------------------------+---------------------------+
    *  B8 |         NSUSSYFW          |         NSUSSYBK          |
    *     +---------------------------+---------------------------+
    *  C0 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  C8 |                                                       |
    *     =                       NSUDSGLK                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  E0 |                       NSUDSYAN                        |
    *     +-------------------------------------------------------+
    *  E8 |                                                       |
    *     =                       NSUSDFLK                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 100 |                                                       |
    *     =                       NSUMSLKM                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 118 |                       NSUSYMAN                        |
    *     +-------------------------------------------------------+
    * 120
    *
    *** NSUBK - Auxillary Storage Management utility data

#### NSUBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    NSUDSGLK       00C8
    NSUDSYAN       00E0
    NSUIMGAN       0070
    NSUIMGBK       0074
    NSUIMGFW       0070
    NSUIMGLK       0040
    NSUMSLKM       0100
    NSUNLSAN       00A8
    NSUNLSBK       00AC
    NSUNLSFW       00A8
    NSUNLSLK       0078
    NSUNSGAN       0018
    NSUNSGBK       001C
    NSUNSGFW       0018
    NSUNSYAN       0038
    NSUNSYBK       003C
    NSUNSYFW       0038
    NSUSDFLK       00E8
    NSUSGQLK       0000
    NSUSSGAN       00B0
    NSUSSGBK       00B4
    NSUSSGFW       00B0
    NSUSSYAN       00B8
    NSUSSYBK       00BC
    NSUSSYFW       00B8
    NSUSYMAN       0118
    NSUSYQLK       0020

This information is based on z/VM V6R1.0. Last updated on 18 Feb 2010 at 08:52:52 EDT.
Copyright IBM Corporation, 1990, 2008