Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.
|
CMDBK
Prolog
Control Block Contents
CMDBK DSECT
Storage Layout
Cross Reference (Contains links to field and bit definitions)
CMDBK Prolog
NAME : HCPCMDBK
DESCRIPTION: Command Table Entry Block
STATUS : VM/ESA Version 2, Release 1.0
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
1... .... CLASSA X'80' CLASS A FUNCTIONS
.1.. .... CLASSB X'40' CLASS B FUNCTIONS
..1. .... CLASSC X'20' CLASS C FUNCTIONS
...1 .... CLASSD X'10' CLASS D FUNCTIONS
.... 1... CLASSE X'08' CLASS E FUNCTIONS
.... .1.. CLASSF X'04' CLASS F FUNCTIONS
.... ..1. CLASSG X'02' CLASS G FUNCTIONS
.... ...1 CLASSH X'01' CLASS H FUNCTIONS
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
1... .... CLASSA X'80' CLASS A FUNCTIONS
.1.. .... CLASSB X'40' CLASS B FUNCTIONS
..1. .... CLASSC X'20' CLASS C FUNCTIONS
...1 .... CLASSD X'10' CLASS D FUNCTIONS
.... 1... CLASSE X'08' CLASS E FUNCTIONS
.... .1.. CLASSF X'04' CLASS F FUNCTIONS
.... ..1. CLASSG X'02' CLASS G FUNCTIONS
.... ...1 CLASSH X'01' CLASS H FUNCTIONS
0059 89 Bitstring 1 CMDCLB1
1... .... CLASSI X'80' CLASS I FUNCTIONS
.1.. .... CLASSJ X'40' CLASS J FUNCTIONS
..1. .... CLASSK X'20' CLASS K FUNCTIONS
...1 .... CLASSL X'10' CLASS L FUNCTIONS
.... 1... CLASSM X'08' CLASS M FUNCTIONS
.... .1.. CLASSN X'04' CLASS N FUNCTIONS
.... ..1. CLASSO X'02' CLASS O FUNCTIONS
.... ...1 CLASSP X'01' CLASS P FUNCTIONS
005A 90 Bitstring 1 CMDCLB2
1... .... CLASSQ X'80' CLASS Q FUNCTIONS
.1.. .... CLASSR X'40' CLASS R FUNCTIONS
..1. .... CLASSS X'20' CLASS S FUNCTIONS
...1 .... CLASST X'10' CLASS T FUNCTIONS
.... 1... CLASSU X'08' CLASS U FUNCTIONS
.... .1.. CLASSV X'04' CLASS V FUNCTIONS
.... ..1. CLASSW X'02' CLASS W FUNCTIONS
.... ...1 CLASSX X'01' CLASS X FUNCTIONS
005B 91 Bitstring 1 CMDCLB3
1... .... CLASSY X'80' CLASS Y FUNCTIONS
.1.. .... CLASSZ X'40' CLASS Z FUNCTIONS
..1. .... CLASS1 X'20' CLASS 1 FUNCTIONS
...1 .... CLASS2 X'10' CLASS 2 FUNCTIONS
.... 1... CLASS3 X'08' CLASS 3 FUNCTIONS
.... .1.. CLASS4 X'04' CLASS 4 FUNCTIONS
.... ..1. CLASS5 X'02' CLASS 5 FUNCTIONS
.... ...1 CLASS6 X'01' CLASS 6 FUNCTIONS
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 (contains links to field and bit definitions)
Symbol Dspl Value
-------------- ---- -----
CLASSA 0064 80
CLASSA 0058 80
CLASSB 0064 40
CLASSB 0058 40
CLASSC 0064 20
CLASSC 0058 20
CLASSD 0064 10
CLASSD 0058 10
CLASSE 0064 08
CLASSE 0058 08
CLASSF 0064 04
CLASSF 0058 04
CLASSG 0064 02
CLASSG 0058 02
CLASSH 0064 01
CLASSH 0058 01
CLASSI 0059 80
CLASSJ 0059 40
CLASSK 0059 20
CLASSL 0059 10
CLASSM 0059 08
CLASSN 0059 04
CLASSO 0059 02
CLASSP 0059 01
CLASSQ 005A 80
CLASSR 005A 40
CLASSS 005A 20
CLASST 005A 10
CLASSU 005A 08
CLASSV 005A 04
CLASSW 005A 02
CLASSX 005A 01
CLASSY 005B 80
CLASSZ 005B 40
CLASS1 005B 20
CLASS2 005B 10
CLASS3 005B 08
CLASS4 005B 04
CLASS5 005B 02
CLASS6 005B 01
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
This information is
based on z/VM V3R1.0.
Last updated on 10 Jan 2001 at 07:30:13 EDT.
Copyright IBM Corporation, 1990, 2001
|