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 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 -------------- ---- ----- 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
Copyright IBM Corporation, 1990, 2001