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

#### PGEBK

Prolog

Control Block Contents
PGEBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### PGEBK Prolog

     NAME       : HCPPGEBK
     DESCRIPTION: Page Allocation Management Block
     DSECT      : PGEBK
     FUNCTION   : Maintain a record of virtual pages that have
                  been allocated within the virtual address space
                  used for the ISFC subsystem and within virtual address
                  spaces of applications using ISFC.
                  This control block resides in CP real storage, but
                  the buffer that it represents may reside in CP real
                  storage (in which case, PGEALET will be zero) or in
                  a "permanently" accessed address space (in which case
                  PGEALET will be the ALET of the address space).
     NOTES      : ISFC does not require the application data to start
                  in the first byte of the buffer, or extend to the
                  end of the buffer.  The field PGEDATOF holds the
                  offset of the data, and the field PGEDATLN holds
                  the length of the data.  Some communications protocols
                  (for example, SNA) may need to wrap the data with a
                  header and/or trailer after the data is in the buffer.
                  If the mailbox initializes PGEDATOF and PGEDATLN when
                  the data is placed in the buffer, it can add header
                  and/or trailer records later (without the cost of
                  copying the data to another buffer).
                  The prototypical PL/X basing expression is:
         respecify
           buffer  based(viaptr(pgeALET, pgeVirt+pgeDatOf))
                  Of course, the buffer can only be accessed in AR-mode.
                  Each buffer has a unique creator, and a current owner.
                  Only the current owner of a buffer may reference and/or
                  modify the buffer and/or the fields in the buffer
                  descriptor -- only the buffer's creator may deallocate the
                  storage occupied by the buffer and/or the PGEBK.  When a
                  buffer has been consumed, it should be returned to its
                  creator by calling the creator's RECLAIM-BUF exit, which
                  is pointed to by the PGECLAIM field.
                  The fields in this control block are initialized by the
                  buffer's creator -- all of them are read-only to everyone
                  else *except* for PGENEXT, PGEDATOF, PGEDATLN, and the
                  owner pointers and words.
     LOCATED BY : When a virtual page is in use, the PGEBK address
                  is stored in an appropriate control block.  For
                  example: The CTCBK contains a table with one
                  PGEBK pointer for each buffer that has been set
                  up for the Read channel program.
     CREATED BY : For ISFC, created by HCPBUT when a new virtual page buffer
                  is requested.  PGEBKs that HCPBUT creates always have
                  host virtual addresses from the ISFC Address Space ass-
                  ociated with them.  PGEBKs are also obtained by other
                  communication transports without using HCPBUT and by
                  applications that use ISFC services.
     DELETED BY : For ISFC, deleted by HCPBUT when the virtual page buffer
                  is released.  PGEBKs obtained by other communications
                  transports without using HCPBUT must not be returned using
                  HCPBUT.  These must be returned using a method appropriate
                  with respect to how they were obtained by the transport.
                  See description of PGECLAIM above.
     SERIALIZED : The ISFC global lock (HCPBDSGL).

#### PGEBK Control Block Content

#### PGEBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      PGEBK          Page Allocation Management Block
    0000    0 Bitstring    8 PGEEYE         Unused eye catcher
    0008    8 Address      4 PGENEXT        Address of next PGEBK
    000C   12 Signed       4 PGEINST        ISFC instance for this virt. page
    0010   16 Address      4 PGELNKBK       LNKBK address received over
    0014   20 Address      4 PGEVMDBK       VMDBK of address space address
    0018   24 Address      4 PGECLAIM       Address of entry point
    001C   28 Signed       4 PGEREAL        Real address of locked page
    0020   32 Signed       4 PGEBFLEN       Length of buffer
    0024   36 Signed       4 PGEDATOF       Offset of data into buffer
    0028   40 Signed       4 PGEDATLN       Length of data in buffer
    002C   44 Signed       4 PGEALET        ALET that can be used to refer to
                                            the system virtual address in
                                            PGEVIRT with CP in DAT-on, host
                                            Access Register mode.
    0030   48 Signed       4 PGEVIRT        Virtual page address relative to
                                            the ALET
    0034   52 Address      4 PGECRPTR       Pointer for creators use
    0038   56 Signed       4 PGECRWRD       Word for creators use
    003C   60 Signed       4 PGECRW2        Word 2 for creators use
    0040   64 Address      4 PGEOWPTR       Pointer for owners use
    0044   68 Signed       4 PGEOWWRD       Word for owners use
    0048   72 Signed       4 PGEOWW2        Word 2 for owners use
    004C   76 Signed       4 *              Reserved
    0050   80 Dbl-Word     8 PGEIASIT       I-ASIT for page
              0000000B       PGESIZE        (*-PGEBK+7)/8 Size, in
                                            doublewords, of PGEBK

#### PGEBK Storage Layout

    *** PGEBK - Page Allocation Management Block
    *
    *     +-------------------------------------------------------+
    *   0 |                        PGEEYE                         |
    *     +---------------------------+---------------------------+
    *   8 |         PGENEXT           |         PGEINST           |
    *     +---------------------------+---------------------------+
    *  10 |         PGELNKBK          |         PGEVMDBK          |
    *     +---------------------------+---------------------------+
    *  18 |         PGECLAIM          |         PGEREAL           |
    *     +---------------------------+---------------------------+
    *  20 |         PGEBFLEN          |         PGEDATOF          |
    *     +---------------------------+---------------------------+
    *  28 |         PGEDATLN          |         PGEALET           |
    *     +---------------------------+---------------------------+
    *  30 |         PGEVIRT           |         PGECRPTR          |
    *     +---------------------------+---------------------------+
    *  38 |         PGECRWRD          |         PGECRW2           |
    *     +---------------------------+---------------------------+
    *  40 |         PGEOWPTR          |         PGEOWWRD          |
    *     +---------------------------+---------------------------+
    *  48 |         PGEOWW2           |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  50 |                       PGEIASIT                        |
    *     +-------------------------------------------------------+
    *  58
    *
    *** PGEBK - Page Allocation Management Block

#### PGEBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    PGEALET        002C
    PGEBFLEN       0020
    PGECLAIM       0018
    PGECRPTR       0034
    PGECRWRD       0038
    PGECRW2        003C
    PGEDATLN       0028
    PGEDATOF       0024
    PGEEYE         0000
    PGEIASIT       0050
    PGEINST        000C
    PGELNKBK       0010
    PGENEXT        0008
    PGEOWPTR       0040
    PGEOWWRD       0044
    PGEOWW2        0048
    PGEREAL        001C
    PGESIZE        0050 0000000B
    PGEVIRT        0030
    PGEVMDBK       0014

This information is based on z/VM V4R3.0. Last updated on 1 May 2002 at 09:41:39 EDT.
Copyright IBM Corporation, 1990, 2002