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

PXIBK

Prolog  

Control Block Contents  
   PXIBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


PXIBK Prolog

 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


PXIBK DSECT

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

          
*** 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

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 V6R2.0. Last updated on 21 Nov 2011 at 11:16:15 EDT.
Copyright IBM Corporation, 1990, 2011