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

Prolog  

Control Block Contents  

EXCBK DSECT

EXCVROBJ DSECT

Storage Layout  

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


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 11:54:44 EDT.
Copyright IBM Corporation, 1990, 1999