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