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
Copyright IBM Corporation, 1990, 2001