Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

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 000002A0 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 00000008 QPXUNMEL 8 Byte-length of one element in member-name list 00000003 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 00000004 QPXGIDEL 4 Byte-length of one element in SGID list 00000002 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

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

QPXDIAGC 0000

QPXDIAGV 0000 000002A0

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 00000004

QPXGIDPT 0020

QPXGIDSH 0024 00000002

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 00000008

QPXUNMPT 0020

QPXUNMSH 0024 00000003

QPXUNMSZ 0028


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 12:26:52 EDT.
Copyright IBM Corporation, 1990, 1999