Include Patterns

How to use include patterns to include additional control blocks.

 

When using Wildcards, include patterns MUST end with the wildcard.

 

**.ascb cvt.*
cvt.*.ascb cvt.asvt.**
*.asvt.* *
cvt.**.ascb **

 

When using the CLI Interface for CBXP, ensure that Include Patterns that contain Wildcards are surrounded with quotes.

 

cbxp extract -i cvt.* psa

 

cbxp extract -i "cvt.*" psa

 

Include Patterns provide a method for including Additional Control Blocks that can be found from the Root Control Block being extracted when extracting control block data from Live Memory.

Include Pattern Basics

 

Include Patterns are specified as Dot Delimited patterns describing control blocks to include starting from the Root Control Block being extracted.

 

In the following example, psa is the Root Control Block and cvt.ecvt is the Include Pattern.

 

The following example extracts the PSA control block from Live Memory, includes the CVT control block, and includes the ECVT control block with the CVT control block.

Python Script
from cbxp import cbxp

cbdata = cbxp.extract("psa", includes=["cvt.ecvt"])
Shell Script
cbxp extract -i cvt.ecvt psa

 

  flowchart LR
    PSA
    PSA--> CVT
    CVT--> ECVT

Using Multiple Include Patterns

 

Multiple Include Patterns can be specified.

 

The following example extracts the CVT control block from Live Memory, and includes the ECVT control block and the ASVT control block.

Python Script
from cbxp import cbxp

cbdata = cbxp("cvt", includes=["ecvt", "asvt"])
Shell Script
cbxp -i ecvt -i asvt cvt

 

  flowchart LR
    CVT
    CVT--> ECVT
    CVT--> ASVT

Using Wildcards

 

CBXP also supports Wildcarding. Coding * at the very end of your include pattern tells CBXP to include all Known Control Blocks pointed to directly by the Preceding Dot Delimited Control Block Name or the Root Control Block in the case where the include pattern is just *.

 

The following example extracts the CVT control block from Live Memory and includes all Known Control Blocks that are pointed to directly by it. Additionally, asvt.* causes the ASVT control block and all Known Control Blocks that are pointed to directly by the ASVT to also be included.

Python Script
from cbxp import cbxp

cbdata = cbxp.extract("cvt", includes=["*", "asvt.*"])
Shell Script
cbxp extract -i "*" -i "asvt.*" cvt

 

  flowchart LR
    CVT
    CVT--> ECVT
    CVT--> ASVT
    ASVT--> ASCBs
    subgraph ASCBs["ASCB Array"]
        ASCB1["ASCB"]
        ASCB2["ASCB"]
        ASCB3["ASCB"]
    end

Using Recursive Wildcards

 

Recursive Wildcarding is also supported. Coding ** at the very end of your include pattern tells CBXP to include all Known Control Blocks that can be found starting from the Preceding Dot Delimited Control Block Name or the Root Control Block in the case where the include pattern is just **.

 

The following example extracts the PSA control block from Live Memory, includes the CVT control block, and includes All Known Control Blocks that can be found starting from the CVT control block.

Python Script
from cbxp import cbxp

cbdata = cbxp.extract("psa", includes=["cvt.**"])
Shell Script
cbxp extract -i "cvt.**" psa

 

  flowchart TD
    PSA
    PSA--> CVT
    CVT--> ECVT
    CVT--> ASVT
    ASVT--> ASCBs
    subgraph ASCBs["ASCB Array"]
        ASCB1["ASCB"]
        ASCB1--> ASSB1["ASSB"]
        ASSB1--> LDAX1["LDAX"]
        ASCB1--> OUCB1["OUCB"]
        ASCB2["ASCB"]
        ASCB2--> ASSB2["ASSB"]
        ASSB2--> LDAX2["LDAX"]
        ASCB2--> OUCB2["OUCB"]
        ASCB3["ASCB"]
        ASCB3--> ASSB3["ASSB"]
        ASSB3--> LDAX3["LDAX"]
        ASCB3--> OUCB3["OUCB"]
    end