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 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' 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.2.0 Last updated on 24 Jun 2020 at 09:29:01 EDT.
Copyright IBM Corporation, 1990, 2020