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 (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
 RELOCATION CONSIDERATIONS : None
 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' EXCDIAGV Required value
                                        for EXCDIAGC
0002    2 Signed       2 EXCFUNCD       Diagnose function code:
          00000000       EXCSETID       0 EXCSETID 0 = Request that CP
                                        set the appropriate POSIX
                                        security values for an exec()
                                        function call.
          00000001       EXCSSID        1 EXCSSID 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 EXCLULEN 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 V6R2.0. Last updated on 21 Nov 2011 at 11:01:27 EDT.
Copyright IBM Corporation, 1990, 2011