|
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
SPXBK
Control Block Contents
SPXBK DSECT
Cross Reference (Contains links to field and bit definitions)
SPXBK Prolog
Name : HCPSPXBK
Description: Interface for POSIX ID set requests
DSECT : SPXBK
Function : Contain specifications and responses for the
"set POSIX IDs" function, Diagnose X'29C'.
Located by : none
Created by : HCPPXI (copied from/to guest storage)
Deleted by : HCPPXI
Serialized : CP's copy of the SPXBK is fetched by
HCPVINOP into (VMDVOBUF). This area
is governed by instruction-stream
serialization.
SPXBK Control Block Content
SPXBK DSECT
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' Required value for
SPXDIAGC
0002 2 Signed 2 SPXFCODE Diagnose function code:
00000000 SPXFUSER 0 0 = Set user IDs (UIDs) for
calling virtual config
00000001 SPXFGRP 1 1 = Set group IDs (GIDs) for
calling virtual config
00000002 SPXFNGRP 2 2 = NEWGRP function
00000003 SPXFSGID 3 3 = Change SGID list
00000000 *
0004 4 Signed 2 SPXDWLEN Size of block in doublewords
0006 6 Bitstring 1 SPXFLAGS Option flags:
.1.. .... SPXALLID X'40' 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' 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' 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.
SPXBK Storage Layout
*** SPXBK - Interface for POSIX ID set requests
*
* +-------------+-------------+-------------+------+------+
* 0 | SPXDIAGC | SPXFCODE | SPXDWLEN |:FLAGS|:RSVD1|
* +-------------+-------------+-------------+------+------+
* 8 |///////////////////////////| SPXGID |
* +---------------------------+---------------------------+
* 10 | SPXGNAME |
* +-------------------------------------------------------+
* 18
*
*** SPXBK - Interface for POSIX ID set requests
*** Overlay for SPXFCN in SPXBK
*
* +---------------------------+---------------------------+
* 8 |///////////////////////////|///////////////////////////|
* +---------------------------+---------------------------+
* 10 |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
* 18
*
*** Overlay for SPXFCN in SPXBK
*** Overlay for SPXFCN in SPXBK
*
* +---------------------------+---------------------------+
* 8 | SPXUID |///////////////////////////|
* +---------------------------+---------------------------+
* 10
*
*** Overlay for SPXFCN in SPXBK
*** Overlay for SPXFCN in SPXBK
*
* +---------------------------+---------------------------+
* 8 | SPXSGCNT |///////////////////////////|
* +---------------------------+---------------------------+
* 10 | SPXSGAL | SPXSGAD |
* +---------------------------+---------------------------+
* 18
*
*** Overlay for SPXFCN in SPXBK
SPXBK Cross Reference
Symbol Dspl Value -------------- ---- ----- * 0002 00000000 SPXALLID 0006 40 SPXDIAGC 0000 SPXDIAGV 0000 SPXDIAGC SPXDWLEN 0004 SPXEAPID 0014 0000000C SPXEAUTH 0014 00000005 SPXECODE 0014 00000001 SPXEDBAS 0014 00000009 SPXEFLAG 0014 00000004 SPXEFUNC 0014 00000002 SPXEID 0014 00000008 SPXELEN 0014 00000003 SPXENFND 0014 00000006 SPXEOK 0014 00000000 SPXEOKAL 0014 0000000A SPXEPXCA 0014 0000000B SPXERRCP 0014 0000000D SPXFCN 0008 SPXFCODE 0002 SPXFGRP 0002 00000001 SPXFLAGS 0006 SPXFNGRP 0002 00000002 SPXFSGID 0002 00000003 SPXFUSER 0002 00000000 SPXF0DL 000C 00000008 SPXF0LEN 000C 00000010 SPXF0SIZ 000C 00000002 SPXF1DL 0010 00000010 SPXF1LEN 0010 00000018 SPXF1SIZ 0010 00000003 SPXF2DL 0010 00000010 SPXF2LEN 0010 00000018 SPXF2SIZ 0010 00000003 SPXF3DL 0014 00000010 SPXF3LEN 0014 00000018 SPXF3SIZ 0014 00000003 SPXGID 000C SPXGNAME 0010 SPXHDR 0000 SPXHDRL 0007 00000008 SPXIDIN 0006 10 SPXNAMIN 0006 20 SPXRSVD1 0007 SPXSGAD 0014 SPXSGAL 0010 SPXSGCNT 0008 SPXSGELN 0014 00000004 SPXSGIDP 0010 SPXSGSH 0014 00000002 SPXUID 0008
Last updated on 5 Jun 2001 at 16:43:17 EDT.
Copyright IBM Corporation, 1990, 2001