SPXBK Back to Index page
 
Prolog 
Control Block Contents 
   SPXBK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  SPXBK Prolog Top of page
 
 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.
 RELOCATION CONSIDERATIONS : None
 
 
  SPXBK Control Block Content Top of page
 

 SPXBK DSECT Top of page
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.
 
 
  SPXBK Storage Layout Top of page
 
          
*** 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 Top of page
 
 
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
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:56:16 EDT.
Copyright IBM Corporation, 1990, 2022