CBXP Logo

 

A unified and standardized interface for extracting z/OS control block data.

 

CBXP is currently in Alpha, meaning that some core functionality may still be missing, unstable, and or subject to change.

Mission Statement

z/OS Control Blocks are in-memory data structures that describe and control countless process, operating system components, and subsystems. Control blocks are ubiquitous on z/OS, but not very straight forward to access and extract information from. The mission of CBXP (Control Block EXPlorer) is to make it easy to extract z/OS control block data using industry standard tools and methodologies. CBXP accomplishes this by implementing a C/C++ XPLINK ASCII interface for extracting control blocks and post processing them into JSON. This makes it straight forward to integrate with industry standard programming languages and tools, which generally have well documented and understood foreign language interfaces for C/C++, and native and or third party JSON support that makes working with JSON data easy.

 

CBXP is the successor to the existing cbxplorer project. CBXP mainly improves upon this existing work by being implemented in C/C++ so that it is not limited to a specific programming language or tool. CBXP also focuses heavily on providing an interface that is simple and straight forward to use.

Minimum z/OS & Language Versions

Currently, CBXP is being developed on z/OS 3.1. We hope to eventually support all z/OS versions that are fully supported by IBM.

All versions of the IBM Open Enterprise SDK for Python that are fully supported by IBM are supported by CBXP.

Dependencies

Interfaces

Currently, the following interfaces are provided for CBXP. Additional interfaces can be added in the future if there are use cases for them.

Supported Control Blocks

Currently, CBXP only has support for extracting a handful of System-Level Control Blocks from Live Memory (storage). See Supported Control Blocks for more details.

Architecture

 

  flowchart LR
    python(Python Interface) ---CBXP
    style python fill:#ffcb3c,color:#000,stroke:#ffcb3c
    shell(Shell Interface) ---CBXP
    style shell fill:#33cc22,color:#000,stroke:#33cc22
    C(C/C++ Interface) ---CBXP
    style C fill:#01559e,color:#fff,stroke:#01559e
    subgraph C/C+
        CBXP(["CBXP (64-bit XPLINK ASCII)"])
        style CBXP fill:#0096ff,color:#fff,stroke:#0096ff
    end
    subgraph "Live Memory (Storage)"
        CBXP--- control_blocks_storage@{ shape: procs, label: "Control Blocks"}
        style control_blocks_storage color:#fff,stroke:#fff
    end