Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of z/VM.

EXCBK

Prolog
Control Block Contents
EXCBK DSECT
EXCVROBJ DSECT
Storage Layout
Cross Reference

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.
          00000000       *
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
-------------- ---- -----
*              0002 00000000
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 V3R1.0.
Last updated on 29 Mar 2001 at 15:43:20 EDT.
Copyright IBM Corporation, 1990, 2001