|
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' Command allowed before
LOGON
.1.. .... CMDOLOG X'40' Command allowed only at
LOGON
..1. .... CMDALIAS X'20' Entry is an 'ALIAS'
...1 .... CMDENABL X'10' This CMDBK is enabled
.... ..1. CMDONLY X'02' Only one version (IBMCLASS)
.... ...1 CMDNOCL X'01' 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' Command processor performs
further privilege class checks
.1.. .... CMDXLOG X'40' Command can be turned off
prior to logon
..1. .... CMDVPROT X'20' Command can be protected
...1 .... CMDVMAC X'10' 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' Command is to be audited
.1.. .... CMDPROT X'40' Command is to be protected
..1. .... CMDMAC X'20' 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 CMDOLOG 0066 40 CMDONLY 0066 02 CMDOVRDE 0054 CMDPROC 0067 80 CMDPROT 0068 40 CMDPUSHD 0050 CMDSECUR 0068 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
Last updated on 5 Jun 2001 at 14:14:06 EDT.
Copyright IBM Corporation, 1990, 2001