|
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' 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 V5R3.0.
Last updated on 25 Jun 2007 at 16:28:21 EDT.
Copyright IBM Corporation, 1990, 2007