| PGEBK | Back to Index page | 
| 
 Prolog Control Block Contents PGEBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions)  | 
  | 
| PGEBK Prolog | Top of page | 
 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).
 RELOCATION CONSIDERATIONS : None
 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 | Top of page | 
  | 
| PGEBK Storage Layout | Top of page | 
          
*** PGEBK - Page Allocation Management Block
*
*     +-------------------------------------------------------+
*   0 |                        PGEEYE                         |
*     +---------------------------+---------------------------+
*   8 |         PGENEXT           |         PGEINST           |
*     +---------------------------+---------------------------+
*  10 |         PGELNKBK          |         PGEVMDBK          |
*     +---------------------------+---------------------------+
*  18 |         PGECLAIM          |         PGELOGIC          |
*     +---------------------------+---------------------------+
*  20 |         PGEBFLEN          |         PGEDATOF          |
*     +---------------------------+---------------------------+
*  28 |         PGEDATLN          |         PGEALET           |
*     +---------------------------+---------------------------+
*  30 |         PGEVIRT           |         PGECRPTR          |
*     +---------------------------+---------------------------+
*  38 |         PGECRWRD          |         PGECRW2           |
*     +---------------------------+---------------------------+
*  40 |         PGEOWPTR          |         PGEOWWRD          |
*     +---------------------------+---------------------------+
*  48 |         PGEOWW2           |///////////////////////////|
*     +---------------------------+---------------------------+
*  50 |                       PGEIASIT                        |
*     +-------------------------------------------------------+
*  58 |                       PGEIDAW                         |
*     +-------------------------------------------------------+
*  60
*
*** PGEBK - Page Allocation Management Block
  | 
| PGEBK Cross Reference | Top of page | 
Symbol Dspl Value -------------- ---- ----- PGEALET 002C PGEBFLEN 0020 PGECLAIM 0018 PGECRPTR 0034 PGECRWRD 0038 PGECRW2 003C PGEDATLN 0028 PGEDATOF 0024 PGEEYE 0000 PGEIASIT 0050 PGEIDAW 0058 PGEINST 000C PGELNKBK 0010 PGELOGIC 001C PGENEXT 0008 PGEOWPTR 0040 PGEOWWRD 0044 PGEOWW2 0048 PGESIZE 0058 0000000C PGEVIRT 0030 PGEVMDBK 0014  | 
Copyright IBM Corporation, 1990, 2018