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
 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

This information is based on z/VM V4R1.0.
Last updated on 6 Jun 2001 at 11:48:01 EDT.
Copyright IBM Corporation, 1990, 2001