CMDBK Back to Index page
 
Prolog 
Control Block Contents 
   CMDBK DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  CMDBK Prolog Top of page
 
 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.
 RELOCATION CONSIDERATIONS : None
 COMPATIBILITY AND MIGRATION CONCERNS :
 
 
  CMDBK Control Block Content Top of page
 

 CMDBK DSECT Top of page
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 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. CMDBYAT - Indicates that the command may be issued via the AT command. 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 .... 1... CMDBYAT X'08' CMDBYAT OK by AT 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 Top of page
 
          
*** 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 Top of page
 
 
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
CMDBYAT        0067 08
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
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:52:22 EDT.
Copyright IBM Corporation, 1990, 2022