QPXBK Back to Index page
 
Prolog 
Control Block Contents 
   QPXBK 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.


  QPXBK Prolog Top of page
 
 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.
 RELOCATION CONSIDERATIONS : None
 
 
  QPXBK Control Block Content Top of page
 

 QPXBK DSECT Top of page
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' QPXDIAGV Required value for QPXDIAGC 0002 2 Signed 2 QPXFCODE Diagnose function code: 00000000 QPXFPROC 0 QPXFPROC 0 = Query IDs for process 00000001 QPXFUSER 1 QPXFUSER 1 = Query user database by UID or user name 00000002 QPXFGRP 2 QPXFGRP 2 = Query group database by GID or group name 00000003 QPXFSGID 3 QPXFSGID 3 = Query supplementary groups for self or by user name 00000004 QPXFCONF 4 QPXFCONF 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' QPXIDIN Input argument is an ID (PID, UID, or GID). Report on that id. .1.. .... QPXNAMIN X'40' QPXNAMIN 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 QPXUNMEL Byte-length of one element in member-name list .... ..11 QPXUNMSH 3 QPXUNMSH 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 QPXGIDEL Byte-length of one element in SGID list .... ..1. QPXGIDSH 2 QPXGIDSH 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 Top of page
 
          
*** 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 Top of page
 
 
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
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:54:10 EDT.
Copyright IBM Corporation, 1990, 2022