Programming Interface Information:
This information is NOT
intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only. |
EXCBK
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 00000280 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 00000008 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 | * +---------------------------+---------------------------+ * 10 | | * = EXCFLIST = * | | * +-------------------------------------------------------+ * *** 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 | | * +---------------------------+ | * 8 | | * = EXCOBJTK = * | | * +-------------------------------------------------------+ * *** EXCVROBJ - DIAGNOSE X'280' exec() block
EXCBK Cross Reference
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----EXCDIAGC 0000
EXCDIAGV 0000 00000280
EXCDWLEN 0004
EXCFFXLN 0008
EXCFIXLN 0014 00000070
EXCFLIST 0010
EXCFSSID 0010
EXCFSTID 0010
EXCFUNCD 0002
EXCHDR 0000
EXCHDRLN 000C 00000010
EXCLOCLU 0058
EXCLULEN 0060 00000008
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
Last updated on 3 Aug 1999 at 11:54:44 EDT.
Copyright IBM Corporation, 1990, 1999