Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
EXCBK
Control Block Contents
EXCBK DSECT
EXCVROBJ DSECT
Cross Reference (Contains links to field and bit definitions)
EXCBK Prolog
NAME : HCPEXCBK DESCRIPTION: DIAGNOSE X'280' exec() block DSECT : EXCBK FUNCTION : This DSECT maps the control block which describes the input for DIAGNOSE X'280'. LOCATED BY : Guest version: diagnose X'280' parameter list Host version: registers in HCPEXC CREATED BY : Guest version: the diagnose X'280' issuer Host version: HCPEXC DELETED BY : Guest version: the diagnose x'280 issuer Host version: HCPEXC SERIALIZED : Instruction-stream on the dispatched vCPU COMMENTS : This control block is conceptually one piece of data mapped by two structures. There is a fixed-length portion and a variable-length portion, both described in greater detail below. In storage, these must be adjacent, and in the order: 1) Fixed-length area 2) Object token information. The fixed-length section is set up as containing a header and function-specific sections. The header contains only general control block information, and is frozen at the defined length. CHANGING THE LENGTH OF THE HEADER SECTION WILL RESULT IN MAKING THE CONTROL BLOCK INCOMPATIBLE WITH PREVIOUS RELEASES OF THE BLOCK. The function-specific sections are different, but the length of that section is determined by the length of the longest of the set of function-specific sections. A field in the header contains this execution-time- calculated length so that fields can be added to the function-specific section in future releases while still allowing the new blocks to coexist with the old ones. A variable-length section may contain no data; in this case, the length field contains the length of itself alone (a 4-byte length field, for example, would contain the value '4' if the length of the corresponding data field is zero). For future expansion, function-specific fields can be added to the function-specific area, or other function-specific sections can be added. Variable-length sections can be added after the last variable length section.
EXCBK Control Block Content
EXCBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure EXCBK DIAGNOSE X'280' exec() block Header information 0000 0 Dbl-Word 8 EXCHDR (0) EXCBK header 0000 0 Signed 2 EXCDIAGC Diagnose code eyecatcher EXCDIAGC EXCDIAGV X'0280' Required value for EXCDIAGC 0002 2 Signed 2 EXCFUNCD Diagnose function code: 00000000 EXCSETID 0 0 = Request that CP set the appropriate POSIX security values for an exec() function call. 00000001 EXCSSID 1 1 = Request that CP set only the saved-set ids for an exec() function call. 0004 4 Signed 2 EXCDWLEN Length (unsigned) of EXCBK in doublewords 00000200 EXCMAXST 4096/8 Maximum length of the EXCBK is one page (512 DWs). 0006 6 Signed 2 EXCRSV00 Reserved for IBM use 0008 8 Signed 4 EXCFFXLN Length (unsigned) in bytes of of the fixed-length portion of the function-specific section of the block. The application creating the block may use the value EXCFIXLN to fill in this field. 000C 12 Signed 4 EXCRSV01 Reserved for IBM use 00000010 EXCHDRLN (*-EXCHDR) Header length Function-specific parameter list information 0010 16 Signed 4 EXCFLIST (0) Start of function-specific parameter list information Function EXCSETID 0010 16 Signed 4 EXCFSTID (0) 0010 16 Signed 4 * Reserved for IBM use. 0014 20 Signed 4 EXCTPNLN Length (unsigned) in bytes of the TPN. 00000001 EXCTPNMN 1 Minimum length of the TPN. 00000040 EXCTPNMX (L'EXCTPN) Maximum length of the TPN. 0018 24 Character 64 EXCTPN TPN (target resource name) 0058 88 Character 16 EXCLOCLU (0) Locally-known LUname 0058 88 Character 8 EXCLUQUL LU name qualifier 0060 96 Character 8 EXCLUTGT Target LU name .... 1... EXCLULEN L'EXCLUQUL Length of either part one (the luname qualifier) or part two (the target luname) of the LU name. 0068 104 Character 8 EXCMODE SNA modename 0070 112 Signed 4 EXCSRET Return code from the server. This field is copied from the IRCBK. 0074 116 Signed 4 EXCSREAS Reason code from the server. This field is copied from the IRCBK. 0078 120 Signed 4 EXCNUID New UID. This is the UID to which the user's eUID and ssUID were set. 007C 124 Signed 4 EXCNGID New GID. This is the GID to which the user's eGID and ssGID were set. 00000070 EXCSTFLN *-EXCFSTID Minimum length of the fixed-length portion of the SETID information, in bytes. Function EXCSSID 0010 16 Signed 4 EXCFSSID (0) 0010 16 Signed 4 EXCSSUID Saved-set UID. This is the UID to which the user's ssUID was set. 0014 20 Signed 4 EXCSSGID Saved-set GID. This is the GID to which the user's ssGID was set. 00000008 EXCSSFLN *-EXCFSSID Minimum length of the fixed-length portion of the SSID information, in bytes. 00000003 EXCSSLEN (((*-EXCFSSID)+EXCHDRLN+7)/8) Length of the SSID information in doublewords. Reset ORG and calculate the length of the longest of the fixed-length portions of the function-specific sections. 00000070 EXCFIXLN (*-EXCFLIST) Length of the longest of the function-specific sections. These return code values are applicable to all function codes of DIAGNOSE X'280' unless otherwise noted. Return code values not applicable to function EXCSETID: None. Return code values not applicable to function EXCSSID: EXCBDTPL EXCBDOBL EXCINVLU EXCNOGAT EXCNORES EXCNORPY EXCNOSRV EXCSVREJ EXCSVERR EXCSVINV EXCUAUTH EXCESMRJ EXCTERM Function EXCSETID - variable-length portion mapping. Note that this mapping is not part of the EXCBK DSECT and must be properly based in order to be used. The object length must immediately follow the last field in the function-specific section of the EXCSETID function. The proper calculation is: (address of EXCBK + length of header section + length of function-specific section) or (EXCBK @ + EXCHDRLN + EXCFFXLN).
EXCVROBJ DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure EXCVROBJ DIAGNOSE X'280' exec() block 0000 0 Signed 4 EXCOBJLN Length (unsigned) in bytes of the object token, including the length field itself. Must be at least EXCOBJMN. 00000004 EXCOBJMN L'EXCOBJLN Minimum length permitted to be specified in EXCOBJLN. This minimum represents a EXCOBJTK length of zero. 00000204 EXCOBJMX 516 Maximum length permitted to be specified in EXCODJLN. This represents a maximum EXCOBJTK length of 512 bytes. 0004 4 Bitstring 1 EXCOBJTK (0) Object token. The object token represents the object for which the UID/GIDs are being queried. For example, this could represent a setid file residing in the byte file system.
EXCBK Storage Layout
*** EXCBK - DIAGNOSE X'280' exec() block * * +-------------+-------------+-------------+-------------+ * 0 | EXCDIAGC | EXCFUNCD | EXCDWLEN | EXCRSV00 | * +-------------+-------------+-------------+-------------+ * 8 | EXCFFXLN | EXCRSV01 | * +---------------------------+---------------------------+ * *** EXCBK - DIAGNOSE X'280' exec() block *** Overlay for EXCFLIST in EXCBK * * +---------------------------+---------------------------+ * 10 |///////////////////////////| EXCTPNLN | * +---------------------------+---------------------------+ * 18 | | * = EXCTPN = * | | * +-------------------------------------------------------+ * 58 | EXCLUQUL | * +-------------------------------------------------------+ * 60 | EXCLUTGT | * +-------------------------------------------------------+ * 68 | EXCMODE | * +---------------------------+---------------------------+ * 70 | EXCSRET | EXCSREAS | * +---------------------------+---------------------------+ * 78 | EXCNUID | EXCNGID | * +---------------------------+---------------------------+ * 80 * *** Overlay for EXCFLIST in EXCBK *** Overlay for EXCFLIST in EXCBK * * +---------------------------+---------------------------+ * 10 | EXCSSUID | EXCSSGID | * +---------------------------+---------------------------+ * 18 * *** Overlay for EXCFLIST in EXCBK *** EXCVROBJ - DIAGNOSE X'280' exec() block * * +---------------------------+ * 0 | EXCOBJLN | * +---------------------------+ * *** EXCVROBJ - DIAGNOSE X'280' exec() block
EXCBK Cross Reference
Symbol Dspl Value -------------- ---- ----- EXCDIAGC 0000 EXCDIAGV 0000 EXCDIAGC EXCDWLEN 0004 EXCFFXLN 0008 EXCFIXLN 0014 00000070 EXCFLIST 0010 EXCFSSID 0010 EXCFSTID 0010 EXCFUNCD 0002 EXCHDR 0000 EXCHDRLN 000C 00000010 EXCLOCLU 0058 EXCLULEN 0060 08 EXCLUQUL 0058 EXCLUTGT 0060 EXCMAXST 0004 00000200 EXCMODE 0068 EXCNGID 007C EXCNUID 0078 EXCOBJLN 0000 EXCOBJMN 0000 00000004 EXCOBJMX 0000 00000204 EXCOBJTK 0004 EXCRSV00 0006 EXCRSV01 000C EXCSETID 0002 00000000 EXCSREAS 0074 EXCSRET 0070 EXCSSFLN 0014 00000008 EXCSSGID 0014 EXCSSID 0002 00000001 EXCSSLEN 0014 00000003 EXCSSUID 0010 EXCSTFLN 007C 00000070 EXCTPN 0018 EXCTPNLN 0014 EXCTPNMN 0014 00000001 EXCTPNMX 0014 00000040
This information is based on z/VM V4R2.0. Last updated on 30 Oct 2001 at 15:38:33 EDT.
Copyright IBM Corporation, 1990, 2001