|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
CMDBK
Control Block Contents
CMDBK DSECT
Cross Reference (Contains links to field and bit definitions)
CMDBK Prolog
NAME : HCPCMDBK
DESCRIPTION: Command Table Entry Block
DSECT : CMDBK
FUNCTION : The Command Table Entry Blocks are used to control
and to locate the modules that are called when a
CP command is issued.
LOCATED BY : HCPCOMEA for 'CP' commands
HCPSETEA for 'CP SET' commands
HCPQUYEA for 'CP QUERY' commands
HCPQUYEL for 'CP QUERY VIRTUAL' commands
CREATED BY : Assembly of HCPCOM
Assembly of HCPQUY
Assembly of HCPSET
HCPDCM - Processing the command DEFINE COMMAND
HCPCMU - Processing the command DEFINE COMMAND
DELETED BY : HCPDCM - Processing the command DEFINE COMMAND
HCPCMU - Processing the command DEFINE COMMAND
REFERENCES : HCPCLASS - Privilege class definitions
The CMDBK begins with storage that is mapped by the
ICRBK DSECT. This storage is followed by the real
CMDBK fields that define and control the diagnose code.
SERIALIZED : Changes to the contents of CMDBKs are typically done
by diagnose A0 and by User Class Restructure, and
under the SYSLCKC4 lock.
NOTES :
CMDBK Control Block Content
CMDBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure CMDBK Command Table Entry Block
These fields map the Indirect Call Request Block.
These fields must match the analogous fields in the
ICRBK. The fields are defined explicitly here in order
that BLOCKDEF and BLOCKMAP can correctly describe them.
0000 0 Character 8 CMDEPNAM Name of the entry routine
0008 8 Address 4 CMDADDRL Address of the ICLBK, or 0.
MODIFY RESET will need to clear
this field to zero.
000C 12 Bitstring 1 CMDATTR Attributes for HCPCALL
000D 13 Bitstring 1 * Reserved
000E 14 Bitstring 1 * Reserved
000F 15 Bitstring 1 * Reserved
Thus ends the Indirect Call Request Block fields
The user fields should remain at the front of the block
0010 16 Dbl-Word 8 CMDUSRD1 Reserved for non-IBM use
0018 24 Dbl-Word 8 CMDUSRD2 Reserved for non-IBM use
0020 32 Signed 4 CMDUSRF1 Reserved for non-IBM use
0024 36 Signed 4 CMDUSRF2 Reserved for non-IBM use
0028 40 Signed 2 CMDUSRH1 Reserved for non-IBM use
002A 42 Signed 2 CMDUSRH2 Reserved for non-IBM use
002C 44 Bitstring 1 CMDUSRX1 Reserved for non-IBM use
002D 45 Bitstring 1 CMDUSRX2 Reserved for non-IBM use
002E 46 Bitstring 1 CMDUSRX3 Reserved for non-IBM use
002F 47 Bitstring 1 CMDUSRX4 Reserved for non-IBM use
0030 48 Character 12 CMDNAME Command name
003C 60 Address 4 CMDFWD Addr of another CMDBK on chain
0040 64 Address 4 CMDADDR Address of routine. If non-zero,
then call CMDEPNAM indirectly
0044 68 Signed 4 CMDCOUNT Command issued this many times.
There is no relationship between
this field and any particular
CMDBK. This means that this field
in a CMDBK for a command with IBM
class A does not mean that the
command was executed for the
class A command and not the class
B or the class G command. Only
the sums of the CMDCOUNT fields
and the CMDMSECS fields for a
command name are meaningful.
0048 72 Signed 8 CMDMSECS Time (in micro-seconds) that the
routines that comprise this
command were active. There is no
relationship between this field
and any particular CMDBK. This
means that this field in a CMDBK
for a command with IBM class A
does not mean that the time was
spent executing for the class A
command and not the class B or
the class G command. Only the
sums of the CMDCOUNT fields and
the CMDMSECS fields for a command
name are meaningful.
0050 80 Address 4 CMDPUSHD Address of pushed CMDBK
0054 84 Signed 4 CMDOVRDE For use by MODIFY and OVERRIDE
0058 88 Signed 4 CMDCLASS Class mask
005C 92 Signed 4 CMDCNTER Creation counter, for HCPDA0
0060 96 Address 4 CMDALIAP If an alias, then this is the
address of the alias CMDBK.
0064 100 Bitstring 1 CMDIBMCL IBM class
0065 101 Bitstring 1 CMDTRUNC Minimum truncation
0066 102 Bitstring 1 CMDFLAG Command flags
1... .... CMDALOG X'80' CMDALOG Command allowed
before LOGON
.1.. .... CMDOLOG X'40' CMDOLOG Command allowed
only at LOGON
..1. .... CMDALIAS X'20' CMDALIAS Entry is an
'ALIAS'
...1 .... CMDENABL X'10' CMDENABL This CMDBK is
enabled
.... 1... CMDSILNT X'08' CMDSILNT Command may be
silenced
.... .1.. CMDNOUP X'04' CMDNOUP Do not uppercase
this command
.... ..1. CMDONLY X'02' CMDONLY Only one version
(IBMCLASS)
.... ...1 CMDNOCL X'01' CMDNOCL Command is class
'ANY'
Security bits defined for CMDFLAG1:
CMDPROC - Indicates that no call to the ESM
will be made in the command router.
This means that all required security
calls to the ESM must be made by the
command processor. If CMDPROC is set
for one version, then it must be set
for all versions.
CMDVPROT - This flag indicates that the 'PROTECT'
setting (CMDPROT) of this command may
be dynamically altered by the
External Security Manager (ESM).
CMDXLOG - Indicates that the command may be disabled
prior to logon. This bit can only be
dynamically altered by the ESM.
CMDVMAC - Indicates that the 'MAC' setting (CMDMAC)
for this command may be dynamically
altered by the ESM.
0067 103 Bitstring 1 CMDFLAG1 Command flags
1... .... CMDPROC X'80' CMDPROC Command processor
performs further privilege class
checks
.1.. .... CMDXLOG X'40' CMDXLOG Command can be
turned off prior to logon
..1. .... CMDVPROT X'20' CMDVPROT Command can be
protected
...1 .... CMDVMAC X'10' CMDVMAC Command may be
Mandatory Access Controlled
Security bits defined for CMDSECUR:
CMDAUDIT - Indicates that the command will be
'AUDITED' by the ESM. This bit can
be initialized when the table entry
is created and can be dynamically
altered by the ESM.
CMDPROT - Indicates that the command will be
'PROTECTED' by the ESM. This bit can
be initialized when the table entry
is created.
CMDMAC - Indicates that the command will be
Mandatory Access Controlled. This
bit can only be dynamically altered
by the ESM.
0068 104 Bitstring 1 CMDSECUR Command security flags
1... .... CMDAUDIT X'80' CMDAUDIT Command is to be
audited
.1.. .... CMDPROT X'40' CMDPROT Command is to be
protected
..1. .... CMDMAC X'20' CMDMAC Command is to be
Mandatory Access Controlled
0069 105 Character 1 * (3) Reserved
006C 108 Signed 4 * Reserved
0070 112 Dbl-Word 8 CMD$END (0) The end
00000070 CMDBSIZE *-CMDBK Size of CMDBK in bytes
0000000E CMDSIZE (*-CMDBK+7)/8 Size in double
words
0058 88 Bitstring 1 CMDCLB0
0059 89 Bitstring 1 CMDCLB1
005A 90 Bitstring 1 CMDCLB2
005B 91 Bitstring 1 CMDCLB3
CMDBK Storage Layout
*** CMDBK - Command Table Entry Block
*
* +-------------------------------------------------------+
* 0 | CMDEPNAM |
* +---------------------------+------+------+------+------+
* 8 | CMDADDRL |:ATTR |//////|//////|//////|
* +---------------------------+------+------+------+------+
* 10 | CMDUSRD1 |
* +-------------------------------------------------------+
* 18 | CMDUSRD2 |
* +---------------------------+---------------------------+
* 20 | CMDUSRF1 | CMDUSRF2 |
* +-------------+-------------+------+------+------+------+
* 28 | CMDUSRH1 | CMDUSRH2 |:USRX1|:USRX2|:USRX3|:USRX4|
* +-------------+-------------+------+------+------+------+
* 30 | CMDNAME |
* | +---------------------------+
* 38 | | CMDFWD |
* +---------------------------+---------------------------+
* 40 | CMDADDR | CMDCOUNT |
* +---------------------------+---------------------------+
* 48 | CMDMSECS |
* +---------------------------+---------------------------+
* 50 | CMDPUSHD | CMDOVRDE |
* +---------------------------+---------------------------+
* 58 | CMDCLASS | CMDCNTER |
* +---------------------------+------+------+------+------+
* 60 | CMDALIAP |:IBMCL|:TRUNC|:FLAG |:FLAG1|
* +------+--------------------+------+------+------+------+
* 68 |:SECUR|////////////////////|///////////////////////////|
* +------+--------------------+---------------------------+
*
*** CMDBK - Command Table Entry Block
*** Overlay for CMDCLASS in CMDBK
*
* +------+------+------+------+
* 58 |:CLB0 |:CLB1 |:CLB2 |:CLB3 | 5C
* +------+------+------+------+
*
*** Overlay for CMDCLASS in CMDBK
CMDBK Cross Reference
Symbol Dspl Value -------------- ---- ----- CMD$END 0070 CMDADDR 0040 CMDADDRL 0008 CMDALIAP 0060 CMDALIAS 0066 20 CMDALOG 0066 80 CMDATTR 000C CMDAUDIT 0068 80 CMDBSIZE 0070 00000070 CMDCLASS 0058 CMDCLB0 0058 CMDCLB1 0059 CMDCLB2 005A CMDCLB3 005B CMDCNTER 005C CMDCOUNT 0044 CMDENABL 0066 10 CMDEPNAM 0000 CMDFLAG 0066 CMDFLAG1 0067 CMDFWD 003C CMDIBMCL 0064 CMDMAC 0068 20 CMDMSECS 0048 CMDNAME 0030 CMDNOCL 0066 01 CMDNOUP 0066 04 CMDOLOG 0066 40 CMDONLY 0066 02 CMDOVRDE 0054 CMDPROC 0067 80 CMDPROT 0068 40 CMDPUSHD 0050 CMDSECUR 0068 CMDSILNT 0066 08 CMDSIZE 0070 0000000E CMDTRUNC 0065 CMDUSRD1 0010 CMDUSRD2 0018 CMDUSRF1 0020 CMDUSRF2 0024 CMDUSRH1 0028 CMDUSRH2 002A CMDUSRX1 002C CMDUSRX2 002D CMDUSRX3 002E CMDUSRX4 002F CMDVMAC 0067 10 CMDVPROT 0067 20 CMDXLOG 0067 40
Copyright IBM Corporation, 1990, 2007