PXIBK | Back to Index page

| Prolog Control Block Contents PXIBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

PXIBK Prolog | Top of page

     NAME       : HCPPXIBK
     DESCRIPTION: POSIX IDs Block
     DSECT      : PXIBK
     FUNCTION   : Contain the POSIX IDs associated with a
                  process.
     LOCATED BY : PXINEXT
                  SYSPXIBK
                  VMDPXIBK
     CREATED BY : HCPPXCBS
                  HCPPXCCR
                  HCPPXDLN
     DELETED BY : HCPPXCRL
     SERIALIZED : The VMDPXILK serializes access to the
                  PXIBK chain, and the PXILOCK serializes access to
                  the data in a PXIBK.
     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 LGRPXIBK 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.
     COMMENTS   : This block contains the POSIX user IDs
                  (UIDs) and POSIX group IDs (GIDs), and it points to
                  the supplementary group IDs (SGIDs).  These are
                  initially set or derived from the "POSIX database".
                  Since this block contains most of the environmental
                  information CP has about a POSIX process, it is
                  often referred to as a "process context".
                  See the HCPPXC module prolog for more serialization
                  and data structure details.
                  Any time this block is included in a module, the
                  HCPPSGBK must also be included, because the PXIBK
                  references fields defined in the PSGBK.

PXIBK Control Block Content | Top of page

     PXIBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      PXIBK          POSIX IDs Block
    0000    0 Dbl-Word     8 PXILOCK (3)    PXIBK lockword. It is used to
                                            serialize access to the PXIBK
    0018   24 Address      4 PXINEXT        Address of next PXIBK on the
                                            chain of PXIBKs owned by this
                                            virtual configuration
    001C   28 Signed       4 PXIPID         POSIX process ID (PID) for the
                                            process whose IDs are contained
                                            here. Only valid in non-creation
                                            PXIBKs.
    0020   32 Address      4 PXIOWNER       Address of the base VMDBK of the
                                            configuration that owns this
                                            POSIX process
    0024   36 Bitstring    1 PXIFLAG        Option flags:
              1... ....      PXICREAT       X'80' PXICREAT Indicate this is
                                            the creation PXIBK (it is either
                                            an original or an alternate
                                            creation PXIBK)
              .1.. ....      PXIWPSG        X'40' PXIWPSG Indicates that this
                                            PXIBK contains a PSGBK at
                                            PXISGINF
              ..1. ....      PXIRELC0       X'20' PXIRELC0 Indicates that
                                            this PXIBK can be released as
                                            soon as PSGPXICT in the imbedded
                                            PSGBK becomes 0
    0025   37 Bitstring    1 * (3)          Reserved for IBM use
    0028   40 Bitstring   24 PXIIDS (0)     ALL IDs (UIDs and GIDs)
          Notes      : the subfields in PXIUIDS and PXIGIDS must be kept
          in the same order.
    0028   40 Bitstring   12 PXIUIDS (0)    All UIDs
    0028   40 Signed       4 PXIRUID        Real UID
    002C   44 Signed       4 PXIEUID        Effective UID
    0030   48 Signed       4 PXISSUID       Saved set-UID
          Notes      : the subfields in PXIUIDS and PXIGIDS must be kept
          in the same order.
    0034   52 Bitstring   12 PXIGIDS (0)    All GIDs (except SGIDs)
    0034   52 Signed       4 PXIRGID        Real GID
    0038   56 Signed       4 PXIEGID        Effective GID
    003C   60 Signed       4 PXISSGID       Saved set-GID
    0040   64 Address      4 PXIORGCR       Pointer to the original creation
                                            PXIBK. Only meaningful in the
                                            current creation PXIBK.
    0044   68 Address      4 PXIPSGBK       Pointer to this process's
                                            supplementary GID information
                                            (PSGBK)
              00000048       PXIHDRLN       (*-PXIBK) Size of fixed-length
                                            portion of the PXIBK, in bytes
    0048   72 Signed       4 PXISGINF (0)   Supplementary GID info area. It
                                            only exists in the creation
                                            PXIBK. It is pointed to by
                                            PXIPSGBK of all other PXIBKs in a
                                            vConfig. It is mapped by
                                            HCPPSGBK.
         **** THE VALUE OF NGMAXMAX FOR DATAMAP IS 125
              00000200       PXIMAXLN       (PSGHDRLN+(NGMAXMAX*L'PSGSGIDS))
                                            Maximum length of PXISGINF area,
                                            in bytes
              00000248       PXIMAXBS       (PXIHDRLN+PXIMAXLN) Maximum PXIBK
                                            size, in bytes
              00000049       PXIMAXDS       (PXIMAXBS+7)/8 Maximum PXIBK
                                            size, in doublewords

PXIBK Storage Layout | Top of page

    *** PXIBK - POSIX IDs Block
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                       PXILOCK                         =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  18 |         PXINEXT           |          PXIPID           |
    *     +---------------------------+------+--------------------+
    *  20 |         PXIOWNER          |:FLAG |////////////////////|
    *     +---------------------------+------+--------------------+
    *  28 |         PXIRUID           |         PXIEUID           |
    *     +---------------------------+---------------------------+
    *  30 |         PXISSUID          |         PXIRGID           |
    *     +---------------------------+---------------------------+
    *  38 |         PXIEGID           |         PXISSGID          |
    *     +---------------------------+---------------------------+
    *  40 |         PXIORGCR          |         PXIPSGBK          |
    *     +---------------------------+---------------------------+
    *
    *** PXIBK - POSIX IDs Block

PXIBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    PXICREAT       0024 80
    PXIEGID        0038
    PXIEUID        002C
    PXIFLAG        0024
    PXIGIDS        0034
    PXIHDRLN       0044 00000048
    PXIIDS         0028
    PXILOCK        0000
    PXIMAXBS       0048 00000248
    PXIMAXDS       0048 00000049
    PXIMAXLN       0048 00000200
    PXINEXT        0018
    PXIORGCR       0040
    PXIOWNER       0020
    PXIPID         001C
    PXIPSGBK       0044
    PXIRELC0       0024 20
    PXIRGID        0034
    PXIRUID        0028
    PXISGINF       0048
    PXISSGID       003C
    PXISSUID       0030
    PXIUIDS        0028
    PXIWPSG        0024 40

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:29:53 EDT.
Copyright IBM Corporation, 1990, 2020