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

QPXBK

Prolog  

Control Block Contents  
   QPXBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


QPXBK Prolog

 Name       : HCPQPXBK
 Description: Interface for POSIX ID query requests
 DSECT      : QPXBK
 Function   : Contain POSIX ID query specifications and
              responses, for Diagnose X'2A0'.
 Located by : none
 Created by : HCPPXI (copied from/to guest storage)
 Deleted by : HCPPXI
 Serialized : CP's copy of the QPXBK is fetched by
              HCPVINOP into (VMDVOBUF).  This area
              is governed by instruction-stream
              serialization.

 

QPXBK Control Block Content


QPXBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      QPXBK          Interface for POSIX ID query
                                        requests
     Input fields common to all functions
0000    0 Dbl-Word     8 QPXHDR (0)     Beginning of the header section
0000    0 Signed       2 QPXDIAGC       Diagnose code eyecatcher
          QPXDIAGC       QPXDIAGV       X'02A0' Required value for
                                        QPXDIAGC
0002    2 Signed       2 QPXFCODE       Diagnose function code:
          00000000       QPXFPROC       0 0 = Query IDs for process
          00000001       QPXFUSER       1 1 = Query user database by UID
                                        or user name
          00000002       QPXFGRP        2 2 = Query group database by GID
                                        or group name
          00000003       QPXFSGID       3 3 = Query supplementary groups
                                        for self or by user name
          00000004       QPXFCONF       4 4 = Query configuration
                                        environment
          00000000       *
0004    4 Signed       2 QPXDWLEN       Size of block in doublewords
0006    6 Bitstring    1 QPXFLAGS       Option flags:
          1... ....      QPXIDIN        X'80' Input argument is an ID
                                        (PID, UID, or GID). Report on
                                        that id.
          .1.. ....      QPXNAMIN       X'40' Input argument is a name
                                        (UNAME or GNAME). Report the
                                        database info on that name.
0007    7 Bitstring    1 QPXRSVD1       Reserved for IBM use
          00000008       QPXHDRL        *-QPXHDR Length of the header
                                        section
     QPXFCN's length will vary depend on the function code that was
     specified. (Notes : "I:", "O:", "IO:" designate fields used for input,
     output, or either, respectively.)
0008    8 Dbl-Word     8 QPXFCN (0)     Redefinition of the function
                                        unique data
     QPXFCN fields used for function QPXFPROC:
     ORG QPXFCN For function QPXFPROC:
0008    8 Signed       4 QPXPID         I: Process ID (PID) of target
                                        process, if QPXIDIN=1. Ignored if
                                        QPXIDIN=0.
000C   12 Signed       4 * (3)          Reserved for IBM use
0018   24 Signed       4 QPXRUID        O: Real UID of target process
001C   28 Signed       4 QPXRGID        O: Real GID of target process
0020   32 Signed       4 QPXEUID        O: Effective UID of target
                                        process
0024   36 Signed       4 QPXEGID        O: Effective GID of target
                                        process
0028   40 Signed       4 QPXSSUID       O: Saved set-UID of target
                                        process
002C   44 Signed       4 QPXSSGID       O: Saved set-GID of target
                                        process
          00000028       QPXF0DL        *-QPXFCN Length of function 0
                                        data
          00000030       QPXF0LEN       QPXF0DL+QPXHDRL Length of
                                        function 0 and header
          00000006       QPXF0SIZ       (QPXF0LEN+7)/8 Size of function 0
                                        QPXBK in DWs
     QPXFCN fields used for function QPXFUSER:
0008    8 Signed       4 QPXUID         IO: POSIX user ID (UID)
000C   12 Signed       4 QPXGID         O: POSIX group ID (GID)
0010   16 Character    8 QPXUNAME       IO: POSIX user name (VM userid)
0018   24 Character    8 QPXGNAME       O: POSIX group name
0020   32 Dbl-Word     8 QPXUDBPT (0)   I: Pointer to user DB info area
0020   32 Signed       4 QPXUDBAL       I: ..ALET for user DB info area
                                        .(used only in XC AR mode)
0024   36 Address      4 QPXUDBAD       I: ..Addr of user DB info area
0028   40 Signed       4 QPXUDBSZ       I: Size of user database area
002C   44 Signed       4 *              Reserved for IBM use User
                                        database info area contains these
                                        outputs: - Initial working
                                        directory: four-byte string
                                        length (0-1023) followed by
                                        string - Initial user program
                                        name: four-byte string length
                                        (0-1023) followed by string -
                                        File-system root: four-byte
                                        string length (0-1023) followed
                                        by string - End-of-data indicator
                                        (X'FFFFFFFF'). String values not
                                        specified in the user's database
                                        entry are returned as null
                                        strings (length zero).
          00000028       QPXF1DL        *-QPXFCN Length of function 1
                                        data
          00000030       QPXF1LEN       QPXF1DL+QPXHDRL Length of
                                        function 1 and header
          00000006       QPXF1SIZ       (QPXF1LEN+7)/8 Size of function 1
                                        QPXBK in DWs
     QPXFCN fields used for function QPXFGRP:
0008    8 Signed       4 *              Reserved for IBM use
000C   12 Signed       4 *              (QPXGID) IO: POSIX group ID (GID)
0010   16 Character    8 *              Reserved for IBM use
0018   24 Character    8 *              (QPXGNAME) IO: POSIX group name
0020   32 Dbl-Word     8 QPXUNMPT (0)   I: Pointer to member name area:
0020   32 Signed       4 QPXUNMAL       I: ..ALET for member name area
                                        .(used only in XC AR mode)
0024   36 Address      4 QPXUNMAD       I: ..Addr of member name area
          .... 1...      QPXUNMEL       8 Byte-length of one element in
                                        member-name list
          .... ..11      QPXUNMSH       3 Shift offset for QPXUNMEL
0028   40 Signed       4 QPXUNMSZ       I: Size of member name area in
                                        units of QPXUNMEL bytes
002C   44 Signed       4 QPXUNMCT       O: Actual number of members in
                                        group QPXUNMPT is used only if
                                        QPXUNMSZ^=0. When used, member
                                        name area contains as output an
                                        array of 8-character user names
                                        (VM userids) belonging to the
                                        designated group. The names are
                                        left-justified and padded with
                                        blanks.
          00000028       QPXF2DL        *-QPXFCN Length of function 2
                                        data
          00000030       QPXF2LEN       QPXF2DL+QPXHDRL Length of
                                        function 2 and header
          00000006       QPXF2SIZ       (QPXF2LEN+7)/8 Size of function 2
                                        QPXBK in DWs
     QPXFCN fields used for function QPXFSGID:
0008    8 Signed       4 * (2)          Reserved for IBM use
0010   16 Character    8 *              (QPXUNAME) I: POSIX user name (VM
                                        userid)
0018   24 Dbl-Word     8 *              Reserved for IBM use
0020   32 Dbl-Word     8 QPXGIDPT (0)   I: Pointer to SGID-list area:
0020   32 Signed       4 QPXGIDAL       I: ..ALET for SGID-list area
                                        .(used only in XC AR mode)
0024   36 Address      4 QPXGIDAD       I: ..Address of SGID-list area
          .... .1..      QPXGIDEL       4 Byte-length of one element in
                                        SGID list
          .... ..1.      QPXGIDSH       2 Shift offset for QPXGIDEL
0028   40 Signed       4 QPXGIDSZ       I: Size of SGID-list area in
                                        units of QPXGIDEL bytes
002C   44 Signed       4 QPXGIDCT       O: Actual number of SGIDs stored
                                        The SGID list contains as output
                                        an array of 4-byte unsigned
                                        integers representing the
                                        supplementary groups belonging to
                                        the current process (when
                                        QPXNAMIN=0) or to the specified
                                        user (when QPXNAMIN=1).
          00000028       QPXF3DL        *-QPXFCN Length of function 3
                                        data
          00000030       QPXF3LEN       QPXF3DL+QPXHDRL Length of
                                        function 3 and header
          00000006       QPXF3SIZ       (QPXF3LEN+7)/8 Size of function 3
                                        QPXBK in DWs
     QPXFCN fields used for function QPXFCONF:
0008    8 Signed       4 QPXNGMAX       O: POSIX NGROUPS_MAX value
000C   12 Signed       4 QPXRSVD2       Reserved for IBM use
0010   16 Character    8 *              (QPXUNAME) O: POSIX user name
                                        (login name)
          00000010       QPXF4DL        *-QPXFCN Length of function 4
                                        data
          00000018       QPXF4LEN       QPXF4DL+QPXHDRL Length of
                                        function 4 and header
          00000003       QPXF4SIZ       (QPXF4LEN+7)/8 Size of function 4
                                        QPXBK in DWs
     The following equates define return codes from diagnose X'2A0'. These
     values are passed back in register Ry. These return codes apply to all
     functions unless a parenthesized list of applicable function names
     precedes the description.
          00000000       QPXEOK         0 Function succeeded
          00000001       QPXECODE       1 Incorrect value in QPXDIAGC
          00000002       QPXEFUNC       2 Invalid function code in
                                        QPXFCODE
          00000003       QPXELEN        3 Length in QPXDWLEN below
                                        minimum allowed
          00000004       QPXEFLAG       4 Invalid option flags in
                                        QPXFLAGS
          00000005       QPXEAUTH       5 Requestor not authorized to
                                        obtain information about other
                                        user or process
          00000006       QPXENFND       6 Search operand (ID or name) not
                                        found
          00000007       QPXEOLEN       7 (FUSER,FGRP,FSGID) Output
                                        buffer too small for response.
                                        Length required has been placed
                                        in Ry+1, QPXUNMCT, or QPXGIDCT,
                                        respectively
          00000008       QPXEOADR       8 (FUSER,FGRP,FSGID) Output
                                        buffer ALET or address is
                                        invalid, or designated storage
                                        area is protected
          00000009       QPXEDBAS       9 (FUSER,FGRP,FSGID) User or
                                        group database is invalid or
                                        inacces- sible (applies to FSGID
                                        only when QPXNAMIN=1)
          0000000A       QPXEPXCA       10 (FPROC,FUSER,FGRP,FSGID) POSIX
                                        communication area has not been
                                        defined
          0000000B       QPXEAPID       11 (FPROC,FUSER,FGRP,FSGID)
                                        Active PID in POSIX communication
                                        area is not a PID allocated to
                                        the requesting virtural
                                        configuration

 

QPXBK Storage Layout

          
*** QPXBK - Interface for POSIX ID query requests
*
*     +-------------+-------------+-------------+------+------+
*   0 |  QPXDIAGC   |  QPXFCODE   |  QPXDWLEN   |:FLAGS|:RSVD1|
*     +-------------+-------------+-------------+------+------+
*   8 |          QPXPID           |///////////////////////////|
*     +---------------------------+///////////////////////////|
*     |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  18 |         QPXRUID           |         QPXRGID           |
*     +---------------------------+---------------------------+
*  20 |         QPXEUID           |         QPXEGID           |
*     +---------------------------+---------------------------+
*  28 |         QPXSSUID          |         QPXSSGID          |
*     +---------------------------+---------------------------+
*  30
*
*** QPXBK - Interface for POSIX ID query requests
          
*** Overlay for QPXFCN in QPXBK
*
*     +---------------------------+---------------------------+
*   8 |          QPXUID           |          QPXGID           |
*     +---------------------------+---------------------------+
*  10 |                       QPXUNAME                        |
*     +-------------------------------------------------------+
*  18 |                       QPXGNAME                        |
*     +---------------------------+---------------------------+
*  20 |         QPXUDBAL          |         QPXUDBAD          |
*     +---------------------------+---------------------------+
*  28 |         QPXUDBSZ          |///////////////////////////|
*     +---------------------------+---------------------------+
*  30
*
*** Overlay for QPXFCN in QPXBK
          
*** Overlay for QPXFCN in QPXBK
*
*     +---------------------------+---------------------------+
*   8 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  10 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  20 |         QPXUNMAL          |         QPXUNMAD          |
*     +---------------------------+---------------------------+
*  28 |         QPXUNMSZ          |         QPXUNMCT          |
*     +---------------------------+---------------------------+
*  30
*
*** Overlay for QPXFCN in QPXBK
          
*** Overlay for QPXFCN in QPXBK
*
*     +-------------------------------------------------------+
*   8 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  10 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  18 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  20 |         QPXGIDAL          |         QPXGIDAD          |
*     +---------------------------+---------------------------+
*  28 |         QPXGIDSZ          |         QPXGIDCT          |
*     +---------------------------+---------------------------+
*  30
*
*** Overlay for QPXFCN in QPXBK
          
*** Overlay for QPXFCN in QPXBK
*
*     +---------------------------+---------------------------+
*   8 |         QPXNGMAX          |         QPXRSVD2          |
*     +---------------------------+---------------------------+
*  10 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  18
*
*** Overlay for QPXFCN in QPXBK

 

QPXBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
*              0002 00000000
QPXDIAGC       0000
QPXDIAGV       0000 QPXDIAGC
QPXDWLEN       0004
QPXEAPID       0010 0000000B
QPXEAUTH       0010 00000005
QPXECODE       0010 00000001
QPXEDBAS       0010 00000009
QPXEFLAG       0010 00000004
QPXEFUNC       0010 00000002
QPXEGID        0024
QPXELEN        0010 00000003
QPXENFND       0010 00000006
QPXEOADR       0010 00000008
QPXEOK         0010 00000000
QPXEOLEN       0010 00000007
QPXEPXCA       0010 0000000A
QPXEUID        0020
QPXFCN         0008
QPXFCODE       0002
QPXFCONF       0002 00000004
QPXFGRP        0002 00000002
QPXFLAGS       0006
QPXFPROC       0002 00000000
QPXFSGID       0002 00000003
QPXFUSER       0002 00000001
QPXF0DL        002C 00000028
QPXF0LEN       002C 00000030
QPXF0SIZ       002C 00000006
QPXF1DL        002C 00000028
QPXF1LEN       002C 00000030
QPXF1SIZ       002C 00000006
QPXF2DL        002C 00000028
QPXF2LEN       002C 00000030
QPXF2SIZ       002C 00000006
QPXF3DL        002C 00000028
QPXF3LEN       002C 00000030
QPXF3SIZ       002C 00000006
QPXF4DL        0010 00000010
QPXF4LEN       0010 00000018
QPXF4SIZ       0010 00000003
QPXGID         000C
QPXGIDAD       0024
QPXGIDAL       0020
QPXGIDCT       002C
QPXGIDEL       0024 04
QPXGIDPT       0020
QPXGIDSH       0024 02
QPXGIDSZ       0028
QPXGNAME       0018
QPXHDR         0000
QPXHDRL        0007 00000008
QPXIDIN        0006 80
QPXNAMIN       0006 40
QPXNGMAX       0008
QPXPID         0008
QPXRGID        001C
QPXRSVD1       0007
QPXRSVD2       000C
QPXRUID        0018
QPXSSGID       002C
QPXSSUID       0028
QPXUDBAD       0024
QPXUDBAL       0020
QPXUDBPT       0020
QPXUDBSZ       0028
QPXUID         0008
QPXUNAME       0010
QPXUNMAD       0024
QPXUNMAL       0020
QPXUNMCT       002C
QPXUNMEL       0024 08
QPXUNMPT       0020
QPXUNMSH       0024 03
QPXUNMSZ       0028

This information is based on z/VM V4R1.0.
Last updated on 6 Jun 2001 at 12:08:03 EDT.
Copyright IBM Corporation, 1990, 2001