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

#### LOCBK

Prolog

Control Block Contents
LOCBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### LOCBK Prolog

     Name       : HCPLOCBK
     Description: C System Services Lock block
     DSECT      : LOCBK
     Function   : C System Services Lock block used to describe the
                  spin lock used by platform specific C Services
     Located by : Passed as argument on lock, unlock, testLock
                  and eventWait services
     Created by : allocateLock service
     Deleted by : deallocateLock service
     Serialized : CP lock routines
     Notes      : This COPY file was modeled after HCPSYNBK so the
                  existing CP spin lock routines could be utilized.

#### LOCBK Control Block Content

#### LOCBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      LOCBK          C System Services Lock block
    0000    0 Dbl-Word     8 LOCSLOCK (6)   Spin lock
    0030   48 Dbl-Word     8 LOCTHRED       Pointer to thread which holds
                                            lock
              00000038       LOCBSIZE       *-LOCBK size in bytes
              00000007       LOCSIZE        (*-LOCBK+7)/8 size in double
                                            words
    0000    0 Dbl-Word     8 LOCLOCK (0)    First doubleword of the lock area
    0000    0 Bitstring    1 LOCSTATE       Lock word (0 = not held, else CPU
                                            id)
    0001    1 Bitstring    1 *              Reserved for future IBM use
    0002    2 Signed       2 LOCSHCNT       Shared hold count
    0004    4 Signed       2 LOCSEQ         Lock sequence number
    0006    6 Signed       2 LOCHCPAD       CPU addr of lock holder End of
                                            LOCLOCK area
    0008    8 Signed       2 LOCSWCNT       Shared wait count
    000A   10 Signed       2 LOCXWCNT       Exclusive wait count
    000C   12 Signed       4 LOCSSCNT       Shared spin count
    0010   16 Dbl-Word     8 LOCSTIME       Total elapsed shared spin time
    0018   24 Signed       4 LOCHOLDR       Address of holder of this lock
    001C   28 Signed       4 LOCXSCNT       Exclusive spin count
    0020   32 Dbl-Word     8 LOCXTIME       Total elapsed exclusive spin time
    0028   40 Signed       2 LOCPLSDS       Displacement of shared lock
                                            holder field into the PLSBK
    002A   42 Signed       2 *              Reserved for future IBM use
    002C   44 Signed       4 *              Reserved for future IBM use

#### LOCBK Storage Layout

    *** LOCBK - C System Services Lock block
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                       LOCSLOCK                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  30 |                       LOCTHRED                        |
    *     +-------------------------------------------------------+
    *  38
    *
    *** LOCBK - C System Services Lock block

    *** Overlay for LOCSLOCK in LOCBK
    *
    *     +------+------+-------------+-------------+-------------+
    *   0 |:STATE|//////|  LOCSHCNT   |   LOCSEQ    |  LOCHCPAD   |
    *     +------+------+-------------+-------------+-------------+
    *   8 |  LOCSWCNT   |  LOCXWCNT   |         LOCSSCNT          |
    *     +-------------+-------------+---------------------------+
    *  10 |                       LOCSTIME                        |
    *     +---------------------------+---------------------------+
    *  18 |         LOCHOLDR          |         LOCXSCNT          |
    *     +---------------------------+---------------------------+
    *  20 |                       LOCXTIME                        |
    *     +-------------+-------------+---------------------------+
    *  28 |  LOCPLSDS   |/////////////|///////////////////////////|
    *     +-------------+-------------+---------------------------+
    *  30
    *
    *** Overlay for LOCSLOCK in LOCBK

#### LOCBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    LOCBSIZE       0030 00000038
    LOCHCPAD       0006
    LOCHOLDR       0018
    LOCLOCK        0000
    LOCPLSDS       0028
    LOCSEQ         0004
    LOCSHCNT       0002
    LOCSIZE        0030 00000007
    LOCSLOCK       0000
    LOCSSCNT       000C
    LOCSTATE       0000
    LOCSTIME       0010
    LOCSWCNT       0008
    LOCTHRED       0030
    LOCXSCNT       001C
    LOCXTIME       0020
    LOCXWCNT       000A

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