| Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM. | 
QPXBK
Control Block Contents  
   QPXBK DSECT
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
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.
                                        Meanings and legal combinations
                                        of above flags: - For function
                                        FPROC, QPXNAMIN must be zero. The
                                        report is on the current
                                        attributes of the requesting
                                        process if QPXIDIN=0, or of the
                                        process with process id QPXPID if
                                        QPXIDIN=1. - For functions
                                        FUSER/FGRP, exactly one of
                                        QPXNAMIN and QPXIDIN must be on.
                                        The report is on the database
                                        info for the designated id
                                        (QPXUID/GID) or name
                                        (QPXUNAME/GNAME). - For function
                                        FSGID, QPXIDIN must be zero. The
                                        report is on the current
                                        attributes of the requesting
                                        process if QPXNAMIN=0, or the
                                        database info on QPXUNAME if
                                        QPXNAMIN=1. "Database info" means
                                        the current contents of the
                                        on-line VM directory or ESM
                                        repository. (This may or may not
                                        match the attributes of a
                                        currently logged-on user.)
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 -------------- ---- ----- 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
Copyright IBM Corporation, 1990, 2001