|
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure SPXBK Interface for POSIX ID set requests
0000 0 Dbl-Word 8 SPXHDR (0)
0000 0 Signed 2 SPXDIAGC Diagnose code eyecatcher
SPXDIAGC SPXDIAGV X'029C' SPXDIAGV Required value
for SPXDIAGC
0002 2 Signed 2 SPXFCODE Diagnose function code:
00000000 SPXFUSER 0 SPXFUSER 0 = Set user IDs
(UIDs) for calling virtual config
00000001 SPXFGRP 1 SPXFGRP 1 = Set group IDs
(GIDs) for calling virtual config
00000002 SPXFNGRP 2 SPXFNGRP 2 = NEWGRP function
00000003 SPXFSGID 3 SPXFSGID 3 = Change SGID list
0004 4 Signed 2 SPXDWLEN Size of block in doublewords
0006 6 Bitstring 1 SPXFLAGS Option flags:
.1.. .... SPXALLID X'40' SPXALLID For functions
FUSER and FGRP, if the calling
process has appropriate
privileges, set the real,
effective, and saved set
UIDs/GIDs. If this bit is off or
the process is not authorized,
set only the effective UID/GID.
..1. .... SPXNAMIN X'20' SPXNAMIN For function code
FGRP, the GID(s) are to be set to
the GID corresponding to
SPXGNAME. For function FNGRP, if
the login is a member of
SPXGNAME, then the GID(s) are to
be set to the GID GID
corresponding to SPXGNAME
...1 .... SPXIDIN X'10' SPXIDIN For functions FGRP,
the GID(s) are to be set to
SPXGID. For function FNGRP, if
the login is a member of SPXGID,
then the GID(s) are to be set to
SPXGID.
0007 7 Bitstring 1 SPXRSVD1 Reserved for IBM use
00000008 SPXHDRL *-SPXHDR
SPXFCN's length will vary depend on the
function code that was specified.
0008 8 Dbl-Word 8 SPXFCN (0) Redefinition of the function
unique data
SPXFCN fields used for function SPXFGRP:
cmnt* ORG SPXFCN For function SPXFGRP:
0008 8 Signed 4 * Reserved for IBM use
000C 12 Signed 4 SPXGID POSIX group ID (GID) for function
FGRP when SPXNAMIN=0.
0010 16 Character 8 SPXGNAME POSIX group name for function
FGRP when SPXNAMIN=1
00000010 SPXF1DL *-SPXFCN Length of function 1
data
00000018 SPXF1LEN SPXF1DL+SPXHDRL Length of
function 1 and header
00000003 SPXF1SIZ (SPXF1LEN+7)/8 Size of function 1
QPXBK in DWs
SPXFCN fields used for function SPXFNGRP:
0008 8 Signed 4 * Reserved for IBM use
000C 12 Signed 4 * (SPXGID) POSIX group ID (GID) for
function FGRP when SPXNAMIN=0.
0010 16 Character 8 * (SPXGNAME) POSIX group name for
function FGRP when SPXNAMIN=1
00000010 SPXF2DL *-SPXFCN Length of function 2
data
00000018 SPXF2LEN SPXF2DL+SPXHDRL Length of
function 2 and header
00000003 SPXF2SIZ (SPXF2LEN+7)/8 Size of function 2
QPXBK in DWs
SPXFCN fields used for function SPXFUSER:
0008 8 Signed 4 SPXUID POSIX user ID (UID) for function
FUSER.
000C 12 Signed 4 * Reserved for IBM use
00000008 SPXF0DL *-SPXFCN Length of function 0
data
00000010 SPXF0LEN SPXF0DL+SPXHDRL Length of
function 0 and header
00000002 SPXF0SIZ (SPXF0LEN+7)/8 Size of function 0
QPXBK in DWs
SPXFCN fields used for function SPXFSGID:
0008 8 Signed 4 SPXSGCNT Count of entries in the SGID
(supplementary group ID) list. If
the count = 0 , SPXSGAL and
SPXSGAD must also be zero, and
the "effective" SGID list for the
currently active POSIX process
must be cleared.
000C 12 Signed 4 * Reserved for IBM use
0010 16 Dbl-Word 8 SPXSGIDP (0) Pointer to start of SGID list.
0010 16 Signed 4 SPXSGAL ALET for SGID list area
0014 20 Address 4 SPXSGAD Address of SGID list area
00000004 SPXSGELN 4 Byte-length of one element in
the SGID list.
00000002 SPXSGSH 2 Shift offset for SPXSGELN
The SGID list contains on input an array of
4-byte unsigned integers representing the
supplementary groups that are to be made effective
for the currently active POSIX process.
00000010 SPXF3DL *-SPXFCN Length of function 3
data
00000018 SPXF3LEN SPXF3DL+SPXHDRL Length of
function 3 and header
00000003 SPXF3SIZ (SPXF3LEN+7)/8 Size of function 3
SPXBK
The following equates define return codes from
diagnose X'29C'. 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 SPXEOK 0 Function succeeded. For
FUSER/FGRP, only the effective ID
was changed (cf. return code
SPXEOKAL below). For FNGRP, all
GIDs were changed. SPXGID
contains the GID value. For
FSGID, the SGID list was updated.
00000001 SPXECODE 1 Incorrect value in SPXDIAGC
00000002 SPXEFUNC 2 Invalid function code in
SPXFCODE
00000003 SPXELEN 3 Length in SPXDWLEN below
minimum allowed
00000004 SPXEFLAG 4 Invalid option flags in
SPXFLAGS or SPXRSVD1 is non-zero
00000005 SPXEAUTH 5 (FUSER,FGRP) Requestor not
authorized to change UID/GID to
specified value (FNGRP)
Requesting login name is not a
member of the specified group
(FSGID) Requestor not authorized
to update SGID list with the
specified values.
00000006 SPXENFND 6 (FUSER,FGRP,FNGRP) Specified
group ID or group name not
defined
00000008 SPXEID 8 (FUSER,FGRP,FNGRP) Specified ID
is not a valid UID or GID
00000009 SPXEDBAS 9 (FUSER,FGRP,FNGRP) Group
database is invalid or
inaccessible
0000000A SPXEOKAL 10 (FUSER,FGRP) Function
succeeded. All IDs (real,
effective, and saved set) were
changed.
0000000B SPXEPXCA 11 (FUSER,FGRP,FNGRP,FSGID) POSIX
communication area has not been
defined
0000000C SPXEAPID 12 (FUSER,FGRP,FNGRP,FSGID)
Active PID in POSIX communication
area is not a PID allocated to
the requesting virtual
configuration
0000000D SPXERRCP 13 (FSGID) A CP error condition
was detected that prevented the
replacement of the user's SGID
list.
| |